]> SALOME platform Git repositories - tools/configuration.git/commitdiff
Salome HOME
Update copyrights V9_3_0a1 V9_3_0a2
authorvsr <vsr@opencascade.com>
Fri, 15 Feb 2019 14:39:13 +0000 (17:39 +0300)
committervsr <vsr@opencascade.com>
Fri, 15 Feb 2019 14:41:59 +0000 (17:41 +0300)
188 files changed:
autotools/m4/ac_check_sizeof_fortran.m4
autotools/m4/ac_cxx_depend_flag.m4
autotools/m4/ac_cxx_have_sstream.m4
autotools/m4/ac_cxx_namespaces.m4
autotools/m4/ac_cxx_option.m4
autotools/m4/ac_cxx_template_options.m4
autotools/m4/ac_cxx_use_std_iostream.m4
autotools/m4/ac_cxx_warnings.m4
autotools/m4/ac_linker_options.m4
autotools/m4/acx_pthread.m4
autotools/m4/check_Kernel.m4
autotools/m4/check_boost.m4
autotools/m4/check_calcium.m4
autotools/m4/check_cas.m4
autotools/m4/check_corba.m4
autotools/m4/check_cppunit.m4
autotools/m4/check_f77.m4
autotools/m4/check_hdf5.m4
autotools/m4/check_htmlgen.m4
autotools/m4/check_lam.m4
autotools/m4/check_libbatch.m4
autotools/m4/check_libxml.m4
autotools/m4/check_med3.m4
autotools/m4/check_mpi.m4
autotools/m4/check_mpich.m4
autotools/m4/check_omniorb.m4
autotools/m4/check_openmpi.m4
autotools/m4/check_paco++.m4
autotools/m4/check_sockets.m4
autotools/m4/check_sphinx.m4
autotools/m4/check_swig.m4
autotools/m4/check_tbb.m4
autotools/m4/check_vtk.m4
autotools/m4/check_withihm.m4
autotools/m4/hack_libtool.m4
autotools/m4/local_install.m4
autotools/m4/production.m4
autotools/m4/pyembed.m4
autotools/m4/python.m4
cmake/FindBLSURFPLUGIN.cmake
cmake/FindCAS.cmake
cmake/FindCGNS.cmake
cmake/FindCppUnit.cmake
cmake/FindGEOM.cmake
cmake/FindGHS3DPRLPLUGIN.cmake
cmake/FindGUI.cmake
cmake/FindGraphviz.cmake
cmake/FindHYBRIDPLUGIN.cmake
cmake/FindHexoticPLUGIN.cmake
cmake/FindKERNEL.cmake
cmake/FindLibBatch.cmake
cmake/FindMEDFile.cmake
cmake/FindMESHGEMS.cmake
cmake/FindMetis.cmake
cmake/FindNetgen.cmake
cmake/FindOmniORB.cmake
cmake/FindOmniORBPy.cmake
cmake/FindOpenCV.cmake
cmake/FindPTScotch.cmake
cmake/FindPThread.cmake
cmake/FindPaco.cmake
cmake/FindParMetis.cmake
cmake/FindPyQt4.cmake
cmake/FindPyQt5.cmake
cmake/FindQwt.cmake
cmake/FindSIP.cmake
cmake/FindSMESH.cmake
cmake/FindSalomeBLSURFPLUGIN.cmake
cmake/FindSalomeBoost.cmake
cmake/FindSalomeCALCULATOR.cmake
cmake/FindSalomeCAS.cmake [changed mode: 0755->0644]
cmake/FindSalomeCGNS.cmake
cmake/FindSalomeCOMPONENT.cmake
cmake/FindSalomeCppUnit.cmake
cmake/FindSalomeDoxygen.cmake
cmake/FindSalomeFIELDS.cmake
cmake/FindSalomeGEOM.cmake
cmake/FindSalomeGHS3DPLUGIN.cmake
cmake/FindSalomeGHS3DPRLPLUGIN.cmake
cmake/FindSalomeGUI.cmake
cmake/FindSalomeGraphviz.cmake
cmake/FindSalomeHDF5.cmake
cmake/FindSalomeHEXABLOCK.cmake
cmake/FindSalomeHEXABLOCKPLUGIN.cmake
cmake/FindSalomeHOMARD.cmake
cmake/FindSalomeHYBRIDPLUGIN.cmake
cmake/FindSalomeHexoticPLUGIN.cmake
cmake/FindSalomeJOBMANAGER.cmake
cmake/FindSalomeKERNEL.cmake
cmake/FindSalomeLibBatch.cmake
cmake/FindSalomeLibXml2.cmake
cmake/FindSalomeMEDCoupling.cmake
cmake/FindSalomeMEDFile.cmake
cmake/FindSalomeMESHGEMS.cmake
cmake/FindSalomeMPI.cmake
cmake/FindSalomeMetis.cmake
cmake/FindSalomeNETGENPLUGIN.cmake
cmake/FindSalomeNetgen.cmake
cmake/FindSalomeNumPySciPy.cmake
cmake/FindSalomeOmniORB.cmake
cmake/FindSalomeOmniORBPy.cmake
cmake/FindSalomeOpenCASCADE.cmake
cmake/FindSalomeOpenCV.cmake
cmake/FindSalomeOpenGL.cmake
cmake/FindSalomePARAVIS.cmake
cmake/FindSalomePTScotch.cmake
cmake/FindSalomePThread.cmake
cmake/FindSalomePaco.cmake
cmake/FindSalomeParMetis.cmake
cmake/FindSalomeParaView.cmake
cmake/FindSalomePyQt4.cmake
cmake/FindSalomePyQt5.cmake
cmake/FindSalomePythonInterp.cmake
cmake/FindSalomePythonLibs.cmake
cmake/FindSalomeQScintilla.cmake
cmake/FindSalomeQt4.cmake
cmake/FindSalomeQt5.cmake
cmake/FindSalomeQwt.cmake
cmake/FindSalomeSIP.cmake
cmake/FindSalomeSMESH.cmake
cmake/FindSalomeSWIG.cmake
cmake/FindSalomeScotch.cmake
cmake/FindSalomeSphinx.cmake
cmake/FindSalomeTBB.cmake
cmake/FindSalomeVTK.cmake
cmake/FindSalomeXDR.cmake
cmake/FindSalomeYACS.cmake
cmake/FindSalomef2c.cmake [changed mode: 0755->0644]
cmake/FindScotch.cmake
cmake/FindSphinx.cmake
cmake/FindTBB.cmake
cmake/FindXDR.cmake
cmake/FindYACS.cmake
cmake/Findf2c.cmake [changed mode: 0755->0644]
cmake/SalomeDocumentationMacros.cmake
cmake/SalomeMacros.cmake [changed mode: 0755->0644]
cmake/SalomeSetupPlatform.cmake
cmake/UseOmniORB.cmake
cmake/UsePyQt.cmake
cmake/UseQtExt.cmake
cmake/UseSIP.cmake
cmake/UseSphinx.cmake
config/build_options/occ/options_compilation_salome_master.txt [new file with mode: 0644]
config/build_options/occt/options_compilation_salome_master.txt [deleted file]
config/patches/libxml2.001_64bits_crash.patch [changed mode: 0755->0644]
config/patches/occ/README [new file with mode: 0644]
config/patches/occ/freeimage.001_sources.patch [new file with mode: 0644]
config/patches/occ/freeimage.002_build_procedure.patch [new file with mode: 0644]
config/patches/occ/freeimage.003_gcc47_compat.patch [new file with mode: 0644]
config/patches/occ/freeimage.004_gcc66.patch [new file with mode: 0644]
config/patches/occ/gl2ps.001_libs.patch [new file with mode: 0644]
config/patches/occ/graphviz.001_build_procedure.patch [new file with mode: 0644]
config/patches/occ/hdf5.001_threads_threads.patch [new file with mode: 0644]
config/patches/occ/matplotlib.001_build_procedure.patch [new file with mode: 0644]
config/patches/occ/med.001.bug_correct_cmake.patch [new file with mode: 0644]
config/patches/occ/netgen.001.common.patch [new file with mode: 0644]
config/patches/occ/opencv.001_compile.patch [new file with mode: 0644]
config/patches/occ/opencv.002_gcc6.patch [new file with mode: 0644]
config/patches/occ/planegcs.001_for_shaper.patch [new file with mode: 0644]
config/patches/occ/qt.001_proxy_factory.patch [new file with mode: 0644]
config/patches/occ/qt.002_disable_qtgamepad.patch [new file with mode: 0644]
config/patches/occ/scotch.001.create_makefile.patch [new file with mode: 0644]
config/patches/occ/solvespace.001_nogui.patch [new file with mode: 0644]
config/patches/occt/README [deleted file]
config/patches/occt/freeimage.001_sources.patch [deleted file]
config/patches/occt/freeimage.002_build_procedure.patch [deleted file]
config/patches/occt/freeimage.003_gcc47_compat.patch [deleted file]
config/patches/occt/freeimage.004_gcc66.patch [deleted file]
config/patches/occt/gl2ps.001_libs.patch [deleted file]
config/patches/occt/graphviz.001_build_procedure.patch [deleted file]
config/patches/occt/hdf5.001_threads_threads.patch [deleted file]
config/patches/occt/matplotlib.001_build_procedure.patch [deleted file]
config/patches/occt/med.001.bug_correct_cmake.patch [deleted file]
config/patches/occt/netgen.001.common.patch [deleted file]
config/patches/occt/opencv.001_compile.patch [deleted file]
config/patches/occt/opencv.002_gcc6.patch [deleted file]
config/patches/occt/planegcs.001_for_shaper.patch [deleted file]
config/patches/occt/qt.001_proxy_factory.patch [deleted file]
config/patches/occt/qt.002_disable_qtgamepad.patch [deleted file]
config/patches/occt/scotch.001.create_makefile.patch [deleted file]
config/patches/occt/solvespace.001_nogui.patch [deleted file]
config/patches/omninotify.001_compilation.patch [changed mode: 0755->0644]
config/patches/omninotify.002_64bits.patch [changed mode: 0755->0644]
config/patches/qt.003_webengine.patch [changed mode: 0755->0644]
config/scfg
config/scfgcmp
config/sconfig/__init__.py
config/sconfig/salome_config.py

index 8fb088dbaac798ab6f29215cfcc977eb09b85639..12f2f7f8e996679a559af74748e5d7d82cada59d 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl This library is free software; you can redistribute it and/or
 dnl modify it under the terms of the GNU Lesser General Public
index bda90d46c6b432cab855fa3b050e4f70982688fb..9e4cf9f4655864a019681fc51b114c004e13385a 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 658f8555376134f7cf4b52729ad044910a5e5abf..71999c7e21d3f0eca3942c02c7ecf11942b7f1f0 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 21305a68c4f3e5c3bff7f3da34db70ab8fd6e689..188af6953eb64f3fa95710435e62a1a7c4c1a63e 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 83c01dd393aeadd1ea49e0303907deb58ef84f5e..50caa2d0eebdb2827c72e7ab015bde4836a12880 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 4e6ffa2e4fe24276f5cc079f13e233fc80d22daa..8a0a965b16d1fdb42116cb9df9d072156cf5ef2d 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 2491adf95103f5f6bedc0db76624f718c1910151..bbb225052f876532cc0de6b5c5cd6f297f3dd20a 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index dbf4428677fd683fc1ad4f4dfb017ce676dd01f4..fd3dd48b55f8fc6a8ade61923a876dd0ff294909 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index b3dea998c1ce2f5492bb95ac9e6e91499c48f74f..fae62c98083d2414d51be43b3b7a295df1933dc7 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 55395b37840822e89a645f2c014a3a5707d46b4a..9f12be21feec736b310dc16b2c9879a77b38bbe6 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 9f1f35d5b82aced691e91facccddaf2559a7ea9b..5c29686c0769a6b18cdc7d8c1adf6e3ae98f6e23 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 8a17e865c232d268806216c121c2afdf6917d730..30b078251437a9c0e8dd86026a17a1475a97ce73 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 978b3082801dc059e02cafdbf6a002f499899601..01c632fce4ea38cda1ce664a7d7199a8a5d36828 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl This library is free software; you can redistribute it and/or
 dnl modify it under the terms of the GNU Lesser General Public
index 51ca895e2c231dd6bf0511f6c0513376b592b94d..8d3d15fe67970bc1530a76a118faa299431a4d94 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 5c5f19d2c56951f44466e4b55f041b3a8966f2ef..caf53228d0182a7604e0f9f92fb1241a2152a01f 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index e2d976b763464305398227c34b887a3b8ecd2a13..5d3fa25d857be343434bfead950693d172f59ab5 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 3b0ffcbb73a4f0734259a8049eb0985e5863a5f6..359a6feee800392b0210c58253622e5f0b220905 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index cd9d149af2cc8a7f5f1d885ac506900142b3abdf..7ff85a8934698b146f043d7f5bdeb495ebc7126c 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index b0df8be194c2370f5a7c560c1d81989afa9dd9be..bf5b012e7a449b88ecd44b9372737b75e4456a73 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 81444582000f97c55541840f92196849fbfb9198..5df120fc828c092413fa6d614d908b9db39047d0 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 1a106d7630309256c0273b59bcbe6771d0d4d4b5..0d28e9dbe30ed71476ea86e68355701b87470505 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 1c38ac5aaa75bc65681d8f2f4c3d463ff4a36aed..0cf4ad637d0005254d3d954d59c4ff67c9b6403e 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl This library is free software; you can redistribute it and/or
 dnl modify it under the terms of the GNU Lesser General Public
index 89e8f9d27dfd9522c236b3d5f92051ef4d1ddb6e..88ee10291d659b3f8cfb65959e2e02eac19cbfe0 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index a6a30b58fe2d550bc897ff79ad7da0fccdfb0783..d3a124c4e2d60a455a5146fdca37ac1fd0fcdfae 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 873252539c34b3b8050a17565af40b4ae33352f8..c22014dc650b081086b94d9b7442f986e8038916 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index a9ed7f59bd519e0ba3fc1c90065b6790876b989e..cb0e60db64629a4725db9854e74d4ea4a6523f33 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index e1e74eab6e210851eddc18860db8784184b4ae2f..8a6b0bb2b6ab2509ced8148ff4726272eef1ea6e 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl This library is free software; you can redistribute it and/or
 dnl modify it under the terms of the GNU Lesser General Public
index 2cddc2e1a5025b3219b5d4416536ab3e284c9ac3..51bfd74093e2692b8da0f2898b449a1a64e1be1c 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 05bb1f22d94775fcbd9a44659018259283956418..4709ab8ea5820aafed2e6033e59359059490c2ee 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index dd1f646937b1c2f2e5b474f8f28f1f7d7f4d5351..688607c93f1e8331765dcdda70c15b5f9c2b4da7 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2006-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2006-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl This library is free software; you can redistribute it and/or
 dnl modify it under the terms of the GNU Lesser General Public
index 4b61ca056b338a255229895adae9c2fd1dc69f9f..6b9d81beb65da5303490bba684957c198bc54f47 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 87fab550e78905a1953db1ffe0455342c11b1e13..0b32391a7db53e11473f9076d6f5b999328b79f1 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 7fa72e40e3a59a50755522bdad36bacd60ba3ac3..e4d0ec78ccfeb000886b78bdd5f753f84af5d03a 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 8779a8555f0de54a65e0f4e5c3dcd3c19cbd61c5..61e2fb9692378a757f2d529b501bdf97ef60515d 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 3edf9e741e89cff01ae74d7765e08cd51e3ec3d0..21f718b4d15b3a62301b2d9e7d74d291f26d565a 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2010-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2010-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl This library is free software; you can redistribute it and/or
 dnl modify it under the terms of the GNU Lesser General Public
index faaf9695255044bb666cb7a165c25ddeb9a675e9..94927cccc9b71aa32a299de8ad876bd46cd95c8e 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl This library is free software; you can redistribute it and/or
 dnl modify it under the terms of the GNU Lesser General Public
index 161815a969dbf8e7375a4ab51fb78e55e81351c3..401164a0a1cf996f128da96d9767fb4b413b7d4e 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index f40fd028207ef0fa1d1f26aa1cd7a85804c95070..e1635b16e857f6764c1d66fa75e4aa9709cf08f1 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 833f4c90ae227764ca8ca6ebe3da685d5b492ca4..df9142aff93820434c71913cfbc4fb9472cfc9f7 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+dnl Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 dnl
 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 5a4e38392b78625cc99566c794c6f0b1b39c27d9..37fe81bff4356fd2385a0b16ee78b3185883b8e3 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index bce1609c9ed37622ee7c175d11a2660e732bd494..cdb8665e921e9d5beea6a939f02e0e702bb87a70 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 9f3235bd25a0b38514e54023a1eb9161160ee519..71a70fb464d7ca32fce66d016406cbe83baaec37 100644 (file)
@@ -5,7 +5,7 @@
 #
 
 #########################################################################
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index bb8d9608b01c2690345f330d103994b1d7a1d3a1..13f7609a6309e40bb23ac4b85c3c59fc3f5e06ed 100644 (file)
@@ -11,7 +11,7 @@
 #
 
 #########################################################################
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index e9cf725e101509117525f86981f2fbbea2ee0eef..146077f41c6435e7482e2ff6b222254d4b7e5c60 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 2745a73a0dcf4d1cbf712f2f5ae8af22e4389ee6..8be83481ea7020a2981516fa9dc791647024d6eb 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 5b5b8a75eee3cfbc054ee72993dbefa14f8f7357..ad935df6884f72105d795323da38e09d44ec06fe 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index cc3de0deb3aed564da6c1459963f17d5087d6281..7fe5eb7b863e5cef4b21f1a6d3d0b162698e4313 100644 (file)
@@ -8,7 +8,7 @@
 #                  GRAPHVIZ_FOUND        - True if Graphviz was found.
 #
 ###########################################################################
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 8839b1fe279e639e662b10a4808af9e7aed68191..c128acb0307e01846ed698e1ec1cc4a7f2ebe7ab 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index dc0c2ca89a1066448581d03eceb9b6ae2a4e3d32..28e6a2a56b4cd0f73fd9555fcf2dd9e61af83cf3 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 22d1b01c03df7c0d26a5ec8b796824172442eb15..afaad0a80d740c33113322efa73028497f9024af 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 3d66a8030dfc687a09b5bfcbed51c448f72ea0b7..9f8dfe9694f7c36506430d24dbe3dcd49ea621fe 100644 (file)
@@ -9,7 +9,7 @@
 #  guide the detection and indicate a root directory to look into.
 #
 ############################################################################
-# Copyright (C) 2012-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index b081264eee604e7ffe4b4e7958d8854725f9ed36..48b99ac1c8b782f8fe65433a20123c3dc2877f0b 100644 (file)
@@ -10,7 +10,7 @@
 #  guide the detection and indicate a root directory to look into.
 #
 ############################################################################
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index b1b3f20bdbbd32ae792429df8e98044fc8299dd4..2dfdd7e0eb6007610c37c08c3703a730ff76057d 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 25963059ed6d2497cd913aa2e286e12101e6000a..cb02e37314e1b3c057b106314d7196897a2861e5 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index d4ee3f04666052040931916b7097dbda7597111e..df6a828518630665a45e5499d42e7ad4ec7a22cf 100644 (file)
@@ -5,7 +5,7 @@
 #
 
 #########################################################################
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 23ebc1bafca9f1edc257c10cdb8cf1d9936a60ae..71af801c97da6513ba1c4c9e2aeee97cd2783eee 100644 (file)
@@ -18,7 +18,7 @@
 #
 
 ################################################################
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 7ef278015b90b6143e417fa889c09f2a75e67639..f36d521d0425485245b5c72a04efb9136af8118c 100644 (file)
@@ -9,7 +9,7 @@
 #
 
 ################################################################
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index c8f38f83c01ed9704370a52690e71f83012e893f..16851c93f735b975f671d70b764e4d143e16f6f7 100644 (file)
@@ -1,5 +1,5 @@
 #########################################################################
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 5dadcce745eb14936c0123e3b5be05267aa6def3..b460383eff0a676b4dfa74f7969610eb6ee5cb59 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2017  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2017-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 5cc56d6378ff99ce3886c128d7035e4e8a98b5ca..70a5a96b98a397eca93a1fa13db8c9ccd2c1c5fa 100644 (file)
@@ -17,7 +17,7 @@
 
 
 #############################################################
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 28571c1f8b9c32783e6e7fd2d78ac1473a451a0b..43d3fe873e853efd3d86af18cf407fa477647b42 100644 (file)
@@ -8,7 +8,7 @@
 # the detection mechanism. 
 #
 #############################################################
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 103ab1c588fdcfb3176c3255ea00120ebe207b04..405f8a39783ed77e4ad97841db5f9d28a09de7f6 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 61e9e4891ed84dea6aaa9d811dcef7db188fa9de..84468c35651ac7f0e9b6275ba39ae4de929667d4 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index bb47768bf5ace99f73ea6bfd27bcee66f81d0ffb..4b1ad34f6568a206019dd0225286b2cdc7ac3394 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index fcb1c0dd78a6213a0e9f40afa28b4a129926a90a..ce92fdc2f055e5207681ab8b2e3b0530338c99e7 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 601cd45374c4bef364255760aa1b474e8c60d49a..d205a2d47f340cb77fdf900ef694526a76c30778 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 9a4ba3c87de05b9bd3d72eb25d94311145ce28d3..354051aa6034af66a8a4c0cf084e917149f69c7e 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index d0dafc7a992137f12b878b9e9e2abee9c9df65dc..f2e9853589eab59c02b549b1d81e5a28b6fd0c81 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 82a1dce94d6134138b2f1c00777916e2ed196347..a1d48853815a8ce83dab1b7e33e97a087fda3e11 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index e33c452fd7142713ceb819d1d26674f36407bb9f..7c81e6963aeeb977287852165b9ae91b8c2e04b6 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
old mode 100755 (executable)
new mode 100644 (file)
index 928b58a..68ce7ad
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index c3cf745657a9e9ec7421af24d275f6fe8048b981..b5d5020423fcbaca5a1e2394e9358d94798f0401 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index f4953b78c8610f64992c0cf26c5d0db4e47974e2..401638befa945a269d2b14c019e6486292c4c1c6 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 1b6283a6c6235bcd5d7ee25b06d49ed70d0d65d9..d3ef470e5eca31878ee24ddd1f85bb040705097f 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 53ce831ac8e3c8d3ceb483f44cd08421f77a0c23..a8107b97def0cc4fc2194285d57ca82bc1369be6 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index ee6f94284c5e43f2ac653ba596d8c0b6142bfc4f..9f9e4cd03566b839a06882769b13210f29dfd788 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 309df0f3567466e88505ceebe4af136be6f1448b..f77b8188eaaa9c631cb6ac64692f4f1caffa6571 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 1364088c73c99edd6ec00e3ac015d549ae3a240a..082e2c7d1960b96c2d4b01ea661993372f4812c3 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index afc34cce647d0a4f2ddb8366be361c03cce8c93f..a0f1cb63c006713cbe872b14b49b823a0979af4e 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 66d5b9f543987a764503469c8d1c69cc93e62152..e7eddbea0bbeb9463e7d2fd64a4074a5c186a640 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 157c24fb70b171a61f30559797958c1ce0f2cfe8..204a0bf8889a89796592c1562661ba33789494cd 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index de5e3993a3704f6baa237652095eff39ee0ef427..a96ac2d26cf37cb812e40e930dae6345530f1872 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 6c8268175567396c1b63fb4458a205967b7124a6..e4b3cfa7f12fc2f26c06466cbf7247dd64d45de2 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 6b4c31e1ef70f126cca399a1e02205fbd4635513..24e2eae5637e1f57d65fea50259f80513ab58777 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 8ff273ad65b8ae74c1fe58ab8ddc6269627b49d7..213bfbda807a89800ba1eb2b2ae66923910dcc54 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 0e2279534e8ed40b968ffea2d8ae3b27dcd1264b..5f0d289e513b8156207b6e03fb7163cf62e8de14 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 9776340ba87956bb9947783c09490dcd06f7d092..43c64c11b880b86a56f236c757b19e6ccffdb0bc 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 8a9b4cf4cd54a85a21dbde0d93461587915457ed..49a466ea47f8a53047d60faf6fa40dff3a8ddd7e 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 0f951f33aa0c1dca349971075f2a866477604f56..be96c297b0079f80e6b409b429e823bed41a2c67 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 43155b2ccdde026253c3c49428add36b85efe6a2..2878f354fe8166ec881a735f59e555c30276bd10 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 515032f1c1d52bb546b09916d62a1402d91a5810..e4d58b2f5ce851dd7ef189d4f74deaed7014d509 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 1fd2fce78416b1876a38508e508ee6c8e7548b06..615c560f9c7eb84f0ac4c1aa96301042a0f6b546 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index a5c4117868d208656e18059bbe87cd7cd150ec89..b3e50f7d842129b284900b42a90fff07ce6d3da6 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 8a03c71df7b39c9f808e1c2bc8a6db13b47d2fdc..9acf05914bf436aa7467ebbf4491f368d8b796dc 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 7395e4e82e89f7e7383ee6b07bdd97bf49476956..88f79c6b90c85845e7c9c542a1fa232eed2cd64d 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 47f47a5e7523db3f6cb4a6c357779e492f77f5f0..1ea7562e3a5bc1db6b513602b78f4b4a3a7f6e02 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 9bc1d34eb01b73ca2bfe6eb40888a4b48fd4a107..857b95f5129d282d7457a4dcc5ea5bf041837859 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index b64063463038e7b517be906c0047cb872944b7f2..c7ccf53e35befc980175d1ea5ce2742ade0be8c5 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 34d662406fb1d822b9c5ba72c6aa431a8c882499..c377c3224156d9e1476ca1e1bde9325f205caaf5 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index f0792e1a5ff90c2c0a70e03ca22d40f32465790d..dfb2e62659b0b996986b009d07f7a927d3571ebc 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 93197ae8f6f5379f0176bce817867507e67c85ce..879367987535baa5d861d2766982f5b7449f2af5 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index d37150b647ddfb741e46088853cf9b6bffd6b09a..257b896e10e06da611d0f9759f04735315ce535b 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 322fbe7bf2eb92289eb2f34457b8caded8b4dd6f..308b7224b328ec1bd12785d83d3717217f20bcee 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 1cf4d2eb19a0844f4982ca80470f298d011ccb9d..fbe2b67414a2e6138c97d0b25c4dd6328352f056 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index ec6b6b997ddb8aadd9dfdcfe9694fd4b690e15ef..8e3d61b0b54c041106d81b45abbf1eb8562c8fee 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index dcdca1338e5b8d3baa2f060b90c3bd105754949f..7aba553820bbf41c2a995c40b45660b0396060ac 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2017  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2017-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 2caf0d4f7b28ada760bae27387e447440da336b1..1ba2d66745825ac41bc506c1a8b18fc476d086f3 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 2a1505eb3eb3d24fdf52ecd97b97321d36d0d5d8..32280383db16cbb62c21946f9fe099310b521502 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index eb10285faca936771cb2310f41aefd4d7ff00513..14ad88a3f6c449f82b9c2878764f2182a40aa685 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index db4043783183d198b45703d45ebdbdadf12c70f5..d97e8f64bc459892ba5fd1436859ee1c835d06de 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2010-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index eb6679699c51294b0f27b74ea07b3dd6678e4dab..62f345b4600ada326fe2ae42b2f8956e4d6e08a9 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 22598cc26904654450a48815d874d2cb99346a7e..9ef78eb5417c7ee268ad0667fa450e9d617dcc50 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 44e0ec6ae4488558084841be365528f34347bbf8..5cd48fd36684ff625d446a07093241b1fbdddd29 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 1402f0cd1a3f9ed6e3ce76d96dd3c2a1d088bbb8..17ca318cd33aec2568b5f1b3b8ed0c3d7e2376f9 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 639b13b65f9fab94b6068c3eb9085eb87d6d48ad..05e7409c96fb01e7f7efd4abf2aae2f02556c56b 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index b4fb9bf35f8685dd491b01468babc0167fe051c8..f463728a90170e890bf7351f6e659b73e891802c 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index b479511fd7d217f52c88e9a7113942c35a4536c2..09a15a73a2db389d6e5a551f833f8aeac918068b 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index cec84e63a75f6c9c76596053fab5f47234870a93..b8387b18b3de2e527ce3f7a7cb3635c921794f4a 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 788e2e586737cb96fe170a761cb888c7d5c68411..a2a40b20398fd17c1f0b437154aa82539870b55d 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index da6fbd6eecd0dab2a110637f5788228ac38b8efd..ba81f0d07c74bb2cd8c38d93f13246d8e2c1dfe9 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index bcd9aed436a474a503677cff937b2cd056b7b481..f509a655a6ec89931758b2e0c335524255603c57 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 487d53d5db66dd87e36ffa2f02431306593643d0..5b9d34878cb3406efa2d4330134048b9c9bfd7a8 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 31e9a609ee4770f2d35b123345e2e2c1c806d376..0ad6d32f27f1def4c7cdabaf5646517ccdec081b 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 5934aa531cf2ef75e244bc9603f83022a34bfde7..b31f57edee48c09b6a59333b7c28350180630038 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index cef9d0d27b1b9face8f1b3701231cc2666398b29..4e70438adf503d8b4613d38e4b3ee4b22e97c0d5 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 00a3b9bdf7e6681ad3e96e29ffa2abee78c19bbe..c631c265f9b0f7dc75123d3aabf5e2097a4197c6 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index e97e32ad9a9375ba9d6a520560c46d0f691120ca..54ec35bd7b2225d05a1c3b2ec7cafc126a340ea9 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
old mode 100755 (executable)
new mode 100644 (file)
index 08f824b..742191c
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 60612ef84d0f299ca412d2573499dadcb1c76e65..75a4592b6821c50aad59e0aec03ae33ee64473a3 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 16976d56b38258c14357ea0ff2c114361d1a0783..a5c6c92741e2fe218dc7bd87f43ff2da6391e08c 100644 (file)
@@ -13,7 +13,7 @@
 #                           set(Sphinx_EXTENSIONS sphinxcontrib.napoleon)
 #
 ###########################################################################
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index 3e2266fcc344dac3ddfc3fe44628787301091771..f1a9693fa900a0d0a80a5afe555af436f057dbfe 100644 (file)
@@ -5,7 +5,7 @@
 #
 
 #########################################################################
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index e8e862531c42f213ec94b64d388d19c3033ce149..bf3563dda2f5a35b5096250c4346ef29a4246482 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index cd0081c6cd959e672bf06d918c143d2f6c91b140..a7222f4b9738fc33b58b1fd7f16cd50a7fe49af9 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
old mode 100755 (executable)
new mode 100644 (file)
index 08a131c..3cdef79
@@ -6,7 +6,7 @@
 #
 
 #########################################################################
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
index b23f251fbc076de35180aa53dacf73e486900f9e..538e7298b921d512f96eb487d2f310a033306e6f 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
old mode 100755 (executable)
new mode 100644 (file)
index 75f0a69..4c3ed09
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 3d7ef60cdaa37b79cd2f46857be973fee61344ff..db647995093c0d35c33fd187669d034156656d33 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index f216fc724027d63161d20da4e986ac9b70fef35c..41d3f45ab3f0b364a5719096d0e2a91e7a2ea887 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 3d9ddca6fc5814ef6fd2dda3af2c8796b3677d75..a6af87ee8b2bbbc17665abc7e3ff2b2b1a33cd12 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 1041d32862c908d0e767507de73a7ed312854904..26808a4da92f0901ad582bf71b0663c4a10f9f3d 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index 9ccfd07d83f0631238974055e18c5204ac9f7885..228a3fd87dba481e1bfec4599b27688a0eef0708 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
index b30a2a858d35fb2657e99362d801a4bd45c09ff0..b0994172e138cb2f76b0365f5c8660f0b78a07d6 100644 (file)
@@ -1,5 +1,5 @@
 ###########################################################################
-# Copyright (C) 2007-2018  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
diff --git a/config/build_options/occ/options_compilation_salome_master.txt b/config/build_options/occ/options_compilation_salome_master.txt
new file mode 100644 (file)
index 0000000..fd70719
--- /dev/null
@@ -0,0 +1,343 @@
+ATOMGEN
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${ATOMGEN_ROOT_DIR} ${ATOMGEN_SRC_DIR}
+
+ATOMIC
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${ATOMIC_ROOT_DIR} ${ATOMIC_SRC_DIR}
+
+ATOMSOLV
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${ATOMSOLV_ROOT_DIR} ${ATOMSOLV_SRC_DIR}
+
+BLSURFPLUGIN
+>  cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${BLSURFPLUGIN_ROOT_DIR} ${BLSURFPLUGIN_SRC_DIR}
+
+BLSURFPLUGINWOGUI
+> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=${BLSURFPLUGINWOGUI_ROOT_DIR} ${BLSURFPLUGIN_SRC_DIR}
+
+CALCULATOR
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${CALCULATOR_ROOT_DIR} ${CALCULATOR_SRC_DIR}
+
+COMPONENT 
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${COMPONENT_ROOT_DIR} ${COMPONENT_SRC_DIR}
+
+DOCUMENTATION
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${DOCUMENTATION_ROOT_DIR} ${DOCUMENTATION_SRC_DIR}
+
+GEOM
+> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_GEOM_USE_OPENCV=ON -DCMAKE_INSTALL_PREFIX=${GEOM_ROOT_DIR} ${GEOM_SRC_DIR}
+
+> GEOMWOGUI
+cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DSALOME_GEOM_USE_OPENCV=ON -DCMAKE_INSTALL_PREFIX=${GEOMWOGUI_ROOT_DIR} ${GEOM_SRC_DIR}
+
+GHS3DPLUGIN
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${GHS3DPLUGIN_ROOT_DIR} ${GHS3DPLUGIN_SRC_DIR}
+
+GHS3DPLUGINWOGUI
+> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=${GHS3DPLUGINWOGUI_ROOT_DIR} ${GHS3DPLUGIN_SRC_DIR}
+
+GHS3DPRLPLUGIN
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${GHS3DPRLPLUGIN_ROOT_DIR} ${GHS3DPRLPLUGIN_SRC_DIR}
+
+GHS3DPRLPLUGINWOGUI
+> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=${GHS3DPRLPLUGINWOGUI_ROOT_DIR} ${GHS3DPRLPLUGIN_SRC_DIR}
+
+GMSHPLUGIN
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${GMSHPLUGIN_ROOT_DIR} ${GMSHPLUGIN_SRC_DIR}
+
+GMSHPLUGINWOGUI
+> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=${GMSHPLUGINWOGUI_ROOT_DIR} ${GMSHPLUGIN_SRC_DIR}
+
+GUI
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${GUI_ROOT_DIR} ${GUI_SRC_DIR}
+
+HELLO
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${HELLO_ROOT_DIR} ${HELLO_SRC_DIR}
+
+HEXABLOCK
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${HEXABLOCK_ROOT_DIR} ${HEXABLOCK_SRC_DIR}
+
+HEXABLOCKPLUGIN
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${HEXABLOCKPLUGIN_ROOT_DIR} ${HEXABLOCKPLUGIN_SRC_DIR}
+
+HexoticPLUGIN
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${HexoticPLUGIN_ROOT_DIR} ${HexoticPLUGIN_SRC_DIR}
+
+HexoticPLUGINWOGUI
+> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=${HexoticPLUGINWOGUI_ROOT_DIR} ${HexoticPLUGIN_SRC_DIR}
+
+HOMARD
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${HOMARD_ROOT_DIR} ${HOMARD_SRC_DIR}
+
+HYBRIDPLUGIN
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${HYBRIDPLUGIN_ROOT_DIR} ${HYBRIDPLUGIN_SRC_DIR}
+
+HYBRIDPLUGINWOGUI
+> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=${HYBRIDPLUGINWOGUI_ROOT_DIR} ${HYBRIDPLUGIN_SRC_DIR}
+
+JOBMANAGER
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${JOBMANAGER_ROOT_DIR} ${JOBMANAGER_SRC_DIR}
+
+KERNEL
+> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_USE_LIBBATCH=ON -DCMAKE_INSTALL_PREFIX=${KERNEL_ROOT_DIR} ${KERNEL_SRC_DIR}
+
+KERNEL_OPT
+> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_USE_LIBBATCH=ON -DSALOME_USE_MPI=ON -DCMAKE_INSTALL_PREFIX=${KERNEL_OPT_ROOT_DIR} ${KERNEL_SRC_DIR}
+
+LIBBATCH
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${LIBBATCH_ROOT_DIR} ${LIBBATCH_SRC_DIR}
+
+LIGHT
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${LIGHT_ROOT_DIR} ${LIGHT_SRC_DIR}
+
+MED
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${MED_ROOT_DIR} ${MED_SRC_DIR}
+
+MEDCOUPLING
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${MEDCOUPLING_ROOT_DIR} ${MEDCOUPLING_SRC_DIR}
+
+MEDCOUPLING_OPT
+> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_USE_MPI=ON -DSALOME_MED_PARTITIONER_PARMETIS=OFF -DCMAKE_INSTALL_PREFIX=${MEDCOUPLING_OPT_ROOT_DIR} ${MEDCOUPLING_SRC_DIR}
+
+MEDCOUPLINGMICRO
+> cmake -DCMAKE_BUILD_TYPE=Release -DMEDCOUPLING_MICROMED=ON -DCMAKE_INSTALL_PREFIX=${MEDCOUPLINGMICRO_ROOT_DIR} ${MEDCOUPLIN_SRC_DIR}
+
+MEDWOGUI
+> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=${MEDWOGUI_ROOT_DIR} ${MED_SRC_DIR}
+
+NETGENPLUGIN
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${NETGENPLUGIN_ROOT_DIR} ${NETGENPLUGIN_SRC_DIR}
+
+NETGENPLUGINWOGUI
+> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=${NETGENPLUGINWOGUI_ROOT_DIR} ${NETGENPLUGIN_SRC_DIR}
+
+PARAVIS
+> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_PARAVIS_USE_GEOM_SOURCE=ON -DSALOME_PARAVIS_USE_SMESH_SOURCE=ON -DCMAKE_INSTALL_PREFIX=${PARAVIS_ROOT_DIR} ${PARAVIS_SRC_DIR}
+
+PYCALCULATOR
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${PYCALCULATOR_ROOT_DIR} ${PYCALCULATOR_SRC_DIR}
+
+PYHELLO
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${PYHELLO_ROOT_DIR} ${PYHELLO_SRC_DIR}
+
+PYLIGHT
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${PYLIGHT_ROOT_DIR} ${PYLIGHT_SRC_DIR}
+
+RANDOMIZER
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${RANDOMIZER_ROOT_DIR} ${RANDOMIZER_SRC_DIR}
+
+SHAPER
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${SHAPER_ROOT_DIR} ${SHAPER_SRC_DIR}
+
+SIERPINSKY
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${SIERPINSKY_ROOT_DIR} ${SIERPINSKY_SRC_DIR}
+
+SMESH
+> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_SMESH_USE_TBB=ON -DSALOME_SMESH_USE_CGNS=ON -DCMAKE_INSTALL_PREFIX=${SMESH_ROOT_DIR} ${SMESH_SRC_DIR}
+
+SMESHWOGUI
+> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DSALOME_SMESH_USE_TBB=ON -DSALOME_SMESH_USE_CGNS=ON -DCMAKE_INSTALL_PREFIX=${SMESHWOGUI_ROOT_DIR} ${SMESH_SRC_DIR}
+
+YACS
+> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${YACS_ROOT_DIR} ${YACS_SRC_DIR}
+
+YACSGEN
+> python3 setup.py install --prefix=${YACSGEN_ROOT_DIR}
+
+CGNS
+> cmake -DCMAKE_INSTALL_PREFIX:STRING=${CGNS_ROOT_DIR} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE:STRING=Release -DCGNS_BUILD_SHARED:BOOL=ON -DCGNS_ENABLE_HDF5:BOOL=ON -DHDF5_DIR=${HDF5_ROOT_DIR}/share/cmake -DHDF5_INCLUDE_PATH:PATH=${HDF5_ROOT_DIR}/include -DHDF5_LIBRARY:FILEPATH=${HDF5_ROOT_DIR}/lib/libhdf5.so -DHDF5_NEED_ZLIB=ON ${CGNS_SRC_DIR}
+
+Cython
+> python3 setup.py install --prefix=${CYTHON_ROOT_DIR}
+
+CAS
+> cmake -DINSTALL_DIR=${CAS_ROOT_DIR} -D3RDPARTY_TCL_DIR=${TCLTK_ROOT_DIR} -DUSE_TBB=ON -D3RDPARTY_TBB_DIR=${TBB_ROOT_DIR} -D3RDPARTY_FREETYPE_DIR=${FREETYPE_ROOT_DIR} -DUSE_FREEIMAGE=ON -D3RDPARTY_FREEIMAGE_DIR=${FREEIMAGE_ROOT_DIR} -DUSE_GL2PS=ON -D3RDPARTY_GL2PS_DIR=${GL2PS_ROOT_DIR} -DCMAKE_BUILD_TYPE=Release ${CAS_SRC_DIR}
+
+Paraview
+> cmake -DCMAKE_INSTALL_PREFIX:STRING=${PARAVIEW_ROOT_DIR} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_TESTING:BOOL=OFF -DCMAKE_CXX_FLAGS:STRING=-m64 -DCMAKE_C_FLAGS:STRING=-m64 -DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=ON -DVTK_PYTHON_FULL_THREADSAFE=ON -DVTK_NO_PYTHON_THREADS=OFF -DVTK_PYTHON_VERSION=3 -DOpenGL_GL_PREFERENCE=LEGACY -DVTK_USE_64BIT_IDS:BOOL=OFF -DVTK_REPORT_OPENGL_ERRORS:BOOL=OFF -DVTK_RENDERING_BACKEND=OpenGL2 -DPARAVIEW_BUILD_QT_GUI:BOOL=ON -DQT_HELP_GENERATOR:STRING=${QT5_ROOT_DIR}/bin/qhelpgenerator -DPARAVIEW_QT_VERSION=5 -DVTK_BUILD_QT_DESIGNER_PLUGIN:BOOL=OFF -DPARAVIEW_ENABLE_PYTHON:BOOL=ON -DVTK_WRAP_PYTHON:BOOL=ON -DPYTHON_EXECUTABLE:STRING=${PYTHON_ROOT_DIR}/bin/python3.6 -DPYTHON_INCLUDE_DIR:STRING=${PYTHON_ROOT_DIR}/include/python3.6 -DPYTHON_LIBRARY:STRING=${PYTHON_ROOT_DIR}/lib/libpython3.6.so -DVTK_NO_PYTHON_THREADS:BOOL=OFF -DVTK_USE_SYSTEM_PYGMENTS:BOOL=ON -DVTK_WRAP_TCL:BOOL=OFF -DVTK_WRAP_JAVA:BOOL=OFF -DPARAVIEW_USE_MPI:BOOL=OFF -DVTK_USE_SYSTEM_HDF5:BOOL=ON -DHDF5_USE_STATIC_LIBRARIES:BOOL=OFF -DHDF5_ROOT:PATH=${HDF5_ROOT_DIR} -DHDF5_INCLUDE_DIRS=${HDF5_ROOT_DIR}/include -DHDF5_LIBRARIES=${HDF5_ROOT_DIR}/lib/libhdf5.so;${HDF5_ROOT_DIR}/lib/libhdf5_hl.so -DHDF5_INCLUDE_DIR:PATH=${HDF5_ROOT_DIR}/include -DHDF5_C_LIBRARY:STRING=${HDF5_ROOT_DIR}/lib/libhdf5.so -DHDF5_HL_LIBRARY:PATH=${HDF5_ROOT_DIR}/lib/libhdf5_hl.so -DPARAVIEW_BUILD_PLUGIN_H5PartReader:BOOL=OFF -DPARAVIEW_USE_VISITBRIDGE=ON -DBOOST_ROOT=${BOOST_ROOT_DIR} -DVTK_USE_SYSTEM_GL2PS:BOOL=ON -DGL2PS_INCLUDE_DIR:STRING=${GL2PS_ROOT_DIR}/include -DGL2PS_LIBRARY:STRING=${GL2PS_ROOT_DIR}/lib/libgl2ps.so -DVTK_USE_SYSTEM_LIBXML2:BOOL=ON -DLIBXML2_INCLUDE_DIR:STRING=${LIBXML2_ROOT_DIR}/include/libxml2 -DLIBXML2_LIBRARIES:STRING=${LIBXML2_ROOT_DIR}/lib/libxml2.so -DVTK_USE_SYSTEM_FREETYPE:BOOL=ON -DPARAVIEW_BUILD_PLUGIN_Moments:BOOL=OFF -DPARAVIEW_BUILD_PLUGIN_PrismPlugin:BOOL=OFF -DPARAVIEW_BUILD_PLUGIN_SLACTools:BOOL=OFF -DPARAVIEW_BUILD_PLUGIN_SierraPlotTools:BOOL=OFF -DPARAVIEW_BUILD_PLUGIN_PacMan:BOOL=OFF -DPARAVIEW_BUILD_PLUGIN_MobileRemoteControl:BOOL=OFF -DPARAVIEW_ENABLE_COPROCESSING:BOOL=OFF -DPARAVIEW_BUILD_PLUGIN_EyeDomeLighting:BOOL=ON -DPARAVIEW_BUILD_PLUGIN_ForceTime:BOOL=ON -DPARAVIEW_BUILD_PLUGIN_H5PartReader:BOOL=ON -DPARAVIEW_BUILD_PLUGIN_PointSprite:BOOL=ON -DPARAVIEW_BUILD_PLUGIN_SurfaceLIC:BOOL=ON -DPARAVIEW_ENABLE_MATPLOTLIB:BOOL=ON ${PARAVIEW_SRC_DIR}
+
+PyQt
+> python3 ./configure.py -b ${PYQT5_ROOT_DIR}/bin -d ${PYQT5_ROOT_DIR} -v ${PYQT5_ROOT_DIR}/sip  --confirm-license --designer-plugindir=${PYQT5_ROOT_DIR}/plugins/designer --qml-plugindir=${PYQT5_ROOT_DIR}/plugins/qml --no-qsci-api --sip-incdir=${SIP_ROOT_DIR}/include/python3.6
+
+Python3
+> ./configure --prefix=${PYTHON_ROOT_DIR} --enable-shared --with-threads --with-libs=-lstdc++ --without-pymalloc --enable-optimizations CFLAGS=-m64 CXXFLAGS=-m64 CPPFLAGS=-I${TCLTK_ROOT_DIR}/include LDFLAGS=-L${TCLTK_ROOT_DIR}/lib 
+
+Sphinx and Sphinx related products
+ * alabaster
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * Babel
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+ * certifi
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * chardet
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * click
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * docutils
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * idna
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+ * imagesize
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * Jinja2
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * MarkupSafe
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * packaging
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * pockets
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * Pygments
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * pyparsing
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * pytz
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * requests
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * setuptools
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * six
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * snowballstemmer
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * Sphinx
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+ * sphinxcontrib-napoleon
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * sphinxcontrib-websupport
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * sphinx-intl
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+ * urllib3
+ > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
+
+boost
+> ./bootstrap.sh  --prefix=${BOOST_ROOT_DIR} --with-toolset=gcc --with-python=${PYTHON_ROOT_DIR}/bin/python3
+
+CMake
+> ./configure --prefix=${CMAKE_ROOT_DIR}
+
+doxygen
+> cmake -DCMAKE_INSTALL_PREFIX=${DOXYGEN_ROOT_DIR} ${DOXYGEN_SRC_DIR}
+
+freetype
+> ./configure --prefix=${FREETYPE_ROOT_DIR} --with-harfbuzz=no CFLAGS='-m64 -fPIC' CPPFLAGS='-m64 -fPIC'
+
+gl2ps
+> cmake -DCMAKE_INSTALL_PREFIX=${GL2PS_ROOT_DIR} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Release ${GL2PS_SRC_DIR}
+
+gmsh
+> cmake -DCMAKE_INSTALL_PREFIX=${GMSH_ROOT_DIR} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_BUILD_SHARED=ON -DENABLE_ACIS=OFF -DENABLE_FLTK=OFF -DENABLE_MED=OFF -DENABLE_ONELAB_METAMODEL=OFF -DENABLE_PARSER=ON -DENABLE_PETSC=OFF ${GMSH_SRC_DIR}
+
+graphvis
+> ./configure --prefix=${GRAPHVIS_ROOT_DIR} --disable-rpath --disable-tcl --disable-perl --disable-php --disable-ocaml --disable-lua --disable-java --disable-guile --disable-sharp --disable-swig --disable-python --disable-r --disable-ruby --without-expat --without-qt CFLAGS=-m64 CXXFLAGS=-m64
+
+h5py and h5py related products
+ * nose
+ > python3 ./setup.py install --prefix=${H5PY_ROOT_DIR}
+
+ * pkgconfig
+ > python3 ./setup.py install --prefix=${H5PY_ROOT_DIR}
+
+ * h5py
+ > python3 ./setup.py install --prefix=${H5PY_ROOT_DIR}
+
+hdf5
+> cmake -DCMAKE_INSTALL_PREFIX=${HDF5_ROOT_DIR} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Release -DHDF5_ENABLE_THREADSAFE=ON -DALLOW_UNSUPPORTED=ON -DBUILD_SHARED_LIBS=ON -DHDF5_BUILD_TOOLS=ON -DHDF5_BUILD_HL_LIB=ON -DHDF5_ENABLE_Z_LIB_SUPPORT=ON ${HDF5_SRC_DIR}
+
+libxml2
+> ./configure --prefix=${LIBXML2_ROOT_DIR}
+
+matplotlib and matplotlib related products
+ * cycler
+ > python3 ./setup.py install --prefix=${MATPLOTLIB_ROOT_DIR}
+ * dateutil
+ > python3 ./setup.py install --prefix=${MATPLOTLIB_ROOT_DIR}
+
+ * kiwisolver
+ > python3 ./setup.py install --prefix=${MATPLOTLIB_ROOT_DIR}
+
+ * matplotlib
+ > python3 ./setup.py install --prefix=${MATPLOTLIB_ROOT_DIR}
+
+med
+> cmake -DCMAKE_INSTALL_PREFIX:STRING=${MED_ROOT_DIR} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Release -DMEDFILE_BUILD_SHARED_LIBS=ON -DMEDFILE_BUILD_TESTS=OFF -DMEDFILE_INSTALL_DOC=ON -DMEDFILE_BUILD_PYTHON=ON -DPYTHON_INCLUDE_DIR=${PYTHON_ROOT_DIR}/include/python3.6 -DPYTHON_LIBRARY=${PYTHON_ROOT_DIR}/lib/libpython3.6.so -DHDF5_ROOT=${HDF5_ROOT_DIR} ${MED_SRC_DIR}
+
+metis
+> cmake -DCMAKE_VERBOSE_MAKEFILE=1 -DGKLIB_PATH=${METIS_SRC_DIR}/GKlib -DCMAKE_INSTALL_PREFIX=${METIS_ROOT_DIR} -DSHARED=1 ${METIS_SRC_DIR}
+
+mpi4py
+> python3 ./setup.py install --prefix=${MPI4PY_ROOT_DIR}
+
+netgen
+> ./configure --prefix=${NETGEN_ROOT_DIR} --with-occ=${CAS_ROOT_DIR} --with-tcl=${TCLTK_ROOT_DIR}/lib --with-tk=${TCLTK_ROOT_DIR}/lib --with-tclinclude=${TCLTK_ROOT_DIR}/include CXXFLAGS=-O2 -m64 -std=c++0x
+
+numpy and numpy related products
+ * lapack
+ > cmake -DCMAKE_INSTALL_PREFIX=${NUMPY_ROOT_DIR} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_C_FLAGS=-fPIC ${LAPACK_SRC_DIR}
+
+ * numpy
+ > python3 ./setup.py install --prefix=${NUMPY_ROOT_DIR}
+
+omniorb and omniorbpy
+ * omniorb
+ > ./configure --prefix=${OMNIORB_ROOT_DIR} PYTHON=${PYTHON_ROOT_DIR}/bin/python3
+
+ * omniorbpy
+ > ./configure --prefix=${OMNIORB_ROOT_DIR} PYTHON=${PYTHON_ROOT_DIR}/bin/python3
+
+opencv
+> cmake -DCMAKE_INSTALL_PREFIX=${OPENCV_ROOT_DIR} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_opencv_java=OFF ${OPENCV_SRC_DIR}
+
+openmpi
+> ./configure --prefix=${OPENMPI_ROOT_DIR} CFLAGS=-m64 CXXFLAGS=-m64
+
+planegcs
+> cmake -DCMAKE_INSTALL_PREFIX=${PLANEGCS_ROOT_DIR} ${PLANEGCS_SRC_DIR}
+
+qt5
+> ./configure -prefix ${QT5_ROOT_DIR} -no-separate-debug-info -opensource -confirm-license -release -nomake tests
+
+qwt
+> ./qmake
+
+scipy
+> python3 ./setup.py install --prefix=${SCIPY_ROOT_DIR}
+
+scotch (no specific configuration procedure, options are passed to make)
+> make prefix=${SCOTCH_ROOT_DIR}
+
+sip
+> python3 ./configure.py -b ${SIP_ROOT_DIR}/bin -d ${SIP_ROOT_DIR}/lib/python3.6/site-packages -e ${SIP_ROOT_DIR}/include/python3.6 -v ${SIP_ROOT_DIR}/sip -p linux-g++-64
+
+solvespace
+> cmake -DCMAKE_INSTALL_PREFIX:STRING=${SOLVESPACE_ROOT_DIR} -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DBUILD_GUI:BOOL=OFF ${SOLVESPACE_SRC_DIR}
+
+swig
+> ./configure --prefix=${SWIG_ROOT_DIR} --with-boost=${BOOST_ROOT_DIR} --with-python3=${PYTHON_ROOT_DIR} --without-octave --with-tcl=${TCLTK_ROOT_DIR} --program-suffix=3.0 CFLAGS=-m64 CXXFLAGS=-m64
+
+tcltk
+> ./configure --prefix=${TCLTK_ROOT_DIR} --enable-gcc --enable-shared --enable-threads --enable-64bit
diff --git a/config/build_options/occt/options_compilation_salome_master.txt b/config/build_options/occt/options_compilation_salome_master.txt
deleted file mode 100644 (file)
index fd70719..0000000
+++ /dev/null
@@ -1,343 +0,0 @@
-ATOMGEN
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${ATOMGEN_ROOT_DIR} ${ATOMGEN_SRC_DIR}
-
-ATOMIC
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${ATOMIC_ROOT_DIR} ${ATOMIC_SRC_DIR}
-
-ATOMSOLV
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${ATOMSOLV_ROOT_DIR} ${ATOMSOLV_SRC_DIR}
-
-BLSURFPLUGIN
->  cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${BLSURFPLUGIN_ROOT_DIR} ${BLSURFPLUGIN_SRC_DIR}
-
-BLSURFPLUGINWOGUI
-> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=${BLSURFPLUGINWOGUI_ROOT_DIR} ${BLSURFPLUGIN_SRC_DIR}
-
-CALCULATOR
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${CALCULATOR_ROOT_DIR} ${CALCULATOR_SRC_DIR}
-
-COMPONENT 
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${COMPONENT_ROOT_DIR} ${COMPONENT_SRC_DIR}
-
-DOCUMENTATION
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${DOCUMENTATION_ROOT_DIR} ${DOCUMENTATION_SRC_DIR}
-
-GEOM
-> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_GEOM_USE_OPENCV=ON -DCMAKE_INSTALL_PREFIX=${GEOM_ROOT_DIR} ${GEOM_SRC_DIR}
-
-> GEOMWOGUI
-cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DSALOME_GEOM_USE_OPENCV=ON -DCMAKE_INSTALL_PREFIX=${GEOMWOGUI_ROOT_DIR} ${GEOM_SRC_DIR}
-
-GHS3DPLUGIN
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${GHS3DPLUGIN_ROOT_DIR} ${GHS3DPLUGIN_SRC_DIR}
-
-GHS3DPLUGINWOGUI
-> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=${GHS3DPLUGINWOGUI_ROOT_DIR} ${GHS3DPLUGIN_SRC_DIR}
-
-GHS3DPRLPLUGIN
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${GHS3DPRLPLUGIN_ROOT_DIR} ${GHS3DPRLPLUGIN_SRC_DIR}
-
-GHS3DPRLPLUGINWOGUI
-> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=${GHS3DPRLPLUGINWOGUI_ROOT_DIR} ${GHS3DPRLPLUGIN_SRC_DIR}
-
-GMSHPLUGIN
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${GMSHPLUGIN_ROOT_DIR} ${GMSHPLUGIN_SRC_DIR}
-
-GMSHPLUGINWOGUI
-> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=${GMSHPLUGINWOGUI_ROOT_DIR} ${GMSHPLUGIN_SRC_DIR}
-
-GUI
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${GUI_ROOT_DIR} ${GUI_SRC_DIR}
-
-HELLO
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${HELLO_ROOT_DIR} ${HELLO_SRC_DIR}
-
-HEXABLOCK
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${HEXABLOCK_ROOT_DIR} ${HEXABLOCK_SRC_DIR}
-
-HEXABLOCKPLUGIN
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${HEXABLOCKPLUGIN_ROOT_DIR} ${HEXABLOCKPLUGIN_SRC_DIR}
-
-HexoticPLUGIN
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${HexoticPLUGIN_ROOT_DIR} ${HexoticPLUGIN_SRC_DIR}
-
-HexoticPLUGINWOGUI
-> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=${HexoticPLUGINWOGUI_ROOT_DIR} ${HexoticPLUGIN_SRC_DIR}
-
-HOMARD
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${HOMARD_ROOT_DIR} ${HOMARD_SRC_DIR}
-
-HYBRIDPLUGIN
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${HYBRIDPLUGIN_ROOT_DIR} ${HYBRIDPLUGIN_SRC_DIR}
-
-HYBRIDPLUGINWOGUI
-> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=${HYBRIDPLUGINWOGUI_ROOT_DIR} ${HYBRIDPLUGIN_SRC_DIR}
-
-JOBMANAGER
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${JOBMANAGER_ROOT_DIR} ${JOBMANAGER_SRC_DIR}
-
-KERNEL
-> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_USE_LIBBATCH=ON -DCMAKE_INSTALL_PREFIX=${KERNEL_ROOT_DIR} ${KERNEL_SRC_DIR}
-
-KERNEL_OPT
-> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_USE_LIBBATCH=ON -DSALOME_USE_MPI=ON -DCMAKE_INSTALL_PREFIX=${KERNEL_OPT_ROOT_DIR} ${KERNEL_SRC_DIR}
-
-LIBBATCH
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${LIBBATCH_ROOT_DIR} ${LIBBATCH_SRC_DIR}
-
-LIGHT
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${LIGHT_ROOT_DIR} ${LIGHT_SRC_DIR}
-
-MED
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${MED_ROOT_DIR} ${MED_SRC_DIR}
-
-MEDCOUPLING
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${MEDCOUPLING_ROOT_DIR} ${MEDCOUPLING_SRC_DIR}
-
-MEDCOUPLING_OPT
-> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_USE_MPI=ON -DSALOME_MED_PARTITIONER_PARMETIS=OFF -DCMAKE_INSTALL_PREFIX=${MEDCOUPLING_OPT_ROOT_DIR} ${MEDCOUPLING_SRC_DIR}
-
-MEDCOUPLINGMICRO
-> cmake -DCMAKE_BUILD_TYPE=Release -DMEDCOUPLING_MICROMED=ON -DCMAKE_INSTALL_PREFIX=${MEDCOUPLINGMICRO_ROOT_DIR} ${MEDCOUPLIN_SRC_DIR}
-
-MEDWOGUI
-> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=${MEDWOGUI_ROOT_DIR} ${MED_SRC_DIR}
-
-NETGENPLUGIN
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${NETGENPLUGIN_ROOT_DIR} ${NETGENPLUGIN_SRC_DIR}
-
-NETGENPLUGINWOGUI
-> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=${NETGENPLUGINWOGUI_ROOT_DIR} ${NETGENPLUGIN_SRC_DIR}
-
-PARAVIS
-> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_PARAVIS_USE_GEOM_SOURCE=ON -DSALOME_PARAVIS_USE_SMESH_SOURCE=ON -DCMAKE_INSTALL_PREFIX=${PARAVIS_ROOT_DIR} ${PARAVIS_SRC_DIR}
-
-PYCALCULATOR
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${PYCALCULATOR_ROOT_DIR} ${PYCALCULATOR_SRC_DIR}
-
-PYHELLO
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${PYHELLO_ROOT_DIR} ${PYHELLO_SRC_DIR}
-
-PYLIGHT
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${PYLIGHT_ROOT_DIR} ${PYLIGHT_SRC_DIR}
-
-RANDOMIZER
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${RANDOMIZER_ROOT_DIR} ${RANDOMIZER_SRC_DIR}
-
-SHAPER
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${SHAPER_ROOT_DIR} ${SHAPER_SRC_DIR}
-
-SIERPINSKY
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${SIERPINSKY_ROOT_DIR} ${SIERPINSKY_SRC_DIR}
-
-SMESH
-> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_SMESH_USE_TBB=ON -DSALOME_SMESH_USE_CGNS=ON -DCMAKE_INSTALL_PREFIX=${SMESH_ROOT_DIR} ${SMESH_SRC_DIR}
-
-SMESHWOGUI
-> cmake -DCMAKE_BUILD_TYPE=Release -DSALOME_BUILD_GUI=OFF -DSALOME_SMESH_USE_TBB=ON -DSALOME_SMESH_USE_CGNS=ON -DCMAKE_INSTALL_PREFIX=${SMESHWOGUI_ROOT_DIR} ${SMESH_SRC_DIR}
-
-YACS
-> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${YACS_ROOT_DIR} ${YACS_SRC_DIR}
-
-YACSGEN
-> python3 setup.py install --prefix=${YACSGEN_ROOT_DIR}
-
-CGNS
-> cmake -DCMAKE_INSTALL_PREFIX:STRING=${CGNS_ROOT_DIR} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE:STRING=Release -DCGNS_BUILD_SHARED:BOOL=ON -DCGNS_ENABLE_HDF5:BOOL=ON -DHDF5_DIR=${HDF5_ROOT_DIR}/share/cmake -DHDF5_INCLUDE_PATH:PATH=${HDF5_ROOT_DIR}/include -DHDF5_LIBRARY:FILEPATH=${HDF5_ROOT_DIR}/lib/libhdf5.so -DHDF5_NEED_ZLIB=ON ${CGNS_SRC_DIR}
-
-Cython
-> python3 setup.py install --prefix=${CYTHON_ROOT_DIR}
-
-CAS
-> cmake -DINSTALL_DIR=${CAS_ROOT_DIR} -D3RDPARTY_TCL_DIR=${TCLTK_ROOT_DIR} -DUSE_TBB=ON -D3RDPARTY_TBB_DIR=${TBB_ROOT_DIR} -D3RDPARTY_FREETYPE_DIR=${FREETYPE_ROOT_DIR} -DUSE_FREEIMAGE=ON -D3RDPARTY_FREEIMAGE_DIR=${FREEIMAGE_ROOT_DIR} -DUSE_GL2PS=ON -D3RDPARTY_GL2PS_DIR=${GL2PS_ROOT_DIR} -DCMAKE_BUILD_TYPE=Release ${CAS_SRC_DIR}
-
-Paraview
-> cmake -DCMAKE_INSTALL_PREFIX:STRING=${PARAVIEW_ROOT_DIR} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_TESTING:BOOL=OFF -DCMAKE_CXX_FLAGS:STRING=-m64 -DCMAKE_C_FLAGS:STRING=-m64 -DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=ON -DVTK_PYTHON_FULL_THREADSAFE=ON -DVTK_NO_PYTHON_THREADS=OFF -DVTK_PYTHON_VERSION=3 -DOpenGL_GL_PREFERENCE=LEGACY -DVTK_USE_64BIT_IDS:BOOL=OFF -DVTK_REPORT_OPENGL_ERRORS:BOOL=OFF -DVTK_RENDERING_BACKEND=OpenGL2 -DPARAVIEW_BUILD_QT_GUI:BOOL=ON -DQT_HELP_GENERATOR:STRING=${QT5_ROOT_DIR}/bin/qhelpgenerator -DPARAVIEW_QT_VERSION=5 -DVTK_BUILD_QT_DESIGNER_PLUGIN:BOOL=OFF -DPARAVIEW_ENABLE_PYTHON:BOOL=ON -DVTK_WRAP_PYTHON:BOOL=ON -DPYTHON_EXECUTABLE:STRING=${PYTHON_ROOT_DIR}/bin/python3.6 -DPYTHON_INCLUDE_DIR:STRING=${PYTHON_ROOT_DIR}/include/python3.6 -DPYTHON_LIBRARY:STRING=${PYTHON_ROOT_DIR}/lib/libpython3.6.so -DVTK_NO_PYTHON_THREADS:BOOL=OFF -DVTK_USE_SYSTEM_PYGMENTS:BOOL=ON -DVTK_WRAP_TCL:BOOL=OFF -DVTK_WRAP_JAVA:BOOL=OFF -DPARAVIEW_USE_MPI:BOOL=OFF -DVTK_USE_SYSTEM_HDF5:BOOL=ON -DHDF5_USE_STATIC_LIBRARIES:BOOL=OFF -DHDF5_ROOT:PATH=${HDF5_ROOT_DIR} -DHDF5_INCLUDE_DIRS=${HDF5_ROOT_DIR}/include -DHDF5_LIBRARIES=${HDF5_ROOT_DIR}/lib/libhdf5.so;${HDF5_ROOT_DIR}/lib/libhdf5_hl.so -DHDF5_INCLUDE_DIR:PATH=${HDF5_ROOT_DIR}/include -DHDF5_C_LIBRARY:STRING=${HDF5_ROOT_DIR}/lib/libhdf5.so -DHDF5_HL_LIBRARY:PATH=${HDF5_ROOT_DIR}/lib/libhdf5_hl.so -DPARAVIEW_BUILD_PLUGIN_H5PartReader:BOOL=OFF -DPARAVIEW_USE_VISITBRIDGE=ON -DBOOST_ROOT=${BOOST_ROOT_DIR} -DVTK_USE_SYSTEM_GL2PS:BOOL=ON -DGL2PS_INCLUDE_DIR:STRING=${GL2PS_ROOT_DIR}/include -DGL2PS_LIBRARY:STRING=${GL2PS_ROOT_DIR}/lib/libgl2ps.so -DVTK_USE_SYSTEM_LIBXML2:BOOL=ON -DLIBXML2_INCLUDE_DIR:STRING=${LIBXML2_ROOT_DIR}/include/libxml2 -DLIBXML2_LIBRARIES:STRING=${LIBXML2_ROOT_DIR}/lib/libxml2.so -DVTK_USE_SYSTEM_FREETYPE:BOOL=ON -DPARAVIEW_BUILD_PLUGIN_Moments:BOOL=OFF -DPARAVIEW_BUILD_PLUGIN_PrismPlugin:BOOL=OFF -DPARAVIEW_BUILD_PLUGIN_SLACTools:BOOL=OFF -DPARAVIEW_BUILD_PLUGIN_SierraPlotTools:BOOL=OFF -DPARAVIEW_BUILD_PLUGIN_PacMan:BOOL=OFF -DPARAVIEW_BUILD_PLUGIN_MobileRemoteControl:BOOL=OFF -DPARAVIEW_ENABLE_COPROCESSING:BOOL=OFF -DPARAVIEW_BUILD_PLUGIN_EyeDomeLighting:BOOL=ON -DPARAVIEW_BUILD_PLUGIN_ForceTime:BOOL=ON -DPARAVIEW_BUILD_PLUGIN_H5PartReader:BOOL=ON -DPARAVIEW_BUILD_PLUGIN_PointSprite:BOOL=ON -DPARAVIEW_BUILD_PLUGIN_SurfaceLIC:BOOL=ON -DPARAVIEW_ENABLE_MATPLOTLIB:BOOL=ON ${PARAVIEW_SRC_DIR}
-
-PyQt
-> python3 ./configure.py -b ${PYQT5_ROOT_DIR}/bin -d ${PYQT5_ROOT_DIR} -v ${PYQT5_ROOT_DIR}/sip  --confirm-license --designer-plugindir=${PYQT5_ROOT_DIR}/plugins/designer --qml-plugindir=${PYQT5_ROOT_DIR}/plugins/qml --no-qsci-api --sip-incdir=${SIP_ROOT_DIR}/include/python3.6
-
-Python3
-> ./configure --prefix=${PYTHON_ROOT_DIR} --enable-shared --with-threads --with-libs=-lstdc++ --without-pymalloc --enable-optimizations CFLAGS=-m64 CXXFLAGS=-m64 CPPFLAGS=-I${TCLTK_ROOT_DIR}/include LDFLAGS=-L${TCLTK_ROOT_DIR}/lib 
-
-Sphinx and Sphinx related products
- * alabaster
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * Babel
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
- * certifi
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * chardet
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * click
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * docutils
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * idna
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
- * imagesize
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * Jinja2
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * MarkupSafe
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * packaging
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * pockets
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * Pygments
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * pyparsing
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * pytz
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * requests
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * setuptools
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * six
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * snowballstemmer
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * Sphinx
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
- * sphinxcontrib-napoleon
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * sphinxcontrib-websupport
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * sphinx-intl
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
- * urllib3
- > python3 ./setup.py install --prefix=${SPHINX_ROOT_DIR}
-
-boost
-> ./bootstrap.sh  --prefix=${BOOST_ROOT_DIR} --with-toolset=gcc --with-python=${PYTHON_ROOT_DIR}/bin/python3
-
-CMake
-> ./configure --prefix=${CMAKE_ROOT_DIR}
-
-doxygen
-> cmake -DCMAKE_INSTALL_PREFIX=${DOXYGEN_ROOT_DIR} ${DOXYGEN_SRC_DIR}
-
-freetype
-> ./configure --prefix=${FREETYPE_ROOT_DIR} --with-harfbuzz=no CFLAGS='-m64 -fPIC' CPPFLAGS='-m64 -fPIC'
-
-gl2ps
-> cmake -DCMAKE_INSTALL_PREFIX=${GL2PS_ROOT_DIR} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Release ${GL2PS_SRC_DIR}
-
-gmsh
-> cmake -DCMAKE_INSTALL_PREFIX=${GMSH_ROOT_DIR} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_BUILD_SHARED=ON -DENABLE_ACIS=OFF -DENABLE_FLTK=OFF -DENABLE_MED=OFF -DENABLE_ONELAB_METAMODEL=OFF -DENABLE_PARSER=ON -DENABLE_PETSC=OFF ${GMSH_SRC_DIR}
-
-graphvis
-> ./configure --prefix=${GRAPHVIS_ROOT_DIR} --disable-rpath --disable-tcl --disable-perl --disable-php --disable-ocaml --disable-lua --disable-java --disable-guile --disable-sharp --disable-swig --disable-python --disable-r --disable-ruby --without-expat --without-qt CFLAGS=-m64 CXXFLAGS=-m64
-
-h5py and h5py related products
- * nose
- > python3 ./setup.py install --prefix=${H5PY_ROOT_DIR}
-
- * pkgconfig
- > python3 ./setup.py install --prefix=${H5PY_ROOT_DIR}
-
- * h5py
- > python3 ./setup.py install --prefix=${H5PY_ROOT_DIR}
-
-hdf5
-> cmake -DCMAKE_INSTALL_PREFIX=${HDF5_ROOT_DIR} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Release -DHDF5_ENABLE_THREADSAFE=ON -DALLOW_UNSUPPORTED=ON -DBUILD_SHARED_LIBS=ON -DHDF5_BUILD_TOOLS=ON -DHDF5_BUILD_HL_LIB=ON -DHDF5_ENABLE_Z_LIB_SUPPORT=ON ${HDF5_SRC_DIR}
-
-libxml2
-> ./configure --prefix=${LIBXML2_ROOT_DIR}
-
-matplotlib and matplotlib related products
- * cycler
- > python3 ./setup.py install --prefix=${MATPLOTLIB_ROOT_DIR}
- * dateutil
- > python3 ./setup.py install --prefix=${MATPLOTLIB_ROOT_DIR}
-
- * kiwisolver
- > python3 ./setup.py install --prefix=${MATPLOTLIB_ROOT_DIR}
-
- * matplotlib
- > python3 ./setup.py install --prefix=${MATPLOTLIB_ROOT_DIR}
-
-med
-> cmake -DCMAKE_INSTALL_PREFIX:STRING=${MED_ROOT_DIR} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Release -DMEDFILE_BUILD_SHARED_LIBS=ON -DMEDFILE_BUILD_TESTS=OFF -DMEDFILE_INSTALL_DOC=ON -DMEDFILE_BUILD_PYTHON=ON -DPYTHON_INCLUDE_DIR=${PYTHON_ROOT_DIR}/include/python3.6 -DPYTHON_LIBRARY=${PYTHON_ROOT_DIR}/lib/libpython3.6.so -DHDF5_ROOT=${HDF5_ROOT_DIR} ${MED_SRC_DIR}
-
-metis
-> cmake -DCMAKE_VERBOSE_MAKEFILE=1 -DGKLIB_PATH=${METIS_SRC_DIR}/GKlib -DCMAKE_INSTALL_PREFIX=${METIS_ROOT_DIR} -DSHARED=1 ${METIS_SRC_DIR}
-
-mpi4py
-> python3 ./setup.py install --prefix=${MPI4PY_ROOT_DIR}
-
-netgen
-> ./configure --prefix=${NETGEN_ROOT_DIR} --with-occ=${CAS_ROOT_DIR} --with-tcl=${TCLTK_ROOT_DIR}/lib --with-tk=${TCLTK_ROOT_DIR}/lib --with-tclinclude=${TCLTK_ROOT_DIR}/include CXXFLAGS=-O2 -m64 -std=c++0x
-
-numpy and numpy related products
- * lapack
- > cmake -DCMAKE_INSTALL_PREFIX=${NUMPY_ROOT_DIR} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_C_FLAGS=-fPIC ${LAPACK_SRC_DIR}
-
- * numpy
- > python3 ./setup.py install --prefix=${NUMPY_ROOT_DIR}
-
-omniorb and omniorbpy
- * omniorb
- > ./configure --prefix=${OMNIORB_ROOT_DIR} PYTHON=${PYTHON_ROOT_DIR}/bin/python3
-
- * omniorbpy
- > ./configure --prefix=${OMNIORB_ROOT_DIR} PYTHON=${PYTHON_ROOT_DIR}/bin/python3
-
-opencv
-> cmake -DCMAKE_INSTALL_PREFIX=${OPENCV_ROOT_DIR} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_opencv_java=OFF ${OPENCV_SRC_DIR}
-
-openmpi
-> ./configure --prefix=${OPENMPI_ROOT_DIR} CFLAGS=-m64 CXXFLAGS=-m64
-
-planegcs
-> cmake -DCMAKE_INSTALL_PREFIX=${PLANEGCS_ROOT_DIR} ${PLANEGCS_SRC_DIR}
-
-qt5
-> ./configure -prefix ${QT5_ROOT_DIR} -no-separate-debug-info -opensource -confirm-license -release -nomake tests
-
-qwt
-> ./qmake
-
-scipy
-> python3 ./setup.py install --prefix=${SCIPY_ROOT_DIR}
-
-scotch (no specific configuration procedure, options are passed to make)
-> make prefix=${SCOTCH_ROOT_DIR}
-
-sip
-> python3 ./configure.py -b ${SIP_ROOT_DIR}/bin -d ${SIP_ROOT_DIR}/lib/python3.6/site-packages -e ${SIP_ROOT_DIR}/include/python3.6 -v ${SIP_ROOT_DIR}/sip -p linux-g++-64
-
-solvespace
-> cmake -DCMAKE_INSTALL_PREFIX:STRING=${SOLVESPACE_ROOT_DIR} -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DBUILD_GUI:BOOL=OFF ${SOLVESPACE_SRC_DIR}
-
-swig
-> ./configure --prefix=${SWIG_ROOT_DIR} --with-boost=${BOOST_ROOT_DIR} --with-python3=${PYTHON_ROOT_DIR} --without-octave --with-tcl=${TCLTK_ROOT_DIR} --program-suffix=3.0 CFLAGS=-m64 CXXFLAGS=-m64
-
-tcltk
-> ./configure --prefix=${TCLTK_ROOT_DIR} --enable-gcc --enable-shared --enable-threads --enable-64bit
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/config/patches/occ/README b/config/patches/occ/README
new file mode 100644 (file)
index 0000000..7e72364
--- /dev/null
@@ -0,0 +1,52 @@
+This directory containes patches needed to build SALOME pre-requisites at OCCT side.
+
+Comments
+========
+
+1. freeimage
+   - freeimage.001_sources.patch : patch to add missing defines
+   - freeimage.002_build_procedure.patch : patch to correct installation procedure
+   - freeimage.003_gcc47_compat.patch : patch to build freeimage with gcc 4.7 version
+   - freeimage.004_gcc66.patch : patch to build freeimage with gcc 6 version
+
+2. graphvis
+   - graphviz.001_build_procedure.patch : correct a mistake in the configure script
+   ! Additional patch is applied to binaries installation of grapvis to correct config6 via sed utility
+
+3. qt
+   - qt.001_proxy_factory.patch : fix a problem with compilation of QNetworkProxy
+   - qt.002_disable_qtgamepad.patch : disable qtgamepad package on CentOS-6.4 ONLY!
+
+4. scotch
+   - scotch.001.create_makefile.patch : patch to create proper Makefile
+
+5. solvespace 
+   - solvespace.001_nogui.patch : patch to build solvespace without GUI
+
+6. gl2ps
+   - gl2ps.001_libs.patch : patch to add missing link libraries
+
+7. qwt
+   ! Patch which contains hardcoded path to qwt install directory is applied via sed utility. It is impossible to create such a patch using diff syntax.
+
+8. hdf5
+   - hdf5.001_threads_threads.patch : fix problem with Threads::Threads library for CMake build procedure
+
+9. omniorb
+   ! Patch is applied to installed omniorb in order to set correct path to python3 executable
+
+10. matplotlib
+   - matplotlib.001_build_procedure.patch : patch for creation matplotlib configuration file for build procedure
+
+11. med
+   - med.001.bug_correct_cmake.patch : patch to correct med-4.0.0r1 CMake build procedure
+
+12. opencv
+   - opencv.001_compile.patch : patch to reduce gcc optimization level
+   - opencv.002_gcc6.patch : patch for gcc 6 version
+
+13. netgen
+   - netgen.001.common.patch : common patch for netgen
+
+14. planegcs
+   - planegcs.001_for_shaper.patch : patch planegcs for Shaper module needs
diff --git a/config/patches/occ/freeimage.001_sources.patch b/config/patches/occ/freeimage.001_sources.patch
new file mode 100644 (file)
index 0000000..8bf79df
--- /dev/null
@@ -0,0 +1,25 @@
+diff -Naur --exclude=CVS freeimage-3.16.0_orig/Source/LibWebP/src/utils/bit_writer.c freeimage-3.16.0_patch/Source/LibWebP/src/utils/bit_writer.c
+--- freeimage-3.16.0_orig/Source/LibWebP/src/utils/bit_writer.c
++++ freeimage-3.16.0_patch/Source/LibWebP/src/utils/bit_writer.c
+@@ -226,6 +226,21 @@
+ #define htole16(x) (x)\r
+ #else     // pretty much all linux and/or glibc\r
+ #include <endian.h>\r
++#if !defined(htole32)
++# include <byteswap.h>
++# ifdef __USE_BSD
++/* Conversion interfaces.  */
++#if __BYTE_ORDER == __LITTLE_ENDIAN
++#define htole16(x) (x)
++#define htole32(x) (x)
++#define htole64(x) (x)
++#else
++#define htole16(x) __bswap_16 (x)
++#define htole32(x) __bswap_32 (x)
++#define htole64(x) __bswap_64 (x)
++#endif
++#endif
++#endif
+ #endif\r
\r
+ // Returns 1 on success.\r
diff --git a/config/patches/occ/freeimage.002_build_procedure.patch b/config/patches/occ/freeimage.002_build_procedure.patch
new file mode 100644 (file)
index 0000000..bcbaad3
--- /dev/null
@@ -0,0 +1,62 @@
+diff -NaurwB freeimage-3.16.0__0/Makefile.fip freeimage-3.16.0__1/Makefile.fip
+--- freeimage-3.16.0__0/Makefile.fip   2014-03-15 19:35:28.000000000 +0400
++++ freeimage-3.16.0__1/Makefile.fip   2017-03-15 15:05:20.396869687 +0300
+@@ -4,9 +4,9 @@
+ include fipMakefile.srcs\r
\r
+ # General configuration variables:\r
+-DESTDIR ?= /\r
+-INCDIR ?= $(DESTDIR)/usr/include\r
+-INSTALLDIR ?= $(DESTDIR)/usr/lib\r
++DESTDIR ?= /usr\r
++INCDIR ?= $(DESTDIR)/include\r
++INSTALLDIR ?= $(DESTDIR)/lib\r
\r
+ # Converts cr/lf to just lf\r
+ DOS2UNIX = dos2unix\r
+@@ -71,10 +71,12 @@
\r
+ install:\r
+       install -d $(INCDIR) $(INSTALLDIR)\r
+-      install -m 644 -o root -g root $(HEADER) $(INCDIR)\r
+-      install -m 644 -o root -g root $(HEADERFIP) $(INCDIR)\r
+-      install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR)\r
+-      install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR)\r
++      install -m 644 $(HEADER) $(INCDIR)\r
++      install -m 644 $(HEADERFIP) $(INCDIR)\r
++      install -m 644 $(STATICLIB) $(INSTALLDIR)\r
++      install -m 755 $(SHAREDLIB) $(INSTALLDIR)
++      ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME)
++      ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME)\r
\r
+ clean:\r
+       rm -f core Dist/*.* u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)\r
+diff -NaurwB freeimage-3.16.0__0/Makefile.gnu freeimage-3.16.0__1/Makefile.gnu
+--- freeimage-3.16.0__0/Makefile.gnu   2014-03-16 00:02:08.000000000 +0400
++++ freeimage-3.16.0__1/Makefile.gnu   2017-03-15 15:05:20.384869623 +0300
+@@ -4,9 +4,9 @@
+ include Makefile.srcs\r
\r
+ # General configuration variables:\r
+-DESTDIR ?= /\r
+-INCDIR ?= $(DESTDIR)/usr/include\r
+-INSTALLDIR ?= $(DESTDIR)/usr/lib\r
++DESTDIR ?= /usr\r
++INCDIR ?= $(DESTDIR)/include\r
++INSTALLDIR ?= $(DESTDIR)/lib\r
\r
+ # Converts cr/lf to just lf\r
+ DOS2UNIX = dos2unix\r
+@@ -70,9 +70,9 @@
\r
+ install:\r
+       install -d $(INCDIR) $(INSTALLDIR)\r
+-      install -m 644 -o root -g root $(HEADER) $(INCDIR)\r
+-      install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR)\r
+-      install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR)\r
++      install -m 644 $(HEADER) $(INCDIR)\r
++      install -m 644 $(STATICLIB) $(INSTALLDIR)\r
++      install -m 755 $(SHAREDLIB) $(INSTALLDIR)\r
+       ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME)\r
+       ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME)   \r
+ #     ldconfig\r
diff --git a/config/patches/occ/freeimage.003_gcc47_compat.patch b/config/patches/occ/freeimage.003_gcc47_compat.patch
new file mode 100644 (file)
index 0000000..516a499
--- /dev/null
@@ -0,0 +1,11 @@
+diff -NaurwB freeimage-3.16.0__0/Source/OpenEXR/IlmImf/ImfAutoArray.h freeimage-3.16.0__1/Source/OpenEXR/IlmImf/ImfAutoArray.h
+--- freeimage-3.16.0__0/Source/OpenEXR/IlmImf/ImfAutoArray.h   2014-03-08 01:31:08.000000000 +0400
++++ freeimage-3.16.0__1/Source/OpenEXR/IlmImf/ImfAutoArray.h   2017-03-15 14:10:35.682298047 +0300
+@@ -45,6 +45,7 @@
+ //-----------------------------------------------------------------------------
+ #include "OpenEXRConfig.h"
++#include <string.h>
+ #if !defined(_WIN32) || defined(__MINGW32__)
+ // needed for memset
+ #include <string.h>
diff --git a/config/patches/occ/freeimage.004_gcc66.patch b/config/patches/occ/freeimage.004_gcc66.patch
new file mode 100644 (file)
index 0000000..614a853
--- /dev/null
@@ -0,0 +1,71 @@
+diff -Naur freeimage-3.16.0_SRC_orig/Source/LibRawLite/dcraw/dcraw.c freeimage-3.16.0_SRC_patched/Source/LibRawLite/dcraw/dcraw.c
+--- freeimage-3.16.0_SRC_orig/Source/LibRawLite/dcraw/dcraw.c  2014-02-07 23:48:10.000000000 +0400
++++ freeimage-3.16.0_SRC_patched/Source/LibRawLite/dcraw/dcraw.c       2016-10-14 12:05:37.481253676 +0300
+@@ -4072,22 +4072,22 @@
+     -2,+0,+0,-1,0,0x06, -2,+0,+0,+0,1,0x02, -2,+0,+0,+1,0,0x03,\r
+     -2,+1,-1,+0,0,0x04, -2,+1,+0,-1,1,0x04, -2,+1,+0,+0,0,0x06,\r
+     -2,+1,+0,+1,0,0x02, -2,+2,+0,+0,1,0x04, -2,+2,+0,+1,0,0x04,\r
+-    -1,-2,-1,+0,0,0x80, -1,-2,+0,-1,0,0x01, -1,-2,+1,-1,0,0x01,\r
+-    -1,-2,+1,+0,1,0x01, -1,-1,-1,+1,0,0x88, -1,-1,+1,-2,0,0x40,\r
++    -1,-2,-1,+0,0,(signed char)0x80, -1,-2,+0,-1,0,0x01, -1,-2,+1,-1,0,0x01,\r
++    -1,-2,+1,+0,1,0x01, -1,-1,-1,+1,0,(signed char)0x88, -1,-1,+1,-2,0,0x40,\r
+     -1,-1,+1,-1,0,0x22, -1,-1,+1,+0,0,0x33, -1,-1,+1,+1,1,0x11,\r
+     -1,+0,-1,+2,0,0x08, -1,+0,+0,-1,0,0x44, -1,+0,+0,+1,0,0x11,\r
+     -1,+0,+1,-2,1,0x40, -1,+0,+1,-1,0,0x66, -1,+0,+1,+0,1,0x22,\r
+     -1,+0,+1,+1,0,0x33, -1,+0,+1,+2,1,0x10, -1,+1,+1,-1,1,0x44,\r
+     -1,+1,+1,+0,0,0x66, -1,+1,+1,+1,0,0x22, -1,+1,+1,+2,0,0x10,\r
+     -1,+2,+0,+1,0,0x04, -1,+2,+1,+0,1,0x04, -1,+2,+1,+1,0,0x04,\r
+-    +0,-2,+0,+0,1,0x80, +0,-1,+0,+1,1,0x88, +0,-1,+1,-2,0,0x40,\r
++    +0,-2,+0,+0,1,(signed char)0x80, +0,-1,+0,+1,1,(signed char)0x88, +0,-1,+1,-2,0,0x40,\r
+     +0,-1,+1,+0,0,0x11, +0,-1,+2,-2,0,0x40, +0,-1,+2,-1,0,0x20,\r
+     +0,-1,+2,+0,0,0x30, +0,-1,+2,+1,1,0x10, +0,+0,+0,+2,1,0x08,\r
+     +0,+0,+2,-2,1,0x40, +0,+0,+2,-1,0,0x60, +0,+0,+2,+0,1,0x20,\r
+     +0,+0,+2,+1,0,0x30, +0,+0,+2,+2,1,0x10, +0,+1,+1,+0,0,0x44,\r
+     +0,+1,+1,+2,0,0x10, +0,+1,+2,-1,1,0x40, +0,+1,+2,+0,0,0x60,\r
+-    +0,+1,+2,+1,0,0x20, +0,+1,+2,+2,0,0x10, +1,-2,+1,+0,0,0x80,\r
+-    +1,-1,+1,+1,0,0x88, +1,+0,+1,+2,0,0x08, +1,+0,+2,-1,0,0x40,\r
++    +0,+1,+2,+1,0,0x20, +0,+1,+2,+2,0,0x10, +1,-2,+1,+0,0,(signed char)0x80,\r
++    +1,-1,+1,+1,0,(signed char)0x88, +1,+0,+1,+2,0,0x08, +1,+0,+2,-1,0,0x40,\r
+     +1,+0,+2,+1,0,0x10\r
+   }, chood[] = { -1,-1, -1,0, -1,+1, 0,+1, +1,+1, +1,0, +1,-1, 0,-1 };\r
+   ushort (*brow[5])[4], *pix;\r
+diff -Naur freeimage-3.16.0_SRC_orig/Source/LibRawLite/internal/dcraw_common.cpp freeimage-3.16.0_SRC_patched/Source/LibRawLite/internal/dcraw_common.cpp
+--- freeimage-3.16.0_SRC_orig/Source/LibRawLite/internal/dcraw_common.cpp      2014-02-07 23:48:10.000000000 +0400
++++ freeimage-3.16.0_SRC_patched/Source/LibRawLite/internal/dcraw_common.cpp   2016-10-14 12:06:27.540395171 +0300
+@@ -3782,22 +3782,22 @@
+     -2,+0,+0,-1,0,0x06, -2,+0,+0,+0,1,0x02, -2,+0,+0,+1,0,0x03,\r
+     -2,+1,-1,+0,0,0x04, -2,+1,+0,-1,1,0x04, -2,+1,+0,+0,0,0x06,\r
+     -2,+1,+0,+1,0,0x02, -2,+2,+0,+0,1,0x04, -2,+2,+0,+1,0,0x04,\r
+-    -1,-2,-1,+0,0,0x80, -1,-2,+0,-1,0,0x01, -1,-2,+1,-1,0,0x01,\r
+-    -1,-2,+1,+0,1,0x01, -1,-1,-1,+1,0,0x88, -1,-1,+1,-2,0,0x40,\r
++    -1,-2,-1,+0,0,(signed char)0x80, -1,-2,+0,-1,0,0x01, -1,-2,+1,-1,0,0x01,\r
++    -1,-2,+1,+0,1,0x01, -1,-1,-1,+1,0,(signed char)0x88, -1,-1,+1,-2,0,0x40,\r
+     -1,-1,+1,-1,0,0x22, -1,-1,+1,+0,0,0x33, -1,-1,+1,+1,1,0x11,\r
+     -1,+0,-1,+2,0,0x08, -1,+0,+0,-1,0,0x44, -1,+0,+0,+1,0,0x11,\r
+     -1,+0,+1,-2,1,0x40, -1,+0,+1,-1,0,0x66, -1,+0,+1,+0,1,0x22,\r
+     -1,+0,+1,+1,0,0x33, -1,+0,+1,+2,1,0x10, -1,+1,+1,-1,1,0x44,\r
+     -1,+1,+1,+0,0,0x66, -1,+1,+1,+1,0,0x22, -1,+1,+1,+2,0,0x10,\r
+     -1,+2,+0,+1,0,0x04, -1,+2,+1,+0,1,0x04, -1,+2,+1,+1,0,0x04,\r
+-    +0,-2,+0,+0,1,0x80, +0,-1,+0,+1,1,0x88, +0,-1,+1,-2,0,0x40,\r
++    +0,-2,+0,+0,1,(signed char)0x80, +0,-1,+0,+1,1,(signed char)0x88, +0,-1,+1,-2,0,0x40,\r
+     +0,-1,+1,+0,0,0x11, +0,-1,+2,-2,0,0x40, +0,-1,+2,-1,0,0x20,\r
+     +0,-1,+2,+0,0,0x30, +0,-1,+2,+1,1,0x10, +0,+0,+0,+2,1,0x08,\r
+     +0,+0,+2,-2,1,0x40, +0,+0,+2,-1,0,0x60, +0,+0,+2,+0,1,0x20,\r
+     +0,+0,+2,+1,0,0x30, +0,+0,+2,+2,1,0x10, +0,+1,+1,+0,0,0x44,\r
+     +0,+1,+1,+2,0,0x10, +0,+1,+2,-1,1,0x40, +0,+1,+2,+0,0,0x60,\r
+-    +0,+1,+2,+1,0,0x20, +0,+1,+2,+2,0,0x10, +1,-2,+1,+0,0,0x80,\r
+-    +1,-1,+1,+1,0,0x88, +1,+0,+1,+2,0,0x08, +1,+0,+2,-1,0,0x40,\r
++    +0,+1,+2,+1,0,0x20, +0,+1,+2,+2,0,0x10, +1,-2,+1,+0,0,(signed char)0x80,\r
++    +1,-1,+1,+1,0,(signed char)0x88, +1,+0,+1,+2,0,0x08, +1,+0,+2,-1,0,0x40,\r
+     +1,+0,+2,+1,0,0x10\r
+   }, chood[] = { -1,-1, -1,0, -1,+1, 0,+1, +1,+1, +1,0, +1,-1, 0,-1 };\r
+   ushort (*brow[5])[4], *pix;\r
+@@ -7380,7 +7380,7 @@
+       { 8035,435,-962,-6001,13872,2320,-1159,3065,5434 } },\r
+     { "Phase One P65", 0, 0,\r
+       { 8035,435,-962,-6001,13872,2320,-1159,3065,5434 } },\r
+-    { "Red One", 704, 0xffff,         /* DJC */\r
++    { "Red One", 704, (short int)0xffff,              /* DJC */\r
+       { 21014,-7891,-2613,-3056,12201,856,-2203,5125,8042 } },\r
+     { "Samsung EK-GN120", 0, 0, /* Adobe; Galaxy NX */\r
+         { 7557,-2522,-739,-4679,12949,1894,-840,1777,5311 } },\r
diff --git a/config/patches/occ/gl2ps.001_libs.patch b/config/patches/occ/gl2ps.001_libs.patch
new file mode 100644 (file)
index 0000000..68168b3
--- /dev/null
@@ -0,0 +1,13 @@
+diff -NaurwB gl2ps-1.3.9__1/CMakeLists.txt gl2ps-1.3.9__0/CMakeLists.txt
+--- gl2ps-1.3.9__1/CMakeLists.txt      2017-03-15 14:16:29.548325553 +0300
++++ gl2ps-1.3.9__0/CMakeLists.txt      2017-03-15 14:17:13.060574241 +0300
+@@ -76,6 +76,9 @@
+   add_definitions(-DHAVE_NO_VSNPRINTF)
+ endif(NOT HAVE_VSNPRINTF)
++find_library(LIBM_LIBRARY NAMES m)
++list(APPEND EXTERNAL_LIBRARIES ${LIBM_LIBRARY})
++
+ find_package(OpenGL)
+ if(OPENGL_FOUND)
+   list(APPEND EXTERNAL_INCLUDES ${OPENGL_INCLUDE_DIR})
diff --git a/config/patches/occ/graphviz.001_build_procedure.patch b/config/patches/occ/graphviz.001_build_procedure.patch
new file mode 100644 (file)
index 0000000..ede5edd
--- /dev/null
@@ -0,0 +1,21 @@
+diff -NaurwB graphviz-2.38.0__1/configure graphviz-2.38.0__0/configure
+--- graphviz-2.38.0__0/configure       2017-03-15 14:22:15.286297951 +0300
++++ graphviz-2.38.0__1/configure       2017-03-15 14:23:12.054621051 +0300
+@@ -22415,7 +22415,7 @@
+       else
+         PYTHON_PREFIX=`$PYTHON -c "import sys; print sys.prefix"`
+         PYTHON_INCLUDES=-I$PYTHON_PREFIX/include/python$PYTHON_VERSION_SHORT
+-        PYTHON_LIBS="-lpython$PYTHON_VERSION_SHORT"
++        PYTHON_LIBS="-L$PYTHON_PREFIX/lib -lpython$PYTHON_VERSION_SHORT"
+         PYTHON_INSTALL_DIR="`$PYTHON $srcdir/config/config_python.py archsitelib`"
+         save_CPPFLAGS=$CPPFLAGS
+         CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
+@@ -23797,7 +23797,7 @@
+ fi
+ if test "x$use_tcl" = "x"; then
+-  TCL_VERSION_FOUND=`echo 'puts [info tclversion]' | $TCLSH`
++  TCL_VERSION_FOUND=`echo 'puts [info tclversion]' | $TCLSH 2>/dev/null | grep -E '^[0-9.]+$'`
+   # can't assume ksh on all architectures
+   # TCLSH_EXEC_PREFIX=${TCLSH%%/bin/tclsh.*}
diff --git a/config/patches/occ/hdf5.001_threads_threads.patch b/config/patches/occ/hdf5.001_threads_threads.patch
new file mode 100644 (file)
index 0000000..776800f
--- /dev/null
@@ -0,0 +1,15 @@
+diff -Naur --exclude=CVS --exclude=.git hdf5-1.10.3_orig/src/CMakeLists.txt hdf5-1.10.3_patched/src/CMakeLists.txt
+--- hdf5-1.10.3_orig/src/CMakeLists.txt        2018-08-10 00:36:31.000000000 +0300
++++ hdf5-1.10.3_patched/src/CMakeLists.txt     2018-10-10 16:25:28.196773245 +0300
+@@ -954,9 +954,10 @@
+           $<$<BOOL:${HDF5_ENABLE_DEBUG_APIS}>:H5Z_DEBUG;H5T_DEBUG;H5ST_DEBUG;H5S_DEBUG;H5O_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5F_DEBUG;H5D_DEBUG;H5B2_DEBUG;H5AC_DEBUG>
+   )
+   TARGET_C_PROPERTIES (${HDF5_LIBSH_TARGET} SHARED)
++  get_property(_threads_libs TARGET Threads::Threads PROPERTY INTERFACE_LINK_LIBRARIES)
+   target_link_libraries (${HDF5_LIBSH_TARGET}
+       PRIVATE ${LINK_LIBS} ${LINK_COMP_LIBS} "$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_LIBRARIES}>"
+-      PUBLIC $<$<NOT:$<PLATFORM_ID:Windows>>:${CMAKE_DL_LIBS}> $<$<BOOL:${HDF5_ENABLE_THREADSAFE}>:Threads::Threads>
++      PUBLIC $<$<NOT:$<PLATFORM_ID:Windows>>:${CMAKE_DL_LIBS}> $<$<BOOL:${HDF5_ENABLE_THREADSAFE}>:${_threads_libs}>
+   )
+   set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_LIBSH_TARGET}")
+   H5_SET_LIB_OPTIONS (${HDF5_LIBSH_TARGET} ${HDF5_LIB_NAME} SHARED "LIB")
diff --git a/config/patches/occ/matplotlib.001_build_procedure.patch b/config/patches/occ/matplotlib.001_build_procedure.patch
new file mode 100644 (file)
index 0000000..c0aae3d
--- /dev/null
@@ -0,0 +1,90 @@
+diff -NaurwB matplotlib-1.4.3__1/setup.cfg matplotlib-1.4.3__0/setup.cfg
+--- matplotlib-1.4.3__0/setup.cfg      1970-01-01 03:00:00.000000000 +0300
++++ matplotlib-1.4.3__1/setup.cfg      2017-03-15 14:42:36.569265032 +0300
+@@ -0,0 +1,86 @@
++# Rename this file to setup.cfg to modify matplotlib's
++# build options.
++
++[egg_info]
++tag_svn_revision = 1
++
++[directories]
++# Uncomment to override the default basedir in setupext.py.
++# This can be a single directory or a comma-delimited list of directories.
++#basedirlist = /usr
++
++[status]
++# To suppress display of the dependencies and their versions
++# at the top of the build log, uncomment the following line:
++#suppress = False
++
++[packages]
++# There are a number of subpackages of matplotlib that are considered
++# optional.  They are all installed by default, but they may be turned
++# off here.
++#
++tests = False
++sample_data = False
++toolkits = True
++# Tests for the toolkits are only automatically installed
++# if the tests and toolkits packages are also getting installed.
++#toolkits_tests = auto
++
++[gui_support]
++# Matplotlib supports multiple GUI toolkits, including Cocoa,
++# GTK, Fltk, MacOSX, Qt, Qt4, Tk, and WX. Support for many of
++# these toolkits requires AGG, the Anti-Grain Geometry library,
++# which is provided by matplotlib and built by default.
++#
++# Some backends are written in pure Python, and others require
++# extension code to be compiled. By default, matplotlib checks for
++# these GUI toolkits during installation and, if present, compiles the
++# required extensions to support the toolkit.
++#
++# - GTK 2.x support of any kind requires the GTK runtime environment
++#   headers and PyGTK.
++# - Tk support requires Tk development headers and Tkinter.
++# - Mac OSX backend requires the Cocoa headers included with XCode.
++# - Windowing is MS-Windows specific, and requires the "windows.h"
++#   header.
++#
++# The other GUI toolkits do not require any extension code, and can be
++# used as long as the libraries are installed on your system --
++# therefore they are installed unconditionally.
++#
++# You can uncomment any the following lines to change this
++# behavior. Acceptible values are:
++#
++#     True: build the extension. Exits with a warning if the
++#           required dependencies are not available
++#     False: do not build the extension
++#     auto: build if the required dependencies are available,
++#           otherwise skip silently. This is the default
++#           behavior
++#
++#agg = auto
++#cairo = auto
++#gtk = auto
++#gtk3agg = auto
++#gtk3cairo = auto
++#gtkagg = auto
++#macosx = auto
++#pyside = auto
++qt5agg = auto
++#tkagg = auto
++#windowing = auto
++#wxagg = auto
++
++[rc_options]
++# User-configurable options
++#
++# Default backend, one of: Agg, Cairo, CocoaAgg, GTK, GTKAgg, GTKCairo,
++# FltkAgg, MacOSX, Pdf, Ps, QtAgg, Qt4Agg, SVG, TkAgg, WX, WXAgg.
++#
++# The Agg, Ps, Pdf and SVG backends do not require external
++# dependencies. Do not choose GTK, GTKAgg, GTKCairo, MacOSX, or TkAgg
++# if you have disabled the relevent extension modules.  Agg will be used
++# by default.
++#
++backend = Qt5Agg
++#
diff --git a/config/patches/occ/med.001.bug_correct_cmake.patch b/config/patches/occ/med.001.bug_correct_cmake.patch
new file mode 100644 (file)
index 0000000..e477630
--- /dev/null
@@ -0,0 +1,37 @@
+diff -Naur --exclude=CVS --exclude=.git med-4.0.0rc1.orig/CMakeLists.txt med-4.0.0rc1.patched/CMakeLists.txt
+--- med-4.0.0rc1.orig/CMakeLists.txt   2018-10-24 18:38:31.000000000 +0300
++++ med-4.0.0rc1.patched/CMakeLists.txt        2018-10-30 18:57:34.000000000 +0300
+@@ -121,7 +121,8 @@
+ ## Installation of the doc
+ IF(MEDFILE_INSTALL_DOC)
+-  INSTALL(DIRECTORY doc DESTINATION ${CMAKE_INSTALL_PREFIX}/share)
++  INSTALL(DIRECTORY doc/html.dox/ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/med REGEX "Makefile*" EXCLUDE PATTERN "*.am" EXCLUDE)
++  INSTALL(DIRECTORY doc/gif doc/jpg doc/png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/med FILES_MATCHING PATTERN "*.gif" PATTERN "*.jpg" PATTERN "*.svg" PATTERN "*.png")
+ ENDIF()
+ #######################
+diff -Naur --exclude=CVS --exclude=.git med-4.0.0rc1.orig/config/cmake_files/medMacros.cmake med-4.0.0rc1.patched/config/cmake_files/medMacros.cmake
+--- med-4.0.0rc1.orig/config/cmake_files/medMacros.cmake       2018-10-22 11:36:07.000000000 +0300
++++ med-4.0.0rc1.patched/config/cmake_files/medMacros.cmake    2018-10-30 19:03:44.673012496 +0300
+@@ -406,7 +406,7 @@
+     ADD_DEFINITIONS(-DH5_USE_16_API)  
+     IF(WIN32 AND MEDFILE_BUILD_SHARED_LIBS)
+-      ADD_DEFINITIONS(-D_HDF5USEDLL_)  
++      ADD_DEFINITIONS(-D_HDF5USEDLL_ -DH5_BUILT_AS_DYNAMIC_LIB=1)   
+     ENDIF()
+     
+     # Take what is exposed by the standard FIND_PACKAGE()
+diff -Naur --exclude=CVS --exclude=.git med-4.0.0rc1.orig/python/CMakeLists.txt med-4.0.0rc1.patched/python/CMakeLists.txt
+--- med-4.0.0rc1.orig/python/CMakeLists.txt    2018-10-23 01:43:04.000000000 +0300
++++ med-4.0.0rc1.patched/python/CMakeLists.txt 2018-10-30 19:03:44.657012959 +0300
+@@ -24,7 +24,7 @@
+   medparameter_module.i
+   medprofile_module.i
+   medsubdomain_module.i
+-  medstructelement.i
++  medstructelement_module.i
+ )
+ IF(APPLE)
diff --git a/config/patches/occ/netgen.001.common.patch b/config/patches/occ/netgen.001.common.patch
new file mode 100644 (file)
index 0000000..135c34f
--- /dev/null
@@ -0,0 +1,45375 @@
+diff -Naur netgen-5.3.1_SRC_orig/Makefile.am netgen-5.3.1_SRC_modif/Makefile.am
+--- netgen-5.3.1_SRC_orig/Makefile.am  2014-08-29 13:55:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/Makefile.am 2018-03-01 15:41:03.989158469 +0300
+@@ -2,7 +2,7 @@
+ METASOURCES = AUTO
+-SUBDIRS = libsrc ng tutorials doc windows nglib
++SUBDIRS = libsrc nglib #tutorials doc windows nglib
+ # TESTS = ng/netgen -batchmode
+diff -Naur netgen-5.3.1_SRC_orig/Makefile.in netgen-5.3.1_SRC_modif/Makefile.in
+--- netgen-5.3.1_SRC_orig/Makefile.in  2014-10-06 15:04:37.000000000 +0400
++++ netgen-5.3.1_SRC_modif/Makefile.in 2018-03-01 15:41:03.990158362 +0300
+@@ -280,7 +280,7 @@
+ top_srcdir = @top_srcdir@
+ ACLOCAL_AMFLAGS = -I m4
+ METASOURCES = AUTO
+-SUBDIRS = libsrc ng tutorials doc windows nglib
++SUBDIRS = libsrc nglib #tutorials doc windows nglib
+ all: config.h
+       $(MAKE) $(AM_MAKEFLAGS) all-recursive
+diff -Naur netgen-5.3.1_SRC_orig/configure.ac netgen-5.3.1_SRC_modif/configure.ac
+--- netgen-5.3.1_SRC_orig/configure.ac 2014-10-06 15:00:17.000000000 +0400
++++ netgen-5.3.1_SRC_modif/configure.ac        2018-03-01 15:41:03.990158362 +0300
+@@ -20,7 +20,7 @@
+ CXXFLAGS="$CXXFLAGS $OPENMP_CXXFLAGS"
+ # LDFLAGS="$LDFLAGS $OPENMP_CXXFLAGS"
+-AM_PROG_AR
++m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ AC_PROG_LIBTOOL
+ LT_INIT
+@@ -42,8 +42,8 @@
+ if test a$occon = atrue ; then
+-      AC_SUBST([OCCFLAGS], ["-DOCCGEOMETRY -I$occdir/inc -I/usr/include/opencascade"])
+-      AC_SUBST([OCCLIBS], ["-L$occdir/lib -lTKernel -lTKGeomBase -lTKMath -lTKG2d -lTKG3d -lTKXSBase -lTKOffset -lTKFillet -lTKShHealing -lTKMesh -lTKMeshVS -lTKTopAlgo -lTKGeomAlgo -lTKBool -lTKPrim -lTKBO -lTKIGES -lTKBRep -lTKSTEPBase -lTKSTEP -lTKSTL -lTKSTEPAttr -lTKSTEP209 -lTKXDESTEP -lTKXDEIGES -lTKXCAF -lTKLCAF -lFWOSPlugin"])
++      AC_SUBST([OCCFLAGS], ["-DOCCGEOMETRY -I$occdir/include/opencascade"])
++      AC_SUBST([OCCLIBS], ["-L$occdir/lib -lTKernel -lTKGeomBase -lTKMath -lTKG2d -lTKG3d -lTKXSBase -lTKOffset -lTKFillet -lTKShHealing -lTKMesh -lTKMeshVS -lTKTopAlgo -lTKGeomAlgo -lTKBool -lTKPrim -lTKBO -lTKIGES -lTKBRep -lTKSTEPBase -lTKSTEP -lTKSTL -lTKSTEPAttr -lTKSTEP209 -lTKXDESTEP -lTKXDEIGES -lTKXCAF -lTKLCAF"])
+ #  -lTKDCAF
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/csg/Makefile.am netgen-5.3.1_SRC_modif/libsrc/csg/Makefile.am
+--- netgen-5.3.1_SRC_orig/libsrc/csg/Makefile.am       2014-08-29 13:54:06.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/csg/Makefile.am      2018-03-01 15:41:03.990158362 +0300
+@@ -8,7 +8,7 @@
+ AM_CPPFLAGS = -I$(top_srcdir)/libsrc/include  $(TCL_INCLUDES)
+ METASOURCES = AUTO
+-lib_LTLIBRARIES = libcsg.la
++noinst_LTLIBRARIES = libcsg.la
+ libcsg_la_SOURCES = algprim.cpp brick.cpp   \
+@@ -17,12 +17,9 @@
+ manifold.cpp meshsurf.cpp polyhedra.cpp revolution.cpp singularref.cpp \
+ solid.cpp specpoin.cpp spline3d.cpp surface.cpp triapprox.cpp
+-libcsg_la_LIBADD =  $(top_builddir)/libsrc/meshing/libmesh.la
+-
+-
+ if NGGUI
+-lib_LTLIBRARIES += libcsgvis.la 
++lib_LTLIBRARIES = libcsgvis.la 
+ libcsgvis_la_SOURCES = vscsg.cpp csgpkg.cpp
+ libcsgvis_la_LIBADD = libcsg.la
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/general/parthreads.cpp netgen-5.3.1_SRC_modif/libsrc/general/parthreads.cpp
+--- netgen-5.3.1_SRC_orig/libsrc/general/parthreads.cpp        2014-08-29 13:54:06.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/general/parthreads.cpp       2018-03-01 15:45:08.691877252 +0300
+@@ -1,40 +1,40 @@
+-/**************************************************************************/
+-/* File:   parthreads.cpp                                                 */
+-/* Author: Joachim Schoeberl                                              */
+-/* Date:   01. Jun. 95                                                    */
+-/**************************************************************************/
+-
+-
+-#include <mystdlib.h>
+-#include <myadt.hpp>
+-
+-/*
+-
+-namespace netgen
+-{
+-  using namespace netgen;
+-
+-#ifdef WIN32
+-
+-  NgLock :: NgLock (NgMutex & mut)
+-    : sl(&mut.cs)
+-  {
+-    ;
+-  }
+-
+-  void NgLock :: Lock ()
+-  {
+-    sl.Lock();
+-  }
+-  void NgLock :: UnLock ()
+-  {
+-    sl.Unlock();
+-  }
+-
+-
+-#else
+-
+-#endif
+-}
+-
+-*/
++/**************************************************************************/
++/* File:   parthreads.cpp                                                 */
++/* Author: Joachim Schoeberl                                              */
++/* Date:   01. Jun. 95                                                    */
++/**************************************************************************/
++
++
++#include <mystdlib.h>
++#include <myadt.hpp>
++
++/*
++
++namespace netgen
++{
++  using namespace netgen;
++
++#ifdef WIN32
++
++  NgLock :: NgLock (NgMutex & mut)
++    : sl(&mut.cs)
++  {
++    ;
++  }
++
++  void NgLock :: Lock ()
++  {
++    sl.Lock();
++  }
++  void NgLock :: UnLock ()
++  {
++    sl.Unlock();
++  }
++
++
++#else
++
++#endif
++}
++
++*/
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/geom2d/Makefile.am netgen-5.3.1_SRC_modif/libsrc/geom2d/Makefile.am
+--- netgen-5.3.1_SRC_orig/libsrc/geom2d/Makefile.am    2014-08-29 13:54:06.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/geom2d/Makefile.am   2018-03-01 15:41:03.990158362 +0300
+@@ -4,16 +4,15 @@
+ METASOURCES = AUTO
+-lib_LTLIBRARIES = libgeom2d.la 
++noinst_LTLIBRARIES = libgeom2d.la 
+ if NGGUI
+-lib_LTLIBRARIES += libgeom2dvis.la 
++lib_LTLIBRARIES = libgeom2dvis.la 
+ endif
+ libgeom2d_la_SOURCES = genmesh2d.cpp geom2dmesh.cpp geometry2d.cpp
+-libgeom2d_la_LIBADD =         $(top_builddir)/libsrc/meshing/libmesh.la
+ libgeom2dvis_la_SOURCES = geom2dpkg.cpp vsgeom2d.cpp
+ libgeom2dvis_la_LIBADD = libgeom2d.la
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/interface/Makefile.am netgen-5.3.1_SRC_modif/libsrc/interface/Makefile.am
+--- netgen-5.3.1_SRC_orig/libsrc/interface/Makefile.am 2014-08-29 13:54:02.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/interface/Makefile.am        2018-03-01 15:41:03.990158362 +0300
+@@ -2,14 +2,11 @@
+ AM_CPPFLAGS = -I$(top_srcdir)/libsrc/include -I$(top_srcdir)/libsrc/interface  $(MPI_INCLUDES) $(TCL_INCLUDES) -DOPENGL
+ METASOURCES = AUTO
+-lib_LTLIBRARIES = libinterface.la
++noinst_LTLIBRARIES = libinterface.la
+ libinterface_la_SOURCES = nginterface.cpp nginterface_v2.cpp \
+       read_fnf_mesh.cpp readtetmesh.cpp readuser.cpp writeabaqus.cpp writediffpack.cpp \
+       writedolfin.cpp writeelmer.cpp writefeap.cpp writefluent.cpp writegmsh.cpp writejcm.cpp \
+       writepermas.cpp writetecplot.cpp writetet.cpp writetochnog.cpp writeuser.cpp \
+       wuchemnitz.cpp writegmsh2.cpp writeOpenFOAM15x.cpp 
+-
+-libinterface_la_LIBADD = $(top_builddir)/libsrc/meshing/libmesh.la
+-
+ # libinterface_la_LDFLAGS = -rdynamic
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/interface/writeOpenFOAM15x.cpp netgen-5.3.1_SRC_modif/libsrc/interface/writeOpenFOAM15x.cpp
+--- netgen-5.3.1_SRC_orig/libsrc/interface/writeOpenFOAM15x.cpp        2014-08-29 13:54:02.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/interface/writeOpenFOAM15x.cpp       2018-03-01 15:45:08.692877144 +0300
+@@ -1,811 +1,811 @@
+-/*! \file writeOpenFOAM15x.cpp
+-*  \brief Export Netgen Mesh in the OpenFOAM 1.5+ File format
+-*  \author Philippose Rajan
+-*  \date 25 October 2009
+-*
+-*  This function extends the export capabilities of
+-*  Netgen to include the OpenFOAM 1.5+ File Format.
+-*
+-*  The OpenFOAM 1.5+ mesh format consists of a set of 5 files 
+-*  which together define the mesh points, faces, cells and 
+-*  boundary conditions. 
+-*
+-*  The files are:
+-*  1. points    -> A list of the point co-ordinates
+-*  2. faces     -> A list of the faces with format <n>(pnt_ind1 pnt_ind2 .... pnt_ind<n>)
+-*  3. owner     -> The owner cell of each face 
+-*  4. neighbour -> The neighbour cell of each face
+-*  5. boundary  -> The set of boundaries with name, start face, and num. of faces
+-*
+-*  For a detailed description of the format, refer to the following link:
+-*  http://openfoamwiki.net/index.php/Write_OpenFOAM_meshes
+-*
+-*/
+-
+-#include <mystdlib.h>
+-
+-#include <myadt.hpp>
+-#include <linalg.hpp>
+-#include <csg.hpp>
+-#include <meshing.hpp>
+-#include <sys/stat.h>
+-
+-
+-namespace netgen
+-{
+-#include "writeuser.hpp"
+-
+-   // Global arrays used to maintain the owner, neighbour and face lists 
+-   // so that they are accessible across functions
+-   static Array<int> owner_facelist;
+-   static Array<int> owner_celllist;
+-   static Array<int> neighbour_celllist;
+-   static Array<int> surfelem_bclist;
+-   static Array<INDEX_2> surfelem_lists;
+-
+-
+-
+-   static void WriteOpenFOAM15xBanner(ostream * outfile)
+-   {
+-      static char FOAMversion[4] = "1.5";
+-      static char spaces[40];
+-
+-      memset(spaces, ' ', 40);
+-      spaces[38 - strlen(FOAMversion)] = '\0';
+-      
+-      *outfile << 
+-              "/*--------------------------------*- C++ -*----------------------------------*\\\n";
+-
+-      *outfile <<
+-              "| =========                 |                                                 |\n"
+-              "| \\\\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |\n"
+-              "|  \\\\    /   O peration     | Version:  " << FOAMversion << spaces << "|\n"
+-              "|   \\\\  /    A nd           | Web:      http://www.OpenFOAM.org               |\n"
+-              "|    \\\\/     M anipulation  |                                                 |\n"
+-              "\\*---------------------------------------------------------------------------*/\n";
+-
+-   }
+-
+-
+-
+-   static void WriteOpenFOAM15xDividerStart(ostream * outfile)
+-   {
+-      *outfile  <<
+-               "// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //\n";
+-   }
+-
+-
+-
+-   static void WriteOpenFOAM15xDividerEnd(ostream * outfile)
+-   {
+-      *outfile <<
+-              "// ************************************************************************* //\n";
+-   }
+-
+-
+-
+-   static bool BuildOwnerNeighbourLists (const Mesh & mesh)
+-   {
+-      // Clear all the arrays
+-      owner_facelist.DeleteAll();
+-      owner_celllist.DeleteAll();
+-      neighbour_celllist.DeleteAll();
+-      surfelem_bclist.DeleteAll();
+-      surfelem_lists.DeleteAll();
+-
+-      const MeshTopology& meshtopo = mesh.GetTopology();
+-      
+-      // Update the mesh topology structures
+-      const_cast<MeshTopology&> (meshtopo).SetBuildEdges(true);
+-      const_cast<MeshTopology&> (meshtopo).SetBuildFaces(true);
+-      const_cast<MeshTopology&> (meshtopo).Update();
+-
+-      // Extract important mesh metrics
+-      int ne = mesh.GetNE();
+-      int nse = mesh.GetNSE();
+-      int totfaces = meshtopo.GetNFaces();
+-
+-      // Preset the size of the arrays to speed up future operations
+-      // Number of internal faces = total faces - num. of surface faces
+-      owner_facelist.SetSize(totfaces - nse);
+-      owner_celllist.SetSize(totfaces - nse);
+-      neighbour_celllist.SetSize(totfaces - nse);
+-      surfelem_bclist.SetSize(nse);
+-      surfelem_lists.SetSize(nse);
+-
+-      // Initialise arrays to zero if required
+-      neighbour_celllist = 0;
+-
+-      // Array used to keep track of Faces which have already been 
+-      // processed and added to the Owner list... In addition, also the 
+-      // location where the face appears in the Owner list is also stored 
+-      // to speed up creation of the Neighbour list
+-      Array<int> ownerfaces(totfaces);
+-      ownerfaces = 0;
+-
+-      // Array to hold the set of local faces of each volume element 
+-      // while running through the set of volume elements
+-      // NOTE: The size is set automatically by the Netgen topology function
+-      Array<int> locfaces;
+-
+-      // Secondary indices used to independently advance the owner 
+-      // and boundary condition arrays within the main loop
+-      int owner_ind = 1;
+-      int bc_ind = 1;
+-
+-      // Loop through all the volume elements
+-      for(int elind = 1; elind <= ne; elind++)
+-      {
+-         // Extract the current volume element
+-      // const Element & el = mesh.VolumeElement(elind);
+-
+-         // Get the face numbers of the faces of the current volume element
+-         // The values returned are given a sign depending on the orientation 
+-         // of the faces. This is used while writing the faces file, to 
+-         // determine whether or not to invert the face triangle before writing 
+-         // it to file
+-         meshtopo.GetElementFaces(elind,locfaces,true);
+-
+-         // Loop through the faces
+-         for(int i = 1; i <= locfaces.Size(); i++)
+-         {
+-            // The absolute value of a face number (because the faces 
+-            // returned by the GetElementFaces function prepend it 
+-            // with a sign depending on the face orientation)
+-            int absfacenr = abs(locfaces.Elem(i));
+-
+-            // If the face already exists in the owner list, add 
+-            // the current cell into the neighbour list, in the 
+-            // same location where the face appears in the owner list
+-            int owner_face = ownerfaces.Elem(absfacenr);
+-            if(owner_face)
+-            {
+-               neighbour_celllist.Elem(owner_face) = elind;
+-
+-               // From this point on, the code within this "if" block 
+-               // basically sorts the order of the the Neighbour cells (along 
+-               // with the faces list) in ascending order.
+-               // The approach used is..... to traverse the owner and neighbour cell lists
+-               // up and down, and sort the neighbour cells of a given owner cell 
+-               // as the list evolves.
+-               // NOTE: A value of "zero" in the neighbour list implies that 
+-               // the neighbour has not been found yet, so the "zero" locations need 
+-               // to be skipped while sorting in ascending order
+-               int curr_owner = owner_celllist.Elem(owner_face);
+-
+-               int peek_loc = owner_face - 1;
+-               int new_loc = owner_face;
+-
+-               // Traversing upwards in the list
+-               while((owner_celllist.Elem(peek_loc) == curr_owner) && (peek_loc >= 1))
+-               {
+-                  if((neighbour_celllist.Elem(peek_loc) != 0) 
+-                     && (neighbour_celllist.Elem(new_loc) < neighbour_celllist.Elem(peek_loc)))
+-                  {
+-                     Swap(neighbour_celllist.Elem(new_loc),neighbour_celllist.Elem(peek_loc));
+-                     Swap(owner_facelist.Elem(new_loc),owner_facelist.Elem(peek_loc));
+-                     new_loc = peek_loc;
+-                  }
+-
+-                  peek_loc--;
+-               }
+-
+-               peek_loc = owner_face + 1;
+-
+-               // Traversing downwards in the list
+-               while((owner_celllist.Elem(peek_loc) == curr_owner) && (peek_loc <= owner_ind))
+-               {
+-                  if((neighbour_celllist.Elem(peek_loc) != 0) 
+-                     && (neighbour_celllist.Elem(new_loc) > neighbour_celllist.Elem(peek_loc)))
+-                  {
+-                     Swap(neighbour_celllist.Elem(new_loc),neighbour_celllist.Elem(peek_loc));
+-                     Swap(owner_facelist.Elem(new_loc),owner_facelist.Elem(peek_loc));
+-                     new_loc = peek_loc;
+-                  }
+-
+-                  peek_loc++;
+-               }
+-
+-               continue;
+-            }
+-
+-            // Check if the face is a surface element (boundary face)
+-            // if not, add the current volume element and the corresponding face into 
+-            // the owner list
+-            int surfelem = meshtopo.GetFace2SurfaceElement(absfacenr);
+-            if(!surfelem)
+-            {
+-               // If it is a new face which has not been listed before, 
+-               // add the current cell into the owner list, and save 
+-               // the index location to be used later by the neighbour list
+-               owner_celllist.Elem(owner_ind) = elind;
+-               owner_facelist.Elem(owner_ind) = locfaces.Elem(i);
+-               // Update the array to indicate that the face is already processed
+-               ownerfaces.Elem(absfacenr) = owner_ind;
+-
+-               owner_ind++;
+-            }
+-            // If the face is a boundary face, extract the boundary condition number of the 
+-            // face, and append that along with the face number and the current cell 
+-            // into the various surface elements lists
+-            else
+-            {
+-               Element2d sel = mesh.SurfaceElement(surfelem);
+-               surfelem_bclist.Elem(bc_ind) = mesh.GetFaceDescriptor(sel.GetIndex()).BCProperty();
+-               surfelem_lists.Elem(bc_ind) = INDEX_2(locfaces.Elem(i),elind);
+-
+-               bc_ind++;
+-            }
+-         }
+-      }
+-
+-      // This correction is required in cases where the mesh has been "uniform refined".... for 
+-      // some reason, the number of faces reported by Netgen is higher than the actual number 
+-      // of faces in the mesh
+-      owner_facelist.SetSize(owner_ind-1);
+-      owner_celllist.SetSize(owner_ind-1);
+-      neighbour_celllist.SetSize(owner_ind-1);
+-
+-
+-      // Sort the list of surface elements in ascending order of boundary condition number
+-      // also sort the cell list in the same manner
+-      QuickSort(surfelem_bclist,surfelem_lists);
+-
+-/*    
+-      // Debugging output to a file 
+-      ofstream dbg("OpenFOAMDebug.log");
+-
+-      dbg << " ------- Boundary List -------- \n";
+-
+-      for(int i = 1; i <= surfelem_bclist.Size(); i++)
+-      {
+-         dbg << "bc = " << surfelem_bclist.Elem(i) 
+-              << " : face = " << surfelem_lists.Elem(i).I1()
+-              << " : cell = " << surfelem_lists.Elem(i).I2() << "\n";
+-      }
+-
+-      dbg << "\n ------- Owner / Face / Neighbour List ------- \n";
+-
+-      for(int i = 1; i <= owner_celllist.Size(); i++)
+-      {
+-         dbg << "Ind:" << i << " :: (" 
+-              << owner_celllist.Elem(i) << " "
+-              << owner_facelist.Elem(i) << "  "
+-              << neighbour_celllist.Elem(i) << ")\n";
+-      }
+-
+-      dbg.close();
+-*/
+-      return(false);
+-   }
+-
+-
+-
+-   static void WriteNeighbourFile (ostream * outfile)
+-   {
+-      // Write the OpenFOAM standard banner and dividers, etc...
+-      WriteOpenFOAM15xBanner(outfile);
+-      *outfile << "FoamFile \n"
+-              << "{ \n"
+-              << "    version     2.0; \n"
+-              << "    format      ascii; \n"
+-              << "    class       labelList; \n"
+-              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
+-              << "    location    \"constant\\polyMesh\"; \n"
+-              << "    object      neighbour; \n"
+-              << "} \n";
+-      WriteOpenFOAM15xDividerStart(outfile);
+-
+-      *outfile << "\n\n";
+-
+-      int nneighbours = neighbour_celllist.Size();
+-
+-      *outfile << nneighbours << "\n";
+-
+-      *outfile << "(\n";
+-
+-      // Write the neighbour cells to file
+-      for(int i = 1; i <= neighbour_celllist.Size(); i++)
+-      {
+-         *outfile << neighbour_celllist.Elem(i) - 1 << "\n";
+-      }
+-      *outfile << ")\n\n";
+-      WriteOpenFOAM15xDividerEnd(outfile);
+-   }
+-
+-
+-
+-   static void WriteOwnerFile (ostream * outfile)
+-   {
+-      // Write the OpenFOAM standard banner and dividers, etc...
+-      WriteOpenFOAM15xBanner(outfile);
+-      *outfile << "FoamFile \n"
+-              << "{ \n"
+-              << "    version     2.0; \n"
+-              << "    format      ascii; \n"
+-              << "    class       labelList; \n"
+-              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
+-              << "    location    \"constant\\polyMesh\"; \n"
+-              << "    object      owner; \n"
+-              << "} \n";
+-      WriteOpenFOAM15xDividerStart(outfile);
+-
+-      *outfile << "\n\n";
+-
+-      int nowners = owner_celllist.Size() + surfelem_lists.Size();
+-
+-      *outfile << nowners << "\n";
+-
+-      *outfile << "(\n";
+-
+-      // Write the owners of the internal cells to file
+-      for(int i = 1; i <= owner_celllist.Size(); i++)
+-      {
+-         *outfile << owner_celllist.Elem(i) - 1 << "\n";
+-      }
+-
+-      // Write the owners of the boundary cells to file
+-      // (Written in order of ascending boundary condition numbers)
+-      for(int i = 1; i <= surfelem_lists.Size(); i++)
+-      {
+-         *outfile << surfelem_lists.Elem(i).I2() - 1 << "\n";
+-      }
+-      *outfile << ")\n\n";
+-      WriteOpenFOAM15xDividerEnd(outfile);
+-   }
+-
+-
+-
+-   static void WriteFacesFile (ostream * outfile, const Mesh & mesh)
+-   {
+-      const MeshTopology& meshtopo = mesh.GetTopology();
+-
+-      // Write the OpenFOAM standard banner and dividers, etc...
+-      WriteOpenFOAM15xBanner(outfile);
+-      *outfile << "FoamFile \n"
+-              << "{ \n"
+-              << "    version     2.0; \n"
+-              << "    format      ascii; \n"
+-              << "    class       faceList; \n"
+-              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
+-              << "    location    \"constant\\polyMesh\"; \n"
+-              << "    object      faces; \n"
+-              << "} \n";
+-      WriteOpenFOAM15xDividerStart(outfile);
+-
+-      *outfile << "\n\n";
+-
+-      int nfaces = owner_facelist.Size() + surfelem_lists.Size();
+-
+-      *outfile << nfaces << "\n";
+-
+-      *outfile << "(\n";
+-
+-      // Array to hold the indices of the points of each face to 
+-      // flip if required 
+-      Array<int> facepnts;
+-
+-      // Write the faces in the order specified in the owners lists of the 
+-      // internal cells and the boundary cells
+-      for(int i = 1; i <= owner_facelist.Size(); i++)
+-      {
+-         int face_w_orientation = owner_facelist.Elem(i);
+-         int facenr = abs(face_w_orientation);
+-
+-         meshtopo.GetFaceVertices(facenr,facepnts);
+-
+-         // Get the orientation of the face, and invert it if required
+-         // Since the faces already have the orientation "embedded" into 
+-         // them by means of the prepended sign, only this needs to be 
+-         // checked for...
+-         if(face_w_orientation > 0)
+-         {
+-            int tmppnts = 0;
+-
+-            if(facepnts.Size() == 4)
+-            {
+-               tmppnts = facepnts.Elem(1);
+-               facepnts.Elem(1) = facepnts.Elem(2);
+-               facepnts.Elem(2) = tmppnts;
+-               
+-               tmppnts = facepnts.Elem(3);
+-               facepnts.Elem(3) = facepnts.Elem(4);
+-               facepnts.Elem(4) = tmppnts;
+-            }
+-            else if(facepnts.Size() == 3)
+-            {
+-               tmppnts = facepnts.Elem(1);
+-               facepnts.Elem(1) = facepnts.Elem(3);
+-               facepnts.Elem(3) = tmppnts;
+-            }
+-         }
+-
+-         *outfile << facepnts.Size();
+-         *outfile << "(";
+-         for(int j = 1; j <= facepnts.Size(); j++)
+-         {
+-            *outfile << facepnts.Elem(j)-1;
+-            if(j != facepnts.Size()) *outfile << " ";
+-         }
+-         *outfile << ")\n";
+-      }
+-
+-      // Now append the faces of the surface elements (written in 
+-      // ascending order of boundary condition number) also into 
+-      // the faces file
+-      for(int i = 1; i <= surfelem_lists.Size(); i++)
+-      {
+-         int face_w_orientation = surfelem_lists.Elem(i).I1();
+-         int facenr = abs(face_w_orientation);
+-
+-         meshtopo.GetFaceVertices(facenr,facepnts);
+-
+-         // Get the orientation of the face, and invert it if required
+-         if(face_w_orientation > 0)
+-         {
+-            int tmppnts = 0;
+-
+-            if(facepnts.Size() == 4)
+-            {
+-               tmppnts = facepnts.Elem(1);
+-               facepnts.Elem(1) = facepnts.Elem(2);
+-               facepnts.Elem(2) = tmppnts;
+-               
+-               tmppnts = facepnts.Elem(3);
+-               facepnts.Elem(3) = facepnts.Elem(4);
+-               facepnts.Elem(4) = tmppnts;
+-            }
+-            else if(facepnts.Size() == 3)
+-            {
+-               tmppnts = facepnts.Elem(1);
+-               facepnts.Elem(1) = facepnts.Elem(3);
+-               facepnts.Elem(3) = tmppnts;
+-            }
+-         }
+-
+-         *outfile << facepnts.Size();
+-         *outfile << "(";
+-         for(int j = 1; j <= facepnts.Size(); j++)
+-         {
+-            *outfile << facepnts.Elem(j)-1;
+-            if(j != facepnts.Size()) *outfile << " ";
+-         }
+-         *outfile << ")\n";
+-      }
+-
+-      *outfile << ")\n\n";
+-      WriteOpenFOAM15xDividerEnd(outfile);
+-   }
+-
+-
+- 
+-   static void WritePointsFile (ostream * outfile, const Mesh & mesh)
+-   {
+-      int np = mesh.GetNP();
+-
+-      // Write the OpenFOAM standard banner and dividers, etc...
+-      WriteOpenFOAM15xBanner(outfile);
+-      *outfile << "FoamFile \n"
+-              << "{ \n"
+-              << "    version     2.0; \n"
+-              << "    format      ascii; \n"
+-              << "    class       vectorField; \n"
+-              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
+-              << "    location    \"constant\\polyMesh\"; \n"
+-              << "    object      points; \n"
+-              << "} \n";
+-      WriteOpenFOAM15xDividerStart(outfile);
+-
+-      *outfile << "\n\n";
+-
+-      // Number of points in the following list
+-      *outfile << np << "\n";
+-
+-      outfile->precision(6);
+-      outfile->setf (ios::fixed, ios::floatfield);
+-      outfile->setf (ios::showpoint);
+-
+-      // Coordinate list starts here
+-      *outfile << "(\n";
+-
+-      for(int i = 1; i <= np; i++)
+-      {
+-         const Point3d & p = mesh.Point(i);
+-
+-         // Write coordinates to file
+-         *outfile << "(";
+-         *outfile << p.X() << " ";
+-         *outfile << p.Y() << " ";
+-         *outfile << p.Z();
+-         *outfile << ")\n";
+-      }
+-      *outfile << ")\n\n";
+-      WriteOpenFOAM15xDividerEnd(outfile);
+-   }
+-
+-
+-
+-   static void WriteBoundaryFile (ostream * outfile)
+-   {
+-      // Write the OpenFOAM standard banner and dividers, etc...
+-      WriteOpenFOAM15xBanner(outfile);
+-      *outfile << "FoamFile \n"
+-              << "{ \n"
+-              << "    version     2.0; \n"
+-              << "    format      ascii; \n"
+-              << "    class       polyBoundaryMesh; \n"
+-              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
+-              << "    location    \"constant\\polyMesh\"; \n"
+-              << "    object      boundary; \n"
+-              << "} \n";
+-      WriteOpenFOAM15xDividerStart(outfile);
+-
+-      *outfile << "\n";
+-
+-
+-      Array<INDEX_3> bcarray;
+-      int ind = 1;
+-
+-      // Since the boundary conditions are already sorted in ascending 
+-      // order, the last element will give the maximum number of possible 
+-      // boundary condition entries
+-      int bcmax = surfelem_bclist.Elem(surfelem_bclist.Size());
+-
+-      bcarray.SetSize(bcmax+1);
+-
+-      bcarray.Elem(ind) = INDEX_3(surfelem_bclist.Elem(1),1,0);
+-            
+-      for(int i = 2; i <= surfelem_bclist.Size(); i++)
+-      {
+-         if(surfelem_bclist.Elem(i) == bcarray.Elem(ind).I1())
+-         {
+-            bcarray.Elem(ind).I2() = bcarray.Elem(ind).I2()+1;
+-         }
+-         else
+-         {
+-            ind++;
+-            bcarray.Elem(ind) = INDEX_3(surfelem_bclist.Elem(i),1,i-1);
+-         }
+-      }
+-
+-      bcarray.SetSize(ind);
+-
+-      *outfile << bcarray.Size() << "\n";
+-      *outfile << "(\n";
+-
+-      int startface = 0;
+-
+-      for(int i = 1; i <= bcarray.Size(); i++)
+-      {
+-         startface = owner_celllist.Size() + bcarray.Elem(i).I3();
+-
+-         *outfile << "    patch" << bcarray.Elem(i).I1() << "\n"
+-                 << "    {\n"
+-                 << "        type            patch;\n"
+-                 << "        physicalType    patch;\n"
+-                 << "        nFaces          " << bcarray.Elem(i).I2() << ";\n"
+-                 << "        startFace       " << startface << ";\n"
+-                 << "    }\n";
+-      }
+-
+-      *outfile << ")\n\n";
+-      WriteOpenFOAM15xDividerEnd(outfile);
+-   }
+-
+-
+-
+-   void WriteOpenFOAM15xFormat (const Mesh & mesh, const string & casename, const bool compressed)
+-   {
+-      bool error = false;
+-      char casefiles[256];
+-
+-      // Make sure that the mesh data has been updated
+-      const_cast<Mesh&> (mesh).Compress();
+-      const_cast<Mesh&> (mesh).CalcSurfacesOfNode();
+-      const_cast<Mesh&> (mesh).RebuildSurfaceElementLists();
+-      const_cast<Mesh&> (mesh).BuildElementSearchTree();
+-
+-
+-      int np = mesh.GetNP();
+-      int nse = mesh.GetNSE();
+-      int ne = mesh.GetNE();
+-
+-      cout << "Write OpenFOAM 1.5+ Mesh Files....\n";
+-
+-      // Abort if there are no points, surface elements or volume elements
+-      if((np <= 0) || (ne <= 0) || (nse <= 0))
+-      {
+-         cout << "Export Error: Invalid mesh.... Aborting!\n";
+-         return;
+-      }
+-
+-      // OpenFOAM only supports linear meshes!
+-      if(mparam.secondorder || mesh.GetCurvedElements().IsHighOrder())
+-      {
+-         cout << "Export Error: OpenFOAM 1.5+ does not support non-linear elements.... Aborting!\n";
+-         return;
+-      }
+-
+-      if(( (mesh.SurfaceElement(nse/2).GetType() != TRIG) 
+-         && (mesh.SurfaceElement(nse/2).GetType() != QUAD) )
+-         || (mesh.VolumeElement(ne/2).GetType() == TET10)
+-         || (mesh.VolumeElement(ne/2).GetType() == PRISM12))
+-      {
+-         cout << "Export Error: OpenFOAM 1.5+ does not support non-linear elements.... Aborting!\n";
+-         return;
+-      }
+-
+-
+-      cout << "Writing OpenFOAM 1.5+ Mesh files to case: " << casename << "\n";
+-
+-      // Create the case directory if it does not already exist
+-      // NOTE: This needs to be improved for the Linux variant....!!!
+-   #ifdef WIN32
+-      char casedir[256];
+-      sprintf(casedir, "mkdir %s\\constant\\polyMesh", casename.c_str());
+-      system(casedir);
+-   #else
+-      char casedir[256];
+-      mkdir(casename.c_str(), S_IRWXU|S_IRWXG);
+-      sprintf(casedir, "%s/constant", casename.c_str());
+-      mkdir(casedir, S_IRWXU|S_IRWXG);
+-      sprintf(casedir, "%s/constant/polyMesh", casename.c_str());
+-      mkdir(casedir, S_IRWXU|S_IRWXG);
+-   #endif
+-
+-      // Open handles to the five required mesh files
+-      // points
+-      // faces
+-      // owner
+-      // neighbour
+-      // boundary
+-        ostream *outfile_pnts;
+-        ostream *outfile_faces;
+-        ostream *outfile_own;
+-        ostream *outfile_nei;
+-        ostream *outfile_bnd;
+-
+-        if(compressed)
+-        {
+-                sprintf(casefiles, "%s/constant/polyMesh/points.gz", casename.c_str());
+-                outfile_pnts = new ogzstream(casefiles);
+-        }
+-        else
+-        {
+-                sprintf(casefiles, "%s/constant/polyMesh/points", casename.c_str());
+-                outfile_pnts = new ofstream(casefiles);
+-        }
+-
+-        if(compressed)
+-        {
+-                sprintf(casefiles, "%s/constant/polyMesh/faces.gz", casename.c_str());
+-                outfile_faces = new ogzstream(casefiles);
+-        }
+-        else
+-        {
+-                sprintf(casefiles, "%s/constant/polyMesh/faces", casename.c_str());
+-                outfile_faces = new ofstream(casefiles);
+-        }
+-
+-        if(compressed)
+-        {
+-                sprintf(casefiles, "%s/constant/polyMesh/owner.gz", casename.c_str()); 
+-                outfile_own = new ogzstream(casefiles);
+-        }
+-        else
+-        {
+-                sprintf(casefiles, "%s/constant/polyMesh/owner", casename.c_str()); 
+-                outfile_own = new ofstream(casefiles);
+-        }
+-
+-        if(compressed)
+-        {
+-                sprintf(casefiles, "%s/constant/polyMesh/neighbour.gz", casename.c_str());
+-                outfile_nei = new ogzstream(casefiles);
+-        }
+-        else
+-        {
+-                sprintf(casefiles, "%s/constant/polyMesh/neighbour", casename.c_str());
+-                outfile_nei = new ofstream(casefiles);
+-        }
+-
+-        // Note... the boundary file is not compressed
+-      sprintf(casefiles, "%s/constant/polyMesh/boundary", casename.c_str()); 
+-      outfile_bnd = new ofstream(casefiles);
+-
+-      ResetTime();
+-
+-      // Build the owner, neighbour, faces and boundary lists 
+-      // from the Netgen mesh
+-      cout << "\nBuilding Owner, Neighbour and Face Lists: ";
+-
+-      error = BuildOwnerNeighbourLists(mesh);
+-
+-      cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
+-
+-
+-      // Write the "owner" file
+-      if(outfile_own->good() && !error)
+-      {
+-         cout << "Writing the owner file: ";
+-         WriteOwnerFile(outfile_own);
+-         delete outfile_own;
+-         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
+-      }
+-      else
+-      {
+-         cout << "Export Error: Error creating file: owner.... Aborting\n";
+-         error = true;
+-      }
+-
+-
+-      // Write the "neighbour" file
+-      if(outfile_nei->good() && !error)
+-      {
+-         cout << "Writing the neighbour file: ";
+-         WriteNeighbourFile(outfile_nei);
+-         delete outfile_nei;
+-         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
+-      }
+-      else
+-      {
+-         cout << "Export Error: Error creating file: neighbour.... Aborting\n";
+-         error = true;
+-      }
+-
+-
+-      // Write the "faces" file
+-      if(outfile_faces->good() && !error)
+-      {
+-         cout << "Writing the faces file: ";
+-         WriteFacesFile(outfile_faces, mesh);
+-         delete outfile_faces;
+-         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
+-      }
+-      else
+-      {
+-         cout << "Export Error: Error creating file: faces.... Aborting\n";
+-         error = true;
+-      }
+-
+-
+-      // Write the "points" file
+-      if(outfile_pnts->good() && !error)
+-      {
+-         cout << "Writing the points file: ";
+-         WritePointsFile(outfile_pnts,mesh);
+-         delete outfile_pnts;
+-         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
+-      }
+-      else
+-      {
+-         cout << "Export Error: Error creating file: points.... Aborting\n";
+-         error = true;
+-      }
+-
+-
+-      // Write the "boundary" file
+-      if(outfile_bnd->good() && !error)
+-      {
+-         cout << "Writing the boundary file: ";
+-         WriteBoundaryFile(outfile_bnd);
+-         delete outfile_bnd;
+-         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
+-      }
+-      else
+-      {
+-         cout << "Export Error: Error creating file: boundary.... Aborting\n";
+-         error = true;
+-      }
+-
+-      if(!error)
+-      {
+-         cout << "OpenFOAM 1.5+ Export successfully completed (Time elapsed = " << GetTime() << " sec) !\n";
+-      }
+-      else
+-      {
+-         cout << "Error in OpenFOAM 1.5+ Export.... Aborted!\n";
+-      }
+-   }
+-}
+-
++/*! \file writeOpenFOAM15x.cpp
++*  \brief Export Netgen Mesh in the OpenFOAM 1.5+ File format
++*  \author Philippose Rajan
++*  \date 25 October 2009
++*
++*  This function extends the export capabilities of
++*  Netgen to include the OpenFOAM 1.5+ File Format.
++*
++*  The OpenFOAM 1.5+ mesh format consists of a set of 5 files
++*  which together define the mesh points, faces, cells and
++*  boundary conditions.
++*
++*  The files are:
++*  1. points    -> A list of the point co-ordinates
++*  2. faces     -> A list of the faces with format <n>(pnt_ind1 pnt_ind2 .... pnt_ind<n>)
++*  3. owner     -> The owner cell of each face
++*  4. neighbour -> The neighbour cell of each face
++*  5. boundary  -> The set of boundaries with name, start face, and num. of faces
++*
++*  For a detailed description of the format, refer to the following link:
++*  http://openfoamwiki.net/index.php/Write_OpenFOAM_meshes
++*
++*/
++
++#include <mystdlib.h>
++
++#include <myadt.hpp>
++#include <linalg.hpp>
++#include <csg.hpp>
++#include <meshing.hpp>
++#include <sys/stat.h>
++
++
++namespace netgen
++{
++#include "writeuser.hpp"
++
++   // Global arrays used to maintain the owner, neighbour and face lists
++   // so that they are accessible across functions
++   static Array<int> owner_facelist;
++   static Array<int> owner_celllist;
++   static Array<int> neighbour_celllist;
++   static Array<int> surfelem_bclist;
++   static Array<INDEX_2> surfelem_lists;
++
++
++
++   static void WriteOpenFOAM15xBanner(ostream * outfile)
++   {
++      static char FOAMversion[4] = "1.5";
++      static char spaces[40];
++
++      memset(spaces, ' ', 40);
++      spaces[38 - strlen(FOAMversion)] = '\0';
++
++      *outfile <<
++              "/*--------------------------------*- C++ -*----------------------------------*\\\n";
++
++      *outfile <<
++              "| =========                 |                                                 |\n"
++              "| \\\\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |\n"
++              "|  \\\\    /   O peration     | Version:  " << FOAMversion << spaces << "|\n"
++              "|   \\\\  /    A nd           | Web:      http://www.OpenFOAM.org               |\n"
++              "|    \\\\/     M anipulation  |                                                 |\n"
++              "\\*---------------------------------------------------------------------------*/\n";
++
++   }
++
++
++
++   static void WriteOpenFOAM15xDividerStart(ostream * outfile)
++   {
++      *outfile  <<
++               "// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //\n";
++   }
++
++
++
++   static void WriteOpenFOAM15xDividerEnd(ostream * outfile)
++   {
++      *outfile <<
++              "// ************************************************************************* //\n";
++   }
++
++
++
++   static bool BuildOwnerNeighbourLists (const Mesh & mesh)
++   {
++      // Clear all the arrays
++      owner_facelist.DeleteAll();
++      owner_celllist.DeleteAll();
++      neighbour_celllist.DeleteAll();
++      surfelem_bclist.DeleteAll();
++      surfelem_lists.DeleteAll();
++
++      const MeshTopology& meshtopo = mesh.GetTopology();
++
++      // Update the mesh topology structures
++      const_cast<MeshTopology&> (meshtopo).SetBuildEdges(true);
++      const_cast<MeshTopology&> (meshtopo).SetBuildFaces(true);
++      const_cast<MeshTopology&> (meshtopo).Update();
++
++      // Extract important mesh metrics
++      int ne = mesh.GetNE();
++      int nse = mesh.GetNSE();
++      int totfaces = meshtopo.GetNFaces();
++
++      // Preset the size of the arrays to speed up future operations
++      // Number of internal faces = total faces - num. of surface faces
++      owner_facelist.SetSize(totfaces - nse);
++      owner_celllist.SetSize(totfaces - nse);
++      neighbour_celllist.SetSize(totfaces - nse);
++      surfelem_bclist.SetSize(nse);
++      surfelem_lists.SetSize(nse);
++
++      // Initialise arrays to zero if required
++      neighbour_celllist = 0;
++
++      // Array used to keep track of Faces which have already been
++      // processed and added to the Owner list... In addition, also the
++      // location where the face appears in the Owner list is also stored
++      // to speed up creation of the Neighbour list
++      Array<int> ownerfaces(totfaces);
++      ownerfaces = 0;
++
++      // Array to hold the set of local faces of each volume element
++      // while running through the set of volume elements
++      // NOTE: The size is set automatically by the Netgen topology function
++      Array<int> locfaces;
++
++      // Secondary indices used to independently advance the owner
++      // and boundary condition arrays within the main loop
++      int owner_ind = 1;
++      int bc_ind = 1;
++
++      // Loop through all the volume elements
++      for(int elind = 1; elind <= ne; elind++)
++      {
++         // Extract the current volume element
++      // const Element & el = mesh.VolumeElement(elind);
++
++         // Get the face numbers of the faces of the current volume element
++         // The values returned are given a sign depending on the orientation
++         // of the faces. This is used while writing the faces file, to
++         // determine whether or not to invert the face triangle before writing
++         // it to file
++         meshtopo.GetElementFaces(elind,locfaces,true);
++
++         // Loop through the faces
++         for(int i = 1; i <= locfaces.Size(); i++)
++         {
++            // The absolute value of a face number (because the faces
++            // returned by the GetElementFaces function prepend it
++            // with a sign depending on the face orientation)
++            int absfacenr = abs(locfaces.Elem(i));
++
++            // If the face already exists in the owner list, add
++            // the current cell into the neighbour list, in the
++            // same location where the face appears in the owner list
++            int owner_face = ownerfaces.Elem(absfacenr);
++            if(owner_face)
++            {
++               neighbour_celllist.Elem(owner_face) = elind;
++
++               // From this point on, the code within this "if" block
++               // basically sorts the order of the the Neighbour cells (along
++               // with the faces list) in ascending order.
++               // The approach used is..... to traverse the owner and neighbour cell lists
++               // up and down, and sort the neighbour cells of a given owner cell
++               // as the list evolves.
++               // NOTE: A value of "zero" in the neighbour list implies that
++               // the neighbour has not been found yet, so the "zero" locations need
++               // to be skipped while sorting in ascending order
++               int curr_owner = owner_celllist.Elem(owner_face);
++
++               int peek_loc = owner_face - 1;
++               int new_loc = owner_face;
++
++               // Traversing upwards in the list
++               while((owner_celllist.Elem(peek_loc) == curr_owner) && (peek_loc >= 1))
++               {
++                  if((neighbour_celllist.Elem(peek_loc) != 0)
++                     && (neighbour_celllist.Elem(new_loc) < neighbour_celllist.Elem(peek_loc)))
++                  {
++                     Swap(neighbour_celllist.Elem(new_loc),neighbour_celllist.Elem(peek_loc));
++                     Swap(owner_facelist.Elem(new_loc),owner_facelist.Elem(peek_loc));
++                     new_loc = peek_loc;
++                  }
++
++                  peek_loc--;
++               }
++
++               peek_loc = owner_face + 1;
++
++               // Traversing downwards in the list
++               while((owner_celllist.Elem(peek_loc) == curr_owner) && (peek_loc <= owner_ind))
++               {
++                  if((neighbour_celllist.Elem(peek_loc) != 0)
++                     && (neighbour_celllist.Elem(new_loc) > neighbour_celllist.Elem(peek_loc)))
++                  {
++                     Swap(neighbour_celllist.Elem(new_loc),neighbour_celllist.Elem(peek_loc));
++                     Swap(owner_facelist.Elem(new_loc),owner_facelist.Elem(peek_loc));
++                     new_loc = peek_loc;
++                  }
++
++                  peek_loc++;
++               }
++
++               continue;
++            }
++
++            // Check if the face is a surface element (boundary face)
++            // if not, add the current volume element and the corresponding face into
++            // the owner list
++            int surfelem = meshtopo.GetFace2SurfaceElement(absfacenr);
++            if(!surfelem)
++            {
++               // If it is a new face which has not been listed before,
++               // add the current cell into the owner list, and save
++               // the index location to be used later by the neighbour list
++               owner_celllist.Elem(owner_ind) = elind;
++               owner_facelist.Elem(owner_ind) = locfaces.Elem(i);
++               // Update the array to indicate that the face is already processed
++               ownerfaces.Elem(absfacenr) = owner_ind;
++
++               owner_ind++;
++            }
++            // If the face is a boundary face, extract the boundary condition number of the
++            // face, and append that along with the face number and the current cell
++            // into the various surface elements lists
++            else
++            {
++               Element2d sel = mesh.SurfaceElement(surfelem);
++               surfelem_bclist.Elem(bc_ind) = mesh.GetFaceDescriptor(sel.GetIndex()).BCProperty();
++               surfelem_lists.Elem(bc_ind) = INDEX_2(locfaces.Elem(i),elind);
++
++               bc_ind++;
++            }
++         }
++      }
++
++      // This correction is required in cases where the mesh has been "uniform refined".... for
++      // some reason, the number of faces reported by Netgen is higher than the actual number
++      // of faces in the mesh
++      owner_facelist.SetSize(owner_ind-1);
++      owner_celllist.SetSize(owner_ind-1);
++      neighbour_celllist.SetSize(owner_ind-1);
++
++
++      // Sort the list of surface elements in ascending order of boundary condition number
++      // also sort the cell list in the same manner
++      QuickSort(surfelem_bclist,surfelem_lists);
++
++/*
++      // Debugging output to a file
++      ofstream dbg("OpenFOAMDebug.log");
++
++      dbg << " ------- Boundary List -------- \n";
++
++      for(int i = 1; i <= surfelem_bclist.Size(); i++)
++      {
++         dbg << "bc = " << surfelem_bclist.Elem(i)
++              << " : face = " << surfelem_lists.Elem(i).I1()
++              << " : cell = " << surfelem_lists.Elem(i).I2() << "\n";
++      }
++
++      dbg << "\n ------- Owner / Face / Neighbour List ------- \n";
++
++      for(int i = 1; i <= owner_celllist.Size(); i++)
++      {
++         dbg << "Ind:" << i << " :: ("
++              << owner_celllist.Elem(i) << " "
++              << owner_facelist.Elem(i) << "  "
++              << neighbour_celllist.Elem(i) << ")\n";
++      }
++
++      dbg.close();
++*/
++      return(false);
++   }
++
++
++
++   static void WriteNeighbourFile (ostream * outfile)
++   {
++      // Write the OpenFOAM standard banner and dividers, etc...
++      WriteOpenFOAM15xBanner(outfile);
++      *outfile << "FoamFile \n"
++              << "{ \n"
++              << "    version     2.0; \n"
++              << "    format      ascii; \n"
++              << "    class       labelList; \n"
++              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
++              << "    location    \"constant\\polyMesh\"; \n"
++              << "    object      neighbour; \n"
++              << "} \n";
++      WriteOpenFOAM15xDividerStart(outfile);
++
++      *outfile << "\n\n";
++
++      int nneighbours = neighbour_celllist.Size();
++
++      *outfile << nneighbours << "\n";
++
++      *outfile << "(\n";
++
++      // Write the neighbour cells to file
++      for(int i = 1; i <= neighbour_celllist.Size(); i++)
++      {
++         *outfile << neighbour_celllist.Elem(i) - 1 << "\n";
++      }
++      *outfile << ")\n\n";
++      WriteOpenFOAM15xDividerEnd(outfile);
++   }
++
++
++
++   static void WriteOwnerFile (ostream * outfile)
++   {
++      // Write the OpenFOAM standard banner and dividers, etc...
++      WriteOpenFOAM15xBanner(outfile);
++      *outfile << "FoamFile \n"
++              << "{ \n"
++              << "    version     2.0; \n"
++              << "    format      ascii; \n"
++              << "    class       labelList; \n"
++              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
++              << "    location    \"constant\\polyMesh\"; \n"
++              << "    object      owner; \n"
++              << "} \n";
++      WriteOpenFOAM15xDividerStart(outfile);
++
++      *outfile << "\n\n";
++
++      int nowners = owner_celllist.Size() + surfelem_lists.Size();
++
++      *outfile << nowners << "\n";
++
++      *outfile << "(\n";
++
++      // Write the owners of the internal cells to file
++      for(int i = 1; i <= owner_celllist.Size(); i++)
++      {
++         *outfile << owner_celllist.Elem(i) - 1 << "\n";
++      }
++
++      // Write the owners of the boundary cells to file
++      // (Written in order of ascending boundary condition numbers)
++      for(int i = 1; i <= surfelem_lists.Size(); i++)
++      {
++         *outfile << surfelem_lists.Elem(i).I2() - 1 << "\n";
++      }
++      *outfile << ")\n\n";
++      WriteOpenFOAM15xDividerEnd(outfile);
++   }
++
++
++
++   static void WriteFacesFile (ostream * outfile, const Mesh & mesh)
++   {
++      const MeshTopology& meshtopo = mesh.GetTopology();
++
++      // Write the OpenFOAM standard banner and dividers, etc...
++      WriteOpenFOAM15xBanner(outfile);
++      *outfile << "FoamFile \n"
++              << "{ \n"
++              << "    version     2.0; \n"
++              << "    format      ascii; \n"
++              << "    class       faceList; \n"
++              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
++              << "    location    \"constant\\polyMesh\"; \n"
++              << "    object      faces; \n"
++              << "} \n";
++      WriteOpenFOAM15xDividerStart(outfile);
++
++      *outfile << "\n\n";
++
++      int nfaces = owner_facelist.Size() + surfelem_lists.Size();
++
++      *outfile << nfaces << "\n";
++
++      *outfile << "(\n";
++
++      // Array to hold the indices of the points of each face to
++      // flip if required
++      Array<int> facepnts;
++
++      // Write the faces in the order specified in the owners lists of the
++      // internal cells and the boundary cells
++      for(int i = 1; i <= owner_facelist.Size(); i++)
++      {
++         int face_w_orientation = owner_facelist.Elem(i);
++         int facenr = abs(face_w_orientation);
++
++         meshtopo.GetFaceVertices(facenr,facepnts);
++
++         // Get the orientation of the face, and invert it if required
++         // Since the faces already have the orientation "embedded" into
++         // them by means of the prepended sign, only this needs to be
++         // checked for...
++         if(face_w_orientation > 0)
++         {
++            int tmppnts = 0;
++
++            if(facepnts.Size() == 4)
++            {
++               tmppnts = facepnts.Elem(1);
++               facepnts.Elem(1) = facepnts.Elem(2);
++               facepnts.Elem(2) = tmppnts;
++
++               tmppnts = facepnts.Elem(3);
++               facepnts.Elem(3) = facepnts.Elem(4);
++               facepnts.Elem(4) = tmppnts;
++            }
++            else if(facepnts.Size() == 3)
++            {
++               tmppnts = facepnts.Elem(1);
++               facepnts.Elem(1) = facepnts.Elem(3);
++               facepnts.Elem(3) = tmppnts;
++            }
++         }
++
++         *outfile << facepnts.Size();
++         *outfile << "(";
++         for(int j = 1; j <= facepnts.Size(); j++)
++         {
++            *outfile << facepnts.Elem(j)-1;
++            if(j != facepnts.Size()) *outfile << " ";
++         }
++         *outfile << ")\n";
++      }
++
++      // Now append the faces of the surface elements (written in
++      // ascending order of boundary condition number) also into
++      // the faces file
++      for(int i = 1; i <= surfelem_lists.Size(); i++)
++      {
++         int face_w_orientation = surfelem_lists.Elem(i).I1();
++         int facenr = abs(face_w_orientation);
++
++         meshtopo.GetFaceVertices(facenr,facepnts);
++
++         // Get the orientation of the face, and invert it if required
++         if(face_w_orientation > 0)
++         {
++            int tmppnts = 0;
++
++            if(facepnts.Size() == 4)
++            {
++               tmppnts = facepnts.Elem(1);
++               facepnts.Elem(1) = facepnts.Elem(2);
++               facepnts.Elem(2) = tmppnts;
++
++               tmppnts = facepnts.Elem(3);
++               facepnts.Elem(3) = facepnts.Elem(4);
++               facepnts.Elem(4) = tmppnts;
++            }
++            else if(facepnts.Size() == 3)
++            {
++               tmppnts = facepnts.Elem(1);
++               facepnts.Elem(1) = facepnts.Elem(3);
++               facepnts.Elem(3) = tmppnts;
++            }
++         }
++
++         *outfile << facepnts.Size();
++         *outfile << "(";
++         for(int j = 1; j <= facepnts.Size(); j++)
++         {
++            *outfile << facepnts.Elem(j)-1;
++            if(j != facepnts.Size()) *outfile << " ";
++         }
++         *outfile << ")\n";
++      }
++
++      *outfile << ")\n\n";
++      WriteOpenFOAM15xDividerEnd(outfile);
++   }
++
++
++
++   static void WritePointsFile (ostream * outfile, const Mesh & mesh)
++   {
++      int np = mesh.GetNP();
++
++      // Write the OpenFOAM standard banner and dividers, etc...
++      WriteOpenFOAM15xBanner(outfile);
++      *outfile << "FoamFile \n"
++              << "{ \n"
++              << "    version     2.0; \n"
++              << "    format      ascii; \n"
++              << "    class       vectorField; \n"
++              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
++              << "    location    \"constant\\polyMesh\"; \n"
++              << "    object      points; \n"
++              << "} \n";
++      WriteOpenFOAM15xDividerStart(outfile);
++
++      *outfile << "\n\n";
++
++      // Number of points in the following list
++      *outfile << np << "\n";
++
++      outfile->precision(6);
++      outfile->setf (ios::fixed, ios::floatfield);
++      outfile->setf (ios::showpoint);
++
++      // Coordinate list starts here
++      *outfile << "(\n";
++
++      for(int i = 1; i <= np; i++)
++      {
++         const Point3d & p = mesh.Point(i);
++
++         // Write coordinates to file
++         *outfile << "(";
++         *outfile << p.X() << " ";
++         *outfile << p.Y() << " ";
++         *outfile << p.Z();
++         *outfile << ")\n";
++      }
++      *outfile << ")\n\n";
++      WriteOpenFOAM15xDividerEnd(outfile);
++   }
++
++
++
++   static void WriteBoundaryFile (ostream * outfile)
++   {
++      // Write the OpenFOAM standard banner and dividers, etc...
++      WriteOpenFOAM15xBanner(outfile);
++      *outfile << "FoamFile \n"
++              << "{ \n"
++              << "    version     2.0; \n"
++              << "    format      ascii; \n"
++              << "    class       polyBoundaryMesh; \n"
++              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
++              << "    location    \"constant\\polyMesh\"; \n"
++              << "    object      boundary; \n"
++              << "} \n";
++      WriteOpenFOAM15xDividerStart(outfile);
++
++      *outfile << "\n";
++
++
++      Array<INDEX_3> bcarray;
++      int ind = 1;
++
++      // Since the boundary conditions are already sorted in ascending
++      // order, the last element will give the maximum number of possible
++      // boundary condition entries
++      int bcmax = surfelem_bclist.Elem(surfelem_bclist.Size());
++
++      bcarray.SetSize(bcmax+1);
++
++      bcarray.Elem(ind) = INDEX_3(surfelem_bclist.Elem(1),1,0);
++
++      for(int i = 2; i <= surfelem_bclist.Size(); i++)
++      {
++         if(surfelem_bclist.Elem(i) == bcarray.Elem(ind).I1())
++         {
++            bcarray.Elem(ind).I2() = bcarray.Elem(ind).I2()+1;
++         }
++         else
++         {
++            ind++;
++            bcarray.Elem(ind) = INDEX_3(surfelem_bclist.Elem(i),1,i-1);
++         }
++      }
++
++      bcarray.SetSize(ind);
++
++      *outfile << bcarray.Size() << "\n";
++      *outfile << "(\n";
++
++      int startface = 0;
++
++      for(int i = 1; i <= bcarray.Size(); i++)
++      {
++         startface = owner_celllist.Size() + bcarray.Elem(i).I3();
++
++         *outfile << "    patch" << bcarray.Elem(i).I1() << "\n"
++                 << "    {\n"
++                 << "        type            patch;\n"
++                 << "        physicalType    patch;\n"
++                 << "        nFaces          " << bcarray.Elem(i).I2() << ";\n"
++                 << "        startFace       " << startface << ";\n"
++                 << "    }\n";
++      }
++
++      *outfile << ")\n\n";
++      WriteOpenFOAM15xDividerEnd(outfile);
++   }
++
++
++
++   void WriteOpenFOAM15xFormat (const Mesh & mesh, const string & casename, const bool compressed)
++   {
++      bool error = false;
++      char casefiles[256];
++
++      // Make sure that the mesh data has been updated
++      const_cast<Mesh&> (mesh).Compress();
++      const_cast<Mesh&> (mesh).CalcSurfacesOfNode();
++      const_cast<Mesh&> (mesh).RebuildSurfaceElementLists();
++      const_cast<Mesh&> (mesh).BuildElementSearchTree();
++
++
++      int np = mesh.GetNP();
++      int nse = mesh.GetNSE();
++      int ne = mesh.GetNE();
++
++      cout << "Write OpenFOAM 1.5+ Mesh Files....\n";
++
++      // Abort if there are no points, surface elements or volume elements
++      if((np <= 0) || (ne <= 0) || (nse <= 0))
++      {
++         cout << "Export Error: Invalid mesh.... Aborting!\n";
++         return;
++      }
++
++      // OpenFOAM only supports linear meshes!
++      if(mparam.secondorder || mesh.GetCurvedElements().IsHighOrder())
++      {
++         cout << "Export Error: OpenFOAM 1.5+ does not support non-linear elements.... Aborting!\n";
++         return;
++      }
++
++      if(( (mesh.SurfaceElement(nse/2).GetType() != TRIG)
++         && (mesh.SurfaceElement(nse/2).GetType() != QUAD) )
++         || (mesh.VolumeElement(ne/2).GetType() == TET10)
++         || (mesh.VolumeElement(ne/2).GetType() == PRISM12))
++      {
++         cout << "Export Error: OpenFOAM 1.5+ does not support non-linear elements.... Aborting!\n";
++         return;
++      }
++
++
++      cout << "Writing OpenFOAM 1.5+ Mesh files to case: " << casename << "\n";
++
++      // Create the case directory if it does not already exist
++      // NOTE: This needs to be improved for the Linux variant....!!!
++   #ifdef WIN32
++      char casedir[256];
++      sprintf(casedir, "mkdir %s\\constant\\polyMesh", casename.c_str());
++      system(casedir);
++   #else
++      char casedir[256];
++      mkdir(casename.c_str(), S_IRWXU|S_IRWXG);
++      sprintf(casedir, "%s/constant", casename.c_str());
++      mkdir(casedir, S_IRWXU|S_IRWXG);
++      sprintf(casedir, "%s/constant/polyMesh", casename.c_str());
++      mkdir(casedir, S_IRWXU|S_IRWXG);
++   #endif
++
++      // Open handles to the five required mesh files
++      // points
++      // faces
++      // owner
++      // neighbour
++      // boundary
++        ostream *outfile_pnts;
++        ostream *outfile_faces;
++        ostream *outfile_own;
++        ostream *outfile_nei;
++        ostream *outfile_bnd;
++
++        if(compressed)
++        {
++                sprintf(casefiles, "%s/constant/polyMesh/points.gz", casename.c_str());
++                outfile_pnts = new ogzstream(casefiles);
++        }
++        else
++        {
++                sprintf(casefiles, "%s/constant/polyMesh/points", casename.c_str());
++                outfile_pnts = new ofstream(casefiles);
++        }
++
++        if(compressed)
++        {
++                sprintf(casefiles, "%s/constant/polyMesh/faces.gz", casename.c_str());
++                outfile_faces = new ogzstream(casefiles);
++        }
++        else
++        {
++                sprintf(casefiles, "%s/constant/polyMesh/faces", casename.c_str());
++                outfile_faces = new ofstream(casefiles);
++        }
++
++        if(compressed)
++        {
++                sprintf(casefiles, "%s/constant/polyMesh/owner.gz", casename.c_str());
++                outfile_own = new ogzstream(casefiles);
++        }
++        else
++        {
++                sprintf(casefiles, "%s/constant/polyMesh/owner", casename.c_str());
++                outfile_own = new ofstream(casefiles);
++        }
++
++        if(compressed)
++        {
++                sprintf(casefiles, "%s/constant/polyMesh/neighbour.gz", casename.c_str());
++                outfile_nei = new ogzstream(casefiles);
++        }
++        else
++        {
++                sprintf(casefiles, "%s/constant/polyMesh/neighbour", casename.c_str());
++                outfile_nei = new ofstream(casefiles);
++        }
++
++        // Note... the boundary file is not compressed
++      sprintf(casefiles, "%s/constant/polyMesh/boundary", casename.c_str());
++      outfile_bnd = new ofstream(casefiles);
++
++      ResetTime();
++
++      // Build the owner, neighbour, faces and boundary lists
++      // from the Netgen mesh
++      cout << "\nBuilding Owner, Neighbour and Face Lists: ";
++
++      error = BuildOwnerNeighbourLists(mesh);
++
++      cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
++
++
++      // Write the "owner" file
++      if(outfile_own->good() && !error)
++      {
++         cout << "Writing the owner file: ";
++         WriteOwnerFile(outfile_own);
++         delete outfile_own;
++         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
++      }
++      else
++      {
++         cout << "Export Error: Error creating file: owner.... Aborting\n";
++         error = true;
++      }
++
++
++      // Write the "neighbour" file
++      if(outfile_nei->good() && !error)
++      {
++         cout << "Writing the neighbour file: ";
++         WriteNeighbourFile(outfile_nei);
++         delete outfile_nei;
++         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
++      }
++      else
++      {
++         cout << "Export Error: Error creating file: neighbour.... Aborting\n";
++         error = true;
++      }
++
++
++      // Write the "faces" file
++      if(outfile_faces->good() && !error)
++      {
++         cout << "Writing the faces file: ";
++         WriteFacesFile(outfile_faces, mesh);
++         delete outfile_faces;
++         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
++      }
++      else
++      {
++         cout << "Export Error: Error creating file: faces.... Aborting\n";
++         error = true;
++      }
++
++
++      // Write the "points" file
++      if(outfile_pnts->good() && !error)
++      {
++         cout << "Writing the points file: ";
++         WritePointsFile(outfile_pnts,mesh);
++         delete outfile_pnts;
++         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
++      }
++      else
++      {
++         cout << "Export Error: Error creating file: points.... Aborting\n";
++         error = true;
++      }
++
++
++      // Write the "boundary" file
++      if(outfile_bnd->good() && !error)
++      {
++         cout << "Writing the boundary file: ";
++         WriteBoundaryFile(outfile_bnd);
++         delete outfile_bnd;
++         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
++      }
++      else
++      {
++         cout << "Export Error: Error creating file: boundary.... Aborting\n";
++         error = true;
++      }
++
++      if(!error)
++      {
++         cout << "OpenFOAM 1.5+ Export successfully completed (Time elapsed = " << GetTime() << " sec) !\n";
++      }
++      else
++      {
++         cout << "Error in OpenFOAM 1.5+ Export.... Aborted!\n";
++      }
++   }
++}
++
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/interface/writeuser.cpp netgen-5.3.1_SRC_modif/libsrc/interface/writeuser.cpp
+--- netgen-5.3.1_SRC_orig/libsrc/interface/writeuser.cpp       2014-08-29 13:54:02.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/interface/writeuser.cpp      2018-03-01 15:45:08.693877037 +0300
+@@ -1,1040 +1,1040 @@
+-//
+-//  Write user dependent output file
+-//
+-
+-#include <mystdlib.h>
+-
+-#include <myadt.hpp>
+-#include <linalg.hpp>
+-#include <csg.hpp>
+-#include <geometry2d.hpp>
+-#include <meshing.hpp>
+-
+-namespace netgen
+-{
+-#include "writeuser.hpp"
+-
+-
+-  void RegisterUserFormats (Array<const char*> & names,
+-                          Array<const char*> & extensions)
+-                          
+-{
+-  const char *types[] =
+-    {
+-      "Neutral Format",  ".mesh",
+-      "Surface Mesh Format", ".mesh" ,
+-      "DIFFPACK Format", ".mesh",
+-      "TecPlot Format", ".mesh",
+-      "Tochnog Format", ".mesh",
+-      "Abaqus Format", ".mesh",
+-      "Fluent Format", ".mesh",
+-      "Permas Format", ".mesh",
+-      "FEAP Format", ".mesh",
+-      "Elmer Format", "*",
+-      "STL Format", ".stl",
+-      "STL Extended Format", ".stl",
+-      "VRML Format", ".*",
+-      "Gmsh Format", ".gmsh",
+-      "Gmsh2 Format", ".gmsh2",
+-      "OpenFOAM 1.5+ Format", "*",
+-        "OpenFOAM 1.5+ Compressed", "*",
+-      "JCMwave Format", ".jcm",
+-      "TET Format", ".tet",
+-      //      { "Chemnitz Format" },
+-      0
+-    };
+-  
+-  for (int i = 0; types[2*i]; i++)
+-    {
+-      names.Append (types[2*i]);
+-      extensions.Append (types[2*i+1]);
+-    }
+-}
+-  
+-
+-
+-bool WriteUserFormat (const string & format,
+-                    const Mesh & mesh,
+-                    const NetgenGeometry & hgeom,
+-                    const string & filename)
+-{
+-  const CSGeometry & geom = *dynamic_cast<const CSGeometry*> (&hgeom);
+-
+-  PrintMessage (1, "Export mesh to file ", filename,
+-              ", format is ", format);
+-
+-  if (format == "Neutral Format")
+-    WriteNeutralFormat (mesh, geom, filename);
+-
+-  else if (format == "Surface Mesh Format")
+-    WriteSurfaceFormat (mesh, filename);
+-
+-  else if (format == "DIFFPACK Format")
+-    WriteDiffPackFormat (mesh, geom, filename);
+-
+-  else if (format == "Tochnog Format")
+-    WriteTochnogFormat (mesh, filename);
+-
+-  else if (format == "TecPlot Format")
+-    cerr << "ERROR: TecPlot format currently out of order" << endl;
+-      // WriteTecPlotFormat (mesh, geom, filename);
+-
+-  else if (format == "Abaqus Format")
+-    WriteAbaqusFormat (mesh, filename);
+-
+-  else if (format == "Fluent Format")
+-    WriteFluentFormat (mesh, filename);
+-
+-  else if (format == "Permas Format")
+-    WritePermasFormat (mesh, filename);
+-
+-  else if (format == "FEAP Format")
+-    WriteFEAPFormat (mesh, filename);
+-
+-  else if (format == "Elmer Format")
+-    WriteElmerFormat (mesh, filename);
+-
+-  else if (format == "STL Format")
+-    WriteSTLFormat (mesh, filename);
+-
+-  // Philippose - 16 August 2010
+-  // Added additional STL Export in which
+-  // each face of the geometry is treated
+-  // as a separate "solid" entity
+-  else if (format == "STL Extended Format")
+-      WriteSTLExtFormat (mesh, filename);
+-
+-  else if (format == "VRML Format")
+-    WriteVRMLFormat (mesh, 1, filename);
+-
+-  else if (format == "Fepp Format")
+-    WriteFEPPFormat (mesh, geom, filename);
+-
+-  else if (format ==  "EdgeElement Format")
+-    WriteEdgeElementFormat (mesh, geom, filename);
+-
+-  else if (format == "Chemnitz Format")
+-    WriteUserChemnitz (mesh, filename);
+-
+-  else if (format == "Gmsh Format")
+-    WriteGmshFormat (mesh, geom, filename);
+-
+-  // Philippose - 29/01/2009
+-  // Added Gmsh v2.xx Mesh export capability
+-  else if (format == "Gmsh2 Format")
+-    WriteGmsh2Format (mesh, geom, filename);
+-
+-  // Philippose - 25/10/2009
+-  // Added OpenFOAM 1.5+ Mesh export capability
+-  else if (format == "OpenFOAM 1.5+ Format")
+-    WriteOpenFOAM15xFormat (mesh, filename, false);
+-
+-  else if (format == "OpenFOAM 1.5+ Compressed")
+-    WriteOpenFOAM15xFormat (mesh, filename, true);
+-
+-  else if (format == "JCMwave Format")
+-    WriteJCMFormat (mesh, geom, filename);
+-
+-#ifdef OLIVER
+-  else if (format == "TET Format")
+-    WriteTETFormat( mesh, filename);//, "High Frequency" );
+-#endif
+-
+-  else
+-    {
+-      return 1;
+-    }
+-
+-  return 0;
+-}
+-
+-
+-
+-
+-/*
+- *  Neutral mesh format
+- *  points, elements, surface elements
+- */
+-
+-void WriteNeutralFormat (const Mesh & mesh,
+-                       const CSGeometry & geom,
+-                       const string & filename)
+-{
+-  cout << "write neutral, new" << endl;
+-  int np = mesh.GetNP();
+-  int ne = mesh.GetNE();
+-  int nse = mesh.GetNSE();
+-  int nseg = mesh.GetNSeg();
+-  int i, j;
+-
+-  int inverttets = mparam.inverttets;
+-  int invertsurf = mparam.inverttrigs;
+-
+-  ofstream outfile (filename.c_str());
+-
+-  outfile.precision(6);
+-  outfile.setf (ios::fixed, ios::floatfield);
+-  outfile.setf (ios::showpoint);
+-
+-  outfile << np << "\n";
+-
+-  for (i = 1; i <= np; i++)
+-    {
+-      const Point3d & p = mesh.Point(i);
+-
+-      outfile.width(10);
+-      outfile << p.X() << " ";
+-      outfile.width(9);
+-      outfile << p.Y() << " ";
+-      if (mesh.GetDimension() == 3)
+-      {
+-        outfile.width(9);
+-        outfile << p.Z();
+-        }
+-      outfile << "\n";
+-    }
+-
+-  if (mesh.GetDimension() == 3)
+-    {
+-      outfile << ne << "\n";
+-      for (i = 1; i <= ne; i++)
+-      {
+-        Element el = mesh.VolumeElement(i);
+-        if (inverttets)
+-          el.Invert();
+-        outfile.width(4);
+-        outfile << el.GetIndex() << "  ";
+-        for (j = 1; j <= el.GetNP(); j++)
+-          {
+-            outfile << " ";
+-            outfile.width(8);
+-            outfile << el.PNum(j);
+-          }
+-        outfile << "\n";
+-      }
+-    }
+-
+-  outfile << nse << "\n";
+-  for (i = 1; i <= nse; i++)
+-    {
+-      Element2d el = mesh.SurfaceElement(i);
+-      if (invertsurf)
+-      el.Invert();
+-      outfile.width(4);
+-      outfile << mesh.GetFaceDescriptor (el.GetIndex()).BCProperty() << "    ";
+-      for (j = 1; j <= el.GetNP(); j++)
+-      {
+-        outfile << " ";
+-        outfile.width(8);
+-        outfile << el.PNum(j);
+-      }
+-      outfile << "\n";
+-    }
+-
+-
+-  if (mesh.GetDimension() == 2)
+-    {
+-      outfile << nseg << "\n";
+-      for (i = 1; i <= nseg; i++)
+-      {
+-        const Segment & seg = mesh.LineSegment(i);
+-        outfile.width(4);
+-        outfile << seg.si << "    ";
+-
+-        outfile << " ";
+-        outfile.width(8);
+-        outfile << seg[0];
+-        outfile << " ";
+-        outfile.width(8);
+-        outfile << seg[1];
+-
+-        outfile << "\n";
+-      }
+-    }
+-}
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-void WriteSurfaceFormat (const Mesh & mesh,
+-                       const string & filename)
+-{
+-  // surface mesh
+-  int i, j;
+-
+-  cout << "Write Surface Mesh" << endl;
+-
+-  ofstream outfile (filename.c_str());
+-
+-  outfile << "surfacemesh" << endl;
+-
+-  outfile << mesh.GetNP() << endl;
+-  for (i = 1; i <= mesh.GetNP(); i++)
+-    {
+-      for (j = 0; j < 3; j++)
+-      {
+-        outfile.width(10);
+-        outfile << mesh.Point(i)(j) << " ";
+-      }
+-      outfile << endl;
+-    }
+-  outfile << mesh.GetNSE() << endl;
+-  for (i = 1; i <= mesh.GetNSE(); i++)
+-    {
+-      for (j = 1; j <= 3; j++)
+-      {
+-        outfile.width(8);
+-        outfile << mesh.SurfaceElement(i).PNum(j);
+-      }
+-      outfile << endl;
+-    }
+-}
+-
+-
+-
+-
+-
+-/*
+- *  save surface mesh as STL file
+- */
+-
+-void WriteSTLFormat (const Mesh & mesh,
+-                   const string & filename)
+-{
+-  cout << "\nWrite STL Surface Mesh" << endl;
+-
+-  ostream *outfile;
+-
+-  if(filename.substr(filename.length()-3,3) == ".gz")
+-        outfile = new ogzstream(filename.c_str());
+-  else
+-        outfile = new ofstream(filename.c_str());
+-
+-  int i;
+-
+-  outfile->precision(10);
+-
+-  *outfile << "solid" << endl;
+-
+-  for (i = 1; i <= mesh.GetNSE(); i++)
+-    {
+-      *outfile << "facet normal ";
+-      const Point3d& p1 = mesh.Point(mesh.SurfaceElement(i).PNum(1));
+-      const Point3d& p2 = mesh.Point(mesh.SurfaceElement(i).PNum(2));
+-      const Point3d& p3 = mesh.Point(mesh.SurfaceElement(i).PNum(3));
+-
+-      Vec3d normal = Cross(p2-p1,p3-p1);
+-      if (normal.Length() != 0)
+-      {
+-        normal /= (normal.Length());
+-      }
+-
+-      *outfile << normal.X() << " " << normal.Y() << " " << normal.Z() << "\n";
+-      *outfile << "outer loop\n";
+-
+-      *outfile << "vertex " << p1.X() << " " << p1.Y() << " " << p1.Z() << "\n";
+-      *outfile << "vertex " << p2.X() << " " << p2.Y() << " " << p2.Z() << "\n";
+-      *outfile << "vertex " << p3.X() << " " << p3.Y() << " " << p3.Z() << "\n";
+-
+-      *outfile << "endloop\n";
+-      *outfile << "endfacet\n";
+-    }
+-  *outfile << "endsolid" << endl;
+-}
+-
+-
+-
+-
+-
+-/*
+- *  Philippose - 16 August 2010
+- *  Save surface mesh as STL file
+- *  with a separate solid definition
+- *  for each face
+- *  - This helps in splitting up the
+- *    STL into named boundary faces
+- *    when using a third-party mesher
+- */
+-void WriteSTLExtFormat (const Mesh & mesh,
+-                   const string & filename)
+-{
+-  cout << "\nWrite STL Surface Mesh (with separated boundary faces)" << endl;
+-
+-  ostream *outfile;
+-
+-  if(filename.substr(filename.length()-3,3) == ".gz")
+-        outfile = new ogzstream(filename.c_str());
+-  else
+-        outfile = new ofstream(filename.c_str());
+-
+-  outfile->precision(10);
+-
+-  int numBCs = 0;
+-
+-  Array<int> faceBCs;
+-  TABLE<int> faceBCMapping;
+-
+-  faceBCs.SetSize(mesh.GetNFD());
+-  faceBCMapping.SetSize(mesh.GetNFD());
+-
+-  faceBCs = -1;
+-
+-  // Collect the BC numbers used in the mesh
+-  for(int faceNr = 1; faceNr <= mesh.GetNFD(); faceNr++)
+-  {
+-        int bcNum = mesh.GetFaceDescriptor(faceNr).BCProperty();
+-
+-        if(faceBCs.Pos(bcNum) < 0)
+-        {
+-        numBCs++;
+-                faceBCs.Set(numBCs,bcNum);
+-        faceBCMapping.Add1(numBCs,faceNr);        
+-        }
+-     else
+-     {
+-        faceBCMapping.Add1(faceBCs.Pos(bcNum)+1,faceNr);
+-     }
+-  }
+-
+-  faceBCs.SetSize(numBCs);
+-  faceBCMapping.ChangeSize(numBCs);
+-
+-  // Now actually write the data to file
+-  for(int bcInd = 1; bcInd <= faceBCs.Size(); bcInd++)
+-  {
+-      *outfile << "solid Boundary_" << faceBCs.Elem(bcInd) << "\n";
+-
+-      for(int faceNr = 1;faceNr <= faceBCMapping.EntrySize(bcInd); faceNr++)
+-      {
+-          Array<SurfaceElementIndex> faceSei;
+-          mesh.GetSurfaceElementsOfFace(faceBCMapping.Get(bcInd,faceNr),faceSei);
+-
+-          for (int i = 0; i < faceSei.Size(); i++)
+-          {
+-                *outfile << "facet normal ";
+-                const Point3d& p1 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(1));
+-                const Point3d& p2 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(2));
+-                const Point3d& p3 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(3));
+-
+-                Vec3d normal = Cross(p2-p1,p3-p1);
+-                if (normal.Length() != 0)
+-                {
+-                        normal /= (normal.Length());
+-                }
+-
+-                *outfile << normal.X() << " " << normal.Y() << " " << normal.Z() << "\n";
+-                *outfile << "outer loop\n";
+-
+-                *outfile << "vertex " << p1.X() << " " << p1.Y() << " " << p1.Z() << "\n";
+-                *outfile << "vertex " << p2.X() << " " << p2.Y() << " " << p2.Z() << "\n";
+-                *outfile << "vertex " << p3.X() << " " << p3.Y() << " " << p3.Z() << "\n";
+-
+-                *outfile << "endloop\n";
+-                *outfile << "endfacet\n";
+-          }
+-      }
+-      *outfile << "endsolid Boundary_" << faceBCs.Elem(bcInd) << "\n";
+-  }
+-}
+-
+-
+-
+-
+-/*
+- *
+- *  write surface mesh as VRML file
+- *
+- */
+-
+-void WriteVRMLFormat (const Mesh & mesh,
+-                    bool faces,
+-                    const string & filename)
+-{
+-
+-  if (faces)
+-
+-    {
+-      // Output in VRML, IndexedFaceSet is used
+-      // Bartosz Sawicki <sawickib@ee.pw.edu.pl>
+-
+-      int np = mesh.GetNP();
+-      int nse = mesh.GetNSE();
+-      int i, j;
+-
+-      ofstream outfile (filename.c_str());
+-
+-      outfile.precision(6);
+-      outfile.setf (ios::fixed, ios::floatfield);
+-      outfile.setf (ios::showpoint);
+-
+-      outfile << "#VRML V2.0 utf8 \n"
+-               "Background {\n"
+-               "    skyColor [1 1 1]\n"
+-               "    groundColor [1 1 1]\n"
+-               "}\n"
+-               "Group{ children [\n"
+-               "Shape{ \n"
+-               "appearance Appearance { material Material { }} \n"
+-                 "geometry IndexedFaceSet { \n"
+-                 "coord Coordinate { point [ \n";
+-
+-
+-      for (i = 1; i <= np; i++)
+-        {
+-          const Point3d & p = mesh.Point(i);
+-          outfile.width(10);
+-          outfile << p.X() << " ";
+-          outfile << p.Y() << " ";
+-          outfile << p.Z() << " \n";
+-      }
+-
+-      outfile << "  ] } \n"
+-                 "coordIndex [ \n";
+-
+-      for (i = 1; i <= nse; i++)
+-      {
+-        const Element2d & el = mesh.SurfaceElement(i);
+-
+-        for (j = 1; j <= 3; j++)
+-          {
+-            outfile.width(8);
+-            outfile << el.PNum(j)-1;
+-          }
+-        outfile << " -1 \n";
+-      }
+-
+-      outfile << "  ] \n";
+-
+-      //define number and RGB definitions of colors
+-      outfile << "color Color { color [1 0 0, 0 1 0, 0 0 1, 1 1 0]} \n"
+-                 "colorIndex [\n";
+-
+-      for (i = 1; i <= nse; i++)
+-      {
+-        outfile << mesh.GetFaceDescriptor(mesh.SurfaceElement(i).GetIndex ()).BCProperty();
+-          outfile << endl;
+-      }
+-
+-      outfile << " ] \n"
+-                 "colorPerVertex FALSE \n"
+-                 "creaseAngle 0 \n"
+-               "solid FALSE \n"
+-                 "ccw FALSE \n"
+-               "convex TRUE \n"
+-                 "} } # end of Shape\n"
+-               "] }\n";
+-
+-    } /* end of VRMLFACES */
+-
+-
+-  else
+-
+-    {
+-        // Output in VRML, IndexedLineSet is used
+-      // Bartosz Sawicki <sawickib@ee.pw.edu.pl>
+-
+-      int np = mesh.GetNP();
+-      int nse = mesh.GetNSE();
+-      int i, j;
+-
+-      ofstream outfile (filename.c_str());
+-
+-      outfile.precision(6);
+-      outfile.setf (ios::fixed, ios::floatfield);
+-      outfile.setf (ios::showpoint);
+-
+-      outfile << "#VRML V2.0 utf8 \n"
+-               "Background {\n"
+-               "    skyColor [1 1 1]\n"
+-               "    groundColor [1 1 1]\n"
+-               "}\n"
+-               "Group{ children [\n"
+-               "Shape{ \n"
+-               "appearance Appearance { material Material { }} \n"
+-                 "geometry IndexedLineSet { \n"
+-                 "coord Coordinate { point [ \n";
+-
+-
+-      for (i = 1; i <= np; i++)
+-        {
+-          const Point3d & p = mesh.Point(i);
+-          outfile.width(10);
+-          outfile << p.X() << " ";
+-          outfile << p.Y() << " ";
+-          outfile << p.Z() << " \n";
+-      }
+-
+-      outfile << "  ] } \n"
+-                 "coordIndex [ \n";
+-
+-      for (i = 1; i <= nse; i++)
+-      {
+-        const Element2d & el = mesh.SurfaceElement(i);
+-
+-        for (j = 1; j <= 3; j++)
+-          {
+-            outfile.width(8);
+-            outfile << el.PNum(j)-1;
+-          }
+-        outfile.width(8);
+-        outfile << el.PNum(1)-1;
+-        outfile << " -1 \n";
+-      }
+-
+-      outfile << "  ] \n";
+-
+-/* Uncomment if you want color mesh
+-      outfile << "color Color { color [1 1 1, 0 1 0, 0 0 1, 1 1 0]} \n"
+-                 "colorIndex [\n";
+-
+-      for (i = 1; i <= nse; i++)
+-      {
+-        outfile << mesh.GetFaceDescriptor(mesh.SurfaceElement(i).GetIndex ()).BCProperty();
+-          outfile << endl;
+-      }
+-
+-      outfile << " ] \n"
+-*/
+-      outfile << "colorPerVertex FALSE \n"
+-                 "} } #end of Shape\n"
+-               "] } \n";
+-
+-    }
+-
+-}
+-
+-
+-
+-
+-
+-
+-/*
+- * FEPP .. a finite element package developed at University Linz, Austria
+- */
+-void WriteFEPPFormat (const Mesh & mesh,
+-                    const CSGeometry & geom,
+-                    const string & filename)
+-{
+-
+-  ofstream outfile (filename.c_str());
+-
+-  if (mesh.GetDimension() == 3)
+-
+-    {
+-
+-      // output for FEPP
+-
+-      int np = mesh.GetNP();
+-      int ne = mesh.GetNE();
+-      int nse = mesh.GetNSE();
+-      int ns = mesh.GetNFD();
+-      int i, j;
+-
+-      outfile.precision(5);
+-      outfile.setf (ios::fixed, ios::floatfield);
+-      outfile.setf (ios::showpoint);
+-
+-      outfile << "volumemesh4" << endl;
+-      outfile << nse << endl;
+-      for (i = 1; i <= nse; i++)
+-      {
+-        const Element2d & el = mesh.SurfaceElement(i);
+-
+-        //      int facenr = mesh.facedecoding.Get(el.GetIndex()).surfnr;
+-        outfile.width(4);
+-        outfile << el.GetIndex() << " ";
+-        outfile.width(4);
+-        //      outfile << mesh.GetFaceDescriptor(el.GetIndex()).BCProperty() << " ";
+-        outfile << mesh.GetFaceDescriptor(el.GetIndex()).BCProperty() << " ";
+-        outfile.width(4);
+-        outfile << el.GetNP() << "    ";
+-        for (j = 1; j <= el.GetNP(); j++)
+-          {
+-            outfile.width(8);
+-            outfile << el.PNum(j);
+-          }
+-        outfile << "\n";
+-      }
+-
+-
+-      outfile << ne << "\n";
+-      for (i = 1; i <= ne; i++)
+-      {
+-        const Element & el = mesh.VolumeElement(i);
+-        outfile.width(4);
+-        outfile << el.GetIndex() << " ";
+-        outfile.width(4);
+-        outfile << el.GetNP() << " ";
+-        for (j = 1; j <= el.GetNP(); j++)
+-          {
+-            outfile.width(8);
+-            outfile << el.PNum(j);
+-          }
+-        outfile << "\n";
+-      }
+-
+-      outfile << np << "\n";
+-      for (i = 1; i <= np; i++)
+-      {
+-        const Point3d & p = mesh.Point(i);
+-
+-        outfile.width(10);
+-        outfile << p.X() << " ";
+-        outfile.width(9);
+-        outfile << p.Y() << " ";
+-        outfile.width(9);
+-        outfile << p.Z() << "\n";
+-      }
+-
+-      /*
+-      if (typ == WRITE_FEPPML)
+-      {
+-        int nbn =  mesh.mlbetweennodes.Size();
+-        outfile << nbn << "\n";
+-        for (i = 1; i <= nbn; i++)
+-          outfile << mesh.mlbetweennodes.Get(i).I1() << " "
+-                  << mesh.mlbetweennodes.Get(i).I2() << "\n";
+-
+-
+-        //      int ncon = mesh.connectedtonode.Size();
+-        //      outfile << ncon << "\n";
+-        //      for (i = 1; i <= ncon; i++)
+-        //        outfile << i << " " << mesh.connectedtonode.Get(i) << endl;
+-      }
+-      */
+-
+-
+-      // write CSG surfaces
+-      if (&geom && geom.GetNSurf() >= ns)
+-      {
+-        outfile << ns << endl;
+-        for (i = 1; i <= ns; i++)
+-          geom.GetSurface(mesh.GetFaceDescriptor(i).SurfNr())->Print(outfile);
+-      }
+-      else
+-      outfile << "0" << endl;
+-    }
+-
+-
+-  else
+-
+-    { // 2D fepp format
+-
+-      ;
+-      /*
+-      extern SplineGeometry2d * geometry2d;
+-      if (geometry2d)
+-      Save2DMesh (mesh, &geometry2d->GetSplines(), outfile);
+-      else
+-      Save2DMesh (mesh, 0, outfile);
+-      */
+-    }
+-}
+-
+-
+-
+-
+-
+-
+-/*
+- *  Edge element mesh format
+- *  points, elements, edges
+- */
+-
+-void WriteEdgeElementFormat (const Mesh & mesh,
+-                           const CSGeometry & geom,
+-                           const string & filename)
+-{
+-  cout << "write edge element format" << endl;
+-
+-  const MeshTopology * top = &mesh.GetTopology();
+-  int npoints = mesh.GetNP();
+-  int nelements = mesh.GetNE();
+-  int nsurfelem = mesh.GetNSE();
+-  int nedges = top->GetNEdges();
+-  int i, j;
+-
+-  int inverttets = mparam.inverttets;
+-  int invertsurf = mparam.inverttrigs;
+-  Array<int> edges;
+-
+-  ofstream outfile (filename.c_str());
+-
+-  outfile.precision(6);
+-  outfile.setf (ios::fixed, ios::floatfield);
+-  outfile.setf (ios::showpoint);
+-
+-
+-  // vertices with coordinates
+-  outfile << npoints << "\n";
+-  for (i = 1; i <= npoints; i++)
+-    {
+-      const Point3d & p = mesh.Point(i);
+-
+-      outfile.width(10);
+-      outfile << p.X() << " ";
+-      outfile.width(9);
+-      outfile << p.Y() << " ";
+-      outfile.width(9);
+-      outfile << p.Z() << "\n";
+-    }
+-
+-  // element - edge - list
+-  outfile << nelements << " " << nedges << "\n";
+-  for (i = 1; i <= nelements; i++)
+-    {
+-      Element el = mesh.VolumeElement(i);
+-      if (inverttets)
+-              el.Invert();
+-      outfile.width(4);
+-      outfile << el.GetIndex() << "  ";
+-      outfile.width(8);
+-      outfile << el.GetNP();
+-      for (j = 1; j <= el.GetNP(); j++)
+-      {
+-        outfile << " ";
+-        outfile.width(8);
+-        outfile << el.PNum(j);
+-      }
+-
+-      top->GetElementEdges(i,edges);
+-      outfile << endl << "      ";
+-      outfile.width(8);
+-      outfile << edges.Size();
+-      for (j=1; j <= edges.Size(); j++)
+-      {
+-        outfile << " ";
+-        outfile.width(8);
+-        outfile << edges[j-1];
+-      }
+-      outfile << "\n";
+-
+-      // orientation:
+-      top->GetElementEdgeOrientations(i,edges);
+-      outfile << "              ";
+-      for (j=1; j <= edges.Size(); j++)
+-      {
+-        outfile << " ";
+-        outfile.width(8);
+-        outfile << edges[j-1];
+-      }
+-      outfile << "\n";
+-    }
+-
+-  // surface element - edge - list (with boundary conditions)
+-  outfile << nsurfelem << "\n";
+-  for (i = 1; i <= nsurfelem; i++)
+-    {
+-      Element2d el = mesh.SurfaceElement(i);
+-      if (invertsurf)
+-      el.Invert();
+-      outfile.width(4);
+-      outfile << mesh.GetFaceDescriptor (el.GetIndex()).BCProperty() << "  ";
+-      outfile.width(8);
+-      outfile << el.GetNP();
+-      for (j = 1; j <= el.GetNP(); j++)
+-      {
+-        outfile << " ";
+-        outfile.width(8);
+-        outfile << el.PNum(j);
+-      }
+-
+-      top->GetSurfaceElementEdges(i,edges);
+-      outfile << endl << "      ";
+-      outfile.width(8);
+-      outfile << edges.Size();
+-      for (j=1; j <= edges.Size(); j++)
+-      {
+-        outfile << " ";
+-        outfile.width(8);
+-        outfile << edges[j-1];
+-      }
+-      outfile << "\n";
+-    }
+-
+-
+-  int v1, v2;
+-  // edge - vertex - list
+-  outfile << nedges << "\n";
+-  for (i=1; i <= nedges; i++)
+-    {
+-      top->GetEdgeVertices(i,v1,v2);
+-      outfile.width(4);
+-      outfile << v1;
+-      outfile << " ";
+-      outfile.width(8);
+-      outfile << v2 << endl;
+-    }
+-}
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-#ifdef OLDSTYLE_WRITE
+-
+-
+-void WriteFile (int typ,
+-              const Mesh & mesh,
+-              const CSGeometry & geom,
+-              const char * filename,
+-              const char * geomfile,
+-              double h)
+-{
+-
+-
+-  int inverttets = mparam.inverttets;
+-  int invertsurf = mparam.inverttrigs;
+-
+-
+-
+-
+-
+-
+-
+-
+-  if (typ == WRITE_EDGEELEMENT)
+-    {
+-      // write edge element file
+-      // Peter Harscher, ETHZ
+-
+-      cout << "Write Edge-Element Format" << endl;
+-
+-      ofstream outfile (filename);
+-
+-      int i, j;
+-      int ned;
+-
+-      // hash table representing edges;
+-      INDEX_2_HASHTABLE<int> edgeht(mesh.GetNP());
+-
+-      // list of edges
+-      Array<INDEX_2> edgelist;
+-
+-      // edge (point) on boundary ?
+-      BitArray bedge, bpoint(mesh.GetNP());
+-
+-      static int eledges[6][2] = { { 1, 2 } , { 1, 3 } , { 1, 4 },
+-                                 { 2, 3 } , { 2, 4 } , { 3, 4 } };
+-
+-      // fill hashtable   (point1, point2)  ---->  edgenr
+-      for (i = 1; i <= mesh.GetNE(); i++)
+-      {
+-        const Element & el = mesh.VolumeElement (i);
+-        INDEX_2 edge;
+-        for (j = 1; j <= 6; j++)
+-          {
+-            edge.I1() = el.PNum (eledges[j-1][0]);
+-            edge.I2() = el.PNum (eledges[j-1][1]);
+-            edge.Sort();
+-
+-            if (!edgeht.Used (edge))
+-              {
+-                edgelist.Append (edge);
+-                edgeht.Set (edge, edgelist.Size());
+-              }
+-          }
+-      }
+-
+-
+-      // set bedges, bpoints
+-      bedge.SetSize (edgelist.Size());
+-      bedge.Clear();
+-      bpoint.Clear();
+-
+-      for (i = 1; i <= mesh.GetNSE(); i++)
+-      {
+-        const Element2d & sel = mesh.SurfaceElement(i);
+-        for (j = 1; j <= 3; j++)
+-          {
+-            bpoint.Set (sel.PNum(j));
+-
+-            INDEX_2 edge;
+-            edge.I1() = sel.PNum(j);
+-            edge.I2() = sel.PNum(j%3+1);
+-            edge.Sort();
+-
+-            bedge.Set (edgeht.Get (edge));
+-          }
+-      }
+-
+-
+-
+-      outfile << mesh.GetNE() << endl;
+-      // write element ---> point
+-      for (i = 1; i <= mesh.GetNE(); i++)
+-      {
+-        const Element & el = mesh.VolumeElement(i);
+-
+-        outfile.width(8);
+-        outfile << i;
+-        for (j = 1; j <= 4; j++)
+-          {
+-            outfile.width(8);
+-            outfile << el.PNum(j);
+-          }
+-        outfile << endl;
+-      }
+-
+-      // write element ---> edge
+-      for (i = 1; i <= mesh.GetNE(); i++)
+-      {
+-        const Element & el = mesh.VolumeElement (i);
+-        INDEX_2 edge;
+-        for (j = 1; j <= 6; j++)
+-          {
+-            edge.I1() = el.PNum (eledges[j-1][0]);
+-            edge.I2() = el.PNum (eledges[j-1][1]);
+-            edge.Sort();
+-
+-            outfile.width(8);
+-            outfile << edgeht.Get (edge);
+-          }
+-        outfile << endl;
+-      }
+-
+-      // write points
+-      outfile << mesh.GetNP() << endl;
+-      outfile.precision (6);
+-      for (i = 1; i <= mesh.GetNP(); i++)
+-      {
+-        const Point3d & p = mesh.Point(i);
+-
+-        for (j = 1; j <= 3; j++)
+-          {
+-            outfile.width(8);
+-            outfile << p.X(j);
+-          }
+-        outfile << "       "
+-                << (bpoint.Test(i) ? "1" : 0) << endl;
+-      }
+-
+-      // write edges
+-      outfile << edgelist.Size() << endl;
+-      for (i = 1; i <= edgelist.Size(); i++)
+-      {
+-        outfile.width(8);
+-        outfile << edgelist.Get(i).I1();
+-        outfile.width(8);
+-        outfile << edgelist.Get(i).I2();
+-        outfile << "       "
+-                << (bedge.Test(i) ? "1" : "0") << endl;
+-      }
+-    }
+-
+-
+-
+-
+-}
+-#endif
+-}
+-
++//
++//  Write user dependent output file
++//
++
++#include <mystdlib.h>
++
++#include <myadt.hpp>
++#include <linalg.hpp>
++#include <csg.hpp>
++#include <geometry2d.hpp>
++#include <meshing.hpp>
++
++namespace netgen
++{
++#include "writeuser.hpp"
++
++
++  void RegisterUserFormats (Array<const char*> & names,
++                          Array<const char*> & extensions)
++
++{
++  const char *types[] =
++    {
++      "Neutral Format",  ".mesh",
++      "Surface Mesh Format", ".mesh" ,
++      "DIFFPACK Format", ".mesh",
++      "TecPlot Format", ".mesh",
++      "Tochnog Format", ".mesh",
++      "Abaqus Format", ".mesh",
++      "Fluent Format", ".mesh",
++      "Permas Format", ".mesh",
++      "FEAP Format", ".mesh",
++      "Elmer Format", "*",
++      "STL Format", ".stl",
++      "STL Extended Format", ".stl",
++      "VRML Format", ".*",
++      "Gmsh Format", ".gmsh",
++      "Gmsh2 Format", ".gmsh2",
++      "OpenFOAM 1.5+ Format", "*",
++        "OpenFOAM 1.5+ Compressed", "*",
++      "JCMwave Format", ".jcm",
++      "TET Format", ".tet",
++      //      { "Chemnitz Format" },
++      0
++    };
++
++  for (int i = 0; types[2*i]; i++)
++    {
++      names.Append (types[2*i]);
++      extensions.Append (types[2*i+1]);
++    }
++}
++
++
++
++bool WriteUserFormat (const string & format,
++                    const Mesh & mesh,
++                    const NetgenGeometry & hgeom,
++                    const string & filename)
++{
++  const CSGeometry & geom = *dynamic_cast<const CSGeometry*> (&hgeom);
++
++  PrintMessage (1, "Export mesh to file ", filename,
++              ", format is ", format);
++
++  if (format == "Neutral Format")
++    WriteNeutralFormat (mesh, geom, filename);
++
++  else if (format == "Surface Mesh Format")
++    WriteSurfaceFormat (mesh, filename);
++
++  else if (format == "DIFFPACK Format")
++    WriteDiffPackFormat (mesh, geom, filename);
++
++  else if (format == "Tochnog Format")
++    WriteTochnogFormat (mesh, filename);
++
++  else if (format == "TecPlot Format")
++    cerr << "ERROR: TecPlot format currently out of order" << endl;
++      // WriteTecPlotFormat (mesh, geom, filename);
++
++  else if (format == "Abaqus Format")
++    WriteAbaqusFormat (mesh, filename);
++
++  else if (format == "Fluent Format")
++    WriteFluentFormat (mesh, filename);
++
++  else if (format == "Permas Format")
++    WritePermasFormat (mesh, filename);
++
++  else if (format == "FEAP Format")
++    WriteFEAPFormat (mesh, filename);
++
++  else if (format == "Elmer Format")
++    WriteElmerFormat (mesh, filename);
++
++  else if (format == "STL Format")
++    WriteSTLFormat (mesh, filename);
++
++  // Philippose - 16 August 2010
++  // Added additional STL Export in which
++  // each face of the geometry is treated
++  // as a separate "solid" entity
++  else if (format == "STL Extended Format")
++      WriteSTLExtFormat (mesh, filename);
++
++  else if (format == "VRML Format")
++    WriteVRMLFormat (mesh, 1, filename);
++
++  else if (format == "Fepp Format")
++    WriteFEPPFormat (mesh, geom, filename);
++
++  else if (format ==  "EdgeElement Format")
++    WriteEdgeElementFormat (mesh, geom, filename);
++
++  else if (format == "Chemnitz Format")
++    WriteUserChemnitz (mesh, filename);
++
++  else if (format == "Gmsh Format")
++    WriteGmshFormat (mesh, geom, filename);
++
++  // Philippose - 29/01/2009
++  // Added Gmsh v2.xx Mesh export capability
++  else if (format == "Gmsh2 Format")
++    WriteGmsh2Format (mesh, geom, filename);
++
++  // Philippose - 25/10/2009
++  // Added OpenFOAM 1.5+ Mesh export capability
++  else if (format == "OpenFOAM 1.5+ Format")
++    WriteOpenFOAM15xFormat (mesh, filename, false);
++
++  else if (format == "OpenFOAM 1.5+ Compressed")
++    WriteOpenFOAM15xFormat (mesh, filename, true);
++
++  else if (format == "JCMwave Format")
++    WriteJCMFormat (mesh, geom, filename);
++
++#ifdef OLIVER
++  else if (format == "TET Format")
++    WriteTETFormat( mesh, filename);//, "High Frequency" );
++#endif
++
++  else
++    {
++      return 1;
++    }
++
++  return 0;
++}
++
++
++
++
++/*
++ *  Neutral mesh format
++ *  points, elements, surface elements
++ */
++
++void WriteNeutralFormat (const Mesh & mesh,
++                       const CSGeometry & geom,
++                       const string & filename)
++{
++  cout << "write neutral, new" << endl;
++  int np = mesh.GetNP();
++  int ne = mesh.GetNE();
++  int nse = mesh.GetNSE();
++  int nseg = mesh.GetNSeg();
++  int i, j;
++
++  int inverttets = mparam.inverttets;
++  int invertsurf = mparam.inverttrigs;
++
++  ofstream outfile (filename.c_str());
++
++  outfile.precision(6);
++  outfile.setf (ios::fixed, ios::floatfield);
++  outfile.setf (ios::showpoint);
++
++  outfile << np << "\n";
++
++  for (i = 1; i <= np; i++)
++    {
++      const Point3d & p = mesh.Point(i);
++
++      outfile.width(10);
++      outfile << p.X() << " ";
++      outfile.width(9);
++      outfile << p.Y() << " ";
++      if (mesh.GetDimension() == 3)
++      {
++        outfile.width(9);
++        outfile << p.Z();
++        }
++      outfile << "\n";
++    }
++
++  if (mesh.GetDimension() == 3)
++    {
++      outfile << ne << "\n";
++      for (i = 1; i <= ne; i++)
++      {
++        Element el = mesh.VolumeElement(i);
++        if (inverttets)
++          el.Invert();
++        outfile.width(4);
++        outfile << el.GetIndex() << "  ";
++        for (j = 1; j <= el.GetNP(); j++)
++          {
++            outfile << " ";
++            outfile.width(8);
++            outfile << el.PNum(j);
++          }
++        outfile << "\n";
++      }
++    }
++
++  outfile << nse << "\n";
++  for (i = 1; i <= nse; i++)
++    {
++      Element2d el = mesh.SurfaceElement(i);
++      if (invertsurf)
++      el.Invert();
++      outfile.width(4);
++      outfile << mesh.GetFaceDescriptor (el.GetIndex()).BCProperty() << "    ";
++      for (j = 1; j <= el.GetNP(); j++)
++      {
++        outfile << " ";
++        outfile.width(8);
++        outfile << el.PNum(j);
++      }
++      outfile << "\n";
++    }
++
++
++  if (mesh.GetDimension() == 2)
++    {
++      outfile << nseg << "\n";
++      for (i = 1; i <= nseg; i++)
++      {
++        const Segment & seg = mesh.LineSegment(i);
++        outfile.width(4);
++        outfile << seg.si << "    ";
++
++        outfile << " ";
++        outfile.width(8);
++        outfile << seg[0];
++        outfile << " ";
++        outfile.width(8);
++        outfile << seg[1];
++
++        outfile << "\n";
++      }
++    }
++}
++
++
++
++
++
++
++
++
++
++void WriteSurfaceFormat (const Mesh & mesh,
++                       const string & filename)
++{
++  // surface mesh
++  int i, j;
++
++  cout << "Write Surface Mesh" << endl;
++
++  ofstream outfile (filename.c_str());
++
++  outfile << "surfacemesh" << endl;
++
++  outfile << mesh.GetNP() << endl;
++  for (i = 1; i <= mesh.GetNP(); i++)
++    {
++      for (j = 0; j < 3; j++)
++      {
++        outfile.width(10);
++        outfile << mesh.Point(i)(j) << " ";
++      }
++      outfile << endl;
++    }
++  outfile << mesh.GetNSE() << endl;
++  for (i = 1; i <= mesh.GetNSE(); i++)
++    {
++      for (j = 1; j <= 3; j++)
++      {
++        outfile.width(8);
++        outfile << mesh.SurfaceElement(i).PNum(j);
++      }
++      outfile << endl;
++    }
++}
++
++
++
++
++
++/*
++ *  save surface mesh as STL file
++ */
++
++void WriteSTLFormat (const Mesh & mesh,
++                   const string & filename)
++{
++  cout << "\nWrite STL Surface Mesh" << endl;
++
++  ostream *outfile;
++
++  if(filename.substr(filename.length()-3,3) == ".gz")
++        outfile = new ogzstream(filename.c_str());
++  else
++        outfile = new ofstream(filename.c_str());
++
++  int i;
++
++  outfile->precision(10);
++
++  *outfile << "solid" << endl;
++
++  for (i = 1; i <= mesh.GetNSE(); i++)
++    {
++      *outfile << "facet normal ";
++      const Point3d& p1 = mesh.Point(mesh.SurfaceElement(i).PNum(1));
++      const Point3d& p2 = mesh.Point(mesh.SurfaceElement(i).PNum(2));
++      const Point3d& p3 = mesh.Point(mesh.SurfaceElement(i).PNum(3));
++
++      Vec3d normal = Cross(p2-p1,p3-p1);
++      if (normal.Length() != 0)
++      {
++        normal /= (normal.Length());
++      }
++
++      *outfile << normal.X() << " " << normal.Y() << " " << normal.Z() << "\n";
++      *outfile << "outer loop\n";
++
++      *outfile << "vertex " << p1.X() << " " << p1.Y() << " " << p1.Z() << "\n";
++      *outfile << "vertex " << p2.X() << " " << p2.Y() << " " << p2.Z() << "\n";
++      *outfile << "vertex " << p3.X() << " " << p3.Y() << " " << p3.Z() << "\n";
++
++      *outfile << "endloop\n";
++      *outfile << "endfacet\n";
++    }
++  *outfile << "endsolid" << endl;
++}
++
++
++
++
++
++/*
++ *  Philippose - 16 August 2010
++ *  Save surface mesh as STL file
++ *  with a separate solid definition
++ *  for each face
++ *  - This helps in splitting up the
++ *    STL into named boundary faces
++ *    when using a third-party mesher
++ */
++void WriteSTLExtFormat (const Mesh & mesh,
++                   const string & filename)
++{
++  cout << "\nWrite STL Surface Mesh (with separated boundary faces)" << endl;
++
++  ostream *outfile;
++
++  if(filename.substr(filename.length()-3,3) == ".gz")
++        outfile = new ogzstream(filename.c_str());
++  else
++        outfile = new ofstream(filename.c_str());
++
++  outfile->precision(10);
++
++  int numBCs = 0;
++
++  Array<int> faceBCs;
++  TABLE<int> faceBCMapping;
++
++  faceBCs.SetSize(mesh.GetNFD());
++  faceBCMapping.SetSize(mesh.GetNFD());
++
++  faceBCs = -1;
++
++  // Collect the BC numbers used in the mesh
++  for(int faceNr = 1; faceNr <= mesh.GetNFD(); faceNr++)
++  {
++        int bcNum = mesh.GetFaceDescriptor(faceNr).BCProperty();
++
++        if(faceBCs.Pos(bcNum) < 0)
++        {
++        numBCs++;
++                faceBCs.Set(numBCs,bcNum);
++        faceBCMapping.Add1(numBCs,faceNr);
++        }
++     else
++     {
++        faceBCMapping.Add1(faceBCs.Pos(bcNum)+1,faceNr);
++     }
++  }
++
++  faceBCs.SetSize(numBCs);
++  faceBCMapping.ChangeSize(numBCs);
++
++  // Now actually write the data to file
++  for(int bcInd = 1; bcInd <= faceBCs.Size(); bcInd++)
++  {
++      *outfile << "solid Boundary_" << faceBCs.Elem(bcInd) << "\n";
++
++      for(int faceNr = 1;faceNr <= faceBCMapping.EntrySize(bcInd); faceNr++)
++      {
++          Array<SurfaceElementIndex> faceSei;
++          mesh.GetSurfaceElementsOfFace(faceBCMapping.Get(bcInd,faceNr),faceSei);
++
++          for (int i = 0; i < faceSei.Size(); i++)
++          {
++                *outfile << "facet normal ";
++                const Point3d& p1 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(1));
++                const Point3d& p2 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(2));
++                const Point3d& p3 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(3));
++
++                Vec3d normal = Cross(p2-p1,p3-p1);
++                if (normal.Length() != 0)
++                {
++                        normal /= (normal.Length());
++                }
++
++                *outfile << normal.X() << " " << normal.Y() << " " << normal.Z() << "\n";
++                *outfile << "outer loop\n";
++
++                *outfile << "vertex " << p1.X() << " " << p1.Y() << " " << p1.Z() << "\n";
++                *outfile << "vertex " << p2.X() << " " << p2.Y() << " " << p2.Z() << "\n";
++                *outfile << "vertex " << p3.X() << " " << p3.Y() << " " << p3.Z() << "\n";
++
++                *outfile << "endloop\n";
++                *outfile << "endfacet\n";
++          }
++      }
++      *outfile << "endsolid Boundary_" << faceBCs.Elem(bcInd) << "\n";
++  }
++}
++
++
++
++
++/*
++ *
++ *  write surface mesh as VRML file
++ *
++ */
++
++void WriteVRMLFormat (const Mesh & mesh,
++                    bool faces,
++                    const string & filename)
++{
++
++  if (faces)
++
++    {
++      // Output in VRML, IndexedFaceSet is used
++      // Bartosz Sawicki <sawickib@ee.pw.edu.pl>
++
++      int np = mesh.GetNP();
++      int nse = mesh.GetNSE();
++      int i, j;
++
++      ofstream outfile (filename.c_str());
++
++      outfile.precision(6);
++      outfile.setf (ios::fixed, ios::floatfield);
++      outfile.setf (ios::showpoint);
++
++      outfile << "#VRML V2.0 utf8 \n"
++               "Background {\n"
++               "    skyColor [1 1 1]\n"
++               "    groundColor [1 1 1]\n"
++               "}\n"
++               "Group{ children [\n"
++               "Shape{ \n"
++               "appearance Appearance { material Material { }} \n"
++                 "geometry IndexedFaceSet { \n"
++                 "coord Coordinate { point [ \n";
++
++
++      for (i = 1; i <= np; i++)
++        {
++          const Point3d & p = mesh.Point(i);
++          outfile.width(10);
++          outfile << p.X() << " ";
++          outfile << p.Y() << " ";
++          outfile << p.Z() << " \n";
++      }
++
++      outfile << "  ] } \n"
++                 "coordIndex [ \n";
++
++      for (i = 1; i <= nse; i++)
++      {
++        const Element2d & el = mesh.SurfaceElement(i);
++
++        for (j = 1; j <= 3; j++)
++          {
++            outfile.width(8);
++            outfile << el.PNum(j)-1;
++          }
++        outfile << " -1 \n";
++      }
++
++      outfile << "  ] \n";
++
++      //define number and RGB definitions of colors
++      outfile << "color Color { color [1 0 0, 0 1 0, 0 0 1, 1 1 0]} \n"
++                 "colorIndex [\n";
++
++      for (i = 1; i <= nse; i++)
++      {
++        outfile << mesh.GetFaceDescriptor(mesh.SurfaceElement(i).GetIndex ()).BCProperty();
++          outfile << endl;
++      }
++
++      outfile << " ] \n"
++                 "colorPerVertex FALSE \n"
++                 "creaseAngle 0 \n"
++               "solid FALSE \n"
++                 "ccw FALSE \n"
++               "convex TRUE \n"
++                 "} } # end of Shape\n"
++               "] }\n";
++
++    } /* end of VRMLFACES */
++
++
++  else
++
++    {
++        // Output in VRML, IndexedLineSet is used
++      // Bartosz Sawicki <sawickib@ee.pw.edu.pl>
++
++      int np = mesh.GetNP();
++      int nse = mesh.GetNSE();
++      int i, j;
++
++      ofstream outfile (filename.c_str());
++
++      outfile.precision(6);
++      outfile.setf (ios::fixed, ios::floatfield);
++      outfile.setf (ios::showpoint);
++
++      outfile << "#VRML V2.0 utf8 \n"
++               "Background {\n"
++               "    skyColor [1 1 1]\n"
++               "    groundColor [1 1 1]\n"
++               "}\n"
++               "Group{ children [\n"
++               "Shape{ \n"
++               "appearance Appearance { material Material { }} \n"
++                 "geometry IndexedLineSet { \n"
++                 "coord Coordinate { point [ \n";
++
++
++      for (i = 1; i <= np; i++)
++        {
++          const Point3d & p = mesh.Point(i);
++          outfile.width(10);
++          outfile << p.X() << " ";
++          outfile << p.Y() << " ";
++          outfile << p.Z() << " \n";
++      }
++
++      outfile << "  ] } \n"
++                 "coordIndex [ \n";
++
++      for (i = 1; i <= nse; i++)
++      {
++        const Element2d & el = mesh.SurfaceElement(i);
++
++        for (j = 1; j <= 3; j++)
++          {
++            outfile.width(8);
++            outfile << el.PNum(j)-1;
++          }
++        outfile.width(8);
++        outfile << el.PNum(1)-1;
++        outfile << " -1 \n";
++      }
++
++      outfile << "  ] \n";
++
++/* Uncomment if you want color mesh
++      outfile << "color Color { color [1 1 1, 0 1 0, 0 0 1, 1 1 0]} \n"
++                 "colorIndex [\n";
++
++      for (i = 1; i <= nse; i++)
++      {
++        outfile << mesh.GetFaceDescriptor(mesh.SurfaceElement(i).GetIndex ()).BCProperty();
++          outfile << endl;
++      }
++
++      outfile << " ] \n"
++*/
++      outfile << "colorPerVertex FALSE \n"
++                 "} } #end of Shape\n"
++               "] } \n";
++
++    }
++
++}
++
++
++
++
++
++
++/*
++ * FEPP .. a finite element package developed at University Linz, Austria
++ */
++void WriteFEPPFormat (const Mesh & mesh,
++                    const CSGeometry & geom,
++                    const string & filename)
++{
++
++  ofstream outfile (filename.c_str());
++
++  if (mesh.GetDimension() == 3)
++
++    {
++
++      // output for FEPP
++
++      int np = mesh.GetNP();
++      int ne = mesh.GetNE();
++      int nse = mesh.GetNSE();
++      int ns = mesh.GetNFD();
++      int i, j;
++
++      outfile.precision(5);
++      outfile.setf (ios::fixed, ios::floatfield);
++      outfile.setf (ios::showpoint);
++
++      outfile << "volumemesh4" << endl;
++      outfile << nse << endl;
++      for (i = 1; i <= nse; i++)
++      {
++        const Element2d & el = mesh.SurfaceElement(i);
++
++        //      int facenr = mesh.facedecoding.Get(el.GetIndex()).surfnr;
++        outfile.width(4);
++        outfile << el.GetIndex() << " ";
++        outfile.width(4);
++        //      outfile << mesh.GetFaceDescriptor(el.GetIndex()).BCProperty() << " ";
++        outfile << mesh.GetFaceDescriptor(el.GetIndex()).BCProperty() << " ";
++        outfile.width(4);
++        outfile << el.GetNP() << "    ";
++        for (j = 1; j <= el.GetNP(); j++)
++          {
++            outfile.width(8);
++            outfile << el.PNum(j);
++          }
++        outfile << "\n";
++      }
++
++
++      outfile << ne << "\n";
++      for (i = 1; i <= ne; i++)
++      {
++        const Element & el = mesh.VolumeElement(i);
++        outfile.width(4);
++        outfile << el.GetIndex() << " ";
++        outfile.width(4);
++        outfile << el.GetNP() << " ";
++        for (j = 1; j <= el.GetNP(); j++)
++          {
++            outfile.width(8);
++            outfile << el.PNum(j);
++          }
++        outfile << "\n";
++      }
++
++      outfile << np << "\n";
++      for (i = 1; i <= np; i++)
++      {
++        const Point3d & p = mesh.Point(i);
++
++        outfile.width(10);
++        outfile << p.X() << " ";
++        outfile.width(9);
++        outfile << p.Y() << " ";
++        outfile.width(9);
++        outfile << p.Z() << "\n";
++      }
++
++      /*
++      if (typ == WRITE_FEPPML)
++      {
++        int nbn =  mesh.mlbetweennodes.Size();
++        outfile << nbn << "\n";
++        for (i = 1; i <= nbn; i++)
++          outfile << mesh.mlbetweennodes.Get(i).I1() << " "
++                  << mesh.mlbetweennodes.Get(i).I2() << "\n";
++
++
++        //      int ncon = mesh.connectedtonode.Size();
++        //      outfile << ncon << "\n";
++        //      for (i = 1; i <= ncon; i++)
++        //        outfile << i << " " << mesh.connectedtonode.Get(i) << endl;
++      }
++      */
++
++
++      // write CSG surfaces
++      if (&geom && geom.GetNSurf() >= ns)
++      {
++        outfile << ns << endl;
++        for (i = 1; i <= ns; i++)
++          geom.GetSurface(mesh.GetFaceDescriptor(i).SurfNr())->Print(outfile);
++      }
++      else
++      outfile << "0" << endl;
++    }
++
++
++  else
++
++    { // 2D fepp format
++
++      ;
++      /*
++      extern SplineGeometry2d * geometry2d;
++      if (geometry2d)
++      Save2DMesh (mesh, &geometry2d->GetSplines(), outfile);
++      else
++      Save2DMesh (mesh, 0, outfile);
++      */
++    }
++}
++
++
++
++
++
++
++/*
++ *  Edge element mesh format
++ *  points, elements, edges
++ */
++
++void WriteEdgeElementFormat (const Mesh & mesh,
++                           const CSGeometry & geom,
++                           const string & filename)
++{
++  cout << "write edge element format" << endl;
++
++  const MeshTopology * top = &mesh.GetTopology();
++  int npoints = mesh.GetNP();
++  int nelements = mesh.GetNE();
++  int nsurfelem = mesh.GetNSE();
++  int nedges = top->GetNEdges();
++  int i, j;
++
++  int inverttets = mparam.inverttets;
++  int invertsurf = mparam.inverttrigs;
++  Array<int> edges;
++
++  ofstream outfile (filename.c_str());
++
++  outfile.precision(6);
++  outfile.setf (ios::fixed, ios::floatfield);
++  outfile.setf (ios::showpoint);
++
++
++  // vertices with coordinates
++  outfile << npoints << "\n";
++  for (i = 1; i <= npoints; i++)
++    {
++      const Point3d & p = mesh.Point(i);
++
++      outfile.width(10);
++      outfile << p.X() << " ";
++      outfile.width(9);
++      outfile << p.Y() << " ";
++      outfile.width(9);
++      outfile << p.Z() << "\n";
++    }
++
++  // element - edge - list
++  outfile << nelements << " " << nedges << "\n";
++  for (i = 1; i <= nelements; i++)
++    {
++      Element el = mesh.VolumeElement(i);
++      if (inverttets)
++              el.Invert();
++      outfile.width(4);
++      outfile << el.GetIndex() << "  ";
++      outfile.width(8);
++      outfile << el.GetNP();
++      for (j = 1; j <= el.GetNP(); j++)
++      {
++        outfile << " ";
++        outfile.width(8);
++        outfile << el.PNum(j);
++      }
++
++      top->GetElementEdges(i,edges);
++      outfile << endl << "      ";
++      outfile.width(8);
++      outfile << edges.Size();
++      for (j=1; j <= edges.Size(); j++)
++      {
++        outfile << " ";
++        outfile.width(8);
++        outfile << edges[j-1];
++      }
++      outfile << "\n";
++
++      // orientation:
++      top->GetElementEdgeOrientations(i,edges);
++      outfile << "              ";
++      for (j=1; j <= edges.Size(); j++)
++      {
++        outfile << " ";
++        outfile.width(8);
++        outfile << edges[j-1];
++      }
++      outfile << "\n";
++    }
++
++  // surface element - edge - list (with boundary conditions)
++  outfile << nsurfelem << "\n";
++  for (i = 1; i <= nsurfelem; i++)
++    {
++      Element2d el = mesh.SurfaceElement(i);
++      if (invertsurf)
++      el.Invert();
++      outfile.width(4);
++      outfile << mesh.GetFaceDescriptor (el.GetIndex()).BCProperty() << "  ";
++      outfile.width(8);
++      outfile << el.GetNP();
++      for (j = 1; j <= el.GetNP(); j++)
++      {
++        outfile << " ";
++        outfile.width(8);
++        outfile << el.PNum(j);
++      }
++
++      top->GetSurfaceElementEdges(i,edges);
++      outfile << endl << "      ";
++      outfile.width(8);
++      outfile << edges.Size();
++      for (j=1; j <= edges.Size(); j++)
++      {
++        outfile << " ";
++        outfile.width(8);
++        outfile << edges[j-1];
++      }
++      outfile << "\n";
++    }
++
++
++  int v1, v2;
++  // edge - vertex - list
++  outfile << nedges << "\n";
++  for (i=1; i <= nedges; i++)
++    {
++      top->GetEdgeVertices(i,v1,v2);
++      outfile.width(4);
++      outfile << v1;
++      outfile << " ";
++      outfile.width(8);
++      outfile << v2 << endl;
++    }
++}
++
++
++
++
++
++
++
++
++
++#ifdef OLDSTYLE_WRITE
++
++
++void WriteFile (int typ,
++              const Mesh & mesh,
++              const CSGeometry & geom,
++              const char * filename,
++              const char * geomfile,
++              double h)
++{
++
++
++  int inverttets = mparam.inverttets;
++  int invertsurf = mparam.inverttrigs;
++
++
++
++
++
++
++
++
++  if (typ == WRITE_EDGEELEMENT)
++    {
++      // write edge element file
++      // Peter Harscher, ETHZ
++
++      cout << "Write Edge-Element Format" << endl;
++
++      ofstream outfile (filename);
++
++      int i, j;
++      int ned;
++
++      // hash table representing edges;
++      INDEX_2_HASHTABLE<int> edgeht(mesh.GetNP());
++
++      // list of edges
++      Array<INDEX_2> edgelist;
++
++      // edge (point) on boundary ?
++      BitArray bedge, bpoint(mesh.GetNP());
++
++      static int eledges[6][2] = { { 1, 2 } , { 1, 3 } , { 1, 4 },
++                                 { 2, 3 } , { 2, 4 } , { 3, 4 } };
++
++      // fill hashtable   (point1, point2)  ---->  edgenr
++      for (i = 1; i <= mesh.GetNE(); i++)
++      {
++        const Element & el = mesh.VolumeElement (i);
++        INDEX_2 edge;
++        for (j = 1; j <= 6; j++)
++          {
++            edge.I1() = el.PNum (eledges[j-1][0]);
++            edge.I2() = el.PNum (eledges[j-1][1]);
++            edge.Sort();
++
++            if (!edgeht.Used (edge))
++              {
++                edgelist.Append (edge);
++                edgeht.Set (edge, edgelist.Size());
++              }
++          }
++      }
++
++
++      // set bedges, bpoints
++      bedge.SetSize (edgelist.Size());
++      bedge.Clear();
++      bpoint.Clear();
++
++      for (i = 1; i <= mesh.GetNSE(); i++)
++      {
++        const Element2d & sel = mesh.SurfaceElement(i);
++        for (j = 1; j <= 3; j++)
++          {
++            bpoint.Set (sel.PNum(j));
++
++            INDEX_2 edge;
++            edge.I1() = sel.PNum(j);
++            edge.I2() = sel.PNum(j%3+1);
++            edge.Sort();
++
++            bedge.Set (edgeht.Get (edge));
++          }
++      }
++
++
++
++      outfile << mesh.GetNE() << endl;
++      // write element ---> point
++      for (i = 1; i <= mesh.GetNE(); i++)
++      {
++        const Element & el = mesh.VolumeElement(i);
++
++        outfile.width(8);
++        outfile << i;
++        for (j = 1; j <= 4; j++)
++          {
++            outfile.width(8);
++            outfile << el.PNum(j);
++          }
++        outfile << endl;
++      }
++
++      // write element ---> edge
++      for (i = 1; i <= mesh.GetNE(); i++)
++      {
++        const Element & el = mesh.VolumeElement (i);
++        INDEX_2 edge;
++        for (j = 1; j <= 6; j++)
++          {
++            edge.I1() = el.PNum (eledges[j-1][0]);
++            edge.I2() = el.PNum (eledges[j-1][1]);
++            edge.Sort();
++
++            outfile.width(8);
++            outfile << edgeht.Get (edge);
++          }
++        outfile << endl;
++      }
++
++      // write points
++      outfile << mesh.GetNP() << endl;
++      outfile.precision (6);
++      for (i = 1; i <= mesh.GetNP(); i++)
++      {
++        const Point3d & p = mesh.Point(i);
++
++        for (j = 1; j <= 3; j++)
++          {
++            outfile.width(8);
++            outfile << p.X(j);
++          }
++        outfile << "       "
++                << (bpoint.Test(i) ? "1" : 0) << endl;
++      }
++
++      // write edges
++      outfile << edgelist.Size() << endl;
++      for (i = 1; i <= edgelist.Size(); i++)
++      {
++        outfile.width(8);
++        outfile << edgelist.Get(i).I1();
++        outfile.width(8);
++        outfile << edgelist.Get(i).I2();
++        outfile << "       "
++                << (bedge.Test(i) ? "1" : "0") << endl;
++      }
++    }
++
++
++
++
++}
++#endif
++}
++
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/interface/writeuser.hpp netgen-5.3.1_SRC_modif/libsrc/interface/writeuser.hpp
+--- netgen-5.3.1_SRC_orig/libsrc/interface/writeuser.hpp       2014-08-29 13:54:02.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/interface/writeuser.hpp      2018-03-01 15:45:08.693877037 +0300
+@@ -1,166 +1,166 @@
+-#ifndef WRITEUSER
+-#define WRITEUSER
+-
+-/**************************************************************************/
+-/* File:    writeuser.hh                                                  */
+-/* Authors: many                                                          */
+-/* Date:    10. Dec. 97                                                   */
+-/**************************************************************************/
+-
+-
+-extern
+-void WriteFile (int typ,
+-                const Mesh & mesh,
+-                const CSGeometry & geom,
+-                const char * filename,
+-                const char * geomfile = NULL,
+-                double h = 0);
+-
+-
+-
+-extern
+-void ReadFile (Mesh & mesh,
+-               const string & filename);
+-
+-
+-
+-
+-
+-
+-extern
+-void WriteNeutralFormat (const Mesh & mesh,
+-                         const CSGeometry & geom,
+-                         const string & filename);
+-
+-extern
+-void WriteSurfaceFormat (const Mesh & mesh,
+-                         const string & filename);
+-
+-extern
+-void WriteSTLFormat (const Mesh & mesh,
+-                     const string & filename);
+-
+-
+-// Philippose - 16 August 2010
+-// Added the STL Extended format in which
+-// each face of the geometry is treated as
+-// a separate "solid" entity in the STL file
+-extern
+-void WriteSTLExtFormat (const Mesh & mesh,
+-                        const string & filename);
+-
+-
+-extern
+-void WriteVRMLFormat (const Mesh & mesh,
+-                      bool faces,
+-                      const string & filename);
+-
+-extern
+-void WriteFEPPFormat (const Mesh & mesh,
+-                      const CSGeometry & geom,
+-                      const string & filename);
+-
+-extern
+-void WriteGmshFormat (const Mesh & mesh,
+-                      const CSGeometry & geom,
+-                      const string & filename);
+-
+-
+-// Philippose - 29/01/2009
+-// Added GMSH v2.xx Mesh Export support
+-void WriteGmsh2Format (const Mesh & mesh,
+-                       const CSGeometry & geom,
+-                       const string & filename);
+-
+-
+-// Philippose - 25/10/2009
+-// Added OpenFOAM 1.5+ Mesh Export support
+-extern 
+-void WriteOpenFOAM15xFormat (const Mesh & mesh, 
+-                             const string & casename,
+-                                                       const bool compressed);
+-
+-
+-extern
+-void WriteUserChemnitz (const Mesh & mesh,
+-                        const string & filename);
+-
+-extern
+-void WriteJCMFormat (const Mesh & mesh,
+-                     const CSGeometry & geom,
+-                     const string & filename);
+-
+-
+-extern
+-void WriteDiffPackFormat (const Mesh & mesh,
+-                          const CSGeometry & geom,
+-                          const string & filename);
+-
+-extern
+-void WriteTochnogFormat (const Mesh & mesh,
+-                         const string & filename);
+-
+-extern
+-void WriteTecPlotFormat (const Mesh & mesh,
+-                         const CSGeometry & geom,
+-                         const string & filename);
+-
+-extern
+-void WriteAbaqusFormat (const Mesh & mesh,
+-                        const string & filename);
+-
+-extern
+-void WriteFluentFormat (const Mesh & mesh,
+-                        const string & filename);
+-
+-extern
+-void WritePermasFormat (const Mesh & mesh,
+-                        const string & filename);
+-
+-extern
+-void WriteFEAPFormat (const Mesh & mesh,
+-                      const string & filename);
+-
+-extern
+-void WriteElmerFormat (const Mesh & mesh,
+-                       const string & filename);
+-
+-
+-extern
+-void WriteEdgeElementFormat (const Mesh & mesh,
+-                             const CSGeometry & geom,
+-                             const string & filename);
+-
+-
+-
+-#ifdef OLIVER
+-extern
+-void WriteTETFormat (const Mesh & mesh,
+-                     const string & filename);
+-
+-#endif
+-
+-extern void ReadTETFormat (Mesh & mesh,
+-                           const string & filename);
+-
+-
+-extern void ReadFNFFormat (Mesh & mesh,
+-                           const string & filename);
+-
+-
+-
+-void WriteDolfinFormat (const Mesh & mesh,
+-                        const string & filename);
+-
+-
+-extern void RegisterUserFormats (Array<const char*> & names,
+-                                 Array<const char*> & extensions);
+-
+-
+-extern bool WriteUserFormat (const string & format,
+-                             const Mesh & mesh,
+-                             const NetgenGeometry & geom,
+-                             const string & filename);
+-
+-#endif
+-
++#ifndef WRITEUSER
++#define WRITEUSER
++
++/**************************************************************************/
++/* File:    writeuser.hh                                                  */
++/* Authors: many                                                          */
++/* Date:    10. Dec. 97                                                   */
++/**************************************************************************/
++
++
++extern
++void WriteFile (int typ,
++                const Mesh & mesh,
++                const CSGeometry & geom,
++                const char * filename,
++                const char * geomfile = NULL,
++                double h = 0);
++
++
++
++extern
++void ReadFile (Mesh & mesh,
++               const string & filename);
++
++
++
++
++
++
++extern
++void WriteNeutralFormat (const Mesh & mesh,
++                         const CSGeometry & geom,
++                         const string & filename);
++
++extern
++void WriteSurfaceFormat (const Mesh & mesh,
++                         const string & filename);
++
++extern
++void WriteSTLFormat (const Mesh & mesh,
++                     const string & filename);
++
++
++// Philippose - 16 August 2010
++// Added the STL Extended format in which
++// each face of the geometry is treated as
++// a separate "solid" entity in the STL file
++extern
++void WriteSTLExtFormat (const Mesh & mesh,
++                        const string & filename);
++
++
++extern
++void WriteVRMLFormat (const Mesh & mesh,
++                      bool faces,
++                      const string & filename);
++
++extern
++void WriteFEPPFormat (const Mesh & mesh,
++                      const CSGeometry & geom,
++                      const string & filename);
++
++extern
++void WriteGmshFormat (const Mesh & mesh,
++                      const CSGeometry & geom,
++                      const string & filename);
++
++
++// Philippose - 29/01/2009
++// Added GMSH v2.xx Mesh Export support
++void WriteGmsh2Format (const Mesh & mesh,
++                       const CSGeometry & geom,
++                       const string & filename);
++
++
++// Philippose - 25/10/2009
++// Added OpenFOAM 1.5+ Mesh Export support
++extern
++void WriteOpenFOAM15xFormat (const Mesh & mesh,
++                             const string & casename,
++                                                       const bool compressed);
++
++
++extern
++void WriteUserChemnitz (const Mesh & mesh,
++                        const string & filename);
++
++extern
++void WriteJCMFormat (const Mesh & mesh,
++                     const CSGeometry & geom,
++                     const string & filename);
++
++
++extern
++void WriteDiffPackFormat (const Mesh & mesh,
++                          const CSGeometry & geom,
++                          const string & filename);
++
++extern
++void WriteTochnogFormat (const Mesh & mesh,
++                         const string & filename);
++
++extern
++void WriteTecPlotFormat (const Mesh & mesh,
++                         const CSGeometry & geom,
++                         const string & filename);
++
++extern
++void WriteAbaqusFormat (const Mesh & mesh,
++                        const string & filename);
++
++extern
++void WriteFluentFormat (const Mesh & mesh,
++                        const string & filename);
++
++extern
++void WritePermasFormat (const Mesh & mesh,
++                        const string & filename);
++
++extern
++void WriteFEAPFormat (const Mesh & mesh,
++                      const string & filename);
++
++extern
++void WriteElmerFormat (const Mesh & mesh,
++                       const string & filename);
++
++
++extern
++void WriteEdgeElementFormat (const Mesh & mesh,
++                             const CSGeometry & geom,
++                             const string & filename);
++
++
++
++#ifdef OLIVER
++extern
++void WriteTETFormat (const Mesh & mesh,
++                     const string & filename);
++
++#endif
++
++extern void ReadTETFormat (Mesh & mesh,
++                           const string & filename);
++
++
++extern void ReadFNFFormat (Mesh & mesh,
++                           const string & filename);
++
++
++
++void WriteDolfinFormat (const Mesh & mesh,
++                        const string & filename);
++
++
++extern void RegisterUserFormats (Array<const char*> & names,
++                                 Array<const char*> & extensions);
++
++
++extern bool WriteUserFormat (const string & format,
++                             const Mesh & mesh,
++                             const NetgenGeometry & geom,
++                             const string & filename);
++
++#endif
++
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/Makefile.am netgen-5.3.1_SRC_modif/libsrc/meshing/Makefile.am
+--- netgen-5.3.1_SRC_orig/libsrc/meshing/Makefile.am   2014-08-29 13:54:05.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/meshing/Makefile.am  2018-03-01 15:41:03.991158254 +0300
+@@ -15,7 +15,7 @@
+ METASOURCES = AUTO
+-lib_LTLIBRARIES = libmesh.la
++noinst_LTLIBRARIES = libmesh.la
+ libmesh_la_SOURCES = adfront2.cpp adfront3.cpp bisect.cpp boundarylayer.cpp \
+       clusters.cpp curvedelems.cpp delaunay.cpp delaunay2d.cpp            \
+@@ -30,8 +30,5 @@
+       topology.cpp triarls.cpp validate.cpp zrefine.cpp bcfunctions.cpp   \
+       parallelmesh.cpp  paralleltop.cpp  paralleltop.hpp basegeom.cpp 
+-libmesh_la_LIBADD =  $(top_builddir)/libsrc/linalg/libla.la \
+-      $(top_builddir)/libsrc/gprim/libgprim.la \
+-      $(top_builddir)/libsrc/general/libgen.la \
+-      -lz
++libmesh_la_LIBADD = -lz
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/findip.hpp netgen-5.3.1_SRC_modif/libsrc/meshing/findip.hpp
+--- netgen-5.3.1_SRC_orig/libsrc/meshing/findip.hpp    2014-08-29 13:54:05.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/meshing/findip.hpp   2018-03-01 15:41:03.991158254 +0300
+@@ -75,6 +75,9 @@
+   static int timer = NgProfiler::CreateTimer ("FindInnerPoint");
+   NgProfiler::RegionTimer reg (timer);
++  if ( points.Size() < 3 )
++    return 0;
++
+   Array<Vec3d> a;
+   Array<double> c;
+   Mat<3> m, inv;
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/improve3.cpp netgen-5.3.1_SRC_modif/libsrc/meshing/improve3.cpp
+--- netgen-5.3.1_SRC_orig/libsrc/meshing/improve3.cpp  2014-08-29 13:54:05.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/meshing/improve3.cpp 2018-03-01 15:41:03.991158254 +0300
+@@ -1219,6 +1219,7 @@
+             tetused = 0;
+             tetused[0] = 1;
++              int nbtetused = 0;
+             for (int l = 2; l < nsuround; l++)
+               {
+@@ -1239,10 +1240,12 @@
+                             
+                             tetused[k] = 1; 
+                             suroundpts[l] = newpi;
++                              ++nbtetused;
+                           }                   
+                     }
+               }
+-
++              if ( nbtetused < nsuround )
++                continue;
+             
+             bad1 = 0;
+             for (int k = 0; k < nsuround; k++)
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/meshtype.cpp netgen-5.3.1_SRC_modif/libsrc/meshing/meshtype.cpp
+--- netgen-5.3.1_SRC_orig/libsrc/meshing/meshtype.cpp  2014-08-29 13:54:05.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/meshing/meshtype.cpp 2018-03-01 15:41:03.992158147 +0300
+@@ -1,4 +1,5 @@
+ #include <mystdlib.h>
++#include <float.h> // to get DBL_MIN defined
+ #include "meshing.hpp"  
+@@ -666,7 +667,8 @@
+         double det = trans.Det();
+-        if (det <= 0)
++        // if (det <= 0)
++        if (det <= DBL_MIN) // avoid FPE
+           err += 1e12;
+         else
+           err += frob * frob / det;
+@@ -722,7 +724,8 @@
+             double det = trans(0,0)*trans(1,1)-trans(1,0)*trans(0,1);
+-            if (det <= 0)
++            // if (det <= 0)
++            if (det <= DBL_MIN)  // avoid FPE
+               {
+                 dd = 0;
+                 return 1e12;
+@@ -806,7 +809,8 @@
+           = dtrans(0,0) * trans(1,1) - trans(0,1) * dtrans(1,0)
+           + trans(0,0) * dtrans(1,1) - dtrans(0,1) * trans(1,0);
+-        if (det <= 0)
++        // if (det <= 0)
++        if (det <= DBL_MIN) // avoid FPE
+           err += 1e12;
+         else
+           {
+@@ -856,7 +860,8 @@
+         frob /= 2;
+         double det = trans.Det();
+-        if (det <= 0)
++        //if (det <= 0)
++        if (det <= DBL_MIN) // avoid FPE
+           err += 1e12;
+         else
+           err += frob * frob / det;
+@@ -1864,7 +1869,8 @@
+       case PYRAMID:
+         {
+           double noz = 1-p(2);
+-          if (noz == 0.0) noz = 1e-10;
++          //if (noz == 0.0) noz = 1e-10;
++          if (noz <= DBL_MIN) noz = 1e-10; // avoid FPE
+           double xi  = p(0) / noz;
+           double eta = p(1) / noz;
+@@ -2030,7 +2036,8 @@
+         double det = -trans.Det();
+       
+-        if (det <= 0)
++        //if (det <= 0)
++        if (det <= DBL_MIN) // avoid FPE
+           err += 1e12;
+         else
+           err += frob * frob * frob / det;
+@@ -2102,7 +2109,8 @@
+         ddet *= -1;
+       
+-        if (det <= 0)
++        //if (det <= 0)
++        if (det <= DBL_MIN) // avoid FPE
+           err += 1e12;
+         else
+           {
+@@ -2184,7 +2192,7 @@
+       
+         det *= -1;
+       
+-        if (det <= 0)
++        if (det <= DBL_MIN)
+           err += 1e12;
+         else
+           {
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/meshtype.hpp netgen-5.3.1_SRC_modif/libsrc/meshing/meshtype.hpp
+--- netgen-5.3.1_SRC_orig/libsrc/meshing/meshtype.hpp  2014-08-29 13:54:05.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/meshing/meshtype.hpp 2018-03-01 15:41:03.992158147 +0300
+@@ -15,6 +15,7 @@
+     Classes for NETGEN
+   */
++class Mesh; // added due to compilation errors on some platforms
+   enum ELEMENT_TYPE { 
+@@ -360,7 +361,7 @@
+         {
+ #ifdef DEBUG
+           if (typ != QUAD && typ != QUAD6 && typ != QUAD8)
+-            PrintSysError ("element2d::GetNV not implemented for typ", typ)
++            PrintSysError ("element2d::GetNV not implemented for typ", typ);
+ #endif
+           return 4;
+         }
+@@ -618,7 +619,7 @@
+         return 8;
+       default:
+ #ifdef DEBUG
+-        PrintSysError ("Element3d::GetNV not implemented for typ ", typ)
++        PrintSysError ("Element3d::GetNV not implemented for typ ", typ);
+ #endif
+           ;
+       }
+@@ -682,7 +683,7 @@
+       case PRISM12: return 5;
+       default:
+ #ifdef DEBUG
+-        PrintSysError ("element3d::GetNFaces not implemented for typ", typ)
++        PrintSysError ("element3d::GetNFaces not implemented for typ", typ);
+ #endif
+           ;
+       }
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Makefile.am netgen-5.3.1_SRC_modif/libsrc/occ/Makefile.am
+--- netgen-5.3.1_SRC_orig/libsrc/occ/Makefile.am       2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/Makefile.am      2018-03-01 15:41:03.993158039 +0300
+@@ -14,10 +14,10 @@
+ METASOURCES = AUTO
+-lib_LTLIBRARIES = libocc.la
++noinst_LTLIBRARIES = libocc.la
+ if NGGUI
+-lib_LTLIBRARIES += liboccvis.la 
++lib_LTLIBRARIES = liboccvis.la 
+ endif
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter2d.cxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter2d.cxx
+--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter2d.cxx     2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter2d.cxx    2018-03-01 15:41:03.993158039 +0300
+@@ -47,9 +47,7 @@
+ #include <TopOpeBRep_EdgesIntersector.hxx>
+ #include <TopOpeBRep_Point2d.hxx>
+ #include <TopTools_ListIteratorOfListOfShape.hxx>
+-#include <TopTools_ListOfShape.hxx>
+ #include <TopTools_MapIteratorOfMapOfShape.hxx>
+-#include <TopTools_MapOfShape.hxx>
+ #include <TopoDS.hxx>
+ #include <TopoDS_Edge.hxx>
+ #include <TopoDS_Vertex.hxx>
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter2d.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter2d.hxx
+--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter2d.hxx     2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter2d.hxx    2018-03-01 15:41:03.993158039 +0300
+@@ -27,7 +27,9 @@
+ #ifndef _Partition_Inter2d_HeaderFile
+ #define _Partition_Inter2d_HeaderFile
+-#ifndef _Handle_BRepAlgo_AsDes_HeaderFile
++#include <Standard_Version.hxx>
++
++#if OCC_VERSION_MAJOR < 7
+ #include <Handle_BRepAlgo_AsDes.hxx>
+ #endif
+ #ifndef _Standard_Real_HeaderFile
+@@ -36,11 +38,13 @@
+ #ifndef _Standard_Boolean_HeaderFile
+ #include <Standard_Boolean.hxx>
+ #endif
++
++#include <TopTools_MapOfShape.hxx>
++#include <TopTools_ListOfShape.hxx>
++
+ class BRepAlgo_AsDes;
+ class TopoDS_Face;
+-class TopTools_MapOfShape;
+ class TopoDS_Vertex;
+-class TopTools_ListOfShape;
+ class TopoDS_Edge;
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter3d.cxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter3d.cxx
+--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter3d.cxx     2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter3d.cxx    2018-03-01 15:41:03.993158039 +0300
+@@ -48,7 +48,6 @@
+ #include <TopOpeBRepTool_BoxSort.hxx>
+ #include <TopTools_DataMapIteratorOfDataMapOfShapeListOfShape.hxx>
+ #include <TopTools_ListIteratorOfListOfShape.hxx>
+-#include <TopTools_ListOfShape.hxx>
+ #include <TopoDS.hxx>
+ #include <TopoDS_Compound.hxx>
+ #include <TopoDS_Edge.hxx>
+@@ -206,7 +205,7 @@
+   Handle (Geom_Surface) S   = BRep_Tool::Surface(F,L);
+   if (S->IsKind(STANDARD_TYPE(Geom_RectangularTrimmedSurface))) {
+-    S = (*(Handle_Geom_RectangularTrimmedSurface*)&S)->BasisSurface();
++    S = Handle(Geom_RectangularTrimmedSurface)::DownCast (S)->BasisSurface();
+   }
+   if (!S->IsUPeriodic() && !S->IsVPeriodic())
+     return;
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter3d.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter3d.hxx
+--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter3d.hxx     2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter3d.hxx    2018-03-01 15:41:03.993158039 +0300
+@@ -27,7 +27,9 @@
+ #ifndef _Partition_Inter3d_HeaderFile
+ #define _Partition_Inter3d_HeaderFile
+-#ifndef _Handle_BRepAlgo_AsDes_HeaderFile
++#include <Standard_Version.hxx>
++
++#if OCC_VERSION_MAJOR < 7
+ #include <Handle_BRepAlgo_AsDes.hxx>
+ #endif
+ #ifndef _TopTools_DataMapOfShapeListOfShape_HeaderFile
+@@ -36,6 +38,9 @@
+ #ifndef _TopTools_MapOfShape_HeaderFile
+ #include <TopTools_MapOfShape.hxx>
+ #endif
++#ifndef _TopTools_ListOfShape_HeaderFile
++#include <TopTools_ListOfShape.hxx>
++#endif
+ #ifndef _TopTools_DataMapOfShapeShape_HeaderFile
+ #include <TopTools_DataMapOfShapeShape.hxx>
+ #endif
+@@ -43,10 +48,7 @@
+ #include <Standard_Boolean.hxx>
+ #endif
+ class BRepAlgo_AsDes;
+-class TopTools_ListOfShape;
+-class TopTools_DataMapOfShapeShape;
+ class TopoDS_Face;
+-class TopTools_MapOfShape;
+ class TopoDS_Shape;
+ class TopoDS_Vertex;
+ class TopoDS_Edge;
+@@ -83,13 +85,13 @@
+    void FacesPartition(const TopoDS_Face& F1,const TopoDS_Face& F2) ;
+    Standard_Boolean IsDone(const TopoDS_Face& F1,const TopoDS_Face& F2) const;
+    TopTools_MapOfShape& TouchedFaces() ;
+-   Handle_BRepAlgo_AsDes AsDes() const;
++   Handle(BRepAlgo_AsDes) AsDes() const;
+    TopTools_MapOfShape& NewEdges() ;
+    Standard_Boolean HasSameDomainF(const TopoDS_Shape& F) const;
+    Standard_Boolean IsSameDomainF(const TopoDS_Shape& F1,const TopoDS_Shape& F2) const;
+    const TopTools_ListOfShape& SameDomain(const TopoDS_Face& F) const;
+    TopoDS_Vertex ReplaceSameDomainV(const TopoDS_Vertex& V,const TopoDS_Edge& E) const;
+-   Handle_BRepAlgo_AsDes SectionEdgesAD() const;
++   Handle(BRepAlgo_AsDes) SectionEdgesAD() const;
+    Standard_Boolean IsSectionEdge(const TopoDS_Edge& E) const;
+    Standard_Boolean HasSectionEdge(const TopoDS_Face& F) const;
+    Standard_Boolean IsSplitOn(const TopoDS_Edge& NewE,const TopoDS_Edge& OldE,const TopoDS_Face& F) const;
+@@ -121,11 +123,11 @@
+    // Fields PRIVATE
+    //
+-   Handle_BRepAlgo_AsDes myAsDes;
++   Handle(BRepAlgo_AsDes) myAsDes;
+    TopTools_DataMapOfShapeListOfShape myDone;
+    TopTools_MapOfShape myTouched;
+    TopTools_MapOfShape myNewEdges;
+-   Handle_BRepAlgo_AsDes mySectionEdgesAD;
++   Handle(BRepAlgo_AsDes) mySectionEdgesAD;
+    TopTools_DataMapOfShapeListOfShape mySameDomainFM;
+    TopTools_DataMapOfShapeShape mySameDomainVM;
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop.hxx
+--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop.hxx        2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop.hxx       2018-03-01 15:41:03.994157932 +0300
+@@ -38,8 +38,6 @@
+ #endif
+ class TopoDS_Face;
+ class TopoDS_Edge;
+-class TopTools_ListOfShape;
+-
+ #ifndef _Standard_HeaderFile
+ #include <Standard.hxx>
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop2d.cxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop2d.cxx
+--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop2d.cxx      2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop2d.cxx     2018-03-01 15:41:03.994157932 +0300
+@@ -210,7 +210,7 @@
+     Cc->D1(uc, PC, CTg1);
+     if (!isForward) CTg1.Reverse();
+-    Standard_Real anglemin = 3 * PI, tolAng = 1.e-8;
++    Standard_Real anglemin = 3 * M_PI, tolAng = 1.e-8;
+     // select an edge whose first derivative is most left of CTg1
+     // ie an angle between Tg1 and CTg1 is least
+@@ -234,7 +234,7 @@
+       // -PI < angle < PI
+       Standard_Real angle = Tg1.Angle(CTg1);
+-      if (PI - Abs(angle) <= tolAng)
++      if (M_PI - Abs(angle) <= tolAng)
+       {
+         // an angle is too close to PI; assure that an angle sign really
+         // reflects an edge position: +PI - an edge is worst,
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop2d.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop2d.hxx
+--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop2d.hxx      2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop2d.hxx     2018-03-01 15:41:03.994157932 +0300
+@@ -24,7 +24,6 @@
+ #endif
+ class TopoDS_Face;
+ class TopoDS_Edge;
+-class TopTools_ListOfShape;
+ class BRepAlgo_Image;
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop3d.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop3d.hxx
+--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop3d.hxx      2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop3d.hxx     2018-03-01 15:41:03.994157932 +0300
+@@ -13,6 +13,9 @@
+ #ifndef _TopTools_ListOfShape_HeaderFile
+ #include <TopTools_ListOfShape.hxx>
+ #endif
++#ifndef _TopTools_MapOfOrientedShape_HeaderFile
++#include <TopTools_MapOfOrientedShape.hxx>
++#endif
+ #ifndef _TopTools_IndexedDataMapOfShapeListOfShape_HeaderFile
+ #include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
+ #endif
+@@ -23,8 +26,6 @@
+ #include <Standard_Real.hxx>
+ #endif
+ class TopoDS_Shape;
+-class TopTools_ListOfShape;
+-class TopTools_MapOfOrientedShape;
+ class TopoDS_Edge;
+ class TopoDS_Face;
+ class gp_Vec;
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Spliter.cxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Spliter.cxx
+--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Spliter.cxx     2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Spliter.cxx    2018-03-01 15:41:03.995157825 +0300
+@@ -48,7 +48,6 @@
+ #include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
+ #include <TopTools_IndexedMapOfShape.hxx>
+ #include <TopTools_ListIteratorOfListOfShape.hxx>
+-#include <TopTools_ListOfShape.hxx>
+ #include <TopTools_MapIteratorOfMapOfShape.hxx>
+ #include <TopTools_SequenceOfShape.hxx>
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Spliter.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Spliter.hxx
+--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Spliter.hxx     2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Spliter.hxx    2018-03-01 15:41:03.995157825 +0300
+@@ -28,9 +28,6 @@
+ #ifndef _TopTools_DataMapOfShapeShape_HeaderFile
+ #include <TopTools_DataMapOfShapeShape.hxx>
+ #endif
+-#ifndef _Handle_BRepAlgo_AsDes_HeaderFile
+-#include <Handle_BRepAlgo_AsDes.hxx>
+-#endif
+ #ifndef _BRepAlgo_Image_HeaderFile
+ #include <BRepAlgo_Image.hxx>
+ #endif
+@@ -45,7 +42,6 @@
+ #endif
+ class BRepAlgo_AsDes;
+ class TopoDS_Shape;
+-class TopTools_ListOfShape;
+ class TopoDS_Edge;
+@@ -129,7 +125,7 @@
+    TopTools_DataMapOfShapeShape myFaceShapeMap;
+    TopTools_DataMapOfShapeShape myInternalFaces;
+    TopTools_DataMapOfShapeShape myIntNotClFaces;
+-   Handle_BRepAlgo_AsDes myAsDes;
++   Handle(BRepAlgo_AsDes) myAsDes;
+    BRepAlgo_Image myImagesFaces;
+    BRepAlgo_Image myImagesEdges;
+    BRepAlgo_Image myImageShape;
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occconstruction.cpp netgen-5.3.1_SRC_modif/libsrc/occ/occconstruction.cpp
+--- netgen-5.3.1_SRC_orig/libsrc/occ/occconstruction.cpp       2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/occconstruction.cpp      2018-03-01 15:41:03.995157825 +0300
+@@ -28,7 +28,7 @@
+ #include <BRepAlgoAPI_Common.hxx>
+ #include <BRepAlgoAPI_Fuse.hxx>
+ #include <BRepAlgoAPI_Section.hxx>
+-#include <BRepOffsetAPI_Sewing.hxx>
++//#include <BRepOffsetAPI_Sewing.hxx>
+ //#include <BRepAlgo_Sewing.hxx>
+ #include <BRepOffsetAPI_MakeOffsetShape.hxx>
+ #include <ShapeFix_Shape.hxx>
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occgenmesh.cpp netgen-5.3.1_SRC_modif/libsrc/occ/occgenmesh.cpp
+--- netgen-5.3.1_SRC_orig/libsrc/occ/occgenmesh.cpp    2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/occgenmesh.cpp   2018-03-01 15:45:08.690877359 +0300
+@@ -1,1467 +1,1570 @@
+-#ifdef OCCGEOMETRY
+-
+-#include <mystdlib.h>
+-#include <occgeom.hpp>
+-#include <meshing.hpp>
+-
+-
+-namespace netgen
+-{
+-
+-#include "occmeshsurf.hpp"
+-
+-#define TCL_OK 0
+-#define TCL_ERROR 1
+-
+-#define DIVIDEEDGESECTIONS 1000
+-#define IGNORECURVELENGTH 1e-4
+-#define VSMALL 1e-10
+-
+-
+-   bool merge_solids = 1;
+-
+-
+-  // can you please explain what you intend to compute here (JS) !!!
+-   double Line :: Dist (Line l)
+-   {
+-      Vec<3> n = p1-p0;
+-      Vec<3> q = l.p1-l.p0;
+-      double nq = n*q;
+-
+-      Point<3> p = p0 + 0.5*n;
+-      double lambda = (p-l.p0)*n / (nq + VSMALL);
+-
+-      if (lambda >= 0 && lambda <= 1)
+-      {
+-         double d = (p-l.p0-lambda*q).Length();
+-         //        if (d < 1e-3) d = 1e99;
+-         return d;
+-      }
+-      else
+-         return 1e99;
+-   }
+-
+-
+-
+-   double Line :: Length ()
+-   {
+-      return (p1-p0).Length();
+-   }
+-
+-
+-
+-   inline Point<3> occ2ng (const gp_Pnt & p)
+-   {
+-      return  Point<3> (p.X(), p.Y(), p.Z());
+-   }
+-
+-
+-
+-   double ComputeH (double kappa)
+-   {
+-      double hret;
+-      kappa *= mparam.curvaturesafety;
+-
+-      if (mparam.maxh * kappa < 1)
+-         hret = mparam.maxh;
+-      else
+-         hret = 1 / (kappa + VSMALL);
+-
+-      if (mparam.maxh < hret)
+-         hret = mparam.maxh;
+-
+-      return (hret);
+-   }
+-
+-
+-
+-
+-   void RestrictHTriangle (gp_Pnt2d & par0, gp_Pnt2d & par1, gp_Pnt2d & par2,
+-                           BRepLProp_SLProps * prop, Mesh & mesh, int depth, double h = 0)
+-   {
+-      int ls = -1;
+-
+-      gp_Pnt pnt0,pnt1,pnt2;
+-
+-      prop->SetParameters (par0.X(), par0.Y());
+-      pnt0 = prop->Value();
+-
+-      prop->SetParameters (par1.X(), par1.Y());
+-      pnt1 = prop->Value();
+-
+-      prop->SetParameters (par2.X(), par2.Y());
+-      pnt2 = prop->Value();
+-
+-      double aux;
+-      double maxside = pnt0.Distance(pnt1);
+-      ls = 2;
+-      aux = pnt1.Distance(pnt2);
+-      if(aux > maxside)
+-      {
+-         maxside = aux;
+-         ls = 0;
+-      }
+-      aux = pnt2.Distance(pnt0);
+-      if(aux > maxside)
+-      {
+-         maxside = aux;
+-         ls = 1;
+-      }
+-
+-
+-
+-      gp_Pnt2d parmid;
+-
+-      parmid.SetX( (par0.X()+par1.X()+par2.X()) / 3 );
+-      parmid.SetY( (par0.Y()+par1.Y()+par2.Y()) / 3 );
+-
+-      if (depth%3 == 0)
+-      {
+-         double curvature = 0;
+-
+-         prop->SetParameters (parmid.X(), parmid.Y());
+-         if (!prop->IsCurvatureDefined())
+-         {
+-            (*testout) << "curvature not defined!" << endl;
+-            return;
+-         }
+-         curvature = max(fabs(prop->MinCurvature()),
+-            fabs(prop->MaxCurvature()));
+-
+-         prop->SetParameters (par0.X(), par0.Y());
+-         if (!prop->IsCurvatureDefined())
+-         {
+-            (*testout) << "curvature not defined!" << endl;
+-            return;
+-         }
+-         curvature = max(curvature,max(fabs(prop->MinCurvature()),
+-            fabs(prop->MaxCurvature())));
+-
+-         prop->SetParameters (par1.X(), par1.Y());
+-         if (!prop->IsCurvatureDefined())
+-         {
+-            (*testout) << "curvature not defined!" << endl;
+-            return;
+-         }
+-         curvature = max(curvature,max(fabs(prop->MinCurvature()),
+-            fabs(prop->MaxCurvature())));
+-
+-         prop->SetParameters (par2.X(), par2.Y());
+-         if (!prop->IsCurvatureDefined())
+-         {
+-            (*testout) << "curvature not defined!" << endl;
+-            return;
+-         }
+-         curvature = max(curvature,max(fabs(prop->MinCurvature()),
+-            fabs(prop->MaxCurvature())));
+-
+-         //(*testout) << "curvature " << curvature << endl;
+-
+-         if (curvature < 1e-3)
+-         {
+-            //(*testout) << "curvature too small (" << curvature << ")!" << endl;
+-            return;
+-            // return war bis 10.2.05 auskommentiert
+-         }
+-
+-
+-
+-         h = ComputeH (curvature+1e-10);
+-
+-         if(h < 1e-4*maxside)
+-            return;
+-
+-
+-         if (h > 30) return;
+-      }
+-
+-      if (h < maxside && depth < 10)
+-      {
+-         //cout << "\r h " << h << flush;
+-         gp_Pnt2d pm;
+-
+-         //cout << "h " << h << " maxside " << maxside << " depth " << depth << endl;
+-         //cout << "par0 " << par0.X() << " " << par0.Y()
+-         //<< " par1 " << par1.X() << " " << par1.Y()
+-         //   << " par2 " << par2.X() << " " << par2.Y()<< endl;
+-
+-         if(ls == 0)
+-         {
+-            pm.SetX(0.5*(par1.X()+par2.X())); pm.SetY(0.5*(par1.Y()+par2.Y()));
+-            RestrictHTriangle(pm, par2, par0, prop, mesh, depth+1, h);
+-            RestrictHTriangle(pm, par0, par1, prop, mesh, depth+1, h);
+-         }
+-         else if(ls == 1)
+-         {
+-            pm.SetX(0.5*(par0.X()+par2.X())); pm.SetY(0.5*(par0.Y()+par2.Y()));
+-            RestrictHTriangle(pm, par1, par2, prop, mesh, depth+1, h);
+-            RestrictHTriangle(pm, par0, par1, prop, mesh, depth+1, h);
+-         }
+-         else if(ls == 2)
+-         {
+-            pm.SetX(0.5*(par0.X()+par1.X())); pm.SetY(0.5*(par0.Y()+par1.Y()));
+-            RestrictHTriangle(pm, par1, par2, prop, mesh, depth+1, h);
+-            RestrictHTriangle(pm, par2, par0, prop, mesh, depth+1, h);
+-         }
+-
+-      }
+-      else
+-      {
+-         gp_Pnt pnt;
+-         Point3d p3d;
+-
+-         prop->SetParameters (parmid.X(), parmid.Y());
+-         pnt = prop->Value();
+-         p3d = Point3d(pnt.X(), pnt.Y(), pnt.Z());
+-         mesh.RestrictLocalH (p3d, h);
+-
+-         p3d = Point3d(pnt0.X(), pnt0.Y(), pnt0.Z());
+-         mesh.RestrictLocalH (p3d, h);
+-
+-         p3d = Point3d(pnt1.X(), pnt1.Y(), pnt1.Z());
+-         mesh.RestrictLocalH (p3d, h);
+-
+-         p3d = Point3d(pnt2.X(), pnt2.Y(), pnt2.Z());
+-         mesh.RestrictLocalH (p3d, h);
+-
+-         //(*testout) << "p = " << p3d << ", h = " << h << ", maxside = " << maxside << endl;
+-
+-      }
+-   }
+-
+-
+-
+-   void DivideEdge (TopoDS_Edge & edge, Array<MeshPoint> & ps,
+-                    Array<double> & params, Mesh & mesh)
+-   {
+-      double s0, s1;
+-      double maxh = mparam.maxh;
+-      int nsubedges = 1;
+-      gp_Pnt pnt, oldpnt;
+-      double svalue[DIVIDEEDGESECTIONS];
+-
+-      GProp_GProps system;
+-      BRepGProp::LinearProperties(edge, system);
+-      double L = system.Mass();
+-
+-      Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1);
+-
+-      double hvalue[DIVIDEEDGESECTIONS+1];
+-      hvalue[0] = 0;
+-      pnt = c->Value(s0);
+-
+-      double olddist = 0;
+-      double dist = 0;
+-
+-      int tmpVal = (int)(DIVIDEEDGESECTIONS);
+-
+-      for (int i = 1; i <= tmpVal; i++)
+-      {
+-         oldpnt = pnt;
+-         pnt = c->Value(s0+(i/double(DIVIDEEDGESECTIONS))*(s1-s0));
+-         hvalue[i] = hvalue[i-1] +
+-            1.0/mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))*
+-            pnt.Distance(oldpnt);
+-
+-         //(*testout) << "mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z())) " << mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))
+-         //      <<  " pnt.Distance(oldpnt) " << pnt.Distance(oldpnt) << endl;
+-
+-         olddist = dist;
+-         dist = pnt.Distance(oldpnt);
+-      }
+-
+-      //  nsubedges = int(ceil(hvalue[DIVIDEEDGESECTIONS]));
+-      nsubedges = max (1, int(floor(hvalue[DIVIDEEDGESECTIONS]+0.5)));
+-
+-      ps.SetSize(nsubedges-1);
+-      params.SetSize(nsubedges+1);
+-
+-      int i = 1;
+-      int i1 = 0;
+-      do
+-      {
+-         if (hvalue[i1]/hvalue[DIVIDEEDGESECTIONS]*nsubedges >= i)
+-         {
+-            params[i] = s0+(i1/double(DIVIDEEDGESECTIONS))*(s1-s0);
+-            pnt = c->Value(params[i]);
+-            ps[i-1] = MeshPoint (Point3d(pnt.X(), pnt.Y(), pnt.Z()));
+-            i++;
+-         }
+-         i1++;
+-         if (i1 > DIVIDEEDGESECTIONS)
+-         {
+-            nsubedges = i;
+-            ps.SetSize(nsubedges-1);
+-            params.SetSize(nsubedges+1);
+-            cout << "divide edge: local h too small" << endl;
+-         }
+-      } while (i < nsubedges);
+-
+-      params[0] = s0;
+-      params[nsubedges] = s1;
+-
+-      if (params[nsubedges] <= params[nsubedges-1])
+-      {
+-         cout << "CORRECTED" << endl;
+-         ps.SetSize (nsubedges-2);
+-         params.SetSize (nsubedges);
+-         params[nsubedges] = s1;
+-      }
+-   }
+-
+-
+-
+-
+-   void OCCFindEdges (OCCGeometry & geom, Mesh & mesh)
+-   {
+-      const char * savetask = multithread.task;
+-      multithread.task = "Edge meshing";
+-
+-      (*testout) << "edge meshing" << endl;
+-
+-      int nvertices = geom.vmap.Extent();
+-      int nedges = geom.emap.Extent();
+-
+-      (*testout) << "nvertices = " << nvertices << endl;
+-      (*testout) << "nedges = " << nedges << endl;
+-
+-      double eps = 1e-6 * geom.GetBoundingBox().Diam();
+-
+-      for (int i = 1; i <= nvertices; i++)
+-      {
+-         gp_Pnt pnt = BRep_Tool::Pnt (TopoDS::Vertex(geom.vmap(i)));
+-         MeshPoint mp( Point<3>(pnt.X(), pnt.Y(), pnt.Z()) );
+-
+-         bool exists = 0;
+-         if (merge_solids)
+-            for (PointIndex pi = 1; pi <= mesh.GetNP(); pi++)
+-               if ( Dist2 (mesh[pi], Point<3>(mp)) < eps*eps)
+-               {
+-                  exists = 1;
+-                  break;
+-               }
+-
+-               if (!exists)
+-                  mesh.AddPoint (mp);
+-      }
+-
+-      (*testout) << "different vertices = " << mesh.GetNP() << endl;
+-
+-
+-      int first_ep = mesh.GetNP()+1;
+-
+-      Array<int> face2solid[2];
+-      for (int i = 0; i<2; i++)
+-      {
+-         face2solid[i].SetSize (geom.fmap.Extent());
+-         face2solid[i] = 0;
+-      }
+-
+-      int solidnr = 0;
+-      for (TopExp_Explorer exp0(geom.shape, TopAbs_SOLID); exp0.More(); exp0.Next())
+-      {
+-         solidnr++;
+-         for (TopExp_Explorer exp1(exp0.Current(), TopAbs_FACE); exp1.More(); exp1.Next())
+-         {
+-            TopoDS_Face face = TopoDS::Face(exp1.Current());
+-            int facenr = geom.fmap.FindIndex(face);
+-
+-            if (face2solid[0][facenr-1] == 0)
+-               face2solid[0][facenr-1] = solidnr;
+-            else
+-               face2solid[1][facenr-1] = solidnr;
+-         }
+-      }
+-
+-
+-      int total = 0;
+-      for (int i3 = 1; i3 <= geom.fmap.Extent(); i3++)
+-         for (TopExp_Explorer exp2(geom.fmap(i3), TopAbs_WIRE); exp2.More(); exp2.Next())
+-            for (TopExp_Explorer exp3(exp2.Current(), TopAbs_EDGE); exp3.More(); exp3.Next())
+-               total++;
+-
+-
+-      int facenr = 0;
+-      int edgenr = 0;
+-
+-
+-      (*testout) << "faces = " << geom.fmap.Extent() << endl;
+-      int curr = 0;
+-
+-      for (int i3 = 1; i3 <= geom.fmap.Extent(); i3++)
+-      {
+-         TopoDS_Face face = TopoDS::Face(geom.fmap(i3));
+-         facenr = geom.fmap.FindIndex (face);       // sollte doch immer == i3 sein ??? JS
+-
+-         int solidnr0 = face2solid[0][i3-1];
+-         int solidnr1 = face2solid[1][i3-1];
+-
+-         /* auskommentiert am 3.3.05 von robert
+-         for (exp2.Init (geom.somap(solidnr0), TopAbs_FACE); exp2.More(); exp2.Next())
+-         {
+-         TopoDS_Face face2 = TopoDS::Face(exp2.Current());
+-         if (geom.fmap.FindIndex(face2) == facenr)
+-         {
+-         //                 if (face.Orientation() != face2.Orientation()) swap (solidnr0, solidnr1);
+-         }
+-         }
+-         */
+-
+-         mesh.AddFaceDescriptor (FaceDescriptor(facenr, solidnr0, solidnr1, 0));
+-
+-         // Philippose - 06/07/2009
+-         // Add the face colour to the mesh data
+-         Quantity_Color face_colour;
+-
+-         if(!(geom.face_colours.IsNull())
+-            && (geom.face_colours->GetColor(face,XCAFDoc_ColorSurf,face_colour)))
+-         {
+-            mesh.GetFaceDescriptor(facenr).SetSurfColour(Vec3d(face_colour.Red(),face_colour.Green(),face_colour.Blue()));
+-         }
+-         else
+-         {
+-            mesh.GetFaceDescriptor(facenr).SetSurfColour(Vec3d(0.0,1.0,0.0));
+-         }
+-         // ACHTUNG! STIMMT NICHT ALLGEMEIN (RG)
+-
+-
+-         Handle(Geom_Surface) occface = BRep_Tool::Surface(face);
+-
+-         for (TopExp_Explorer exp2 (face, TopAbs_WIRE); exp2.More(); exp2.Next())
+-         {
+-            TopoDS_Shape wire = exp2.Current();
+-
+-            for (TopExp_Explorer exp3 (wire, TopAbs_EDGE); exp3.More(); exp3.Next())
+-            {
+-               curr++;
+-               (*testout) << "edge nr " << curr << endl;
+-
+-               multithread.percent = 100 * curr / double (total);
+-               if (multithread.terminate) return;
+-
+-               TopoDS_Edge edge = TopoDS::Edge (exp3.Current());
+-               if (BRep_Tool::Degenerated(edge))
+-               {
+-                  //(*testout) << "ignoring degenerated edge" << endl;
+-                  continue;
+-               }
+-
+-               if (geom.vmap.FindIndex(TopExp::FirstVertex (edge)) ==
+-                  geom.vmap.FindIndex(TopExp::LastVertex (edge)))
+-               {
+-                  GProp_GProps system;
+-                  BRepGProp::LinearProperties(edge, system);
+-
+-                  if (system.Mass() < eps)
+-                  {
+-                     cout << "ignoring edge " << geom.emap.FindIndex (edge)
+-                        << ". closed edge with length < " << eps << endl;
+-                     continue;
+-                  }
+-               }
+-
+-
+-               Handle(Geom2d_Curve) cof;
+-               double s0, s1;
+-               cof = BRep_Tool::CurveOnSurface (edge, face, s0, s1);
+-
+-               int geomedgenr = geom.emap.FindIndex(edge);
+-
+-               Array <MeshPoint> mp;
+-               Array <double> params;
+-
+-               DivideEdge (edge, mp, params, mesh);
+- 
+-               Array <int> pnums;
+-               pnums.SetSize (mp.Size()+2);
+-
+-               if (!merge_solids)
+-               {
+-                  pnums[0] = geom.vmap.FindIndex (TopExp::FirstVertex (edge));
+-                  pnums[pnums.Size()-1] = geom.vmap.FindIndex (TopExp::LastVertex (edge));
+-               }
+-               else
+-               {
+-                  Point<3> fp = occ2ng (BRep_Tool::Pnt (TopExp::FirstVertex (edge)));
+-                  Point<3> lp = occ2ng (BRep_Tool::Pnt (TopExp::LastVertex (edge)));
+-
+-                  pnums[0] = -1;
+-                  pnums.Last() = -1;
+-                  for (PointIndex pi = 1; pi < first_ep; pi++)
+-                  {
+-                     if (Dist2 (mesh[pi], fp) < eps*eps) pnums[0] = pi;
+-                     if (Dist2 (mesh[pi], lp) < eps*eps) pnums.Last() = pi;
+-                  }
+-               }
+-
+-
+-               for (int i = 1; i <= mp.Size(); i++)
+-               {
+-                  bool exists = 0;
+-                  int j;
+-                  for (j = first_ep; j <= mesh.GetNP(); j++)
+-                     if ((mesh.Point(j)-Point<3>(mp[i-1])).Length() < eps)
+-                     {
+-                        exists = 1;
+-                        break;
+-                     }
+-
+-                     if (exists)
+-                        pnums[i] = j;
+-                     else
+-                     {
+-                        mesh.AddPoint (mp[i-1]);
+-                        (*testout) << "add meshpoint " << mp[i-1] << endl;
+-                        pnums[i] = mesh.GetNP();
+-                     }
+-               }
+-               (*testout) << "NP = " << mesh.GetNP() << endl;
+-
+-               //(*testout) << pnums[pnums.Size()-1] << endl;
+-
+-               for (int i = 1; i <= mp.Size()+1; i++)
+-               {
+-                  edgenr++;
+-                  Segment seg;
+-
+-                  seg[0] = pnums[i-1];
+-                  seg[1] = pnums[i];
+-                  seg.edgenr = edgenr;
+-                  seg.si = facenr;
+-                  seg.epgeominfo[0].dist = params[i-1];
+-                  seg.epgeominfo[1].dist = params[i];
+-                  seg.epgeominfo[0].edgenr = geomedgenr;
+-                  seg.epgeominfo[1].edgenr = geomedgenr;
+-
+-                  gp_Pnt2d p2d;
+-                  p2d = cof->Value(params[i-1]);
+-                  //                  if (i == 1) p2d = cof->Value(s0);
+-                  seg.epgeominfo[0].u = p2d.X();
+-                  seg.epgeominfo[0].v = p2d.Y();
+-                  p2d = cof->Value(params[i]);
+-                  //                  if (i == mp.Size()+1) p2d = cof -> Value(s1);
+-                  seg.epgeominfo[1].u = p2d.X();
+-                  seg.epgeominfo[1].v = p2d.Y();
+-
+-                  /*
+-                  if (occface->IsUPeriodic())
+-                  {
+-                  cout << "U Periodic" << endl;
+-                  if (fabs(seg.epgeominfo[1].u-seg.epgeominfo[0].u) >
+-                  fabs(seg.epgeominfo[1].u-
+-                  (seg.epgeominfo[0].u-occface->UPeriod())))
+-                  seg.epgeominfo[0].u = p2d.X()+occface->UPeriod();
+-
+-                  if (fabs(seg.epgeominfo[1].u-seg.epgeominfo[0].u) >
+-                  fabs(seg.epgeominfo[1].u-
+-                  (seg.epgeominfo[0].u+occface->UPeriod())))
+-                  seg.epgeominfo[0].u = p2d.X()-occface->UPeriod();
+-                  }
+-
+-                  if (occface->IsVPeriodic())
+-                  {
+-                  cout << "V Periodic" << endl;
+-                  if (fabs(seg.epgeominfo[1].v-seg.epgeominfo[0].v) >
+-                  fabs(seg.epgeominfo[1].v-
+-                  (seg.epgeominfo[0].v-occface->VPeriod())))
+-                  seg.epgeominfo[0].v = p2d.Y()+occface->VPeriod();
+-
+-                  if (fabs(seg.epgeominfo[1].v-seg.epgeominfo[0].v) >
+-                  fabs(seg.epgeominfo[1].v-
+-                  (seg.epgeominfo[0].v+occface->VPeriod())))
+-                  seg.epgeominfo[0].v = p2d.Y()-occface->VPeriod();
+-                  }
+-                  */
+-
+-                  if (edge.Orientation() == TopAbs_REVERSED)
+-                  {
+-                     swap (seg[0], seg[1]);
+-                     swap (seg.epgeominfo[0].dist, seg.epgeominfo[1].dist);
+-                     swap (seg.epgeominfo[0].u, seg.epgeominfo[1].u);
+-                     swap (seg.epgeominfo[0].v, seg.epgeominfo[1].v);
+-                  }
+-
+-                  mesh.AddSegment (seg);
+-
+-                  //edgesegments[geomedgenr-1]->Append(mesh.GetNSeg());
+-
+-               }
+-            }
+-         }
+-      }
+-
+-      //      for(i=1; i<=mesh.GetNSeg(); i++)
+-      //              (*testout) << "edge " << mesh.LineSegment(i).edgenr << " face " << mesh.LineSegment(i).si
+-      //                              << " p1 " << mesh.LineSegment(i)[0] << " p2 " << mesh.LineSegment(i)[1] << endl;
+-      //      exit(10);
+-
+-      mesh.CalcSurfacesOfNode();
+-      multithread.task = savetask;
+-   }
+-
+-
+-
+-
+-   void OCCMeshSurface (OCCGeometry & geom, Mesh & mesh, int perfstepsend)
+-   {
+-      int i, j, k;
+-      int changed;
+-
+-      const char * savetask = multithread.task;
+-      multithread.task = "Surface meshing";
+-
+-      geom.facemeshstatus = 0;
+-
+-      int noldp = mesh.GetNP();
+-
+-      double starttime = GetTime();
+-
+-      Array<int> glob2loc(noldp);
+-
+-      //int projecttype = PARAMETERSPACE;
+-
+-      int projecttype = PARAMETERSPACE;
+-
+-      int notrys = 1;
+-
+-      int surfmesherror = 0;
+-
+-      for (k = 1; k <= mesh.GetNFD(); k++)
+-      {
+-         if(1==0 && !geom.fvispar[k-1].IsDrawable())
+-         {
+-            (*testout) << "ignoring face " << k << endl;
+-            cout << "ignoring face " << k << endl;
+-            continue;
+-         }
+-
+-         (*testout) << "mesh face " << k << endl;
+-         multithread.percent = 100 * k / (mesh.GetNFD() + VSMALL);
+-         geom.facemeshstatus[k-1] = -1;
+-
+-
+-         /*
+-         if (k != 42)
+-         {
+-         cout << "skipped" << endl;
+-         continue;
+-         }
+-         */
+-
+-
+-         FaceDescriptor & fd = mesh.GetFaceDescriptor(k);
+-
+-         int oldnf = mesh.GetNSE();
+-
+-         Box<3> bb = geom.GetBoundingBox();
+-
+-         //      int projecttype = PLANESPACE;
+-
+-         Meshing2OCCSurfaces meshing(TopoDS::Face(geom.fmap(k)), bb, projecttype);
+-
+-         if (meshing.GetProjectionType() == PLANESPACE)
+-            PrintMessage (2, "Face ", k, " / ", mesh.GetNFD(), " (plane space projection)");
+-         else
+-            PrintMessage (2, "Face ", k, " / ", mesh.GetNFD(), " (parameter space projection)");
+-
+-         if (surfmesherror)
+-            cout << "Surface meshing error occured before (in " << surfmesherror << " faces)" << endl;
+-
+-         //      Meshing2OCCSurfaces meshing(f2, bb);
+-         meshing.SetStartTime (starttime);
+-
+-         //(*testout) << "Face " << k << endl << endl;
+-
+-
+-         if (meshing.GetProjectionType() == PLANESPACE)
+-         {
+-            int cntp = 0;
+-            glob2loc = 0;
+-            for (i = 1; i <= mesh.GetNSeg(); i++)
+-            {
+-               Segment & seg = mesh.LineSegment(i);
+-               if (seg.si == k)
+-               {
+-                  for (j = 1; j <= 2; j++)
+-                  {
+-                     int pi = (j == 1) ? seg[0] : seg[1];
+-                     if (!glob2loc.Get(pi))
+-                     {
+-                        meshing.AddPoint (mesh.Point(pi), pi);
+-                        cntp++;
+-                        glob2loc.Elem(pi) = cntp;
+-                     }
+-                  }
+-               }
+-            }
+-
+-            for (i = 1; i <= mesh.GetNSeg(); i++)
+-            {
+-               Segment & seg = mesh.LineSegment(i);
+-               if (seg.si == k)
+-               {
+-                  PointGeomInfo gi0, gi1;
+-                  gi0.trignum = gi1.trignum = k;
+-                  gi0.u = seg.epgeominfo[0].u;
+-                  gi0.v = seg.epgeominfo[0].v;
+-                  gi1.u = seg.epgeominfo[1].u;
+-                  gi1.v = seg.epgeominfo[1].v;
+-
+-                  meshing.AddBoundaryElement (glob2loc.Get(seg[0]), glob2loc.Get(seg[1]), gi0, gi1);
+-                  //(*testout) << gi0.u << " " << gi0.v << endl;
+-                  //(*testout) << gi1.u << " " << gi1.v << endl;
+-               }
+-            }
+-         }
+-         else
+-         {
+-            int cntp = 0;
+-
+-            for (i = 1; i <= mesh.GetNSeg(); i++)
+-               if (mesh.LineSegment(i).si == k)
+-                  cntp+=2;
+-
+-
+-            Array< PointGeomInfo > gis;
+-
+-            gis.SetAllocSize (cntp);
+-            gis.SetSize (0);
+-
+-            for (i = 1; i <= mesh.GetNSeg(); i++)
+-            {
+-               Segment & seg = mesh.LineSegment(i);
+-               if (seg.si == k)
+-               {
+-                  PointGeomInfo gi0, gi1;
+-                  gi0.trignum = gi1.trignum = k;
+-                  gi0.u = seg.epgeominfo[0].u;
+-                  gi0.v = seg.epgeominfo[0].v;
+-                  gi1.u = seg.epgeominfo[1].u;
+-                  gi1.v = seg.epgeominfo[1].v;
+-
+-                  int locpnum[2] = {0, 0};
+-
+-                  for (j = 0; j < 2; j++)
+-                  {
+-                     PointGeomInfo gi = (j == 0) ? gi0 : gi1;
+-
+-                     int l;
+-                     for (l = 0; l < gis.Size() && locpnum[j] == 0; l++)
+-                     {
+-                        double dist = sqr (gis[l].u-gi.u)+sqr(gis[l].v-gi.v);
+-
+-                        if (dist < 1e-10)
+-                           locpnum[j] = l+1;
+-                     }
+-
+-                     if (locpnum[j] == 0)
+-                     {
+-                        int pi = (j == 0) ? seg[0] : seg[1];
+-                        meshing.AddPoint (mesh.Point(pi), pi);
+-
+-                        gis.SetSize (gis.Size()+1);
+-                        gis[l] = gi;
+-                        locpnum[j] = l+1;
+-                     }
+-                  }
+-
+-                  meshing.AddBoundaryElement (locpnum[0], locpnum[1], gi0, gi1);
+-                  //(*testout) << gi0.u << " " << gi0.v << endl;
+-                  //(*testout) << gi1.u << " " << gi1.v << endl;
+-
+-               }
+-            }
+-         }
+-
+-
+-
+-
+-
+-         // Philippose - 15/01/2009
+-         double maxh = geom.face_maxh[k-1];
+-         //double maxh = mparam.maxh;
+-         mparam.checkoverlap = 0;
+-         //      int noldpoints = mesh->GetNP();
+-         int noldsurfel = mesh.GetNSE();
+-
+-         GProp_GProps sprops;
+-         BRepGProp::SurfaceProperties(TopoDS::Face(geom.fmap(k)),sprops);
+-         meshing.SetMaxArea(2.*sprops.Mass());
+-
+-         MESHING2_RESULT res;
+-
+-         try {
+-         res = meshing.GenerateMesh (mesh, mparam, maxh, k);
+-         }
+-
+-         catch (SingularMatrixException)
+-         {
+-            (*myerr) << "Singular Matrix" << endl;
+-            res = MESHING2_GIVEUP;
+-         }
+-
+-         catch (UVBoundsException)
+-         {
+-            (*myerr) << "UV bounds exceeded" << endl;
+-            res = MESHING2_GIVEUP;
+-         }
+-
+-         projecttype = PARAMETERSPACE;
+-
+-         if (res != MESHING2_OK)
+-         {
+-            if (notrys == 1)
+-            {
+-               for (int i = noldsurfel+1; i <= mesh.GetNSE(); i++)
+-                  mesh.DeleteSurfaceElement (i);
+-
+-               mesh.Compress();
+-
+-               cout << "retry Surface " << k << endl;
+-
+-               k--;
+-               projecttype*=-1;
+-               notrys++;
+-               continue;
+-            }
+-            else
+-            {
+-               geom.facemeshstatus[k-1] = -1;
+-               PrintError ("Problem in Surface mesh generation");
+-               surfmesherror++;
+-               //           throw NgException ("Problem in Surface mesh generation");
+-            }
+-         }
+-         else
+-         {
+-            geom.facemeshstatus[k-1] = 1;
+-         }
+-
+-         notrys = 1;
+-
+-         for (i = oldnf+1; i <= mesh.GetNSE(); i++)
+-            mesh.SurfaceElement(i).SetIndex (k);
+-
+-      }
+-
+-//      ofstream problemfile("occmesh.rep");
+-
+-//      problemfile << "SURFACEMESHING" << endl << endl;
+-
+-      if (surfmesherror)
+-      {
+-         cout << "WARNING! NOT ALL FACES HAVE BEEN MESHED" << endl;
+-         cout << "SURFACE MESHING ERROR OCCURED IN " << surfmesherror << " FACES:" << endl;
+-         for (int i = 1; i <= geom.fmap.Extent(); i++)
+-            if (geom.facemeshstatus[i-1] == -1)
+-            {
+-               cout << "Face " << i << endl;
+-//               problemfile << "problem with face " << i << endl;
+-//               problemfile << "vertices: " << endl;
+-               TopExp_Explorer exp0,exp1,exp2;
+-               for ( exp0.Init(TopoDS::Face (geom.fmap(i)), TopAbs_WIRE); exp0.More(); exp0.Next() )
+-               {
+-                  TopoDS_Wire wire = TopoDS::Wire(exp0.Current());
+-                  for ( exp1.Init(wire,TopAbs_EDGE); exp1.More(); exp1.Next() )
+-                  {
+-                     TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
+-                     for ( exp2.Init(edge,TopAbs_VERTEX); exp2.More(); exp2.Next() )
+-                     {
+-                        TopoDS_Vertex vertex = TopoDS::Vertex(exp2.Current());
+-                        gp_Pnt point = BRep_Tool::Pnt(vertex);
+-//                        problemfile << point.X() << " " << point.Y() << " " << point.Z() << endl;
+-                     }
+-                  }
+-               }
+-//               problemfile << endl;
+-
+-            }
+-            cout << endl << endl;
+-            cout << "for more information open IGES/STEP Topology Explorer" << endl;
+-//            problemfile.close();
+-            throw NgException ("Problem in Surface mesh generation");
+-      }
+-      else
+-      {
+-//         problemfile << "OK" << endl << endl;
+-//         problemfile.close();
+-      }
+-
+-
+-
+-
+-      if (multithread.terminate || perfstepsend < MESHCONST_OPTSURFACE)
+-         return;
+-
+-      multithread.task = "Optimizing surface";
+-
+-      static int timer_opt2d = NgProfiler::CreateTimer ("Optimization 2D");
+-      NgProfiler::StartTimer (timer_opt2d);
+-
+-      for (k = 1; k <= mesh.GetNFD(); k++)
+-      {
+-         //      if (k != 42) continue;
+-         //      if (k != 36) continue;
+-
+-         //      (*testout) << "optimize face " << k << endl;
+-         multithread.percent = 100 * k / (mesh.GetNFD() + VSMALL);
+-
+-         FaceDescriptor & fd = mesh.GetFaceDescriptor(k);
+-
+-         PrintMessage (1, "Optimize Surface ", k);
+-         for (i = 1; i <= mparam.optsteps2d; i++)
+-         {
+-            //          (*testout) << "optstep " << i << endl;
+-            if (multithread.terminate) return;
+-
+-            {
+-               MeshOptimize2dOCCSurfaces meshopt(geom);
+-               meshopt.SetFaceIndex (k);
+-               meshopt.SetImproveEdges (0);
+-               meshopt.SetMetricWeight (mparam.elsizeweight);
+-               //meshopt.SetMetricWeight (0.2);
+-               meshopt.SetWriteStatus (0);
+-
+-               //         (*testout) << "EdgeSwapping (mesh, (i > mparam.optsteps2d/2))" << endl;
+-               meshopt.EdgeSwapping (mesh, (i > mparam.optsteps2d/2));
+-            }
+-
+-            if (multithread.terminate) return;
+-            {
+-               MeshOptimize2dOCCSurfaces meshopt(geom);
+-               meshopt.SetFaceIndex (k);
+-               meshopt.SetImproveEdges (0);
+-               //meshopt.SetMetricWeight (0.2);
+-               meshopt.SetMetricWeight (mparam.elsizeweight);
+-               meshopt.SetWriteStatus (0);
+-
+-               //         (*testout) << "ImproveMesh (mesh)" << endl;
+-               meshopt.ImproveMesh (mesh, mparam);
+-            }
+-
+-            {
+-               MeshOptimize2dOCCSurfaces meshopt(geom);
+-               meshopt.SetFaceIndex (k);
+-               meshopt.SetImproveEdges (0);
+-               //meshopt.SetMetricWeight (0.2);
+-               meshopt.SetMetricWeight (mparam.elsizeweight);
+-               meshopt.SetWriteStatus (0);
+-
+-               //         (*testout) << "CombineImprove (mesh)" << endl;
+-               meshopt.CombineImprove (mesh);
+-            }
+-
+-            if (multithread.terminate) return;
+-            {
+-               MeshOptimize2dOCCSurfaces meshopt(geom);
+-               meshopt.SetFaceIndex (k);
+-               meshopt.SetImproveEdges (0);
+-               //meshopt.SetMetricWeight (0.2);
+-               meshopt.SetMetricWeight (mparam.elsizeweight);
+-               meshopt.SetWriteStatus (0);
+-
+-               //         (*testout) << "ImproveMesh (mesh)" << endl;
+-               meshopt.ImproveMesh (mesh, mparam);
+-            }
+-         }
+-
+-      }
+-
+-
+-      mesh.CalcSurfacesOfNode();
+-      mesh.Compress();
+-
+-      NgProfiler::StopTimer (timer_opt2d);
+-
+-      multithread.task = savetask;
+-   }
+-
+-
+-
+-   void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh)
+-   {
+-      mesh.SetGlobalH (mparam.maxh);
+-      mesh.SetMinimalH (mparam.minh);
+-
+-      Array<double> maxhdom;
+-      maxhdom.SetSize (geom.NrSolids());
+-      maxhdom = mparam.maxh;
+-
+-      mesh.SetMaxHDomain (maxhdom);
+-
+-      Box<3> bb = geom.GetBoundingBox();
+-      bb.Increase (bb.Diam()/10);
+-
+-      mesh.SetLocalH (bb.PMin(), bb.PMax(), 0.5);
+-
+-      if (mparam.uselocalh)
+-      {
+-         const char * savetask = multithread.task;
+-         multithread.percent = 0;
+-
+-         mesh.SetLocalH (bb.PMin(), bb.PMax(), mparam.grading);
+-
+-         int nedges = geom.emap.Extent();
+-
+-               double mincurvelength = IGNORECURVELENGTH;
+-         double maxedgelen = 0;
+-         double minedgelen = 1e99;
+-
+-               if(occparam.resthminedgelenenable) 
+-               {
+-                      mincurvelength = occparam.resthminedgelen;
+-                      if(mincurvelength < IGNORECURVELENGTH) mincurvelength = IGNORECURVELENGTH;
+-               }
+-
+-         multithread.task = "Setting local mesh size (elements per edge)";
+-
+-         // setting elements per edge
+-
+-         for (int i = 1; i <= nedges && !multithread.terminate; i++)
+-         {
+-            TopoDS_Edge e = TopoDS::Edge (geom.emap(i));
+-            multithread.percent = 100 * (i-1)/double(nedges);
+-            if (BRep_Tool::Degenerated(e)) continue;
+-
+-            GProp_GProps system;
+-            BRepGProp::LinearProperties(e, system);
+-            double len = system.Mass();
+-
+-            if (len < mincurvelength)
+-            {
+-               (*testout) << "ignored" << endl;
+-               continue;
+-            }
+-
+-            double localh = len/mparam.segmentsperedge;
+-            double s0, s1;
+-
+-            // Philippose - 23/01/2009
+-            // Find all the parent faces of a given edge
+-            // and limit the mesh size of the edge based on the
+-            // mesh size limit of the face
+-            TopTools_IndexedDataMapOfShapeListOfShape edge_face_map;
+-            edge_face_map.Clear();
+-
+-            TopExp::MapShapesAndAncestors(geom.shape, TopAbs_EDGE, TopAbs_FACE, edge_face_map);
+-            const TopTools_ListOfShape& parent_faces = edge_face_map.FindFromKey(e);
+-
+-            TopTools_ListIteratorOfListOfShape parent_face_list;
+-
+-            for(parent_face_list.Initialize(parent_faces); parent_face_list.More(); parent_face_list.Next())
+-            {
+-               TopoDS_Face parent_face = TopoDS::Face(parent_face_list.Value());
+-
+-               int face_index = geom.fmap.FindIndex(parent_face);
+-
+-               if(face_index >= 1) localh = min(localh,geom.face_maxh[face_index - 1]);
+-            }
+-
+-            Handle(Geom_Curve) c = BRep_Tool::Curve(e, s0, s1);
+-
+-            maxedgelen = max (maxedgelen, len);
+-            minedgelen = min (minedgelen, len);
+-
+-            // Philippose - 23/01/2009
+-            // Modified the calculation of maxj, because the
+-            // method used so far always results in maxj = 2,
+-            // which causes the localh to be set only at the
+-            // starting, mid and end of the edge.
+-            // Old Algorithm:
+-            // int maxj = 2 * (int) ceil (localh/len);
+-            int maxj = max((int) ceil(len/localh), 2);
+-
+-            for (int j = 0; j <= maxj; j++)
+-            {
+-               gp_Pnt pnt = c->Value (s0+double(j)/maxj*(s1-s0));
+-               mesh.RestrictLocalH (Point3d(pnt.X(), pnt.Y(), pnt.Z()), localh);
+-            }
+-         }
+-
+-         multithread.task = "Setting local mesh size (edge curvature)";
+-
+-         // setting edge curvature
+-
+-         int nsections = 20;
+-
+-         for (int i = 1; i <= nedges && !multithread.terminate; i++)
+-         {
+-            double maxcur = 0;
+-            multithread.percent = 100 * (i-1)/double(nedges);
+-            TopoDS_Edge edge = TopoDS::Edge (geom.emap(i));
+-            if (BRep_Tool::Degenerated(edge)) continue;
+-            double s0, s1;
+-            Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1);
+-            BRepAdaptor_Curve brepc(edge);
+-            BRepLProp_CLProps prop(brepc, 2, 1e-5);
+-
+-            for (int j = 1; j <= nsections; j++)
+-            {
+-               double s = s0 + j/(double) nsections * (s1-s0);
+-               prop.SetParameter (s);
+-               double curvature = prop.Curvature();
+-               if(curvature> maxcur) maxcur = curvature;
+-
+-               if (curvature >= 1e99)
+-                  continue;
+-
+-               gp_Pnt pnt = c->Value (s);
+-
+-               mesh.RestrictLocalH (Point3d(pnt.X(), pnt.Y(), pnt.Z()), ComputeH (fabs(curvature)));
+-            }
+-            // (*testout) << "edge " << i << " max. curvature: " << maxcur << endl;
+-         }
+-
+-         multithread.task = "Setting local mesh size (face curvature)";
+-
+-         // setting face curvature
+-
+-         int nfaces = geom.fmap.Extent();
+-
+-         for (int i = 1; i <= nfaces && !multithread.terminate; i++)
+-         {
+-            multithread.percent = 100 * (i-1)/double(nfaces);
+-            TopoDS_Face face = TopoDS::Face(geom.fmap(i));
+-            TopLoc_Location loc;
+-            Handle(Geom_Surface) surf = BRep_Tool::Surface (face);
+-            Handle(Poly_Triangulation) triangulation = BRep_Tool::Triangulation (face, loc);
+-
+-            if (triangulation.IsNull()) continue;
+-
+-            BRepAdaptor_Surface sf(face, Standard_True);
+-            BRepLProp_SLProps prop(sf, 2, 1e-5);
+-
+-            int ntriangles = triangulation -> NbTriangles();
+-            for (int j = 1; j <= ntriangles; j++)
+-            {
+-               gp_Pnt p[3];
+-               gp_Pnt2d par[3];
+-
+-               for (int k = 1; k <=3; k++)
+-               {
+-                  int n = triangulation->Triangles()(j)(k);
+-                  p[k-1] = triangulation->Nodes()(n).Transformed(loc);
+-                  par[k-1] = triangulation->UVNodes()(n);
+-               }
+-
+-               //double maxside = 0;
+-               //maxside = max (maxside, p[0].Distance(p[1]));
+-               //maxside = max (maxside, p[0].Distance(p[2]));
+-               //maxside = max (maxside, p[1].Distance(p[2]));
+-               //cout << "\rFace " << i << " pos11 ntriangles " << ntriangles << " maxside " << maxside << flush;
+-
+-               RestrictHTriangle (par[0], par[1], par[2], &prop, mesh, 0);
+-               //cout << "\rFace " << i << " pos12 ntriangles " << ntriangles << flush;
+-            }
+-         }
+-
+-         // setting close edges
+-
+-         if (occparam.resthcloseedgeenable)
+-         {
+-            multithread.task = "Setting local mesh size (close edges)";
+-
+-            int sections = 100;
+-
+-            Array<Line> lines(sections*nedges);
+-
+-            Box3dTree* searchtree =
+-               new Box3dTree (bb.PMin(), bb.PMax());
+-
+-            int nlines = 0;
+-            for (int i = 1; i <= nedges && !multithread.terminate; i++)
+-            {
+-               TopoDS_Edge edge = TopoDS::Edge (geom.emap(i));
+-               if (BRep_Tool::Degenerated(edge)) continue;
+-
+-               double s0, s1;
+-               Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1);
+-               BRepAdaptor_Curve brepc(edge);
+-               BRepLProp_CLProps prop(brepc, 1, 1e-5);
+-               prop.SetParameter (s0);
+-
+-               gp_Vec d0 = prop.D1().Normalized();
+-               double s_start = s0;
+-               int count = 0;
+-               for (int j = 1; j <= sections; j++)
+-               {
+-                  double s = s0 + (s1-s0)*(double)j/(double)sections;
+-                  prop.SetParameter (s);
+-                  gp_Vec d1 = prop.D1().Normalized();
+-                  double cosalpha = fabs(d0*d1);
+-                  if ((j == sections) || (cosalpha < cos(10.0/180.0*M_PI)))
+-                  {
+-                     count++;
+-                     gp_Pnt p0 = c->Value (s_start);
+-                     gp_Pnt p1 = c->Value (s);
+-                     lines[nlines].p0 = Point<3> (p0.X(), p0.Y(), p0.Z());
+-                     lines[nlines].p1 = Point<3> (p1.X(), p1.Y(), p1.Z());
+-
+-                     Box3d box;
+-                     box.SetPoint (Point3d(lines[nlines].p0));
+-                     box.AddPoint (Point3d(lines[nlines].p1));
+-
+-                     searchtree->Insert (box.PMin(), box.PMax(), nlines+1);
+-                     nlines++;
+-
+-                     s_start = s;
+-                     d0 = d1;
+-                  }
+-               }
+-            }
+-
+-            Array<int> linenums;
+-
+-            for (int i = 0; i < nlines; i++)
+-            {
+-               multithread.percent = (100*i)/double(nlines);
+-               Line & line = lines[i];
+-
+-               Box3d box;
+-               box.SetPoint (Point3d(line.p0));
+-               box.AddPoint (Point3d(line.p1));
+-               double maxhline = max (mesh.GetH(box.PMin()),
+-                  mesh.GetH(box.PMax()));
+-               box.Increase(maxhline);
+-
+-               double mindist = 1e99;
+-               linenums.SetSize(0);
+-               searchtree->GetIntersecting(box.PMin(),box.PMax(),linenums);
+-
+-               for (int j = 0; j < linenums.Size(); j++)
+-               {
+-                  int num = linenums[j]-1;
+-                  if (i == num) continue;
+-                  if ((line.p0-lines[num].p0).Length2() < 1e-15) continue;
+-                  if ((line.p0-lines[num].p1).Length2() < 1e-15) continue;
+-                  if ((line.p1-lines[num].p0).Length2() < 1e-15) continue;
+-                  if ((line.p1-lines[num].p1).Length2() < 1e-15) continue;
+-                  mindist = min (mindist, line.Dist(lines[num]));
+-               }
+-
+-               mindist /= (occparam.resthcloseedgefac + VSMALL);
+-
+-               if (mindist < 1e-3)
+-               {
+-                  (*testout) << "extremely small local h: " << mindist
+-                     << " --> setting to 1e-3" << endl;
+-                  (*testout) << "somewhere near " << line.p0 << " - " << line.p1 << endl;
+-                  mindist = 1e-3;
+-               }
+-
+-               mesh.RestrictLocalHLine(line.p0, line.p1, mindist);
+-            }
+-         }
+-
+-         multithread.task = savetask;
+-
+-      }
+-
+-      // Philippose - 09/03/2009
+-      // Added the capability to load the mesh size from a 
+-      // file also for OpenCascade Geometry
+-      // Note: 
+-      // ** If the "uselocalh" option is ticked in 
+-      // the "mesh options...insider" menu, the mesh 
+-      // size will be further modified by the topology 
+-      // analysis routines.
+-      // ** To use the mesh size file as the sole source 
+-      // for defining the mesh size, uncheck the "uselocalh"
+-      // option.
+-      mesh.LoadLocalMeshSize (mparam.meshsizefilename);
+-   }
+-
+-
+-
+-  int OCCGenerateMesh (OCCGeometry & geom, Mesh *& mesh, MeshingParameters & mparam,
+-                     int perfstepsstart, int perfstepsend)
+-   {
+-      multithread.percent = 0;
+-
+-      if (perfstepsstart <= MESHCONST_ANALYSE)
+-      {
+-         delete mesh;
+-         mesh = new Mesh();
+-         mesh->geomtype = Mesh::GEOM_OCC;
+-
+-         OCCSetLocalMeshSize(geom,*mesh);
+-      }
+-
+-      if (multithread.terminate || perfstepsend <= MESHCONST_ANALYSE)
+-         return TCL_OK;
+-
+-      if (perfstepsstart <= MESHCONST_MESHEDGES)
+-      {
+-         OCCFindEdges (geom, *mesh);
+-
+-         /*
+-         cout << "Removing redundant points" << endl;
+-
+-         int i, j;
+-         int np = mesh->GetNP();
+-         Array<int> equalto;
+-
+-         equalto.SetSize (np);
+-         equalto = 0;
+-
+-         for (i = 1; i <= np; i++)
+-         {
+-         for (j = i+1; j <= np; j++)
+-         {
+-         if (!equalto[j-1] && (Dist2 (mesh->Point(i), mesh->Point(j)) < 1e-12))
+-         equalto[j-1] = i;
+-         }
+-         }
+-
+-         for (i = 1; i <= np; i++)
+-         if (equalto[i-1])
+-         {
+-         cout << "Point " << i << " is equal to Point " << equalto[i-1] << endl;
+-         for (j = 1; j <= mesh->GetNSeg(); j++)
+-         {
+-         Segment & seg = mesh->LineSegment(j);
+-         if (seg[0] == i) seg[0] = equalto[i-1];
+-         if (seg[1] == i) seg[1] = equalto[i-1];
+-         }
+-         }
+-
+-         cout << "Removing degenerated segments" << endl;
+-         for (j = 1; j <= mesh->GetNSeg(); j++)
+-         {
+-         Segment & seg = mesh->LineSegment(j);
+-         if (seg[0] == seg[1])
+-         {
+-         mesh->DeleteSegment(j);
+-         cout << "Deleting Segment " << j << endl;
+-         }
+-         }
+-
+-         mesh->Compress();
+-         */
+-
+-         /*
+-         for (int i = 1; i <= geom.fmap.Extent(); i++)
+-         {
+-         Handle(Geom_Surface) hf1 =
+-         BRep_Tool::Surface(TopoDS::Face(geom.fmap(i)));
+-         for (int j = i+1; j <= geom.fmap.Extent(); j++)
+-         {
+-         Handle(Geom_Surface) hf2 =
+-         BRep_Tool::Surface(TopoDS::Face(geom.fmap(j)));
+-         if (hf1 == hf2) cout << "face " << i << " and face " << j << " lie on same surface" << endl;
+-         }
+-         }
+-         */
+-
+-#ifdef LOG_STREAM
+-         (*logout) << "Edges meshed" << endl
+-            << "time = " << GetTime() << " sec" << endl
+-            << "points: " << mesh->GetNP() << endl;
+-#endif
+-      }
+-
+-      if (multithread.terminate || perfstepsend <= MESHCONST_MESHEDGES)
+-         return TCL_OK;
+-
+-      if (perfstepsstart <= MESHCONST_MESHSURFACE)
+-      {
+-         OCCMeshSurface (geom, *mesh, perfstepsend);
+-         if (multithread.terminate) return TCL_OK;
+-
+-#ifdef LOG_STREAM
+-         (*logout) << "Surfaces meshed" << endl
+-            << "time = " << GetTime() << " sec" << endl
+-            << "points: " << mesh->GetNP() << endl;
+-#endif
+-
+-#ifdef STAT_STREAM
+-         (*statout) << mesh->GetNSeg() << " & "
+-            << mesh->GetNSE() << " & - &"
+-            << GetTime() << " & " << endl;
+-#endif
+-
+-         //      MeshQuality2d (*mesh);
+-         mesh->CalcSurfacesOfNode();
+-      }
+-
+-      if (multithread.terminate || perfstepsend <= MESHCONST_OPTSURFACE)
+-         return TCL_OK;
+-
+-      if (perfstepsstart <= MESHCONST_MESHVOLUME)
+-      {
+-         multithread.task = "Volume meshing";
+-
+-         MESHING3_RESULT res = MeshVolume (mparam, *mesh);
+-
+-/*
+-         ofstream problemfile("occmesh.rep",ios_base::app);
+-
+-         problemfile << "VOLUMEMESHING" << endl << endl;
+-         if(res != MESHING3_OK)
+-            problemfile << "ERROR" << endl << endl;
+-         else
+-            problemfile << "OK" << endl
+-            << mesh->GetNE() << " elements" << endl << endl;
+-
+-         problemfile.close();
+-*/
+-
+-         if (res != MESHING3_OK) return TCL_ERROR;
+-
+-         if (multithread.terminate) return TCL_OK;
+-
+-         RemoveIllegalElements (*mesh);
+-         if (multithread.terminate) return TCL_OK;
+-
+-         MeshQuality3d (*mesh);
+-
+-#ifdef STAT_STREAM
+-         (*statout) << GetTime() << " & ";
+-#endif
+-
+-#ifdef LOG_STREAM
+-         (*logout) << "Volume meshed" << endl
+-            << "time = " << GetTime() << " sec" << endl
+-            << "points: " << mesh->GetNP() << endl;
+-#endif
+-      }
+-
+-      if (multithread.terminate || perfstepsend <= MESHCONST_MESHVOLUME)
+-         return TCL_OK;
+-
+-      if (perfstepsstart <= MESHCONST_OPTVOLUME)
+-      {
+-         multithread.task = "Volume optimization";
+-
+-         OptimizeVolume (mparam, *mesh);
+-         if (multithread.terminate) return TCL_OK;
+-
+-#ifdef STAT_STREAM
+-         (*statout) << GetTime() << " & "
+-            << mesh->GetNE() << " & "
+-            << mesh->GetNP() << " " << '\\' << '\\' << " \\" << "hline" << endl;
+-#endif
+-
+-#ifdef LOG_STREAM
+-         (*logout) << "Volume optimized" << endl
+-            << "time = " << GetTime() << " sec" << endl
+-            << "points: " << mesh->GetNP() << endl;
+-#endif
+-
+-         // cout << "Optimization complete" << endl;
+-
+-      }
+-
+-      (*testout) << "NP: " << mesh->GetNP() << endl;
+-      for (int i = 1; i <= mesh->GetNP(); i++)
+-         (*testout) << mesh->Point(i) << endl;
+-
+-      (*testout) << endl << "NSegments: " << mesh->GetNSeg() << endl;
+-      for (int i = 1; i <= mesh->GetNSeg(); i++)
+-         (*testout) << mesh->LineSegment(i) << endl;
+-
+-      return TCL_OK;
+-   }
+-}
+-
+-#endif
++#ifdef OCCGEOMETRY
++
++#include <mystdlib.h>
++#include <occgeom.hpp>
++#include <meshing.hpp>
++
++
++namespace netgen
++{
++
++#include "occmeshsurf.hpp"
++
++#define TCL_OK 0
++#define TCL_ERROR 1
++
++#define DIVIDEEDGESECTIONS 1000
++#define IGNORECURVELENGTH 1e-4
++#define VSMALL 1e-10
++
++
++   bool merge_solids = 1;
++
++
++  // can you please explain what you intend to compute here (JS) !!!
++   double Line :: Dist (Line l)
++   {
++      Vec<3> n = p1-p0;
++      Vec<3> q = l.p1-l.p0;
++      double nq = n*q;
++
++      Point<3> p = p0 + 0.5*n;
++      double lambda = (p-l.p0)*n / (nq + VSMALL);
++
++      if (lambda >= 0 && lambda <= 1)
++      {
++         double d = (p-l.p0-lambda*q).Length();
++         //        if (d < 1e-3) d = 1e99;
++         return d;
++      }
++      else
++         return 1e99;
++   }
++
++
++
++   double Line :: Length ()
++   {
++      return (p1-p0).Length();
++   }
++
++
++
++   inline Point<3> occ2ng (const gp_Pnt & p)
++   {
++      return  Point<3> (p.X(), p.Y(), p.Z());
++   }
++
++
++
++   double ComputeH (double kappa)
++   {
++      double hret;
++      kappa *= mparam.curvaturesafety;
++
++      if (mparam.maxh * kappa < 1)
++         hret = mparam.maxh;
++      else
++         hret = 1 / (kappa + VSMALL);
++
++      if (mparam.maxh < hret)
++         hret = mparam.maxh;
++
++      return (hret);
++   }
++
++
++
++
++   void RestrictHTriangle (gp_Pnt2d & par0, gp_Pnt2d & par1, gp_Pnt2d & par2,
++                           BRepLProp_SLProps * prop, Mesh & mesh, int depth, double h = 0)
++   {
++      int ls = -1;
++
++      gp_Pnt pnt0,pnt1,pnt2;
++
++      prop->SetParameters (par0.X(), par0.Y());
++      pnt0 = prop->Value();
++
++      prop->SetParameters (par1.X(), par1.Y());
++      pnt1 = prop->Value();
++
++      prop->SetParameters (par2.X(), par2.Y());
++      pnt2 = prop->Value();
++
++      double aux;
++      double maxside = pnt0.Distance(pnt1);
++      ls = 2;
++      aux = pnt1.Distance(pnt2);
++      if(aux > maxside)
++      {
++         maxside = aux;
++         ls = 0;
++      }
++      aux = pnt2.Distance(pnt0);
++      if(aux > maxside)
++      {
++         maxside = aux;
++         ls = 1;
++      }
++
++
++
++      gp_Pnt2d parmid;
++
++      parmid.SetX( (par0.X()+par1.X()+par2.X()) / 3 );
++      parmid.SetY( (par0.Y()+par1.Y()+par2.Y()) / 3 );
++
++      if (depth%3 == 0)
++      {
++         double curvature = 0;
++
++         prop->SetParameters (parmid.X(), parmid.Y());
++         if (!prop->IsCurvatureDefined())
++         {
++            (*testout) << "curvature not defined!" << endl;
++            return;
++         }
++         curvature = max(fabs(prop->MinCurvature()),
++            fabs(prop->MaxCurvature()));
++
++         prop->SetParameters (par0.X(), par0.Y());
++         if (!prop->IsCurvatureDefined())
++         {
++            (*testout) << "curvature not defined!" << endl;
++            return;
++         }
++         curvature = max(curvature,max(fabs(prop->MinCurvature()),
++            fabs(prop->MaxCurvature())));
++
++         prop->SetParameters (par1.X(), par1.Y());
++         if (!prop->IsCurvatureDefined())
++         {
++            (*testout) << "curvature not defined!" << endl;
++            return;
++         }
++         curvature = max(curvature,max(fabs(prop->MinCurvature()),
++            fabs(prop->MaxCurvature())));
++
++         prop->SetParameters (par2.X(), par2.Y());
++         if (!prop->IsCurvatureDefined())
++         {
++            (*testout) << "curvature not defined!" << endl;
++            return;
++         }
++         curvature = max(curvature,max(fabs(prop->MinCurvature()),
++            fabs(prop->MaxCurvature())));
++
++         //(*testout) << "curvature " << curvature << endl;
++
++         if (curvature < 1e-3)
++         {
++            //(*testout) << "curvature too small (" << curvature << ")!" << endl;
++            return;
++            // return war bis 10.2.05 auskommentiert
++         }
++
++
++
++         h = ComputeH (curvature+1e-10);
++
++         if(h < 1e-4*maxside)
++            return;
++
++         // commented to restrict H on a large sphere for example
++         //if (h > 30) return;
++      }
++
++      if (h < maxside && depth < 10)
++      {
++         //cout << "\r h " << h << flush;
++         gp_Pnt2d pm;
++
++         //cout << "h " << h << " maxside " << maxside << " depth " << depth << endl;
++         //cout << "par0 " << par0.X() << " " << par0.Y()
++         //<< " par1 " << par1.X() << " " << par1.Y()
++         //   << " par2 " << par2.X() << " " << par2.Y()<< endl;
++
++         if(ls == 0)
++         {
++            pm.SetX(0.5*(par1.X()+par2.X())); pm.SetY(0.5*(par1.Y()+par2.Y()));
++            RestrictHTriangle(pm, par2, par0, prop, mesh, depth+1, h);
++            RestrictHTriangle(pm, par0, par1, prop, mesh, depth+1, h);
++         }
++         else if(ls == 1)
++         {
++            pm.SetX(0.5*(par0.X()+par2.X())); pm.SetY(0.5*(par0.Y()+par2.Y()));
++            RestrictHTriangle(pm, par1, par2, prop, mesh, depth+1, h);
++            RestrictHTriangle(pm, par0, par1, prop, mesh, depth+1, h);
++         }
++         else if(ls == 2)
++         {
++            pm.SetX(0.5*(par0.X()+par1.X())); pm.SetY(0.5*(par0.Y()+par1.Y()));
++            RestrictHTriangle(pm, par1, par2, prop, mesh, depth+1, h);
++            RestrictHTriangle(pm, par2, par0, prop, mesh, depth+1, h);
++         }
++
++      }
++      else
++      {
++         gp_Pnt pnt;
++         Point3d p3d;
++
++         prop->SetParameters (parmid.X(), parmid.Y());
++         pnt = prop->Value();
++         p3d = Point3d(pnt.X(), pnt.Y(), pnt.Z());
++         mesh.RestrictLocalH (p3d, h);
++
++         p3d = Point3d(pnt0.X(), pnt0.Y(), pnt0.Z());
++         mesh.RestrictLocalH (p3d, h);
++
++         p3d = Point3d(pnt1.X(), pnt1.Y(), pnt1.Z());
++         mesh.RestrictLocalH (p3d, h);
++
++         p3d = Point3d(pnt2.X(), pnt2.Y(), pnt2.Z());
++         mesh.RestrictLocalH (p3d, h);
++
++         //(*testout) << "p = " << p3d << ", h = " << h << ", maxside = " << maxside << endl;
++
++      }
++   }
++
++
++
++   void DivideEdge (TopoDS_Edge & edge, Array<MeshPoint> & ps,
++                    Array<double> & params, Mesh & mesh)
++   {
++      double s0, s1;
++      double maxh = mparam.maxh;
++      int nsubedges = 1;
++      gp_Pnt pnt, oldpnt;
++      double svalue[DIVIDEEDGESECTIONS];
++
++      GProp_GProps system;
++      BRepGProp::LinearProperties(edge, system);
++      double L = system.Mass();
++
++      Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1);
++
++      double hvalue[DIVIDEEDGESECTIONS+1];
++      hvalue[0] = 0;
++      pnt = c->Value(s0);
++
++      //double olddist = 0; -- useless variables
++      //double dist = 0;
++
++      int tmpVal = (int)(DIVIDEEDGESECTIONS);
++
++      for (int i = 1; i <= tmpVal; i++)
++      {
++         oldpnt = pnt;
++         pnt = c->Value(s0+(i/double(DIVIDEEDGESECTIONS))*(s1-s0));
++         // -- no more than 1 segment per <edge length>/DIVIDEEDGESECTIONS
++         hvalue[i] = hvalue[i-1] +
++         //   1.0/mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))*
++         //   pnt.Distance(oldpnt);
++           min( 1.0,
++            1.0/mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))*
++                pnt.Distance(oldpnt));
++
++         //(*testout) << "mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z())) " << mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))
++         //      <<  " pnt.Distance(oldpnt) " << pnt.Distance(oldpnt) << endl;
++
++         //olddist = dist; -- useless variables
++         //dist = pnt.Distance(oldpnt);
++      }
++
++      //  nsubedges = int(ceil(hvalue[DIVIDEEDGESECTIONS]));
++      nsubedges = max (1, int(floor(hvalue[DIVIDEEDGESECTIONS]+0.5)));
++
++      ps.SetSize(nsubedges-1);
++      params.SetSize(nsubedges+1);
++
++      int i = 1;
++      int i1 = 0;
++      do
++      {
++         if (hvalue[i1]/hvalue[DIVIDEEDGESECTIONS]*nsubedges >= i)
++         {
++            // -- for nsubedges comparable to DIVIDEEDGESECTIONS
++            //params[i] = s0+(i1/double(DIVIDEEDGESECTIONS))*(s1-s0);
++            double d1 = i1 - (hvalue[i1] - i*hvalue[DIVIDEEDGESECTIONS]/nsubedges)/(hvalue[i1]-hvalue[i1-1]);
++            params[i] = s0+(d1/double(DIVIDEEDGESECTIONS))*(s1-s0);
++            pnt = c->Value(params[i]);
++            ps[i-1] = MeshPoint (Point3d(pnt.X(), pnt.Y(), pnt.Z()));
++            i++;
++         }
++         i1++;
++         if (i1 > DIVIDEEDGESECTIONS)
++         {
++            nsubedges = i;
++            ps.SetSize(nsubedges-1);
++            params.SetSize(nsubedges+1);
++            cout << "divide edge: local h too small" << endl;
++         }
++      } while (i < nsubedges);
++
++      params[0] = s0;
++      params[nsubedges] = s1;
++
++      if (params[nsubedges] <= params[nsubedges-1])
++      {
++         cout << "CORRECTED" << endl;
++         ps.SetSize (nsubedges-2);
++         params.SetSize (nsubedges);
++         params[nsubedges] = s1;
++      }
++   }
++
++
++
++
++   void OCCFindEdges (OCCGeometry & geom, Mesh & mesh)
++   {
++      const char * savetask = multithread.task;
++      multithread.task = "Edge meshing";
++
++      (*testout) << "edge meshing" << endl;
++
++      int nvertices = geom.vmap.Extent();
++      int nedges = geom.emap.Extent();
++
++      (*testout) << "nvertices = " << nvertices << endl;
++      (*testout) << "nedges = " << nedges << endl;
++
++      double eps = 1e-6 * geom.GetBoundingBox().Diam();
++      const double eps2 = eps * eps; // -- small optimization
++
++      int first_vp = mesh.GetNP()+1; // -- to support SALOME sub-meshes
++
++      for (int i = 1; i <= nvertices; i++)
++      {
++         gp_Pnt pnt = BRep_Tool::Pnt (TopoDS::Vertex(geom.vmap(i)));
++         MeshPoint mp( Point<3>(pnt.X(), pnt.Y(), pnt.Z()) );
++
++         bool exists = 0;
++         if (merge_solids)
++            for (PointIndex pi = 1; pi <= mesh.GetNP(); pi++)
++               //if ( Dist2 (mesh[pi], Point<3>(mp)) < eps*eps)
++               if ( Dist2 (mesh[pi], Point<3>(mp)) < eps2 ) // -- small optimization
++               {
++                  exists = 1;
++                  break;
++               }
++
++               if (!exists)
++                  mesh.AddPoint (mp);
++      }
++
++      (*testout) << "different vertices = " << mesh.GetNP() << endl;
++
++
++      int first_ep = mesh.GetNP()+1;
++
++      Array<int> face2solid[2];
++      for (int i = 0; i<2; i++)
++      {
++         face2solid[i].SetSize (geom.fmap.Extent());
++         face2solid[i] = 0;
++      }
++
++      int solidnr = 0;
++      for (TopExp_Explorer exp0(geom.shape, TopAbs_SOLID); exp0.More(); exp0.Next())
++      {
++         solidnr++;
++         for (TopExp_Explorer exp1(exp0.Current(), TopAbs_FACE); exp1.More(); exp1.Next())
++         {
++            TopoDS_Face face = TopoDS::Face(exp1.Current());
++            int facenr = geom.fmap.FindIndex(face);
++            if ( facenr < 1 ) continue; // -- to support SALOME sub-meshes
++
++            if (face2solid[0][facenr-1] == 0)
++               face2solid[0][facenr-1] = solidnr;
++            else
++               face2solid[1][facenr-1] = solidnr;
++         }
++      }
++
++
++      int total = 0;
++      for (int i3 = 1; i3 <= geom.fmap.Extent(); i3++)
++         for (TopExp_Explorer exp2(geom.fmap(i3), TopAbs_WIRE); exp2.More(); exp2.Next())
++            for (TopExp_Explorer exp3(exp2.Current(), TopAbs_EDGE); exp3.More(); exp3.Next())
++               total++;
++
++
++      int facenr = 0;
++      int edgenr = 0;
++
++      edgenr = mesh.GetNSeg(); // to support SALOME sub-meshes
++
++      (*testout) << "faces = " << geom.fmap.Extent() << endl;
++      int curr = 0;
++
++      for (int i3 = 1; i3 <= geom.fmap.Extent(); i3++)
++      {
++         TopoDS_Face face = TopoDS::Face(geom.fmap(i3));
++         facenr = geom.fmap.FindIndex (face);       // sollte doch immer == i3 sein ??? JS
++
++         int solidnr0 = face2solid[0][i3-1];
++         int solidnr1 = face2solid[1][i3-1];
++
++         /* auskommentiert am 3.3.05 von robert
++         for (exp2.Init (geom.somap(solidnr0), TopAbs_FACE); exp2.More(); exp2.Next())
++         {
++         TopoDS_Face face2 = TopoDS::Face(exp2.Current());
++         if (geom.fmap.FindIndex(face2) == facenr)
++         {
++         //                 if (face.Orientation() != face2.Orientation()) swap (solidnr0, solidnr1);
++         }
++         }
++         */
++
++         mesh.AddFaceDescriptor (FaceDescriptor(facenr, solidnr0, solidnr1, 0));
++
++         // Philippose - 06/07/2009
++         // Add the face colour to the mesh data
++         Quantity_Color face_colour;
++
++         if(!(geom.face_colours.IsNull())
++            && (geom.face_colours->GetColor(face,XCAFDoc_ColorSurf,face_colour)))
++         {
++            mesh.GetFaceDescriptor(facenr).SetSurfColour(Vec3d(face_colour.Red(),face_colour.Green(),face_colour.Blue()));
++         }
++         else
++         {
++            mesh.GetFaceDescriptor(facenr).SetSurfColour(Vec3d(0.0,1.0,0.0));
++         }
++         // ACHTUNG! STIMMT NICHT ALLGEMEIN (RG)
++
++
++         Handle(Geom_Surface) occface = BRep_Tool::Surface(face);
++
++         for (TopExp_Explorer exp2 (face, TopAbs_WIRE); exp2.More(); exp2.Next())
++         {
++            TopoDS_Shape wire = exp2.Current();
++
++            for (TopExp_Explorer exp3 (wire, TopAbs_EDGE); exp3.More(); exp3.Next())
++            {
++               curr++;
++               (*testout) << "edge nr " << curr << endl;
++
++               multithread.percent = 100 * curr / double (total);
++               if (multithread.terminate) return;
++
++               TopoDS_Edge edge = TopoDS::Edge (exp3.Current());
++               if (BRep_Tool::Degenerated(edge))
++               {
++                  //(*testout) << "ignoring degenerated edge" << endl;
++                  continue;
++               }
++               if ( geom.emap.FindIndex(edge) < 1 ) continue; // to support SALOME sub-meshes
++
++               if (geom.vmap.FindIndex(TopExp::FirstVertex (edge)) ==
++                  geom.vmap.FindIndex(TopExp::LastVertex (edge)))
++               {
++                  GProp_GProps system;
++                  BRepGProp::LinearProperties(edge, system);
++
++                  if (system.Mass() < eps)
++                  {
++                     cout << "ignoring edge " << geom.emap.FindIndex (edge)
++                        << ". closed edge with length < " << eps << endl;
++                     continue;
++                  }
++               }
++
++
++               Handle(Geom2d_Curve) cof;
++               double s0, s1;
++               cof = BRep_Tool::CurveOnSurface (edge, face, s0, s1);
++
++               int geomedgenr = geom.emap.FindIndex(edge);
++
++               Array <MeshPoint> mp;
++               Array <double> params;
++
++               DivideEdge (edge, mp, params, mesh);
++
++               Array <int> pnums;
++               pnums.SetSize (mp.Size()+2);
++
++               if (!merge_solids)
++               {
++                 //pnums[0] = geom.vmap.FindIndex (TopExp::FirstVertex (edge));
++                 //pnums[pnums.Size()-1] = geom.vmap.FindIndex (TopExp::LastVertex (edge));
++                 MeshPoint dfltP ( Point<3> ( 0, 0, 0 ) );
++                 int *ipp[] = { &pnums[0], &pnums[pnums.Size()-1] };
++                 TopoDS_Iterator vIt( edge, false );
++                 TopoDS_Vertex v[2];
++                 v[0] = TopoDS::Vertex( vIt.Value() ); vIt.Next();
++                 v[1] = TopoDS::Vertex( vIt.Value() );
++                 if ( v[0].Orientation() == TopAbs_REVERSED )
++                   std::swap( v[0], v[1] );
++                 for ( int i = 0; i < 2; ++i)
++                 {
++                   int &ip = *ipp[i];
++                   ip = geom.vmap.FindIndex ( v[i] );
++                   if ( ip == 0 || ip > nvertices )
++                   {
++                     int iv = ip;
++                     if ( ip == 0 )
++                       ip = iv = geom.vmap.Add( v[i] );
++                     gp_Pnt pnt = BRep_Tool::Pnt( v[i] );
++                     MeshPoint mp( Point<3>(pnt.X(), pnt.Y(), pnt.Z()) );
++                     for (PointIndex pi = 1; pi < first_vp; pi++)
++                       if ( Dist2 (mesh.Point(pi), Point<3>(mp)) < 1e-100 )
++                       {
++                         ip = pi;
++                         if ( mesh.Point(ip).GetLayer() != dfltP.GetLayer() && mesh.Point(ip).GetLayer() != iv )
++                           continue;
++                         if ( mesh.Point(ip).GetLayer() == dfltP.GetLayer())
++                           mesh.Point(ip) = MeshPoint( mesh.Point(ip), iv );
++                         break;
++                       }
++               }
++               else
++               {
++                     ip += first_vp - 1;
++                   }
++                 }
++               }
++               else
++               {
++                 TopoDS_Iterator vIt( edge, false );
++                 TopoDS_Vertex v1 = TopoDS::Vertex( vIt.Value() ); vIt.Next();
++                 TopoDS_Vertex v2 = TopoDS::Vertex( vIt.Value() );
++                 if ( v1.Orientation() == TopAbs_REVERSED )
++                   std::swap( v1, v2 );
++                 const bool isClosedEdge = v1.IsSame( v2 );
++
++                  Point<3> fp = occ2ng (BRep_Tool::Pnt (v1));
++                  Point<3> lp = occ2ng (BRep_Tool::Pnt (v2));
++                  double tol2 = std::min( eps*eps, 1e-6 * Dist2( fp, lp ));
++                  if ( isClosedEdge )
++                    tol2 = BRep_Tool::Tolerance( v1 ) * BRep_Tool::Tolerance( v1 );
++
++                  pnums[0] = -1;
++                  pnums.Last() = -1;
++                  for (PointIndex pi = 1; pi < first_ep; pi++)
++                  {
++                    if (Dist2 (mesh[pi], fp) < tol2) pnums[0] = pi;
++                    if (Dist2 (mesh[pi], lp) < tol2) pnums.Last() = pi;
++                  }
++                  if (( isClosedEdge && pnums[0] != pnums.Last() ) ||
++                      ( !isClosedEdge && pnums[0] == pnums.Last() ))
++                    pnums[0] = pnums.Last() = -1;
++                  if ( pnums[0] == -1 || pnums.Last() == -1 )
++                  {
++                    // take into account a possible large gap between a vertex and an edge curve
++                    // end and a large vertex tolerance covering the whole edge
++                    if ( pnums[0] == -1 )
++                    {
++                      double tol = BRep_Tool::Tolerance( v1 );
++                      for (PointIndex pi = 1; pi < first_ep; pi++)
++                        if (pi != pnums.Last() && Dist2 (mesh[pi], fp) < 2*tol*tol)
++                          pnums[0] = pi;
++
++                      if ( pnums[0] == -1 )
++                        pnums[0] = first_ep-1- nvertices + geom.vmap.FindIndex ( v1 );
++                    }
++                    if ( isClosedEdge )
++                    {
++                      pnums.Last() = pnums[0];
++                    }
++                    else
++                    {
++                      if ( pnums.Last() == -1 )
++                      {
++                        double tol = BRep_Tool::Tolerance( v2 );
++                        for (PointIndex pi = 1; pi < first_ep; pi++)
++                          if (pi != pnums[0] && Dist2 (mesh[pi], lp) < 2*tol*tol)
++                            pnums.Last() = pi;
++
++                        if ( pnums.Last() == -1 )
++                          pnums.Last() = first_ep-1-nvertices + geom.vmap.FindIndex ( v2 );
++                      }
++
++                      if ( Dist2( fp, mesh[PointIndex(pnums[0])]) >
++                           Dist2( lp, mesh[PointIndex(pnums.Last())]))
++                      std::swap( pnums[0], pnums.Last() );
++                    }
++                  }
++               }
++
++
++               for (int i = 1; i <= mp.Size(); i++)
++               {
++                  bool exists = 0;
++                  int j;
++                  for (j = first_ep; j <= mesh.GetNP(); j++)
++                  {
++                     if (!merge_solids && mesh.Point(j).GetLayer() != geomedgenr ) continue; // to support SALOME fuse edges
++                     if ((mesh.Point(j)-Point<3>(mp[i-1])).Length() < eps)
++                     {
++                        exists = 1;
++                        break;
++                     }
++                  }
++
++                     if (exists)
++                        pnums[i] = j;
++                     else
++                     {
++                        mesh.AddPoint (mp[i-1], geomedgenr); // to support SALOME fuse edges
++                        (*testout) << "add meshpoint " << mp[i-1] << endl;
++                        pnums[i] = mesh.GetNP();
++                     }
++               }
++               (*testout) << "NP = " << mesh.GetNP() << endl;
++
++               //(*testout) << pnums[pnums.Size()-1] << endl;
++
++               for (int i = 1; i <= mp.Size()+1; i++)
++               {
++                  edgenr++;
++                  Segment seg;
++
++                  seg[0] = pnums[i-1];
++                  seg[1] = pnums[i];
++                  seg.edgenr = edgenr;
++                  seg.si = facenr;
++                  seg.epgeominfo[0].dist = params[i-1];
++                  seg.epgeominfo[1].dist = params[i];
++                  seg.epgeominfo[0].edgenr = geomedgenr;
++                  seg.epgeominfo[1].edgenr = geomedgenr;
++
++                  gp_Pnt2d p2d;
++                  p2d = cof->Value(params[i-1]);
++                  //                  if (i == 1) p2d = cof->Value(s0);
++                  seg.epgeominfo[0].u = p2d.X();
++                  seg.epgeominfo[0].v = p2d.Y();
++                  p2d = cof->Value(params[i]);
++                  //                  if (i == mp.Size()+1) p2d = cof -> Value(s1);
++                  seg.epgeominfo[1].u = p2d.X();
++                  seg.epgeominfo[1].v = p2d.Y();
++
++                  /*
++                  if (occface->IsUPeriodic())
++                  {
++                  cout << "U Periodic" << endl;
++                  if (fabs(seg.epgeominfo[1].u-seg.epgeominfo[0].u) >
++                  fabs(seg.epgeominfo[1].u-
++                  (seg.epgeominfo[0].u-occface->UPeriod())))
++                  seg.epgeominfo[0].u = p2d.X()+occface->UPeriod();
++
++                  if (fabs(seg.epgeominfo[1].u-seg.epgeominfo[0].u) >
++                  fabs(seg.epgeominfo[1].u-
++                  (seg.epgeominfo[0].u+occface->UPeriod())))
++                  seg.epgeominfo[0].u = p2d.X()-occface->UPeriod();
++                  }
++
++                  if (occface->IsVPeriodic())
++                  {
++                  cout << "V Periodic" << endl;
++                  if (fabs(seg.epgeominfo[1].v-seg.epgeominfo[0].v) >
++                  fabs(seg.epgeominfo[1].v-
++                  (seg.epgeominfo[0].v-occface->VPeriod())))
++                  seg.epgeominfo[0].v = p2d.Y()+occface->VPeriod();
++
++                  if (fabs(seg.epgeominfo[1].v-seg.epgeominfo[0].v) >
++                  fabs(seg.epgeominfo[1].v-
++                  (seg.epgeominfo[0].v+occface->VPeriod())))
++                  seg.epgeominfo[0].v = p2d.Y()-occface->VPeriod();
++                  }
++                  */
++
++                  if (edge.Orientation() == TopAbs_REVERSED)
++                  {
++                     swap (seg[0], seg[1]);
++                     swap (seg.epgeominfo[0].dist, seg.epgeominfo[1].dist);
++                     swap (seg.epgeominfo[0].u, seg.epgeominfo[1].u);
++                     swap (seg.epgeominfo[0].v, seg.epgeominfo[1].v);
++                  }
++
++                  mesh.AddSegment (seg);
++
++                  //edgesegments[geomedgenr-1]->Append(mesh.GetNSeg());
++
++               }
++            }
++         }
++      }
++
++      //      for(i=1; i<=mesh.GetNSeg(); i++)
++      //              (*testout) << "edge " << mesh.LineSegment(i).edgenr << " face " << mesh.LineSegment(i).si
++      //                              << " p1 " << mesh.LineSegment(i)[0] << " p2 " << mesh.LineSegment(i)[1] << endl;
++      //      exit(10);
++      for (int j = 1; j <= mesh.GetNP(); j++) // to support SALOME fuse edges: set level to zero
++        mesh.Point(j) = MeshPoint( (Point<3>&) mesh.Point(j) );
++
++      mesh.CalcSurfacesOfNode();
++      multithread.task = savetask;
++   }
++
++
++
++
++   void OCCMeshSurface (OCCGeometry & geom, Mesh & mesh, int perfstepsend)
++   {
++      int i, j, k;
++      int changed;
++
++      const char * savetask = multithread.task;
++      multithread.task = "Surface meshing";
++
++      geom.facemeshstatus = 0;
++
++      int noldp = mesh.GetNP();
++
++      double starttime = GetTime();
++
++      Array<int> glob2loc(noldp);
++
++      //int projecttype = PARAMETERSPACE;
++
++      int projecttype = PARAMETERSPACE;
++
++      int notrys = 1;
++
++      int surfmesherror = 0;
++
++      for (k = 1; k <= mesh.GetNFD(); k++)
++      {
++         if(1==0 && !geom.fvispar[k-1].IsDrawable())
++         {
++            (*testout) << "ignoring face " << k << endl;
++            cout << "ignoring face " << k << endl;
++            continue;
++         }
++
++         (*testout) << "mesh face " << k << endl;
++         multithread.percent = 100 * k / (mesh.GetNFD() + VSMALL);
++         geom.facemeshstatus[k-1] = -1;
++
++
++         /*
++         if (k != 42)
++         {
++         cout << "skipped" << endl;
++         continue;
++         }
++         */
++
++
++         FaceDescriptor & fd = mesh.GetFaceDescriptor(k);
++
++         int oldnf = mesh.GetNSE();
++
++         Box<3> bb = geom.GetBoundingBox();
++
++         //      int projecttype = PLANESPACE;
++
++         Meshing2OCCSurfaces meshing(TopoDS::Face(geom.fmap(k)), bb, projecttype);
++
++         if (meshing.GetProjectionType() == PLANESPACE)
++            PrintMessage (2, "Face ", k, " / ", mesh.GetNFD(), " (plane space projection)");
++         else
++            PrintMessage (2, "Face ", k, " / ", mesh.GetNFD(), " (parameter space projection)");
++
++         if (surfmesherror)
++            cout << "Surface meshing error occured before (in " << surfmesherror << " faces)" << endl;
++
++         //      Meshing2OCCSurfaces meshing(f2, bb);
++         meshing.SetStartTime (starttime);
++
++         //(*testout) << "Face " << k << endl << endl;
++
++
++         if (meshing.GetProjectionType() == PLANESPACE)
++         {
++            int cntp = 0;
++            glob2loc = 0;
++            for (i = 1; i <= mesh.GetNSeg(); i++)
++            {
++               Segment & seg = mesh.LineSegment(i);
++               if (seg.si == k)
++               {
++                  for (j = 1; j <= 2; j++)
++                  {
++                     int pi = (j == 1) ? seg[0] : seg[1];
++                     if (!glob2loc.Get(pi))
++                     {
++                        meshing.AddPoint (mesh.Point(pi), pi);
++                        cntp++;
++                        glob2loc.Elem(pi) = cntp;
++                     }
++                  }
++               }
++            }
++
++            for (i = 1; i <= mesh.GetNSeg(); i++)
++            {
++               Segment & seg = mesh.LineSegment(i);
++               if (seg.si == k)
++               {
++                  PointGeomInfo gi0, gi1;
++                  gi0.trignum = gi1.trignum = k;
++                  gi0.u = seg.epgeominfo[0].u;
++                  gi0.v = seg.epgeominfo[0].v;
++                  gi1.u = seg.epgeominfo[1].u;
++                  gi1.v = seg.epgeominfo[1].v;
++
++                  meshing.AddBoundaryElement (glob2loc.Get(seg[0]), glob2loc.Get(seg[1]), gi0, gi1);
++                  //(*testout) << gi0.u << " " << gi0.v << endl;
++                  //(*testout) << gi1.u << " " << gi1.v << endl;
++               }
++            }
++         }
++         else
++         {
++            int cntp = 0;
++
++            for (i = 1; i <= mesh.GetNSeg(); i++)
++               if (mesh.LineSegment(i).si == k)
++                  cntp+=2;
++
++
++            Array< PointGeomInfo > gis;
++
++            gis.SetAllocSize (cntp);
++            gis.SetSize (0);
++
++            for (i = 1; i <= mesh.GetNSeg(); i++)
++            {
++               Segment & seg = mesh.LineSegment(i);
++               if (seg.si == k)
++               {
++                  PointGeomInfo gi0, gi1;
++                  gi0.trignum = gi1.trignum = k;
++                  gi0.u = seg.epgeominfo[0].u;
++                  gi0.v = seg.epgeominfo[0].v;
++                  gi1.u = seg.epgeominfo[1].u;
++                  gi1.v = seg.epgeominfo[1].v;
++
++                  int locpnum[2] = {0, 0};
++
++                  for (j = 0; j < 2; j++)
++                  {
++                     PointGeomInfo gi = (j == 0) ? gi0 : gi1;
++
++                     int l;
++                     for (l = 0; l < gis.Size() && locpnum[j] == 0; l++)
++                     {
++                        double dist = sqr (gis[l].u-gi.u)+sqr(gis[l].v-gi.v);
++
++                        if (dist < 1e-10)
++                           locpnum[j] = l+1;
++                     }
++
++                     if (locpnum[j] == 0)
++                     {
++                        int pi = (j == 0) ? seg[0] : seg[1];
++                        meshing.AddPoint (mesh.Point(pi), pi);
++
++                        gis.SetSize (gis.Size()+1);
++                        gis[l] = gi;
++                        locpnum[j] = l+1;
++                     }
++                  }
++
++                  meshing.AddBoundaryElement (locpnum[0], locpnum[1], gi0, gi1);
++                  //(*testout) << gi0.u << " " << gi0.v << endl;
++                  //(*testout) << gi1.u << " " << gi1.v << endl;
++
++               }
++            }
++         }
++
++
++
++
++
++         // Philippose - 15/01/2009
++         double maxh = geom.face_maxh[k-1];
++         //double maxh = mparam.maxh;
++         mparam.checkoverlap = 0;
++         //      int noldpoints = mesh->GetNP();
++         int noldsurfel = mesh.GetNSE();
++
++         GProp_GProps sprops;
++         BRepGProp::SurfaceProperties(TopoDS::Face(geom.fmap(k)),sprops);
++         meshing.SetMaxArea(2.*sprops.Mass());
++
++         MESHING2_RESULT res;
++
++         try {
++         res = meshing.GenerateMesh (mesh, mparam, maxh, k);
++         }
++
++         catch (SingularMatrixException)
++         {
++            (*myerr) << "Singular Matrix" << endl;
++            res = MESHING2_GIVEUP;
++         }
++
++         catch (UVBoundsException)
++         {
++            (*myerr) << "UV bounds exceeded" << endl;
++            res = MESHING2_GIVEUP;
++         }
++
++         projecttype = PARAMETERSPACE;
++
++         if (res != MESHING2_OK)
++         {
++            if (notrys == 1)
++            {
++               for (int i = noldsurfel+1; i <= mesh.GetNSE(); i++)
++                  mesh.DeleteSurfaceElement (i);
++
++               mesh.Compress();
++
++               cout << "retry Surface " << k << endl;
++
++               k--;
++               projecttype*=-1;
++               notrys++;
++               continue;
++            }
++            else
++            {
++               geom.facemeshstatus[k-1] = -1;
++               PrintError ("Problem in Surface mesh generation");
++               surfmesherror++;
++               //           throw NgException ("Problem in Surface mesh generation");
++            }
++         }
++         else
++         {
++            geom.facemeshstatus[k-1] = 1;
++         }
++
++         notrys = 1;
++
++         for (i = oldnf+1; i <= mesh.GetNSE(); i++)
++            mesh.SurfaceElement(i).SetIndex (k);
++
++      }
++
++//      ofstream problemfile("occmesh.rep");
++
++//      problemfile << "SURFACEMESHING" << endl << endl;
++
++      if (surfmesherror)
++      {
++         cout << "WARNING! NOT ALL FACES HAVE BEEN MESHED" << endl;
++         cout << "SURFACE MESHING ERROR OCCURED IN " << surfmesherror << " FACES:" << endl;
++         for (int i = 1; i <= geom.fmap.Extent(); i++)
++            if (geom.facemeshstatus[i-1] == -1)
++            {
++               cout << "Face " << i << endl;
++//               problemfile << "problem with face " << i << endl;
++//               problemfile << "vertices: " << endl;
++               TopExp_Explorer exp0,exp1,exp2;
++               for ( exp0.Init(TopoDS::Face (geom.fmap(i)), TopAbs_WIRE); exp0.More(); exp0.Next() )
++               {
++                  TopoDS_Wire wire = TopoDS::Wire(exp0.Current());
++                  for ( exp1.Init(wire,TopAbs_EDGE); exp1.More(); exp1.Next() )
++                  {
++                     TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
++                     for ( exp2.Init(edge,TopAbs_VERTEX); exp2.More(); exp2.Next() )
++                     {
++                        TopoDS_Vertex vertex = TopoDS::Vertex(exp2.Current());
++                        gp_Pnt point = BRep_Tool::Pnt(vertex);
++//                        problemfile << point.X() << " " << point.Y() << " " << point.Z() << endl;
++                     }
++                  }
++               }
++//               problemfile << endl;
++
++            }
++            cout << endl << endl;
++            cout << "for more information open IGES/STEP Topology Explorer" << endl;
++//            problemfile.close();
++            throw NgException ("Problem in Surface mesh generation");
++      }
++      else
++      {
++//         problemfile << "OK" << endl << endl;
++//         problemfile.close();
++      }
++
++
++
++
++      if (multithread.terminate || perfstepsend < MESHCONST_OPTSURFACE)
++         return;
++
++      multithread.task = "Optimizing surface";
++
++      static int timer_opt2d = NgProfiler::CreateTimer ("Optimization 2D");
++      NgProfiler::StartTimer (timer_opt2d);
++
++      for (k = 1; k <= mesh.GetNFD(); k++)
++      {
++         //      if (k != 42) continue;
++         //      if (k != 36) continue;
++
++         //      (*testout) << "optimize face " << k << endl;
++         multithread.percent = 100 * k / (mesh.GetNFD() + VSMALL);
++
++         FaceDescriptor & fd = mesh.GetFaceDescriptor(k);
++
++         PrintMessage (1, "Optimize Surface ", k);
++         for (i = 1; i <= mparam.optsteps2d; i++)
++         {
++            //          (*testout) << "optstep " << i << endl;
++            if (multithread.terminate) return;
++
++            {
++               MeshOptimize2dOCCSurfaces meshopt(geom);
++               meshopt.SetFaceIndex (k);
++               meshopt.SetImproveEdges (0);
++               meshopt.SetMetricWeight (mparam.elsizeweight);
++               //meshopt.SetMetricWeight (0.2);
++               meshopt.SetWriteStatus (0);
++
++               //         (*testout) << "EdgeSwapping (mesh, (i > mparam.optsteps2d/2))" << endl;
++               meshopt.EdgeSwapping (mesh, (i > mparam.optsteps2d/2));
++            }
++
++            if (multithread.terminate) return;
++            {
++               MeshOptimize2dOCCSurfaces meshopt(geom);
++               meshopt.SetFaceIndex (k);
++               meshopt.SetImproveEdges (0);
++               //meshopt.SetMetricWeight (0.2);
++               meshopt.SetMetricWeight (mparam.elsizeweight);
++               meshopt.SetWriteStatus (0);
++
++               //         (*testout) << "ImproveMesh (mesh)" << endl;
++               meshopt.ImproveMesh (mesh, mparam);
++            }
++
++            {
++               MeshOptimize2dOCCSurfaces meshopt(geom);
++               meshopt.SetFaceIndex (k);
++               meshopt.SetImproveEdges (0);
++               //meshopt.SetMetricWeight (0.2);
++               meshopt.SetMetricWeight (mparam.elsizeweight);
++               meshopt.SetWriteStatus (0);
++
++               //         (*testout) << "CombineImprove (mesh)" << endl;
++               meshopt.CombineImprove (mesh);
++            }
++
++            if (multithread.terminate) return;
++            {
++               MeshOptimize2dOCCSurfaces meshopt(geom);
++               meshopt.SetFaceIndex (k);
++               meshopt.SetImproveEdges (0);
++               //meshopt.SetMetricWeight (0.2);
++               meshopt.SetMetricWeight (mparam.elsizeweight);
++               meshopt.SetWriteStatus (0);
++
++               //         (*testout) << "ImproveMesh (mesh)" << endl;
++               meshopt.ImproveMesh (mesh, mparam);
++            }
++         }
++
++      }
++
++
++      mesh.CalcSurfacesOfNode();
++      mesh.Compress();
++
++      NgProfiler::StopTimer (timer_opt2d);
++
++      multithread.task = savetask;
++   }
++
++
++
++   void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh)
++   {
++      mesh.SetGlobalH (mparam.maxh);
++      mesh.SetMinimalH (mparam.minh);
++
++      Array<double> maxhdom;
++      maxhdom.SetSize (geom.NrSolids());
++      maxhdom = mparam.maxh;
++
++      mesh.SetMaxHDomain (maxhdom);
++
++      Box<3> bb = geom.GetBoundingBox();
++      bb.Increase (bb.Diam()/10);
++
++      mesh.SetLocalH (bb.PMin(), bb.PMax(), 0.5);
++
++      if (mparam.uselocalh)
++      {
++         const char * savetask = multithread.task;
++         multithread.percent = 0;
++
++         mesh.SetLocalH (bb.PMin(), bb.PMax(), mparam.grading);
++
++         int nedges = geom.emap.Extent();
++
++               double mincurvelength = IGNORECURVELENGTH;
++         double maxedgelen = 0;
++         double minedgelen = 1e99;
++
++               if(occparam.resthminedgelenenable)
++               {
++                      mincurvelength = occparam.resthminedgelen;
++                      if(mincurvelength < IGNORECURVELENGTH) mincurvelength = IGNORECURVELENGTH;
++               }
++
++         multithread.task = "Setting local mesh size (elements per edge)";
++
++         // setting elements per edge
++
++         for (int i = 1; i <= nedges && !multithread.terminate; i++)
++         {
++            TopoDS_Edge e = TopoDS::Edge (geom.emap(i));
++            multithread.percent = 100 * (i-1)/double(nedges);
++            if (BRep_Tool::Degenerated(e)) continue;
++
++            GProp_GProps system;
++            BRepGProp::LinearProperties(e, system);
++            double len = system.Mass();
++
++            if (len < mincurvelength)
++            {
++               (*testout) << "ignored" << endl;
++               continue;
++            }
++
++            double localh = len/mparam.segmentsperedge;
++            double s0, s1;
++
++            // Philippose - 23/01/2009
++            // Find all the parent faces of a given edge
++            // and limit the mesh size of the edge based on the
++            // mesh size limit of the face
++            TopTools_IndexedDataMapOfShapeListOfShape edge_face_map;
++            edge_face_map.Clear();
++
++            TopExp::MapShapesAndAncestors(geom.shape, TopAbs_EDGE, TopAbs_FACE, edge_face_map);
++            const TopTools_ListOfShape& parent_faces = edge_face_map.FindFromKey(e);
++
++            TopTools_ListIteratorOfListOfShape parent_face_list;
++
++            for(parent_face_list.Initialize(parent_faces); parent_face_list.More(); parent_face_list.Next())
++            {
++               TopoDS_Face parent_face = TopoDS::Face(parent_face_list.Value());
++
++               int face_index = geom.fmap.FindIndex(parent_face);
++
++               if(face_index >= 1) localh = min(localh,geom.face_maxh[face_index - 1]);
++            }
++
++            Handle(Geom_Curve) c = BRep_Tool::Curve(e, s0, s1);
++
++            maxedgelen = max (maxedgelen, len);
++            minedgelen = min (minedgelen, len);
++
++            // Philippose - 23/01/2009
++            // Modified the calculation of maxj, because the
++            // method used so far always results in maxj = 2,
++            // which causes the localh to be set only at the
++            // starting, mid and end of the edge.
++            // Old Algorithm:
++            // int maxj = 2 * (int) ceil (localh/len);
++            int maxj = max((int) ceil(len/localh), 2);
++
++            for (int j = 0; j <= maxj; j++)
++            {
++               gp_Pnt pnt = c->Value (s0+double(j)/maxj*(s1-s0));
++               mesh.RestrictLocalH (Point3d(pnt.X(), pnt.Y(), pnt.Z()), localh);
++            }
++         }
++
++         multithread.task = "Setting local mesh size (edge curvature)";
++
++         // setting edge curvature
++
++         int nsections = 20;
++
++         for (int i = 1; i <= nedges && !multithread.terminate; i++)
++         {
++            double maxcur = 0;
++            multithread.percent = 100 * (i-1)/double(nedges);
++            TopoDS_Edge edge = TopoDS::Edge (geom.emap(i));
++            if (BRep_Tool::Degenerated(edge)) continue;
++            double s0, s1;
++            Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1);
++            BRepAdaptor_Curve brepc(edge);
++            BRepLProp_CLProps prop(brepc, 2, 1e-5);
++
++            for (int j = 1; j <= nsections; j++)
++            {
++               double s = s0 + j/(double) nsections * (s1-s0);
++               prop.SetParameter (s);
++               double curvature = prop.Curvature();
++               if(curvature> maxcur) maxcur = curvature;
++
++               if (curvature >= 1e99)
++                  continue;
++
++               gp_Pnt pnt = c->Value (s);
++
++               mesh.RestrictLocalH (Point3d(pnt.X(), pnt.Y(), pnt.Z()), ComputeH (fabs(curvature)));
++            }
++            // (*testout) << "edge " << i << " max. curvature: " << maxcur << endl;
++         }
++
++         multithread.task = "Setting local mesh size (face curvature)";
++
++         // setting face curvature
++
++         int nfaces = geom.fmap.Extent();
++
++         for (int i = 1; i <= nfaces && !multithread.terminate; i++)
++         {
++            multithread.percent = 100 * (i-1)/double(nfaces);
++            TopoDS_Face face = TopoDS::Face(geom.fmap(i));
++            TopLoc_Location loc;
++            Handle(Geom_Surface) surf = BRep_Tool::Surface (face);
++            Handle(Poly_Triangulation) triangulation = BRep_Tool::Triangulation (face, loc);
++
++            if (triangulation.IsNull()) continue;
++
++            BRepAdaptor_Surface sf(face, Standard_True);
++            BRepLProp_SLProps prop(sf, 2, 1e-5);
++
++            int ntriangles = triangulation -> NbTriangles();
++            for (int j = 1; j <= ntriangles; j++)
++            {
++               gp_Pnt p[3];
++               gp_Pnt2d par[3];
++
++               for (int k = 1; k <=3; k++)
++               {
++                  int n = triangulation->Triangles()(j)(k);
++                  p[k-1] = triangulation->Nodes()(n).Transformed(loc);
++                  par[k-1] = triangulation->UVNodes()(n);
++               }
++
++               //double maxside = 0;
++               //maxside = max (maxside, p[0].Distance(p[1]));
++               //maxside = max (maxside, p[0].Distance(p[2]));
++               //maxside = max (maxside, p[1].Distance(p[2]));
++               //cout << "\rFace " << i << " pos11 ntriangles " << ntriangles << " maxside " << maxside << flush;
++
++               RestrictHTriangle (par[0], par[1], par[2], &prop, mesh, 0);
++               //cout << "\rFace " << i << " pos12 ntriangles " << ntriangles << flush;
++            }
++         }
++
++         // setting close edges
++
++         if (occparam.resthcloseedgeenable)
++         {
++            multithread.task = "Setting local mesh size (close edges)";
++
++            int sections = 100;
++
++            Array<Line> lines(sections*nedges);
++
++            Box3dTree* searchtree =
++               new Box3dTree (bb.PMin(), bb.PMax());
++
++            int nlines = 0;
++            for (int i = 1; i <= nedges && !multithread.terminate; i++)
++            {
++               TopoDS_Edge edge = TopoDS::Edge (geom.emap(i));
++               if (BRep_Tool::Degenerated(edge)) continue;
++
++               double s0, s1;
++               Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1);
++               BRepAdaptor_Curve brepc(edge);
++               BRepLProp_CLProps prop(brepc, 1, 1e-5);
++               prop.SetParameter (s0);
++
++               gp_Vec d0 = prop.D1().Normalized();
++               double s_start = s0;
++               int count = 0;
++               for (int j = 1; j <= sections; j++)
++               {
++                  double s = s0 + (s1-s0)*(double)j/(double)sections;
++                  prop.SetParameter (s);
++                  gp_Vec d1 = prop.D1().Normalized();
++                  double cosalpha = fabs(d0*d1);
++                  if ((j == sections) || (cosalpha < cos(10.0/180.0*M_PI)))
++                  {
++                     count++;
++                     gp_Pnt p0 = c->Value (s_start);
++                     gp_Pnt p1 = c->Value (s);
++                     lines[nlines].p0 = Point<3> (p0.X(), p0.Y(), p0.Z());
++                     lines[nlines].p1 = Point<3> (p1.X(), p1.Y(), p1.Z());
++
++                     Box3d box;
++                     box.SetPoint (Point3d(lines[nlines].p0));
++                     box.AddPoint (Point3d(lines[nlines].p1));
++
++                     searchtree->Insert (box.PMin(), box.PMax(), nlines+1);
++                     nlines++;
++
++                     s_start = s;
++                     d0 = d1;
++                  }
++               }
++            }
++
++            Array<int> linenums;
++
++            for (int i = 0; i < nlines; i++)
++            {
++               multithread.percent = (100*i)/double(nlines);
++               Line & line = lines[i];
++
++               Box3d box;
++               box.SetPoint (Point3d(line.p0));
++               box.AddPoint (Point3d(line.p1));
++               double maxhline = max (mesh.GetH(box.PMin()),
++                  mesh.GetH(box.PMax()));
++               box.Increase(maxhline);
++
++               double mindist = 1e99;
++               linenums.SetSize(0);
++               searchtree->GetIntersecting(box.PMin(),box.PMax(),linenums);
++
++               for (int j = 0; j < linenums.Size(); j++)
++               {
++                  int num = linenums[j]-1;
++                  if (i == num) continue;
++                  if ((line.p0-lines[num].p0).Length2() < 1e-15) continue;
++                  if ((line.p0-lines[num].p1).Length2() < 1e-15) continue;
++                  if ((line.p1-lines[num].p0).Length2() < 1e-15) continue;
++                  if ((line.p1-lines[num].p1).Length2() < 1e-15) continue;
++                  mindist = min (mindist, line.Dist(lines[num]));
++               }
++
++               mindist /= (occparam.resthcloseedgefac + VSMALL);
++
++               if (mindist < 1e-3)
++               {
++                  (*testout) << "extremely small local h: " << mindist
++                     << " --> setting to 1e-3" << endl;
++                  (*testout) << "somewhere near " << line.p0 << " - " << line.p1 << endl;
++                  mindist = 1e-3;
++               }
++
++               mesh.RestrictLocalHLine(line.p0, line.p1, mindist);
++            }
++         }
++
++         multithread.task = savetask;
++
++      }
++
++      // Philippose - 09/03/2009
++      // Added the capability to load the mesh size from a
++      // file also for OpenCascade Geometry
++      // Note:
++      // ** If the "uselocalh" option is ticked in
++      // the "mesh options...insider" menu, the mesh
++      // size will be further modified by the topology
++      // analysis routines.
++      // ** To use the mesh size file as the sole source
++      // for defining the mesh size, uncheck the "uselocalh"
++      // option.
++      mesh.LoadLocalMeshSize (mparam.meshsizefilename);
++   }
++
++
++
++  int OCCGenerateMesh (OCCGeometry & geom, Mesh *& mesh, MeshingParameters & mparam,
++                     int perfstepsstart, int perfstepsend)
++   {
++      multithread.percent = 0;
++
++      if (perfstepsstart <= MESHCONST_ANALYSE)
++      {
++         delete mesh;
++         mesh = new Mesh();
++         mesh->geomtype = Mesh::GEOM_OCC;
++
++         OCCSetLocalMeshSize(geom,*mesh);
++      }
++
++      if (multithread.terminate || perfstepsend <= MESHCONST_ANALYSE)
++         return TCL_OK;
++
++      if (perfstepsstart <= MESHCONST_MESHEDGES)
++      {
++         OCCFindEdges (geom, *mesh);
++
++         /*
++         cout << "Removing redundant points" << endl;
++
++         int i, j;
++         int np = mesh->GetNP();
++         Array<int> equalto;
++
++         equalto.SetSize (np);
++         equalto = 0;
++
++         for (i = 1; i <= np; i++)
++         {
++         for (j = i+1; j <= np; j++)
++         {
++         if (!equalto[j-1] && (Dist2 (mesh->Point(i), mesh->Point(j)) < 1e-12))
++         equalto[j-1] = i;
++         }
++         }
++
++         for (i = 1; i <= np; i++)
++         if (equalto[i-1])
++         {
++         cout << "Point " << i << " is equal to Point " << equalto[i-1] << endl;
++         for (j = 1; j <= mesh->GetNSeg(); j++)
++         {
++         Segment & seg = mesh->LineSegment(j);
++         if (seg[0] == i) seg[0] = equalto[i-1];
++         if (seg[1] == i) seg[1] = equalto[i-1];
++         }
++         }
++
++         cout << "Removing degenerated segments" << endl;
++         for (j = 1; j <= mesh->GetNSeg(); j++)
++         {
++         Segment & seg = mesh->LineSegment(j);
++         if (seg[0] == seg[1])
++         {
++         mesh->DeleteSegment(j);
++         cout << "Deleting Segment " << j << endl;
++         }
++         }
++
++         mesh->Compress();
++         */
++
++         /*
++         for (int i = 1; i <= geom.fmap.Extent(); i++)
++         {
++         Handle(Geom_Surface) hf1 =
++         BRep_Tool::Surface(TopoDS::Face(geom.fmap(i)));
++         for (int j = i+1; j <= geom.fmap.Extent(); j++)
++         {
++         Handle(Geom_Surface) hf2 =
++         BRep_Tool::Surface(TopoDS::Face(geom.fmap(j)));
++         if (hf1 == hf2) cout << "face " << i << " and face " << j << " lie on same surface" << endl;
++         }
++         }
++         */
++
++#ifdef LOG_STREAM
++         (*logout) << "Edges meshed" << endl
++            << "time = " << GetTime() << " sec" << endl
++            << "points: " << mesh->GetNP() << endl;
++#endif
++      }
++
++      if (multithread.terminate || perfstepsend <= MESHCONST_MESHEDGES)
++         return TCL_OK;
++
++      if (perfstepsstart <= MESHCONST_MESHSURFACE)
++      {
++         OCCMeshSurface (geom, *mesh, perfstepsend);
++         if (multithread.terminate) return TCL_OK;
++
++#ifdef LOG_STREAM
++         (*logout) << "Surfaces meshed" << endl
++            << "time = " << GetTime() << " sec" << endl
++            << "points: " << mesh->GetNP() << endl;
++#endif
++
++#ifdef STAT_STREAM
++         (*statout) << mesh->GetNSeg() << " & "
++            << mesh->GetNSE() << " & - &"
++            << GetTime() << " & " << endl;
++#endif
++
++         //      MeshQuality2d (*mesh);
++         mesh->CalcSurfacesOfNode();
++      }
++
++      if (multithread.terminate || perfstepsend <= MESHCONST_OPTSURFACE)
++         return TCL_OK;
++
++      if (perfstepsstart <= MESHCONST_MESHVOLUME)
++      {
++         multithread.task = "Volume meshing";
++
++         MESHING3_RESULT res = MeshVolume (mparam, *mesh);
++
++/*
++         ofstream problemfile("occmesh.rep",ios_base::app);
++
++         problemfile << "VOLUMEMESHING" << endl << endl;
++         if(res != MESHING3_OK)
++            problemfile << "ERROR" << endl << endl;
++         else
++            problemfile << "OK" << endl
++            << mesh->GetNE() << " elements" << endl << endl;
++
++         problemfile.close();
++*/
++
++         if (res != MESHING3_OK) return TCL_ERROR;
++
++         if (multithread.terminate) return TCL_OK;
++
++         RemoveIllegalElements (*mesh);
++         if (multithread.terminate) return TCL_OK;
++
++         MeshQuality3d (*mesh);
++
++#ifdef STAT_STREAM
++         (*statout) << GetTime() << " & ";
++#endif
++
++#ifdef LOG_STREAM
++         (*logout) << "Volume meshed" << endl
++            << "time = " << GetTime() << " sec" << endl
++            << "points: " << mesh->GetNP() << endl;
++#endif
++      }
++
++      if (multithread.terminate || perfstepsend <= MESHCONST_MESHVOLUME)
++         return TCL_OK;
++
++      if (perfstepsstart <= MESHCONST_OPTVOLUME)
++      {
++         multithread.task = "Volume optimization";
++
++         OptimizeVolume (mparam, *mesh);
++         if (multithread.terminate) return TCL_OK;
++
++#ifdef STAT_STREAM
++         (*statout) << GetTime() << " & "
++            << mesh->GetNE() << " & "
++            << mesh->GetNP() << " " << '\\' << '\\' << " \\" << "hline" << endl;
++#endif
++
++#ifdef LOG_STREAM
++         (*logout) << "Volume optimized" << endl
++            << "time = " << GetTime() << " sec" << endl
++            << "points: " << mesh->GetNP() << endl;
++#endif
++
++         // cout << "Optimization complete" << endl;
++
++      }
++
++      (*testout) << "NP: " << mesh->GetNP() << endl;
++      for (int i = 1; i <= mesh->GetNP(); i++)
++         (*testout) << mesh->Point(i) << endl;
++
++      (*testout) << endl << "NSegments: " << mesh->GetNSeg() << endl;
++      for (int i = 1; i <= mesh->GetNSeg(); i++)
++         (*testout) << mesh->LineSegment(i) << endl;
++
++      return TCL_OK;
++   }
++}
++
++#endif
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occgeom.cpp netgen-5.3.1_SRC_modif/libsrc/occ/occgeom.cpp
+--- netgen-5.3.1_SRC_orig/libsrc/occ/occgeom.cpp       2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/occgeom.cpp      2018-03-01 15:45:08.689877466 +0300
+@@ -1,1612 +1,1669 @@
+-
+-#ifdef OCCGEOMETRY
+-
+-#include <mystdlib.h>
+-#include <occgeom.hpp>
+-#include "ShapeAnalysis_ShapeTolerance.hxx"
+-#include "ShapeAnalysis_ShapeContents.hxx"
+-#include "ShapeAnalysis_CheckSmallFace.hxx"
+-#include "ShapeAnalysis_DataMapOfShapeListOfReal.hxx"
+-#include "ShapeAnalysis_Surface.hxx"
+-#include "BRepAlgoAPI_Fuse.hxx"
+-#include "BRepCheck_Analyzer.hxx"
+-#include "BRepLib.hxx"
+-#include "ShapeBuild_ReShape.hxx"
+-#include "ShapeFix.hxx"
+-#include "ShapeFix_FixSmallFace.hxx"
+-#include "Partition_Spliter.hxx"
+-
+-
+-namespace netgen
+-{
+-   void OCCGeometry :: PrintNrShapes ()
+-   {
+-      TopExp_Explorer e;
+-      int count = 0;
+-      for (e.Init(shape, TopAbs_COMPSOLID); e.More(); e.Next()) count++;
+-      cout << "CompSolids: " << count << endl;
+-
+-      cout << "Solids    : " << somap.Extent() << endl;
+-      cout << "Shells    : " << shmap.Extent() << endl;
+-      cout << "Faces     : " << fmap.Extent() << endl;
+-      cout << "Edges     : " << emap.Extent() << endl;
+-      cout << "Vertices  : " << vmap.Extent() << endl;
+-   }
+-
+-
+-
+-
+-   void PrintContents (OCCGeometry * geom)
+-   {
+-      ShapeAnalysis_ShapeContents cont;
+-      cont.Clear();
+-      cont.Perform(geom->shape);
+-
+-      (*testout) << "OCC CONTENTS" << endl;
+-      (*testout) << "============" << endl;
+-      (*testout) << "SOLIDS   : " << cont.NbSolids() << endl;
+-      (*testout) << "SHELLS   : " << cont.NbShells() << endl;
+-      (*testout) << "FACES    : " << cont.NbFaces() << endl;
+-      (*testout) << "WIRES    : " << cont.NbWires() << endl;
+-      (*testout) << "EDGES    : " << cont.NbEdges() << endl;
+-      (*testout) << "VERTICES : " << cont.NbVertices() << endl;
+-
+-      TopExp_Explorer e;
+-      int count = 0;
+-      for (e.Init(geom->shape, TopAbs_COMPOUND); e.More(); e.Next())
+-         count++;
+-      (*testout) << "Compounds: " << count << endl;
+-
+-      count = 0;
+-      for (e.Init(geom->shape, TopAbs_COMPSOLID); e.More(); e.Next())
+-         count++;
+-      (*testout) << "CompSolids: " << count << endl;
+-
+-      (*testout) << endl;
+-
+-      cout << "Highest entry in topology hierarchy: " << endl;
+-      if (count)
+-         cout << count << " composite solid(s)" << endl;
+-      else
+-         if (geom->somap.Extent())
+-            cout << geom->somap.Extent() << " solid(s)" << endl;
+-         else
+-            if (geom->shmap.Extent())
+-               cout << geom->shmap.Extent() << " shells(s)" << endl;
+-            else
+-               if (geom->fmap.Extent())
+-                  cout << geom->fmap.Extent() << " face(s)" << endl;
+-               else
+-                  if (geom->wmap.Extent())
+-                     cout << geom->wmap.Extent() << " wire(s)" << endl;
+-                  else
+-                     if (geom->emap.Extent())
+-                        cout << geom->emap.Extent() << " edge(s)" << endl;
+-                     else
+-                        if (geom->vmap.Extent())
+-                           cout << geom->vmap.Extent() << " vertices(s)" << endl;
+-                        else
+-                           cout << "no entities" << endl;
+-
+-   }
+-
+-
+-
+-   void OCCGeometry :: HealGeometry ()
+-   {
+-      int nrc = 0, nrcs = 0,
+-         nrso = somap.Extent(),
+-         nrsh = shmap.Extent(),
+-         nrf = fmap.Extent(),
+-         nrw = wmap.Extent(),
+-         nre = emap.Extent(),
+-         nrv = vmap.Extent();
+-
+-      TopExp_Explorer exp0;
+-      TopExp_Explorer exp1;
+-
+-
+-      for (exp0.Init(shape, TopAbs_COMPOUND); exp0.More(); exp0.Next()) nrc++;
+-      for (exp0.Init(shape, TopAbs_COMPSOLID); exp0.More(); exp0.Next()) nrcs++;
+-
+-      double surfacecont = 0;
+-
+-      {
+-         Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
+-         rebuild->Apply(shape);
+-         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
+-         {
+-            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
+-            if ( BRep_Tool::Degenerated(edge) )
+-               rebuild->Remove(edge, false);
+-         }
+-         shape = rebuild->Apply(shape);
+-      }
+-
+-      BuildFMap();
+-
+-
+-      for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
+-      {
+-         TopoDS_Face face = TopoDS::Face(exp0.Current());
+-
+-         GProp_GProps system;
+-         BRepGProp::SurfaceProperties(face, system);
+-         surfacecont += system.Mass();
+-      }
+-
+-
+-      cout << "Starting geometry healing procedure (tolerance: " << tolerance << ")" << endl
+-         << "-----------------------------------" << endl;
+-
+-      {
+-         cout << endl << "- repairing faces" << endl;
+-
+-         Handle(ShapeFix_Face) sff;
+-         Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
+-         rebuild->Apply(shape);
+-
+-
+-         for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
+-         {
+-            // Variable to hold the colour (if there exists one) of 
+-            // the current face being processed
+-            Quantity_Color face_colour;
+-
+-            TopoDS_Face face = TopoDS::Face (exp0.Current());
+-
+-            if(face_colours.IsNull()
+-               || (!(face_colours->GetColor(face,XCAFDoc_ColorSurf,face_colour))))
+-            {
+-               // Set the default face colour to green (Netgen Standard)
+-               // if no colour has been defined for the face
+-               face_colour = Quantity_Color(0.0,1.0,0.0,Quantity_TOC_RGB);
+-            }
+-
+-            sff = new ShapeFix_Face (face);
+-            sff->FixAddNaturalBoundMode() = Standard_True;
+-            sff->FixSmallAreaWireMode() = Standard_True;
+-            sff->Perform();
+-
+-            if(sff->Status(ShapeExtend_DONE1) ||
+-               sff->Status(ShapeExtend_DONE2) ||
+-               sff->Status(ShapeExtend_DONE3) ||
+-               sff->Status(ShapeExtend_DONE4) ||
+-               sff->Status(ShapeExtend_DONE5))
+-            {
+-               cout << "repaired face " << fmap.FindIndex(face) << " ";
+-               if(sff->Status(ShapeExtend_DONE1))
+-                  cout << "(some wires are fixed)" <<endl;
+-               else if(sff->Status(ShapeExtend_DONE2))
+-                  cout << "(orientation of wires fixed)" <<endl;
+-               else if(sff->Status(ShapeExtend_DONE3))
+-                  cout << "(missing seam added)" <<endl;
+-               else if(sff->Status(ShapeExtend_DONE4))
+-                  cout << "(small area wire removed)" <<endl;
+-               else if(sff->Status(ShapeExtend_DONE5))
+-                  cout << "(natural bounds added)" <<endl;
+-               TopoDS_Face newface = sff->Face();
+-
+-               rebuild->Replace(face, newface, Standard_False);
+-            }
+-
+-            // Set the original colour of the face to the newly created 
+-            // face (after the healing process)
+-            face = TopoDS::Face (exp0.Current());
+-            face_colours->SetColor(face,face_colour,XCAFDoc_ColorSurf);
+-         }
+-         shape = rebuild->Apply(shape);
+-      }
+-
+-
+-      {
+-         Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
+-         rebuild->Apply(shape);
+-         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
+-         {
+-            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
+-            if ( BRep_Tool::Degenerated(edge) )
+-               rebuild->Remove(edge, false);
+-         }
+-         shape = rebuild->Apply(shape);
+-      }
+-
+-
+-      if (fixsmalledges)
+-      {
+-         cout << endl << "- fixing small edges" << endl;
+-
+-         Handle(ShapeFix_Wire) sfw;
+-         Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
+-         rebuild->Apply(shape);
+-
+-
+-         for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
+-         {
+-            TopoDS_Face face = TopoDS::Face(exp0.Current());
+-
+-            for (exp1.Init (face, TopAbs_WIRE); exp1.More(); exp1.Next())
+-            {
+-               TopoDS_Wire oldwire = TopoDS::Wire(exp1.Current());
+-               sfw = new ShapeFix_Wire (oldwire, face ,tolerance);
+-               sfw->ModifyTopologyMode() = Standard_True;
+-
+-               sfw->ClosedWireMode() = Standard_True;
+-
+-               bool replace = false;
+-
+-               replace = sfw->FixReorder() || replace;
+-
+-               replace = sfw->FixConnected() || replace;
+-
+-
+-
+-               if (sfw->FixSmall (Standard_False, tolerance) && ! (sfw->StatusSmall(ShapeExtend_FAIL1) ||
+-                  sfw->StatusSmall(ShapeExtend_FAIL2) ||
+-                  sfw->StatusSmall(ShapeExtend_FAIL3)))
+-               {
+-                  cout << "Fixed small edge in wire " << wmap.FindIndex (oldwire) << endl;
+-                  replace = true;
+-
+-               }
+-               else if (sfw->StatusSmall(ShapeExtend_FAIL1))
+-                  cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire)
+-                  << ", edge cannot be checked (no 3d curve and no pcurve)" << endl;
+-               else if (sfw->StatusSmall(ShapeExtend_FAIL2))
+-                  cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire)
+-                  << ", edge is null-length and has different vertives at begin and end, and lockvtx is True or ModifiyTopologyMode is False" << endl;
+-               else if (sfw->StatusSmall(ShapeExtend_FAIL3))
+-                  cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire)
+-                  << ", CheckConnected has failed" << endl;
+-
+-               replace = sfw->FixEdgeCurves() || replace;
+-
+-               replace = sfw->FixDegenerated() || replace;
+-
+-               replace = sfw->FixSelfIntersection() || replace;
+-
+-               replace = sfw->FixLacking(Standard_True) || replace;
+-
+-               if(replace)
+-               {
+-                  TopoDS_Wire newwire = sfw->Wire();
+-                  rebuild->Replace(oldwire, newwire, Standard_False);
+-               }
+-
+-               //delete sfw; sfw = NULL;
+-
+-            }
+-         }
+-
+-         shape = rebuild->Apply(shape);
+-
+-
+-
+-         {
+-            BuildFMap();
+-            Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
+-            rebuild->Apply(shape);
+-
+-            for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
+-            {
+-               TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
+-               if (vmap.FindIndex(TopExp::FirstVertex (edge)) ==
+-                  vmap.FindIndex(TopExp::LastVertex (edge)))
+-               {
+-                  GProp_GProps system;
+-                  BRepGProp::LinearProperties(edge, system);
+-                  if (system.Mass() < tolerance)
+-                  {
+-                     cout << "removing degenerated edge " << emap.FindIndex(edge)
+-                        << " from vertex " << vmap.FindIndex(TopExp::FirstVertex (edge))
+-                        << " to vertex " << vmap.FindIndex(TopExp::LastVertex (edge)) << endl;
+-                     rebuild->Remove(edge, false);
+-                  }
+-               }
+-            }
+-            shape = rebuild->Apply(shape);
+-
+-            //delete rebuild; rebuild = NULL;
+-         }
+-
+-
+-
+-         {
+-            Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
+-            rebuild->Apply(shape);
+-            for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
+-            {
+-               TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
+-               if ( BRep_Tool::Degenerated(edge) )
+-                  rebuild->Remove(edge, false);
+-            }
+-            shape = rebuild->Apply(shape);
+-         }
+-
+-
+-
+-
+-         Handle(ShapeFix_Wireframe) sfwf = new ShapeFix_Wireframe;
+-         sfwf->SetPrecision(tolerance);
+-         sfwf->Load (shape);
+-         sfwf->ModeDropSmallEdges() = Standard_True;
+-
+-         sfwf->SetPrecision(boundingbox.Diam());
+-
+-         if (sfwf->FixWireGaps())
+-         {
+-            cout << endl << "- fixing wire gaps" << endl;
+-            if (sfwf->StatusWireGaps(ShapeExtend_OK)) cout << "no gaps found" << endl;
+-            if (sfwf->StatusWireGaps(ShapeExtend_DONE1)) cout << "some 2D gaps fixed" << endl;
+-            if (sfwf->StatusWireGaps(ShapeExtend_DONE2)) cout << "some 3D gaps fixed" << endl;
+-            if (sfwf->StatusWireGaps(ShapeExtend_FAIL1)) cout << "failed to fix some 2D gaps" << endl;
+-            if (sfwf->StatusWireGaps(ShapeExtend_FAIL2)) cout << "failed to fix some 3D gaps" << endl;
+-         }
+-
+-         sfwf->SetPrecision(tolerance);
+-
+-
+-         {
+-            for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
+-            {
+-               TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
+-               if ( BRep_Tool::Degenerated(edge) )
+-                  cout << "degenerated edge at position 4" << endl;
+-            }
+-         }
+-
+-
+-
+-         if (sfwf->FixSmallEdges())
+-         {
+-            cout << endl << "- fixing wire frames" << endl;
+-            if (sfwf->StatusSmallEdges(ShapeExtend_OK)) cout << "no small edges found" << endl;
+-            if (sfwf->StatusSmallEdges(ShapeExtend_DONE1)) cout << "some small edges fixed" << endl;
+-            if (sfwf->StatusSmallEdges(ShapeExtend_FAIL1)) cout << "failed to fix some small edges" << endl;
+-         }
+-
+-
+-
+-         shape = sfwf->Shape();
+-
+-         //delete sfwf; sfwf = NULL;
+-         //delete rebuild; rebuild = NULL;
+-
+-      }
+-
+-
+-
+-
+-
+-      {
+-         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
+-         {
+-            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
+-            if ( BRep_Tool::Degenerated(edge) )
+-               cout << "degenerated edge at position 5" << endl;
+-         }
+-      }
+-
+-
+-
+-
+-      if (fixspotstripfaces)
+-      {
+-
+-         cout << endl << "- fixing spot and strip faces" << endl;
+-         Handle(ShapeFix_FixSmallFace) sffsm = new ShapeFix_FixSmallFace();
+-         sffsm -> Init (shape);
+-         sffsm -> SetPrecision (tolerance);
+-         sffsm -> Perform();
+-
+-         shape = sffsm -> FixShape();
+-         //delete sffsm; sffsm = NULL;
+-      }
+-
+-
+-      {
+-         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
+-         {
+-            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
+-            if ( BRep_Tool::Degenerated(edge) )
+-               cout << "degenerated edge at position 6" << endl;
+-         }
+-      }
+-
+-
+-
+-      if (sewfaces)
+-      {
+-         cout << endl << "- sewing faces" << endl;
+-
+-         BRepOffsetAPI_Sewing sewedObj(tolerance);
+-
+-         for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
+-         {
+-            TopoDS_Face face = TopoDS::Face (exp0.Current());
+-            sewedObj.Add (face);
+-         }
+-
+-         sewedObj.Perform();
+-
+-         if (!sewedObj.SewedShape().IsNull())
+-            shape = sewedObj.SewedShape();
+-         else
+-            cout << " not possible";
+-      }
+-
+-
+-
+-      {
+-         Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
+-         rebuild->Apply(shape);
+-         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
+-         {
+-            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
+-            if ( BRep_Tool::Degenerated(edge) )
+-               rebuild->Remove(edge, false);
+-         }
+-         shape = rebuild->Apply(shape);
+-      }
+-
+-
+-      if (makesolids)
+-      {
+-         cout << endl << "- making solids" << endl;
+-
+-         BRepBuilderAPI_MakeSolid ms;
+-         int count = 0;
+-         for (exp0.Init(shape, TopAbs_SHELL); exp0.More(); exp0.Next())
+-         {
+-            count++;
+-            ms.Add (TopoDS::Shell(exp0.Current()));
+-         }
+-
+-         if (!count)
+-         {
+-            cout << " not possible (no shells)" << endl;
+-         }
+-         else
+-         {
+-            BRepCheck_Analyzer ba(ms);
+-            if (ba.IsValid ())
+-            {
+-               Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape;
+-               sfs->Init (ms);
+-               sfs->SetPrecision(tolerance);
+-               sfs->SetMaxTolerance(tolerance);
+-               sfs->Perform();
+-               shape = sfs->Shape();
+-
+-               for (exp0.Init(shape, TopAbs_SOLID); exp0.More(); exp0.Next())
+-               {
+-                  TopoDS_Solid solid = TopoDS::Solid(exp0.Current());
+-                  TopoDS_Solid newsolid = solid;
+-                  BRepLib::OrientClosedSolid (newsolid);
+-                  Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
+-                  //            rebuild->Apply(shape);
+-                  rebuild->Replace(solid, newsolid, Standard_False);
+-                  TopoDS_Shape newshape = rebuild->Apply(shape, TopAbs_COMPSOLID);//, 1);
+-                  //            TopoDS_Shape newshape = rebuild->Apply(shape);
+-                  shape = newshape;
+-               }
+-
+-               //delete sfs; sfs = NULL;
+-            }
+-            else
+-               cout << " not possible" << endl;
+-         }
+-      }
+-
+-
+-
+-      if (splitpartitions)
+-      {
+-         cout << "- running SALOME partition splitter" << endl;
+-
+-         TopExp_Explorer e2;
+-         Partition_Spliter ps;
+-         int count = 0;
+-
+-         for (e2.Init (shape, TopAbs_SOLID);
+-            e2.More(); e2.Next())
+-         {
+-            count++;
+-            ps.AddShape (e2.Current());
+-         }
+-
+-         ps.Compute();
+-         shape = ps.Shape();
+-
+-         cout << " before: " << count << " solids" << endl;
+-
+-         count = 0;
+-         for (e2.Init (shape, TopAbs_SOLID);
+-            e2.More(); e2.Next()) count++;
+-
+-            cout << " after : " << count << " solids" << endl;
+-      }
+-
+-      BuildFMap();
+-
+-
+-
+-      {
+-         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
+-         {
+-            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
+-            if ( BRep_Tool::Degenerated(edge) )
+-               cout << "degenerated edge at position 8" << endl;
+-         }
+-      }
+-
+-
+-      double newsurfacecont = 0;
+-
+-
+-      for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
+-      {
+-         TopoDS_Face face = TopoDS::Face(exp0.Current());
+-         GProp_GProps system;
+-         BRepGProp::SurfaceProperties(face, system);
+-         newsurfacecont += system.Mass();
+-      }
+-
+-
+-      int nnrc = 0, nnrcs = 0,
+-         nnrso = somap.Extent(),
+-         nnrsh = shmap.Extent(),
+-         nnrf = fmap.Extent(),
+-         nnrw = wmap.Extent(),
+-         nnre = emap.Extent(),
+-         nnrv = vmap.Extent();
+-
+-      for (exp0.Init(shape, TopAbs_COMPOUND); exp0.More(); exp0.Next()) nnrc++;
+-      for (exp0.Init(shape, TopAbs_COMPSOLID); exp0.More(); exp0.Next()) nnrcs++;
+-
+-      cout << "-----------------------------------" << endl;
+-      cout << "Compounds       : " << nnrc << " (" << nrc << ")" << endl;
+-      cout << "Composite solids: " << nnrcs << " (" << nrcs << ")" << endl;
+-      cout << "Solids          : " << nnrso << " (" << nrso << ")" << endl;
+-      cout << "Shells          : " << nnrsh << " (" << nrsh << ")" << endl;
+-      cout << "Wires           : " << nnrw << " (" << nrw << ")" << endl;
+-      cout << "Faces           : " << nnrf << " (" << nrf << ")" << endl;
+-      cout << "Edges           : " << nnre << " (" << nre << ")" << endl;
+-      cout << "Vertices        : " << nnrv << " (" << nrv << ")" << endl;
+-      cout << endl;
+-      cout << "Totol surface area : " << newsurfacecont << " (" << surfacecont << ")" << endl;
+-      cout << endl;
+-   }
+-
+-
+-
+-
+-   void OCCGeometry :: BuildFMap()
+-   {
+-      somap.Clear();
+-      shmap.Clear();
+-      fmap.Clear();
+-      wmap.Clear();
+-      emap.Clear();
+-      vmap.Clear();
+-
+-      TopExp_Explorer exp0, exp1, exp2, exp3, exp4, exp5;
+-
+-      for (exp0.Init(shape, TopAbs_COMPOUND);
+-         exp0.More(); exp0.Next())
+-      {
+-         TopoDS_Compound compound = TopoDS::Compound (exp0.Current());
+-         (*testout) << "compound" << endl;
+-         int i = 0;
+-         for (exp1.Init(compound, TopAbs_SHELL);
+-            exp1.More(); exp1.Next())
+-         {
+-            (*testout) << "shell " << ++i << endl;
+-         }
+-      }
+-
+-      for (exp0.Init(shape, TopAbs_SOLID);
+-         exp0.More(); exp0.Next())
+-      {
+-         TopoDS_Solid solid = TopoDS::Solid (exp0.Current());
+-
+-         if (somap.FindIndex(solid) < 1)
+-         {
+-            somap.Add (solid);
+-
+-            for (exp1.Init(solid, TopAbs_SHELL);
+-               exp1.More(); exp1.Next())
+-            {
+-               TopoDS_Shell shell = TopoDS::Shell (exp1.Current());
+-               if (shmap.FindIndex(shell) < 1)
+-               {
+-                  shmap.Add (shell);
+-
+-                  for (exp2.Init(shell, TopAbs_FACE);
+-                     exp2.More(); exp2.Next())
+-                  {
+-                     TopoDS_Face face = TopoDS::Face(exp2.Current());
+-                     if (fmap.FindIndex(face) < 1)
+-                     {
+-                        fmap.Add (face);
+-                        (*testout) << "face " << fmap.FindIndex(face) << " ";
+-                        (*testout) << ((face.Orientation() == TopAbs_REVERSED) ? "-" : "+") << ", ";
+-                        (*testout) << ((exp2.Current().Orientation() == TopAbs_REVERSED) ? "-" : "+") << endl;
+-                        for (exp3.Init(exp2.Current(), TopAbs_WIRE);
+-                           exp3.More(); exp3.Next())
+-                        {
+-                           TopoDS_Wire wire = TopoDS::Wire (exp3.Current());
+-                           if (wmap.FindIndex(wire) < 1)
+-                           {
+-                              wmap.Add (wire);
+-
+-                              for (exp4.Init(exp3.Current(), TopAbs_EDGE);
+-                                 exp4.More(); exp4.Next())
+-                              {
+-                                 TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
+-                                 if (emap.FindIndex(edge) < 1)
+-                                 {
+-                                    emap.Add (edge);
+-                                    for (exp5.Init(exp4.Current(), TopAbs_VERTEX);
+-                                       exp5.More(); exp5.Next())
+-                                    {
+-                                       TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
+-                                       if (vmap.FindIndex(vertex) < 1)
+-                                          vmap.Add (vertex);
+-                                    }
+-                                 }
+-                              }
+-                           }
+-                        }
+-                     }
+-                  }
+-               }
+-            }
+-         }
+-      }
+-
+-      // Free Shells
+-      for (exp1.Init(shape, TopAbs_SHELL, TopAbs_SOLID); exp1.More(); exp1.Next())
+-      {
+-         TopoDS_Shell shell = TopoDS::Shell(exp1.Current());
+-         if (shmap.FindIndex(shell) < 1)
+-         {
+-            shmap.Add (shell);
+-
+-            (*testout) << "shell " << shmap.FindIndex(shell) << " ";
+-            (*testout) << ((shell.Orientation() == TopAbs_REVERSED) ? "-" : "+") << ", ";
+-            (*testout) << ((exp1.Current().Orientation() == TopAbs_REVERSED) ? "-" : "+") << endl;
+-
+-            for (exp2.Init(shell, TopAbs_FACE); exp2.More(); exp2.Next())
+-            {
+-               TopoDS_Face face = TopoDS::Face(exp2.Current());
+-               if (fmap.FindIndex(face) < 1)
+-               {
+-                  fmap.Add (face);
+-
+-                  for (exp3.Init(face, TopAbs_WIRE); exp3.More(); exp3.Next())
+-                  {
+-                     TopoDS_Wire wire = TopoDS::Wire (exp3.Current());
+-                     if (wmap.FindIndex(wire) < 1)
+-                     {
+-                        wmap.Add (wire);
+-
+-                        for (exp4.Init(wire, TopAbs_EDGE); exp4.More(); exp4.Next())
+-                        {
+-                           TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
+-                           if (emap.FindIndex(edge) < 1)
+-                           {
+-                              emap.Add (edge);
+-                              for (exp5.Init(edge, TopAbs_VERTEX); exp5.More(); exp5.Next())
+-                              {
+-                                 TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
+-                                 if (vmap.FindIndex(vertex) < 1)
+-                                    vmap.Add (vertex);
+-                              }
+-                           }
+-                        }
+-                     }
+-                  }
+-               }
+-            }
+-         }
+-      }
+-
+-
+-      // Free Faces
+-
+-      for (exp2.Init(shape, TopAbs_FACE, TopAbs_SHELL); exp2.More(); exp2.Next())
+-      {
+-         TopoDS_Face face = TopoDS::Face(exp2.Current());
+-         if (fmap.FindIndex(face) < 1)
+-         {
+-            fmap.Add (face);
+-
+-            for (exp3.Init(exp2.Current(), TopAbs_WIRE); exp3.More(); exp3.Next())
+-            {
+-               TopoDS_Wire wire = TopoDS::Wire (exp3.Current());
+-               if (wmap.FindIndex(wire) < 1)
+-               {
+-                  wmap.Add (wire);
+-
+-                  for (exp4.Init(exp3.Current(), TopAbs_EDGE); exp4.More(); exp4.Next())
+-                  {
+-                     TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
+-                     if (emap.FindIndex(edge) < 1)
+-                     {
+-                        emap.Add (edge);
+-                        for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next())
+-                        {
+-                           TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
+-                           if (vmap.FindIndex(vertex) < 1)
+-                              vmap.Add (vertex);
+-                        }
+-                     }
+-                  }
+-               }
+-            }
+-         }
+-      }
+-
+-
+-      // Free Wires
+-
+-      for (exp3.Init(shape, TopAbs_WIRE, TopAbs_FACE); exp3.More(); exp3.Next())
+-      {
+-         TopoDS_Wire wire = TopoDS::Wire (exp3.Current());
+-         if (wmap.FindIndex(wire) < 1)
+-         {
+-            wmap.Add (wire);
+-
+-            for (exp4.Init(exp3.Current(), TopAbs_EDGE); exp4.More(); exp4.Next())
+-            {
+-               TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
+-               if (emap.FindIndex(edge) < 1)
+-               {
+-                  emap.Add (edge);
+-                  for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next())
+-                  {
+-                     TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
+-                     if (vmap.FindIndex(vertex) < 1)
+-                        vmap.Add (vertex);
+-                  }
+-               }
+-            }
+-         }
+-      }
+-
+-
+-      // Free Edges
+-
+-      for (exp4.Init(shape, TopAbs_EDGE, TopAbs_WIRE); exp4.More(); exp4.Next())
+-      {
+-         TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
+-         if (emap.FindIndex(edge) < 1)
+-         {
+-            emap.Add (edge);
+-            for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next())
+-            {
+-               TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
+-               if (vmap.FindIndex(vertex) < 1)
+-                  vmap.Add (vertex);
+-            }
+-         }
+-      }
+-
+-
+-      // Free Vertices
+-
+-      for (exp5.Init(shape, TopAbs_VERTEX, TopAbs_EDGE); exp5.More(); exp5.Next())
+-      {
+-         TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
+-         if (vmap.FindIndex(vertex) < 1)
+-            vmap.Add (vertex);
+-      }
+-
+-
+-
+-
+-      facemeshstatus.DeleteAll();
+-      facemeshstatus.SetSize (fmap.Extent());
+-      facemeshstatus = 0;
+-
+-      // Philippose - 15/01/2009
+-      face_maxh.DeleteAll();
+-      face_maxh.SetSize (fmap.Extent());
+-      face_maxh = mparam.maxh;
+-
+-      // Philippose - 15/01/2010      
+-      face_maxh_modified.DeleteAll();      
+-      face_maxh_modified.SetSize(fmap.Extent());      
+-      face_maxh_modified = 0;
+-      
+-
+-      // Philippose - 17/01/2009
+-      face_sel_status.DeleteAll();
+-      face_sel_status.SetSize (fmap.Extent());
+-      face_sel_status = 0;
+-
+-      fvispar.SetSize (fmap.Extent());
+-      evispar.SetSize (emap.Extent());
+-      vvispar.SetSize (vmap.Extent());
+-
+-      fsingular.SetSize (fmap.Extent());
+-      esingular.SetSize (emap.Extent());
+-      vsingular.SetSize (vmap.Extent());
+-
+-      fsingular = esingular = vsingular = false;
+-   }
+-
+-
+-
+-   void OCCGeometry :: SewFaces ()
+-   {
+-      (*testout) << "Trying to sew faces ..." << endl;
+-      cout << "Trying to sew faces ..." << flush;
+-
+-      BRepOffsetAPI_Sewing sewedObj(1);
+- 
+-      for (int i = 1; i <= fmap.Extent(); i++)
+-      {
+-         TopoDS_Face face = TopoDS::Face (fmap(i));
+-         sewedObj.Add (face);
+-      }
+-
+-      sewedObj.Perform();
+-
+-      if (!sewedObj.SewedShape().IsNull())
+-      {
+-         shape = sewedObj.SewedShape();
+-         cout << " done" << endl;
+-      }
+-      else
+-         cout << " not possible";
+-   }
+-
+-
+-
+-
+-
+-   void OCCGeometry :: MakeSolid ()
+-   {
+-      TopExp_Explorer exp0;
+-
+-      (*testout) << "Trying to build solids ..." << endl;
+-      cout << "Trying to build solids ..." << flush;
+-
+-      BRepBuilderAPI_MakeSolid ms;
+-      int count = 0;
+-      for (exp0.Init(shape, TopAbs_SHELL); exp0.More(); exp0.Next())
+-      {
+-         count++;
+-         ms.Add (TopoDS::Shell(exp0.Current()));
+-      }
+-
+-      if (!count)
+-      {
+-         cout << " not possible (no shells)" << endl;
+-         return;
+-      }
+-
+-      BRepCheck_Analyzer ba(ms);
+-      if (ba.IsValid ())
+-      {
+-         Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape;
+-         sfs->Init (ms);
+-
+-         sfs->SetPrecision(1e-5);
+-         sfs->SetMaxTolerance(1e-5);
+-
+-         sfs->Perform();
+-
+-         shape = sfs->Shape();
+-
+-         for (exp0.Init(shape, TopAbs_SOLID); exp0.More(); exp0.Next())
+-         {
+-            TopoDS_Solid solid = TopoDS::Solid(exp0.Current());
+-            TopoDS_Solid newsolid = solid;
+-            BRepLib::OrientClosedSolid (newsolid);
+-            Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
+-            rebuild->Replace(solid, newsolid, Standard_False);
+-
+-            TopoDS_Shape newshape = rebuild->Apply(shape, TopAbs_SHAPE, 1);
+-            shape = newshape;
+-         }
+-
+-         cout << " done" << endl;
+-      }
+-      else
+-         cout << " not possible" << endl;
+-   }
+-
+-
+-
+-
+-   void OCCGeometry :: BuildVisualizationMesh (double deflection)
+-   {
+-      cout << "Preparing visualization (deflection = " << deflection << ") ... " << flush;
+-
+-      BRepTools::Clean (shape);
+-      // BRepMesh_IncrementalMesh::
+-      BRepMesh_IncrementalMesh (shape, deflection, true);
+-      cout << "done" << endl;
+-   }
+-
+-
+-
+-
+-   void OCCGeometry :: CalcBoundingBox ()
+-   {
+-      Bnd_Box bb;
+-      BRepBndLib::Add (shape, bb);
+-
+-      double x1,y1,z1,x2,y2,z2;
+-      bb.Get (x1,y1,z1,x2,y2,z2);
+-      Point<3> p1 = Point<3> (x1,y1,z1);
+-      Point<3> p2 = Point<3> (x2,y2,z2);
+-
+-      (*testout) << "Bounding Box = [" << p1 << " - " << p2 << "]" << endl;
+-      boundingbox = Box<3> (p1,p2);
+-      SetCenter();
+-   }
+-
+-
+-
+-
+-   void OCCGeometry :: Project (int surfi, Point<3> & p) const
+-   {
+-      static int cnt = 0;
+-      if (++cnt % 1000 == 0) cout << "Project cnt = " << cnt << endl;
+-
+-      gp_Pnt pnt(p(0), p(1), p(2));
+-
+-      double u,v;
+-      Handle( Geom_Surface ) thesurf = BRep_Tool::Surface(TopoDS::Face(fmap(surfi)));
+-      Handle( ShapeAnalysis_Surface ) su = new ShapeAnalysis_Surface( thesurf );
+-      gp_Pnt2d suval = su->ValueOfUV ( pnt, BRep_Tool::Tolerance( TopoDS::Face(fmap(surfi)) ) );
+-      suval.Coord( u, v);
+-      pnt = thesurf->Value( u, v );
+-
+-
+-      p = Point<3> (pnt.X(), pnt.Y(), pnt.Z());
+-
+-   }
+-
+-
+-
+-
+-   bool OCCGeometry :: FastProject (int surfi, Point<3> & ap, double& u, double& v) const
+-   {
+-      gp_Pnt p(ap(0), ap(1), ap(2));
+-
+-      Handle(Geom_Surface) surface = BRep_Tool::Surface(TopoDS::Face(fmap(surfi)));
+-
+-      gp_Pnt x = surface->Value (u,v);
+-
+-      if (p.SquareDistance(x) <= sqr(PROJECTION_TOLERANCE)) return true;
+-
+-      gp_Vec du, dv;
+-
+-      surface->D1(u,v,x,du,dv);
+-
+-      int count = 0;
+-
+-      gp_Pnt xold;
+-      gp_Vec n;
+-      double det, lambda, mu;
+-
+-      do {
+-         count++;
+-
+-         n = du^dv;
+-
+-         det = Det3 (n.X(), du.X(), dv.X(),
+-            n.Y(), du.Y(), dv.Y(),
+-            n.Z(), du.Z(), dv.Z());
+-
+-         if (det < 1e-15) return false;
+-
+-         lambda = Det3 (n.X(), p.X()-x.X(), dv.X(),
+-            n.Y(), p.Y()-x.Y(), dv.Y(),
+-            n.Z(), p.Z()-x.Z(), dv.Z())/det;
+-
+-         mu     = Det3 (n.X(), du.X(), p.X()-x.X(),
+-            n.Y(), du.Y(), p.Y()-x.Y(),
+-            n.Z(), du.Z(), p.Z()-x.Z())/det;
+-
+-         u += lambda;
+-         v += mu;
+-
+-         xold = x;
+-         surface->D1(u,v,x,du,dv);
+-
+-      } while (xold.SquareDistance(x) > sqr(PROJECTION_TOLERANCE) && count < 50);
+-
+-      //    (*testout) << "FastProject count: " << count << endl;
+-
+-      if (count == 50) return false;
+-
+-      ap = Point<3> (x.X(), x.Y(), x.Z());
+-
+-      return true;
+-   }
+-
+-
+-
+-
+-   void OCCGeometry :: WriteOCC_STL(char * filename)
+-   {
+-      cout << "writing stl..."; cout.flush();
+-      StlAPI_Writer writer;
+-      writer.RelativeMode() = Standard_False;
+-
+-      writer.SetDeflection(0.02);
+-      writer.Write(shape,filename);
+-
+-      cout << "done" << endl;
+-   }
+-
+-
+-
+-   // Philippose - 23/02/2009
+-   /* Special IGES File load function including the ability
+-   to extract individual surface colours via the extended
+-   OpenCascade XDE and XCAF Feature set.
+-   */
+-   OCCGeometry *LoadOCC_IGES(const char *filename)
+-   {
+-      OCCGeometry *occgeo;
+-      occgeo = new OCCGeometry;
+-
+-      // Initiate a dummy XCAF Application to handle the IGES XCAF Document
+-      static Handle_XCAFApp_Application dummy_app = XCAFApp_Application::GetApplication();
+-
+-      // Create an XCAF Document to contain the IGES file itself
+-      Handle_TDocStd_Document iges_doc;
+-
+-      // Check if a IGES File is already open under this handle, if so, close it to prevent
+-      // Segmentation Faults when trying to create a new document
+-      if(dummy_app->NbDocuments() > 0)
+-      {
+-         dummy_app->GetDocument(1,iges_doc);
+-         dummy_app->Close(iges_doc);
+-      }
+-      dummy_app->NewDocument ("IGES-XCAF",iges_doc);
+-
+-      IGESCAFControl_Reader reader;
+-
+-      Standard_Integer stat = reader.ReadFile((char*)filename);
+-
+-      if(stat != IFSelect_RetDone)
+-      {
+-         delete occgeo;
+-         return NULL;
+-      }
+-
+-      // Enable transfer of colours
+-      reader.SetColorMode(Standard_True);
+-
+-      reader.Transfer(iges_doc);
+-
+-      // Read in the shape(s) and the colours present in the IGES File
+-      Handle_XCAFDoc_ShapeTool iges_shape_contents = XCAFDoc_DocumentTool::ShapeTool(iges_doc->Main());
+-      Handle_XCAFDoc_ColorTool iges_colour_contents = XCAFDoc_DocumentTool::ColorTool(iges_doc->Main());
+-
+-      TDF_LabelSequence iges_shapes;
+-      iges_shape_contents->GetShapes(iges_shapes);
+-
+-      // List out the available colours in the IGES File as Colour Names
+-      TDF_LabelSequence all_colours;
+-      iges_colour_contents->GetColors(all_colours);
+-      PrintMessage(1,"Number of colours in IGES File: ",all_colours.Length());
+-      for(int i = 1; i <= all_colours.Length(); i++)
+-      {
+-         Quantity_Color col;
+-         stringstream col_rgb;
+-         iges_colour_contents->GetColor(all_colours.Value(i),col);
+-         col_rgb << " : (" << col.Red() << "," << col.Green() << "," << col.Blue() << ")";
+-         PrintMessage(1, "Colour [", i, "] = ",col.StringName(col.Name()),col_rgb.str());
+-      }
+-
+-
+-      // For the IGES Reader, all the shapes can be exported as one compund shape 
+-      // using the "OneShape" member
+-      occgeo->shape = reader.OneShape();
+-      occgeo->face_colours = iges_colour_contents;
+-      occgeo->changed = 1;
+-      occgeo->BuildFMap();
+-
+-      occgeo->CalcBoundingBox();
+-      PrintContents (occgeo);
+-
+-      return occgeo;
+-   }
+-
+-
+-
+-
+-
+-   // Philippose - 29/01/2009
+-   /* Special STEP File load function including the ability
+-   to extract individual surface colours via the extended
+-   OpenCascade XDE and XCAF Feature set.
+-   */
+-   OCCGeometry * LoadOCC_STEP (const char * filename)
+-   {
+-      OCCGeometry * occgeo;
+-      occgeo = new OCCGeometry;
+-
+-      // Initiate a dummy XCAF Application to handle the STEP XCAF Document
+-      static Handle_XCAFApp_Application dummy_app = XCAFApp_Application::GetApplication();
+-
+-      // Create an XCAF Document to contain the STEP file itself
+-      Handle_TDocStd_Document step_doc;
+-
+-      // Check if a STEP File is already open under this handle, if so, close it to prevent
+-      // Segmentation Faults when trying to create a new document
+-      if(dummy_app->NbDocuments() > 0)
+-      {
+-         dummy_app->GetDocument(1,step_doc);
+-         dummy_app->Close(step_doc);
+-      }
+-      dummy_app->NewDocument ("STEP-XCAF",step_doc);
+-
+-      STEPCAFControl_Reader reader;
+-
+-      // Enable transfer of colours
+-      reader.SetColorMode(Standard_True);
+-
+-      Standard_Integer stat = reader.ReadFile((char*)filename);
+-
+-      if(stat != IFSelect_RetDone)
+-      {
+-         delete occgeo;
+-         return NULL;
+-      }
+-
+-      reader.Transfer(step_doc);
+-
+-      // Read in the shape(s) and the colours present in the STEP File
+-      Handle_XCAFDoc_ShapeTool step_shape_contents = XCAFDoc_DocumentTool::ShapeTool(step_doc->Main());
+-      Handle_XCAFDoc_ColorTool step_colour_contents = XCAFDoc_DocumentTool::ColorTool(step_doc->Main());
+-
+-      TDF_LabelSequence step_shapes;
+-      step_shape_contents->GetShapes(step_shapes);
+-
+-      // List out the available colours in the STEP File as Colour Names
+-      TDF_LabelSequence all_colours;
+-      step_colour_contents->GetColors(all_colours);
+-      PrintMessage(1,"Number of colours in STEP File: ",all_colours.Length());
+-      for(int i = 1; i <= all_colours.Length(); i++)
+-      {
+-         Quantity_Color col;
+-         stringstream col_rgb;
+-         step_colour_contents->GetColor(all_colours.Value(i),col);
+-         col_rgb << " : (" << col.Red() << "," << col.Green() << "," << col.Blue() << ")";
+-         PrintMessage(1, "Colour [", i, "] = ",col.StringName(col.Name()),col_rgb.str());
+-      }
+-
+-
+-      // For the STEP File Reader in OCC, the 1st Shape contains the entire 
+-      // compound geometry as one shape
+-      occgeo->shape = step_shape_contents->GetShape(step_shapes.Value(1));
+-      occgeo->face_colours = step_colour_contents;
+-      occgeo->changed = 1;
+-      occgeo->BuildFMap();
+-
+-      occgeo->CalcBoundingBox();
+-      PrintContents (occgeo);
+-
+-      return occgeo;
+-   }
+-
+-
+-
+-
+-   OCCGeometry *LoadOCC_BREP (const char *filename)
+-   {
+-      OCCGeometry * occgeo;
+-      occgeo = new OCCGeometry;
+-
+-      BRep_Builder aBuilder;
+-      Standard_Boolean result = BRepTools::Read(occgeo->shape, const_cast<char*> (filename),aBuilder);
+-
+-      if(!result)
+-      {
+-         delete occgeo;
+-         return NULL;
+-      }
+-
+-      // Philippose - 23/02/2009
+-      // Fixed a bug in the OpenCascade XDE Colour handling when 
+-      // opening BREP Files, since BREP Files have no colour data.
+-      // Hence, the face_colours Handle needs to be created as a NULL handle.
+-      occgeo->face_colours = Handle_XCAFDoc_ColorTool();
+-      occgeo->face_colours.Nullify();
+-      occgeo->changed = 1;
+-      occgeo->BuildFMap();
+-
+-      occgeo->CalcBoundingBox();
+-      PrintContents (occgeo);
+-
+-      return occgeo;
+-   }
+-
+-
+-  void OCCGeometry :: Save (string sfilename) const
+-  {
+-    const char * filename = sfilename.c_str();
+-    if (strlen(filename) < 4) 
+-      throw NgException ("illegal filename");
+-    
+-    if (strcmp (&filename[strlen(filename)-3], "igs") == 0)
+-      {
+-      IGESControl_Writer writer("millimeters", 1);
+-      writer.AddShape (shape);
+-      writer.Write (filename);
+-      }
+-    else if (strcmp (&filename[strlen(filename)-3], "stp") == 0)
+-      {
+-      STEPControl_Writer writer;
+-      writer.Transfer (shape, STEPControl_AsIs);
+-      writer.Write (filename);
+-      }
+-    else if (strcmp (&filename[strlen(filename)-3], "stl") == 0)
+-      {
+-      StlAPI_Writer writer;
+-      writer.ASCIIMode() = Standard_True;
+-      writer.Write (shape, filename);
+-      }
+-    else if (strcmp (&filename[strlen(filename)-4], "stlb") == 0)
+-      {
+-      StlAPI_Writer writer;
+-      writer.ASCIIMode() = Standard_False;
+-      writer.Write (shape, filename);
+-      }
+-  }
+-
+-
+-
+-  const char * shapesname[] =
+-   {" ", "CompSolids", "Solids", "Shells",
+-
+-   "Faces", "Wires", "Edges", "Vertices"};
+-
+-  const char * shapename[] =
+-   {" ", "CompSolid", "Solid", "Shell",
+-   "Face", "Wire", "Edge", "Vertex"};
+-
+-  const char * orientationstring[] =
+-     {"+", "-"};
+-
+-
+-
+-
+-   void OCCGeometry :: RecursiveTopologyTree (const TopoDS_Shape & sh,
+-      stringstream & str,
+-      TopAbs_ShapeEnum l,
+-      bool isfree,
+-      const char * lname)
+-   {
+-      if (l > TopAbs_VERTEX) return;
+-
+-      TopExp_Explorer e;
+-      int count = 0;
+-      int count2 = 0;
+-
+-      if (isfree)
+-         e.Init(sh, l, TopAbs_ShapeEnum(l-1));
+-      else
+-         e.Init(sh, l);
+-
+-      for (; e.More(); e.Next())
+-      {
+-         count++;
+-
+-         stringstream lname2;
+-         lname2 << lname << "/" << shapename[l] << count;
+-         str << lname2.str() << " ";
+-
+-         switch (e.Current().ShapeType())
+-         {
+-         case TopAbs_SOLID:
+-           count2 = somap.FindIndex(TopoDS::Solid(e.Current())); break;
+-         case TopAbs_SHELL:
+-           count2 = shmap.FindIndex(TopoDS::Shell(e.Current())); break;
+-         case TopAbs_FACE:
+-           count2 = fmap.FindIndex(TopoDS::Face(e.Current())); break;
+-         case TopAbs_WIRE:
+-           count2 = wmap.FindIndex(TopoDS::Wire(e.Current())); break;
+-         case TopAbs_EDGE:
+-           count2 = emap.FindIndex(TopoDS::Edge(e.Current())); break;
+-         case TopAbs_VERTEX:
+-           count2 = vmap.FindIndex(TopoDS::Vertex(e.Current())); break;
+-         default:
+-           cout << "RecursiveTopologyTree: Case " << e.Current().ShapeType() << " not handeled" << endl;
+-         }
+-
+-         int nrsubshapes = 0;
+-
+-         if (l <= TopAbs_WIRE)
+-         {
+-            TopExp_Explorer e2;
+-            for (e2.Init (e.Current(), TopAbs_ShapeEnum (l+1));
+-               e2.More(); e2.Next())
+-               nrsubshapes++;
+-         }
+-
+-         str << "{" << shapename[l] << " " << count2;
+-
+-         if (l <= TopAbs_EDGE)
+-         {
+-            str << " (" << orientationstring[e.Current().Orientation()];
+-            if (nrsubshapes != 0) str << ", " << nrsubshapes;
+-            str << ") } ";
+-         }
+-         else
+-            str << " } ";
+-
+-         RecursiveTopologyTree (e.Current(), str, TopAbs_ShapeEnum (l+1),
+-            false, (char*)lname2.str().c_str());
+-
+-      }
+-   }
+-
+-
+-
+-
+-   void OCCGeometry :: GetTopologyTree (stringstream & str)
+-   {
+-      cout << "Building topology tree ... " << flush;
+-      RecursiveTopologyTree (shape, str, TopAbs_COMPSOLID, false, "CompSolids");
+-      RecursiveTopologyTree (shape, str, TopAbs_SOLID, true, "FreeSolids");
+-      RecursiveTopologyTree (shape, str, TopAbs_SHELL, true, "FreeShells");
+-      RecursiveTopologyTree (shape, str, TopAbs_FACE, true, "FreeFaces");
+-      RecursiveTopologyTree (shape, str, TopAbs_WIRE, true, "FreeWires");
+-      RecursiveTopologyTree (shape, str, TopAbs_EDGE, true, "FreeEdges");
+-      RecursiveTopologyTree (shape, str, TopAbs_VERTEX, true, "FreeVertices");
+-      str << flush;
+-      //  cout << "done" << endl;
+-   }
+-
+-
+-
+-
+-   void OCCGeometry :: CheckIrregularEntities(stringstream & str)
+-   {
+-      ShapeAnalysis_CheckSmallFace csm;
+-
+-      csm.SetTolerance (1e-6);
+-
+-      TopTools_DataMapOfShapeListOfShape mapEdges;
+-      ShapeAnalysis_DataMapOfShapeListOfReal mapParam;
+-      TopoDS_Compound theAllVert;
+-
+-      int spotfaces = 0;
+-      int stripsupportfaces = 0;
+-      int singlestripfaces = 0;
+-      int stripfaces = 0;
+-      int facessplitbyvertices = 0;
+-      int stretchedpinfaces = 0;
+-      int smoothpinfaces = 0;
+-      int twistedfaces = 0;
+-      // int edgessamebutnotidentified = 0;
+-
+-      cout << "checking faces ... " << flush;
+-
+-      int i;
+-      for (i = 1; i <= fmap.Extent(); i++)
+-      {
+-         TopoDS_Face face = TopoDS::Face (fmap(i));
+-         TopoDS_Edge e1, e2;
+-
+-         if (csm.CheckSpotFace (face))
+-         {
+-            if (!spotfaces++)
+-               str << "SpotFace {Spot face} ";
+-
+-            (*testout) << "Face " << i << " is a spot face" << endl;
+-            str << "SpotFace/Face" << i << " ";
+-            str << "{Face " << i << " } ";
+-         }
+-
+-         if (csm.IsStripSupport (face))
+-         {
+-            if (!stripsupportfaces++)
+-               str << "StripSupportFace {Strip support face} ";
+-
+-            (*testout) << "Face " << i << " has strip support" << endl;
+-            str << "StripSupportFace/Face" << i << " ";
+-            str << "{Face " << i << " } ";
+-         }
+-
+-         if (csm.CheckSingleStrip(face, e1, e2))
+-         {
+-            if (!singlestripfaces++)
+-               str << "SingleStripFace {Single strip face} ";
+-
+-            (*testout) << "Face " << i << " is a single strip (edge " << emap.FindIndex(e1)
+-               << " and edge " << emap.FindIndex(e2) << " are identical)" << endl;
+-            str << "SingleStripFace/Face" << i << " ";
+-            str << "{Face " << i << " (edge " << emap.FindIndex(e1)
+-               << " and edge " << emap.FindIndex(e2) << " are identical)} ";
+-         }
+-
+-         if (csm.CheckStripFace(face, e1, e2))
+-         {
+-            if (!stripfaces++)
+-               str << "StripFace {Strip face} ";
+-
+-            (*testout) << "Face " << i << " is a strip (edge " << emap.FindIndex(e1)
+-               << " and edge " << emap.FindIndex(e2)
+-               << " are identical)" << endl;
+-            str << "StripFace/Face" << i << " ";
+-            str << "{Face " << i << " (edge " << emap.FindIndex(e1)
+-               << " and edge " << emap.FindIndex(e2) << " are identical)} ";
+-         }
+-
+-         if (int count = csm.CheckSplittingVertices(face, mapEdges, mapParam, theAllVert))
+-         {
+-            if (!facessplitbyvertices++)
+-               str << "FaceSplitByVertices {Face split by vertices} ";
+-
+-            (*testout) << "Face " << i << " is split by " << count
+-               << " vertex/vertices " << endl;
+-            str << "FaceSplitByVertices/Face" << i << " ";
+-            str << "{Face " << i << " (split by " << count << "vertex/vertices)} ";
+-         }
+-
+-         int whatrow, sens;
+-         if (int type = csm.CheckPin (face, whatrow, sens))
+-         {
+-            if (type == 1)
+-            {
+-               if (!smoothpinfaces++)
+-                  str << "SmoothPinFace {Smooth pin face} ";
+-
+-               (*testout) << "Face " << i << " is a smooth pin" << endl;
+-               str << "SmoothPinFace/Face" << i << " ";
+-               str << "{Face " << i << " } ";
+-            }
+-            else
+-            {
+-               if (!stretchedpinfaces++)
+-                  str << "StretchedPinFace {Stretched pin face} ";
+-
+-               (*testout) << "Face " << i << " is a streched pin" << endl;
+-               str << "StretchedPinFace/Face" << i << " ";
+-               str << "{Face " << i << " } ";
+-            }
+-         }
+-
+-         double paramu, paramv;
+-         if (csm.CheckTwisted (face, paramu, paramv))
+-         {
+-            if (!twistedfaces++)
+-               str << "TwistedFace {Twisted face} ";
+-
+-            (*testout) << "Face " << i << " is twisted" << endl;
+-            str << "TwistedFace/Face" << i << " ";
+-            str << "{Face " << i << " } ";
+-         }
+-      }
+-
+-      cout << "done" << endl;
+-      cout << "checking edges ... " << flush;
+-
+-      // double dmax;
+-      // int cnt = 0;
+-      Array <double> edgeLengths;
+-      Array <int> order;
+-      edgeLengths.SetSize (emap.Extent());
+-      order.SetSize (emap.Extent());
+-
+-      for (i = 1; i <= emap.Extent(); i++)
+-      {
+-         TopoDS_Edge edge1 = TopoDS::Edge (emap(i));
+-         GProp_GProps system;
+-         BRepGProp::LinearProperties(edge1, system);
+-         edgeLengths[i-1] = system.Mass();
+-      }
+-
+-      Sort (edgeLengths, order);
+-
+-      str << "ShortestEdges {Shortest edges} ";
+-      for (i = 1; i <= min(20, emap.Extent()); i++)
+-      {
+-         str << "ShortestEdges/Edge" << i;
+-         str << " {Edge " << order[i-1] << " (L=" << edgeLengths[order[i-1]-1] << ")} ";
+-      }
+-
+-      str << flush;
+-
+-      cout << "done" << endl;
+-   }
+-
+-
+-
+-
+-   void OCCGeometry :: GetUnmeshedFaceInfo (stringstream & str)
+-   {
+-      for (int i = 1; i <= fmap.Extent(); i++)
+-      {
+-         if (facemeshstatus[i-1] == -1)
+-            str << "Face" << i << " {Face " << i << " } ";
+-      }
+-      str << flush;
+-   }
+-
+-
+-
+-
+-   void OCCGeometry :: GetNotDrawableFaces (stringstream & str)
+-   {
+-      for (int i = 1; i <= fmap.Extent(); i++)
+-      {
+-         if (!fvispar[i-1].IsDrawable())
+-            str << "Face" << i << " {Face " << i << " } ";
+-      }
+-      str << flush;
+-   }
+-
+-
+-
+-
+-   bool OCCGeometry :: ErrorInSurfaceMeshing ()
+-   {
+-      for (int i = 1; i <= fmap.Extent(); i++)
+-         if (facemeshstatus[i-1] == -1)
+-            return true;
+-
+-      return false;
+-   }
+-
+-
+-
+-
+-  int OCCGeometry :: GenerateMesh (Mesh*& mesh, MeshingParameters & mparam,
+-      int perfstepsstart, int perfstepsend)
+-   {
+-     return OCCGenerateMesh (*this, mesh, mparam, perfstepsstart, perfstepsend);
+-   }
+-
+-
+-
+-
+-   const Refinement & OCCGeometry :: GetRefinement () const
+-   {
+-      return * new OCCRefinementSurfaces (*this);
+-   }
+-
+-
+-
+-
+-   OCCParameters :: OCCParameters()
+-   {
+-      resthcloseedgefac = 1;
+-      resthcloseedgeenable = 1;
+-        resthminedgelen = 0.001;
+-        resthminedgelenenable = 1;
+-   }
+-
+-
+-
+-
+-   void OCCParameters :: Print(ostream & ost) const
+-   {
+-      ost << "OCC Parameters:" << endl
+-         << "close edges: " << resthcloseedgeenable
+-         << ", fac = " << resthcloseedgefac << endl
+-               << "minimum edge length: " << resthminedgelenenable
+-               << ", min len = " << resthminedgelen << endl;
+-   }
+-
+-
+-
+-
+-   OCCParameters occparam;
+-
+-}
+-
+-
+-#endif
++
++#ifdef OCCGEOMETRY
++
++#include <mystdlib.h>
++#include <occgeom.hpp>
++#include "ShapeAnalysis_ShapeTolerance.hxx"
++#include "ShapeAnalysis_ShapeContents.hxx"
++#include "ShapeAnalysis_CheckSmallFace.hxx"
++#include "ShapeAnalysis_DataMapOfShapeListOfReal.hxx"
++#include "ShapeAnalysis_Surface.hxx"
++#include <BRepTopAdaptor_FClass2d.hxx> // -- to optimize Project() and FastProject()
++#include <TopAbs_State.hxx>
++#include "BRepAlgoAPI_Fuse.hxx"
++#include "BRepCheck_Analyzer.hxx"
++#include "BRepLib.hxx"
++#include "ShapeBuild_ReShape.hxx"
++#include "ShapeFix.hxx"
++#include "ShapeFix_FixSmallFace.hxx"
++#include "Partition_Spliter.hxx"
++
++namespace netgen
++{
++  // free data used to optimize Project() and FastProject()
++  OCCGeometry::~OCCGeometry()
++  {
++    NCollection_DataMap<int,BRepTopAdaptor_FClass2d*>::Iterator it(fclsmap);
++    for (; it.More(); it.Next())
++      delete it.Value();
++  }
++
++   void OCCGeometry :: PrintNrShapes ()
++   {
++      TopExp_Explorer e;
++      int count = 0;
++      for (e.Init(shape, TopAbs_COMPSOLID); e.More(); e.Next()) count++;
++      cout << "CompSolids: " << count << endl;
++
++      cout << "Solids    : " << somap.Extent() << endl;
++      cout << "Shells    : " << shmap.Extent() << endl;
++      cout << "Faces     : " << fmap.Extent() << endl;
++      cout << "Edges     : " << emap.Extent() << endl;
++      cout << "Vertices  : " << vmap.Extent() << endl;
++   }
++
++
++
++
++   void PrintContents (OCCGeometry * geom)
++   {
++      ShapeAnalysis_ShapeContents cont;
++      cont.Clear();
++      cont.Perform(geom->shape);
++
++      (*testout) << "OCC CONTENTS" << endl;
++      (*testout) << "============" << endl;
++      (*testout) << "SOLIDS   : " << cont.NbSolids() << endl;
++      (*testout) << "SHELLS   : " << cont.NbShells() << endl;
++      (*testout) << "FACES    : " << cont.NbFaces() << endl;
++      (*testout) << "WIRES    : " << cont.NbWires() << endl;
++      (*testout) << "EDGES    : " << cont.NbEdges() << endl;
++      (*testout) << "VERTICES : " << cont.NbVertices() << endl;
++
++      TopExp_Explorer e;
++      int count = 0;
++      for (e.Init(geom->shape, TopAbs_COMPOUND); e.More(); e.Next())
++         count++;
++      (*testout) << "Compounds: " << count << endl;
++
++      count = 0;
++      for (e.Init(geom->shape, TopAbs_COMPSOLID); e.More(); e.Next())
++         count++;
++      (*testout) << "CompSolids: " << count << endl;
++
++      (*testout) << endl;
++
++      cout << "Highest entry in topology hierarchy: " << endl;
++      if (count)
++         cout << count << " composite solid(s)" << endl;
++      else
++         if (geom->somap.Extent())
++            cout << geom->somap.Extent() << " solid(s)" << endl;
++         else
++            if (geom->shmap.Extent())
++               cout << geom->shmap.Extent() << " shells(s)" << endl;
++            else
++               if (geom->fmap.Extent())
++                  cout << geom->fmap.Extent() << " face(s)" << endl;
++               else
++                  if (geom->wmap.Extent())
++                     cout << geom->wmap.Extent() << " wire(s)" << endl;
++                  else
++                     if (geom->emap.Extent())
++                        cout << geom->emap.Extent() << " edge(s)" << endl;
++                     else
++                        if (geom->vmap.Extent())
++                           cout << geom->vmap.Extent() << " vertices(s)" << endl;
++                        else
++                           cout << "no entities" << endl;
++
++   }
++
++
++
++   void OCCGeometry :: HealGeometry ()
++   {
++      int nrc = 0, nrcs = 0,
++         nrso = somap.Extent(),
++         nrsh = shmap.Extent(),
++         nrf = fmap.Extent(),
++         nrw = wmap.Extent(),
++         nre = emap.Extent(),
++         nrv = vmap.Extent();
++
++      TopExp_Explorer exp0;
++      TopExp_Explorer exp1;
++
++
++      for (exp0.Init(shape, TopAbs_COMPOUND); exp0.More(); exp0.Next()) nrc++;
++      for (exp0.Init(shape, TopAbs_COMPSOLID); exp0.More(); exp0.Next()) nrcs++;
++
++      double surfacecont = 0;
++
++      {
++         Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
++         rebuild->Apply(shape);
++         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
++         {
++            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
++            if ( BRep_Tool::Degenerated(edge) )
++               rebuild->Remove(edge);
++         }
++         shape = rebuild->Apply(shape);
++      }
++
++      BuildFMap();
++
++
++      for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
++      {
++         TopoDS_Face face = TopoDS::Face(exp0.Current());
++
++         GProp_GProps system;
++         BRepGProp::SurfaceProperties(face, system);
++         surfacecont += system.Mass();
++      }
++
++
++      cout << "Starting geometry healing procedure (tolerance: " << tolerance << ")" << endl
++         << "-----------------------------------" << endl;
++
++      {
++         cout << endl << "- repairing faces" << endl;
++
++         Handle(ShapeFix_Face) sff;
++         Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
++         rebuild->Apply(shape);
++
++
++         for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
++         {
++            // Variable to hold the colour (if there exists one) of
++            // the current face being processed
++            Quantity_Color face_colour;
++
++            TopoDS_Face face = TopoDS::Face (exp0.Current());
++
++            if(face_colours.IsNull()
++               || (!(face_colours->GetColor(face,XCAFDoc_ColorSurf,face_colour))))
++            {
++               // Set the default face colour to green (Netgen Standard)
++               // if no colour has been defined for the face
++               face_colour = Quantity_Color(0.0,1.0,0.0,Quantity_TOC_RGB);
++            }
++
++            sff = new ShapeFix_Face (face);
++            sff->FixAddNaturalBoundMode() = Standard_True;
++            sff->FixSmallAreaWireMode() = Standard_True;
++            sff->Perform();
++
++            if(sff->Status(ShapeExtend_DONE1) ||
++               sff->Status(ShapeExtend_DONE2) ||
++               sff->Status(ShapeExtend_DONE3) ||
++               sff->Status(ShapeExtend_DONE4) ||
++               sff->Status(ShapeExtend_DONE5))
++            {
++               cout << "repaired face " << fmap.FindIndex(face) << " ";
++               if(sff->Status(ShapeExtend_DONE1))
++                  cout << "(some wires are fixed)" <<endl;
++               else if(sff->Status(ShapeExtend_DONE2))
++                  cout << "(orientation of wires fixed)" <<endl;
++               else if(sff->Status(ShapeExtend_DONE3))
++                  cout << "(missing seam added)" <<endl;
++               else if(sff->Status(ShapeExtend_DONE4))
++                  cout << "(small area wire removed)" <<endl;
++               else if(sff->Status(ShapeExtend_DONE5))
++                  cout << "(natural bounds added)" <<endl;
++               TopoDS_Face newface = sff->Face();
++
++               rebuild->Replace(face, newface);
++            }
++
++            // Set the original colour of the face to the newly created
++            // face (after the healing process)
++            face = TopoDS::Face (exp0.Current());
++            face_colours->SetColor(face,face_colour,XCAFDoc_ColorSurf);
++         }
++         shape = rebuild->Apply(shape);
++      }
++
++
++      {
++         Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
++         rebuild->Apply(shape);
++         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
++         {
++            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
++            if ( BRep_Tool::Degenerated(edge) )
++               rebuild->Remove(edge);
++         }
++         shape = rebuild->Apply(shape);
++      }
++
++
++      if (fixsmalledges)
++      {
++         cout << endl << "- fixing small edges" << endl;
++
++         Handle(ShapeFix_Wire) sfw;
++         Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
++         rebuild->Apply(shape);
++
++
++         for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
++         {
++            TopoDS_Face face = TopoDS::Face(exp0.Current());
++
++            for (exp1.Init (face, TopAbs_WIRE); exp1.More(); exp1.Next())
++            {
++               TopoDS_Wire oldwire = TopoDS::Wire(exp1.Current());
++               sfw = new ShapeFix_Wire (oldwire, face ,tolerance);
++               sfw->ModifyTopologyMode() = Standard_True;
++
++               sfw->ClosedWireMode() = Standard_True;
++
++               bool replace = false;
++
++               replace = sfw->FixReorder() || replace;
++
++               replace = sfw->FixConnected() || replace;
++
++
++
++               if (sfw->FixSmall (Standard_False, tolerance) && ! (sfw->StatusSmall(ShapeExtend_FAIL1) ||
++                  sfw->StatusSmall(ShapeExtend_FAIL2) ||
++                  sfw->StatusSmall(ShapeExtend_FAIL3)))
++               {
++                  cout << "Fixed small edge in wire " << wmap.FindIndex (oldwire) << endl;
++                  replace = true;
++
++               }
++               else if (sfw->StatusSmall(ShapeExtend_FAIL1))
++                  cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire)
++                  << ", edge cannot be checked (no 3d curve and no pcurve)" << endl;
++               else if (sfw->StatusSmall(ShapeExtend_FAIL2))
++                  cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire)
++                  << ", edge is null-length and has different vertives at begin and end, and lockvtx is True or ModifiyTopologyMode is False" << endl;
++               else if (sfw->StatusSmall(ShapeExtend_FAIL3))
++                  cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire)
++                  << ", CheckConnected has failed" << endl;
++
++               replace = sfw->FixEdgeCurves() || replace;
++
++               replace = sfw->FixDegenerated() || replace;
++
++               replace = sfw->FixSelfIntersection() || replace;
++
++               replace = sfw->FixLacking(Standard_True) || replace;
++
++               if(replace)
++               {
++                  TopoDS_Wire newwire = sfw->Wire();
++                  rebuild->Replace(oldwire, newwire);
++               }
++
++               //delete sfw; sfw = NULL;
++
++            }
++         }
++
++         shape = rebuild->Apply(shape);
++
++
++
++         {
++            BuildFMap();
++            Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
++            rebuild->Apply(shape);
++
++            for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
++            {
++               TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
++               if (vmap.FindIndex(TopExp::FirstVertex (edge)) ==
++                  vmap.FindIndex(TopExp::LastVertex (edge)))
++               {
++                  GProp_GProps system;
++                  BRepGProp::LinearProperties(edge, system);
++                  if (system.Mass() < tolerance)
++                  {
++                     cout << "removing degenerated edge " << emap.FindIndex(edge)
++                        << " from vertex " << vmap.FindIndex(TopExp::FirstVertex (edge))
++                        << " to vertex " << vmap.FindIndex(TopExp::LastVertex (edge)) << endl;
++                     rebuild->Remove(edge);
++                  }
++               }
++            }
++            shape = rebuild->Apply(shape);
++
++            //delete rebuild; rebuild = NULL;
++         }
++
++
++
++         {
++            Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
++            rebuild->Apply(shape);
++            for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
++            {
++               TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
++               if ( BRep_Tool::Degenerated(edge) )
++                  rebuild->Remove(edge);
++            }
++            shape = rebuild->Apply(shape);
++         }
++
++
++
++
++         Handle(ShapeFix_Wireframe) sfwf = new ShapeFix_Wireframe;
++         sfwf->SetPrecision(tolerance);
++         sfwf->Load (shape);
++         sfwf->ModeDropSmallEdges() = Standard_True;
++
++         sfwf->SetPrecision(boundingbox.Diam());
++
++         if (sfwf->FixWireGaps())
++         {
++            cout << endl << "- fixing wire gaps" << endl;
++            if (sfwf->StatusWireGaps(ShapeExtend_OK)) cout << "no gaps found" << endl;
++            if (sfwf->StatusWireGaps(ShapeExtend_DONE1)) cout << "some 2D gaps fixed" << endl;
++            if (sfwf->StatusWireGaps(ShapeExtend_DONE2)) cout << "some 3D gaps fixed" << endl;
++            if (sfwf->StatusWireGaps(ShapeExtend_FAIL1)) cout << "failed to fix some 2D gaps" << endl;
++            if (sfwf->StatusWireGaps(ShapeExtend_FAIL2)) cout << "failed to fix some 3D gaps" << endl;
++         }
++
++         sfwf->SetPrecision(tolerance);
++
++
++         {
++            for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
++            {
++               TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
++               if ( BRep_Tool::Degenerated(edge) )
++                  cout << "degenerated edge at position 4" << endl;
++            }
++         }
++
++
++
++         if (sfwf->FixSmallEdges())
++         {
++            cout << endl << "- fixing wire frames" << endl;
++            if (sfwf->StatusSmallEdges(ShapeExtend_OK)) cout << "no small edges found" << endl;
++            if (sfwf->StatusSmallEdges(ShapeExtend_DONE1)) cout << "some small edges fixed" << endl;
++            if (sfwf->StatusSmallEdges(ShapeExtend_FAIL1)) cout << "failed to fix some small edges" << endl;
++         }
++
++
++
++         shape = sfwf->Shape();
++
++         //delete sfwf; sfwf = NULL;
++         //delete rebuild; rebuild = NULL;
++
++      }
++
++
++
++
++
++      {
++         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
++         {
++            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
++            if ( BRep_Tool::Degenerated(edge) )
++               cout << "degenerated edge at position 5" << endl;
++         }
++      }
++
++
++
++
++      if (fixspotstripfaces)
++      {
++
++         cout << endl << "- fixing spot and strip faces" << endl;
++         Handle(ShapeFix_FixSmallFace) sffsm = new ShapeFix_FixSmallFace();
++         sffsm -> Init (shape);
++         sffsm -> SetPrecision (tolerance);
++         sffsm -> Perform();
++
++         shape = sffsm -> FixShape();
++         //delete sffsm; sffsm = NULL;
++      }
++
++
++      {
++         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
++         {
++            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
++            if ( BRep_Tool::Degenerated(edge) )
++               cout << "degenerated edge at position 6" << endl;
++         }
++      }
++
++
++
++      if (sewfaces)
++      {
++         cout << endl << "- sewing faces" << endl;
++
++         BRepOffsetAPI_Sewing sewedObj(tolerance);
++
++         for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
++         {
++            TopoDS_Face face = TopoDS::Face (exp0.Current());
++            sewedObj.Add (face);
++         }
++
++         sewedObj.Perform();
++
++         if (!sewedObj.SewedShape().IsNull())
++            shape = sewedObj.SewedShape();
++         else
++            cout << " not possible";
++      }
++
++
++
++      {
++         Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
++         rebuild->Apply(shape);
++         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
++         {
++            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
++            if ( BRep_Tool::Degenerated(edge) )
++               rebuild->Remove(edge);
++         }
++         shape = rebuild->Apply(shape);
++      }
++
++
++      if (makesolids)
++      {
++         cout << endl << "- making solids" << endl;
++
++         BRepBuilderAPI_MakeSolid ms;
++         int count = 0;
++         for (exp0.Init(shape, TopAbs_SHELL); exp0.More(); exp0.Next())
++         {
++            count++;
++            ms.Add (TopoDS::Shell(exp0.Current()));
++         }
++
++         if (!count)
++         {
++            cout << " not possible (no shells)" << endl;
++         }
++         else
++         {
++            BRepCheck_Analyzer ba(ms);
++            if (ba.IsValid ())
++            {
++               Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape;
++               sfs->Init (ms);
++               sfs->SetPrecision(tolerance);
++               sfs->SetMaxTolerance(tolerance);
++               sfs->Perform();
++               shape = sfs->Shape();
++
++               for (exp0.Init(shape, TopAbs_SOLID); exp0.More(); exp0.Next())
++               {
++                  TopoDS_Solid solid = TopoDS::Solid(exp0.Current());
++                  TopoDS_Solid newsolid = solid;
++                  BRepLib::OrientClosedSolid (newsolid);
++                  Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
++                  //            rebuild->Apply(shape);
++                  rebuild->Replace(solid, newsolid);
++                  TopoDS_Shape newshape = rebuild->Apply(shape, TopAbs_COMPSOLID);//, 1);
++                  //            TopoDS_Shape newshape = rebuild->Apply(shape);
++                  shape = newshape;
++               }
++
++               //delete sfs; sfs = NULL;
++            }
++            else
++               cout << " not possible" << endl;
++         }
++      }
++
++
++
++      if (splitpartitions)
++      {
++         cout << "- running SALOME partition splitter" << endl;
++
++         TopExp_Explorer e2;
++         Partition_Spliter ps;
++         int count = 0;
++
++         for (e2.Init (shape, TopAbs_SOLID);
++            e2.More(); e2.Next())
++         {
++            count++;
++            ps.AddShape (e2.Current());
++         }
++
++         ps.Compute();
++         shape = ps.Shape();
++
++         cout << " before: " << count << " solids" << endl;
++
++         count = 0;
++         for (e2.Init (shape, TopAbs_SOLID);
++            e2.More(); e2.Next()) count++;
++
++            cout << " after : " << count << " solids" << endl;
++      }
++
++      BuildFMap();
++
++
++
++      {
++         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
++         {
++            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
++            if ( BRep_Tool::Degenerated(edge) )
++               cout << "degenerated edge at position 8" << endl;
++         }
++      }
++
++
++      double newsurfacecont = 0;
++
++
++      for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
++      {
++         TopoDS_Face face = TopoDS::Face(exp0.Current());
++         GProp_GProps system;
++         BRepGProp::SurfaceProperties(face, system);
++         newsurfacecont += system.Mass();
++      }
++
++
++      int nnrc = 0, nnrcs = 0,
++         nnrso = somap.Extent(),
++         nnrsh = shmap.Extent(),
++         nnrf = fmap.Extent(),
++         nnrw = wmap.Extent(),
++         nnre = emap.Extent(),
++         nnrv = vmap.Extent();
++
++      for (exp0.Init(shape, TopAbs_COMPOUND); exp0.More(); exp0.Next()) nnrc++;
++      for (exp0.Init(shape, TopAbs_COMPSOLID); exp0.More(); exp0.Next()) nnrcs++;
++
++      cout << "-----------------------------------" << endl;
++      cout << "Compounds       : " << nnrc << " (" << nrc << ")" << endl;
++      cout << "Composite solids: " << nnrcs << " (" << nrcs << ")" << endl;
++      cout << "Solids          : " << nnrso << " (" << nrso << ")" << endl;
++      cout << "Shells          : " << nnrsh << " (" << nrsh << ")" << endl;
++      cout << "Wires           : " << nnrw << " (" << nrw << ")" << endl;
++      cout << "Faces           : " << nnrf << " (" << nrf << ")" << endl;
++      cout << "Edges           : " << nnre << " (" << nre << ")" << endl;
++      cout << "Vertices        : " << nnrv << " (" << nrv << ")" << endl;
++      cout << endl;
++      cout << "Totol surface area : " << newsurfacecont << " (" << surfacecont << ")" << endl;
++      cout << endl;
++   }
++
++
++
++
++   void OCCGeometry :: BuildFMap()
++   {
++      somap.Clear();
++      shmap.Clear();
++      fmap.Clear();
++      wmap.Clear();
++      emap.Clear();
++      vmap.Clear();
++
++      TopExp_Explorer exp0, exp1, exp2, exp3, exp4, exp5;
++
++      for (exp0.Init(shape, TopAbs_COMPOUND);
++         exp0.More(); exp0.Next())
++      {
++         TopoDS_Compound compound = TopoDS::Compound (exp0.Current());
++         (*testout) << "compound" << endl;
++         int i = 0;
++         for (exp1.Init(compound, TopAbs_SHELL);
++            exp1.More(); exp1.Next())
++         {
++            (*testout) << "shell " << ++i << endl;
++         }
++      }
++
++      for (exp0.Init(shape, TopAbs_SOLID);
++         exp0.More(); exp0.Next())
++      {
++         TopoDS_Solid solid = TopoDS::Solid (exp0.Current());
++
++         if (somap.FindIndex(solid) < 1)
++         {
++            somap.Add (solid);
++
++            for (exp1.Init(solid, TopAbs_SHELL);
++               exp1.More(); exp1.Next())
++            {
++               TopoDS_Shell shell = TopoDS::Shell (exp1.Current());
++               if (shmap.FindIndex(shell) < 1)
++               {
++                  shmap.Add (shell);
++
++                  for (exp2.Init(shell, TopAbs_FACE);
++                     exp2.More(); exp2.Next())
++                  {
++                     TopoDS_Face face = TopoDS::Face(exp2.Current());
++                     if (fmap.FindIndex(face) < 1)
++                     {
++                        fmap.Add (face);
++                        (*testout) << "face " << fmap.FindIndex(face) << " ";
++                        (*testout) << ((face.Orientation() == TopAbs_REVERSED) ? "-" : "+") << ", ";
++                        (*testout) << ((exp2.Current().Orientation() == TopAbs_REVERSED) ? "-" : "+") << endl;
++                        for (exp3.Init(exp2.Current(), TopAbs_WIRE);
++                           exp3.More(); exp3.Next())
++                        {
++                           TopoDS_Wire wire = TopoDS::Wire (exp3.Current());
++                           if (wmap.FindIndex(wire) < 1)
++                           {
++                              wmap.Add (wire);
++
++                              for (exp4.Init(exp3.Current(), TopAbs_EDGE);
++                                 exp4.More(); exp4.Next())
++                              {
++                                 TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
++                                 if (emap.FindIndex(edge) < 1)
++                                 {
++                                    emap.Add (edge);
++                                    for (exp5.Init(exp4.Current(), TopAbs_VERTEX);
++                                       exp5.More(); exp5.Next())
++                                    {
++                                       TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
++                                       if (vmap.FindIndex(vertex) < 1)
++                                          vmap.Add (vertex);
++                                    }
++                                 }
++                              }
++                           }
++                        }
++                     }
++                  }
++               }
++            }
++         }
++      }
++
++      // Free Shells
++      for (exp1.Init(shape, TopAbs_SHELL, TopAbs_SOLID); exp1.More(); exp1.Next())
++      {
++         TopoDS_Shell shell = TopoDS::Shell(exp1.Current());
++         if (shmap.FindIndex(shell) < 1)
++         {
++            shmap.Add (shell);
++
++            (*testout) << "shell " << shmap.FindIndex(shell) << " ";
++            (*testout) << ((shell.Orientation() == TopAbs_REVERSED) ? "-" : "+") << ", ";
++            (*testout) << ((exp1.Current().Orientation() == TopAbs_REVERSED) ? "-" : "+") << endl;
++
++            for (exp2.Init(shell, TopAbs_FACE); exp2.More(); exp2.Next())
++            {
++               TopoDS_Face face = TopoDS::Face(exp2.Current());
++               if (fmap.FindIndex(face) < 1)
++               {
++                  fmap.Add (face);
++
++                  for (exp3.Init(face, TopAbs_WIRE); exp3.More(); exp3.Next())
++                  {
++                     TopoDS_Wire wire = TopoDS::Wire (exp3.Current());
++                     if (wmap.FindIndex(wire) < 1)
++                     {
++                        wmap.Add (wire);
++
++                        for (exp4.Init(wire, TopAbs_EDGE); exp4.More(); exp4.Next())
++                        {
++                           TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
++                           if (emap.FindIndex(edge) < 1)
++                           {
++                              emap.Add (edge);
++                              for (exp5.Init(edge, TopAbs_VERTEX); exp5.More(); exp5.Next())
++                              {
++                                 TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
++                                 if (vmap.FindIndex(vertex) < 1)
++                                    vmap.Add (vertex);
++                              }
++                           }
++                        }
++                     }
++                  }
++               }
++            }
++         }
++      }
++
++
++      // Free Faces
++
++      for (exp2.Init(shape, TopAbs_FACE, TopAbs_SHELL); exp2.More(); exp2.Next())
++      {
++         TopoDS_Face face = TopoDS::Face(exp2.Current());
++         if (fmap.FindIndex(face) < 1)
++         {
++            fmap.Add (face);
++
++            for (exp3.Init(exp2.Current(), TopAbs_WIRE); exp3.More(); exp3.Next())
++            {
++               TopoDS_Wire wire = TopoDS::Wire (exp3.Current());
++               if (wmap.FindIndex(wire) < 1)
++               {
++                  wmap.Add (wire);
++
++                  for (exp4.Init(exp3.Current(), TopAbs_EDGE); exp4.More(); exp4.Next())
++                  {
++                     TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
++                     if (emap.FindIndex(edge) < 1)
++                     {
++                        emap.Add (edge);
++                        for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next())
++                        {
++                           TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
++                           if (vmap.FindIndex(vertex) < 1)
++                              vmap.Add (vertex);
++                        }
++                     }
++                  }
++               }
++            }
++         }
++      }
++
++
++      // Free Wires
++
++      for (exp3.Init(shape, TopAbs_WIRE, TopAbs_FACE); exp3.More(); exp3.Next())
++      {
++         TopoDS_Wire wire = TopoDS::Wire (exp3.Current());
++         if (wmap.FindIndex(wire) < 1)
++         {
++            wmap.Add (wire);
++
++            for (exp4.Init(exp3.Current(), TopAbs_EDGE); exp4.More(); exp4.Next())
++            {
++               TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
++               if (emap.FindIndex(edge) < 1)
++               {
++                  emap.Add (edge);
++                  for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next())
++                  {
++                     TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
++                     if (vmap.FindIndex(vertex) < 1)
++                        vmap.Add (vertex);
++                  }
++               }
++            }
++         }
++      }
++
++
++      // Free Edges
++
++      for (exp4.Init(shape, TopAbs_EDGE, TopAbs_WIRE); exp4.More(); exp4.Next())
++      {
++         TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
++         if (emap.FindIndex(edge) < 1)
++         {
++            emap.Add (edge);
++            for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next())
++            {
++               TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
++               if (vmap.FindIndex(vertex) < 1)
++                  vmap.Add (vertex);
++            }
++         }
++      }
++
++
++      // Free Vertices
++
++      for (exp5.Init(shape, TopAbs_VERTEX, TopAbs_EDGE); exp5.More(); exp5.Next())
++      {
++         TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
++         if (vmap.FindIndex(vertex) < 1)
++            vmap.Add (vertex);
++      }
++
++
++
++
++      facemeshstatus.DeleteAll();
++      facemeshstatus.SetSize (fmap.Extent());
++      facemeshstatus = 0;
++
++      // Philippose - 15/01/2009
++      face_maxh.DeleteAll();
++      face_maxh.SetSize (fmap.Extent());
++      face_maxh = mparam.maxh;
++
++      // Philippose - 15/01/2010
++      face_maxh_modified.DeleteAll();
++      face_maxh_modified.SetSize(fmap.Extent());
++      face_maxh_modified = 0;
++
++
++      // Philippose - 17/01/2009
++      face_sel_status.DeleteAll();
++      face_sel_status.SetSize (fmap.Extent());
++      face_sel_status = 0;
++
++      fvispar.SetSize (fmap.Extent());
++      evispar.SetSize (emap.Extent());
++      vvispar.SetSize (vmap.Extent());
++
++      fsingular.SetSize (fmap.Extent());
++      esingular.SetSize (emap.Extent());
++      vsingular.SetSize (vmap.Extent());
++
++      fsingular = esingular = vsingular = false;
++   }
++
++
++
++   void OCCGeometry :: SewFaces ()
++   {
++      (*testout) << "Trying to sew faces ..." << endl;
++      cout << "Trying to sew faces ..." << flush;
++
++      BRepOffsetAPI_Sewing sewedObj(1);
++
++      for (int i = 1; i <= fmap.Extent(); i++)
++      {
++         TopoDS_Face face = TopoDS::Face (fmap(i));
++         sewedObj.Add (face);
++      }
++
++      sewedObj.Perform();
++
++      if (!sewedObj.SewedShape().IsNull())
++      {
++         shape = sewedObj.SewedShape();
++         cout << " done" << endl;
++      }
++      else
++         cout << " not possible";
++   }
++
++
++
++
++
++   void OCCGeometry :: MakeSolid ()
++   {
++      TopExp_Explorer exp0;
++
++      (*testout) << "Trying to build solids ..." << endl;
++      cout << "Trying to build solids ..." << flush;
++
++      BRepBuilderAPI_MakeSolid ms;
++      int count = 0;
++      for (exp0.Init(shape, TopAbs_SHELL); exp0.More(); exp0.Next())
++      {
++         count++;
++         ms.Add (TopoDS::Shell(exp0.Current()));
++      }
++
++      if (!count)
++      {
++         cout << " not possible (no shells)" << endl;
++         return;
++      }
++
++      BRepCheck_Analyzer ba(ms);
++      if (ba.IsValid ())
++      {
++         Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape;
++         sfs->Init (ms);
++
++         sfs->SetPrecision(1e-5);
++         sfs->SetMaxTolerance(1e-5);
++
++         sfs->Perform();
++
++         shape = sfs->Shape();
++
++         for (exp0.Init(shape, TopAbs_SOLID); exp0.More(); exp0.Next())
++         {
++            TopoDS_Solid solid = TopoDS::Solid(exp0.Current());
++            TopoDS_Solid newsolid = solid;
++            BRepLib::OrientClosedSolid (newsolid);
++            Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
++            rebuild->Replace(solid, newsolid);
++
++            TopoDS_Shape newshape = rebuild->Apply(shape, TopAbs_SHAPE, 1);
++            shape = newshape;
++         }
++
++         cout << " done" << endl;
++      }
++      else
++         cout << " not possible" << endl;
++   }
++
++
++
++
++   void OCCGeometry :: BuildVisualizationMesh (double deflection)
++   {
++      cout << "Preparing visualization (deflection = " << deflection << ") ... " << flush;
++
++      BRepTools::Clean (shape);
++      // BRepMesh_IncrementalMesh::
++      BRepMesh_IncrementalMesh (shape, deflection, true);
++      cout << "done" << endl;
++   }
++
++
++
++
++   void OCCGeometry :: CalcBoundingBox ()
++   {
++      Bnd_Box bb;
++      BRepBndLib::Add (shape, bb);
++
++      double x1,y1,z1,x2,y2,z2;
++      bb.Get (x1,y1,z1,x2,y2,z2);
++      Point<3> p1 = Point<3> (x1,y1,z1);
++      Point<3> p2 = Point<3> (x2,y2,z2);
++
++      (*testout) << "Bounding Box = [" << p1 << " - " << p2 << "]" << endl;
++      boundingbox = Box<3> (p1,p2);
++      SetCenter();
++   }
++
++
++   // returns a projector and a classifier for the given surface
++   void OCCGeometry::GetFaceTools(int surfi, Handle(ShapeAnalysis_Surface)& proj,
++                                  BRepTopAdaptor_FClass2d*& cls) const
++   {
++     //MSV: organize caching projector in the map
++     if (fprjmap.IsBound(surfi))
++     {
++       proj = fprjmap.Find(surfi);
++       cls = fclsmap.Find(surfi);
++     }
++     else
++     {
++       const TopoDS_Face& aFace = TopoDS::Face(fmap(surfi));
++       Handle(Geom_Surface) aSurf = BRep_Tool::Surface(aFace);
++       proj = new ShapeAnalysis_Surface(aSurf);
++       fprjmap.Bind(surfi, proj);
++       cls = new BRepTopAdaptor_FClass2d(aFace,Precision::Confusion());
++       fclsmap.Bind(surfi, cls);
++     }
++   }
++
++   // void OCCGeometry :: Project (int surfi, Point<3> & p) const
++   bool OCCGeometry :: Project (int surfi, Point<3> & p, double& u, double& v) const
++   {
++      static int cnt = 0;
++      if (++cnt % 1000 == 0) cout << "Project cnt = " << cnt << endl;
++
++      gp_Pnt pnt(p(0), p(1), p(2));
++
++      // -- Optimization: use cached projector and classifier
++      // double u,v;
++      // Handle( Geom_Surface ) thesurf = BRep_Tool::Surface(TopoDS::Face(fmap(surfi)));
++      // Handle( ShapeAnalysis_Surface ) su = new ShapeAnalysis_Surface( thesurf );
++      // gp_Pnt2d suval = su->ValueOfUV ( pnt, BRep_Tool::Tolerance( TopoDS::Face(fmap(surfi)) ) );
++      // suval.Coord( u, v);
++      // pnt = thesurf->Value( u, v );
++
++      Handle(ShapeAnalysis_Surface) proj;
++      BRepTopAdaptor_FClass2d *cls;
++      GetFaceTools(surfi, proj, cls);
++
++      gp_Pnt2d p2d = proj->ValueOfUV(pnt, Precision::Confusion());
++      if (cls->Perform(p2d) == TopAbs_OUT)
++      {
++        return false;
++      }
++      pnt = proj->Value(p2d);
++      p2d.Coord(u, v);
++
++      p = Point<3> (pnt.X(), pnt.Y(), pnt.Z());
++
++      return true;
++   }
++
++
++
++
++   bool OCCGeometry :: FastProject (int surfi, Point<3> & ap, double& u, double& v) const
++   {
++      gp_Pnt p(ap(0), ap(1), ap(2));
++
++      // -- Optimization: use cached projector and classifier
++      // Handle(Geom_Surface) surface = BRep_Tool::Surface(TopoDS::Face(fmap(surfi)));
++      //
++      // gp_Pnt x = surface->Value (u,v);
++      //
++      // if (p.SquareDistance(x) <= sqr(PROJECTION_TOLERANCE)) return true;
++      //
++      // gp_Vec du, dv;
++      //
++      // surface->D1(u,v,x,du,dv);
++      //
++      // int count = 0;
++      //
++      // gp_Pnt xold;
++      // gp_Vec n;
++      // double det, lambda, mu;
++      //
++      // do {
++      //    count++;
++      //
++      //    n = du^dv;
++      //
++      //    det = Det3 (n.X(), du.X(), dv.X(),
++      //       n.Y(), du.Y(), dv.Y(),
++      //       n.Z(), du.Z(), dv.Z());
++      //
++      //    if (det < 1e-15) return false;
++      //
++      //    lambda = Det3 (n.X(), p.X()-x.X(), dv.X(),
++      //       n.Y(), p.Y()-x.Y(), dv.Y(),
++      //       n.Z(), p.Z()-x.Z(), dv.Z())/det;
++      //
++      //    mu     = Det3 (n.X(), du.X(), p.X()-x.X(),
++      //       n.Y(), du.Y(), p.Y()-x.Y(),
++      //       n.Z(), du.Z(), p.Z()-x.Z())/det;
++      //
++      //    u += lambda;
++      //    v += mu;
++      //
++      //    xold = x;
++      //    surface->D1(u,v,x,du,dv);
++      //
++      // } while (xold.SquareDistance(x) > sqr(PROJECTION_TOLERANCE) && count < 50);
++      //
++      // //    (*testout) << "FastProject count: " << count << endl;
++      //
++      // if (count == 50) return false;
++      //
++      // ap = Point<3> (x.X(), x.Y(), x.Z());
++      Handle(ShapeAnalysis_Surface) proj;
++      BRepTopAdaptor_FClass2d *cls;
++      GetFaceTools(surfi, proj, cls);
++
++      gp_Pnt2d p2d = proj->NextValueOfUV(gp_Pnt2d(u,v), p, Precision::Confusion());
++      if (cls->Perform(p2d) == TopAbs_OUT)
++      {
++        //cout << "Projection fails" << endl;
++        return false;
++      }
++
++      p = proj->Value(p2d);
++      p2d.Coord(u, v);
++      ap = Point<3> (p.X(), p.Y(), p.Z());
++
++      return true;
++   }
++
++
++
++
++   void OCCGeometry :: WriteOCC_STL(char * filename)
++   {
++      cout << "writing stl..."; cout.flush();
++      StlAPI_Writer writer;
++      //writer.RelativeMode() = Standard_False;
++
++      //writer.SetDeflection(0.02);
++      writer.Write(shape,filename);
++
++      cout << "done" << endl;
++   }
++
++
++
++   // Philippose - 23/02/2009
++   /* Special IGES File load function including the ability
++   to extract individual surface colours via the extended
++   OpenCascade XDE and XCAF Feature set.
++   */
++   OCCGeometry *LoadOCC_IGES(const char *filename)
++   {
++      OCCGeometry *occgeo;
++      occgeo = new OCCGeometry;
++
++      // Initiate a dummy XCAF Application to handle the IGES XCAF Document
++      static Handle(XCAFApp_Application) dummy_app = XCAFApp_Application::GetApplication();
++
++      // Create an XCAF Document to contain the IGES file itself
++      Handle(TDocStd_Document) iges_doc;
++
++      // Check if a IGES File is already open under this handle, if so, close it to prevent
++      // Segmentation Faults when trying to create a new document
++      if(dummy_app->NbDocuments() > 0)
++      {
++         dummy_app->GetDocument(1,iges_doc);
++         dummy_app->Close(iges_doc);
++      }
++      dummy_app->NewDocument ("IGES-XCAF",iges_doc);
++
++      IGESCAFControl_Reader reader;
++
++      Standard_Integer stat = reader.ReadFile((char*)filename);
++
++      if(stat != IFSelect_RetDone)
++      {
++         delete occgeo;
++         return NULL;
++      }
++
++      // Enable transfer of colours
++      reader.SetColorMode(Standard_True);
++
++      reader.Transfer(iges_doc);
++
++      // Read in the shape(s) and the colours present in the IGES File
++      Handle(XCAFDoc_ShapeTool) iges_shape_contents = XCAFDoc_DocumentTool::ShapeTool(iges_doc->Main());
++      Handle(XCAFDoc_ColorTool) iges_colour_contents = XCAFDoc_DocumentTool::ColorTool(iges_doc->Main());
++
++      TDF_LabelSequence iges_shapes;
++      iges_shape_contents->GetShapes(iges_shapes);
++
++      // List out the available colours in the IGES File as Colour Names
++      TDF_LabelSequence all_colours;
++      iges_colour_contents->GetColors(all_colours);
++      PrintMessage(1,"Number of colours in IGES File: ",all_colours.Length());
++      for(int i = 1; i <= all_colours.Length(); i++)
++      {
++         Quantity_Color col;
++         stringstream col_rgb;
++         iges_colour_contents->GetColor(all_colours.Value(i),col);
++         col_rgb << " : (" << col.Red() << "," << col.Green() << "," << col.Blue() << ")";
++         PrintMessage(1, "Colour [", i, "] = ",col.StringName(col.Name()),col_rgb.str());
++      }
++
++
++      // For the IGES Reader, all the shapes can be exported as one compund shape
++      // using the "OneShape" member
++      occgeo->shape = reader.OneShape();
++      occgeo->face_colours = iges_colour_contents;
++      occgeo->changed = 1;
++      occgeo->BuildFMap();
++
++      occgeo->CalcBoundingBox();
++      PrintContents (occgeo);
++
++      return occgeo;
++   }
++
++
++
++
++
++   // Philippose - 29/01/2009
++   /* Special STEP File load function including the ability
++   to extract individual surface colours via the extended
++   OpenCascade XDE and XCAF Feature set.
++   */
++   OCCGeometry * LoadOCC_STEP (const char * filename)
++   {
++      OCCGeometry * occgeo;
++      occgeo = new OCCGeometry;
++
++      // Initiate a dummy XCAF Application to handle the STEP XCAF Document
++      static Handle(XCAFApp_Application) dummy_app = XCAFApp_Application::GetApplication();
++
++      // Create an XCAF Document to contain the STEP file itself
++      Handle(TDocStd_Document) step_doc;
++
++      // Check if a STEP File is already open under this handle, if so, close it to prevent
++      // Segmentation Faults when trying to create a new document
++      if(dummy_app->NbDocuments() > 0)
++      {
++         dummy_app->GetDocument(1,step_doc);
++         dummy_app->Close(step_doc);
++      }
++      dummy_app->NewDocument ("STEP-XCAF",step_doc);
++
++      STEPCAFControl_Reader reader;
++
++      // Enable transfer of colours
++      reader.SetColorMode(Standard_True);
++
++      Standard_Integer stat = reader.ReadFile((char*)filename);
++
++      if(stat != IFSelect_RetDone)
++      {
++         delete occgeo;
++         return NULL;
++      }
++
++      reader.Transfer(step_doc);
++
++      // Read in the shape(s) and the colours present in the STEP File
++      Handle(XCAFDoc_ShapeTool) step_shape_contents = XCAFDoc_DocumentTool::ShapeTool(step_doc->Main());
++      Handle(XCAFDoc_ColorTool) step_colour_contents = XCAFDoc_DocumentTool::ColorTool(step_doc->Main());
++
++      TDF_LabelSequence step_shapes;
++      step_shape_contents->GetShapes(step_shapes);
++
++      // List out the available colours in the STEP File as Colour Names
++      TDF_LabelSequence all_colours;
++      step_colour_contents->GetColors(all_colours);
++      PrintMessage(1,"Number of colours in STEP File: ",all_colours.Length());
++      for(int i = 1; i <= all_colours.Length(); i++)
++      {
++         Quantity_Color col;
++         stringstream col_rgb;
++         step_colour_contents->GetColor(all_colours.Value(i),col);
++         col_rgb << " : (" << col.Red() << "," << col.Green() << "," << col.Blue() << ")";
++         PrintMessage(1, "Colour [", i, "] = ",col.StringName(col.Name()),col_rgb.str());
++      }
++
++
++      // For the STEP File Reader in OCC, the 1st Shape contains the entire
++      // compound geometry as one shape
++      occgeo->shape = step_shape_contents->GetShape(step_shapes.Value(1));
++      occgeo->face_colours = step_colour_contents;
++      occgeo->changed = 1;
++      occgeo->BuildFMap();
++
++      occgeo->CalcBoundingBox();
++      PrintContents (occgeo);
++
++      return occgeo;
++   }
++
++
++
++
++   OCCGeometry *LoadOCC_BREP (const char *filename)
++   {
++      OCCGeometry * occgeo;
++      occgeo = new OCCGeometry;
++
++      BRep_Builder aBuilder;
++      Standard_Boolean result = BRepTools::Read(occgeo->shape, const_cast<char*> (filename),aBuilder);
++
++      if(!result)
++      {
++         delete occgeo;
++         return NULL;
++      }
++
++      // Philippose - 23/02/2009
++      // Fixed a bug in the OpenCascade XDE Colour handling when
++      // opening BREP Files, since BREP Files have no colour data.
++      // Hence, the face_colours Handle needs to be created as a NULL handle.
++      occgeo->face_colours = Handle(XCAFDoc_ColorTool)();
++      occgeo->face_colours.Nullify();
++      occgeo->changed = 1;
++      occgeo->BuildFMap();
++
++      occgeo->CalcBoundingBox();
++      PrintContents (occgeo);
++
++      return occgeo;
++   }
++
++
++  void OCCGeometry :: Save (string sfilename) const
++  {
++    const char * filename = sfilename.c_str();
++    if (strlen(filename) < 4)
++      throw NgException ("illegal filename");
++
++    if (strcmp (&filename[strlen(filename)-3], "igs") == 0)
++      {
++      IGESControl_Writer writer("millimeters", 1);
++      writer.AddShape (shape);
++      writer.Write (filename);
++      }
++    else if (strcmp (&filename[strlen(filename)-3], "stp") == 0)
++      {
++      STEPControl_Writer writer;
++      writer.Transfer (shape, STEPControl_AsIs);
++      writer.Write (filename);
++      }
++    else if (strcmp (&filename[strlen(filename)-3], "stl") == 0)
++      {
++      StlAPI_Writer writer;
++      writer.ASCIIMode() = Standard_True;
++      writer.Write (shape, filename);
++      }
++    else if (strcmp (&filename[strlen(filename)-4], "stlb") == 0)
++      {
++      StlAPI_Writer writer;
++      writer.ASCIIMode() = Standard_False;
++      writer.Write (shape, filename);
++      }
++  }
++
++
++
++  const char * shapesname[] =
++   {" ", "CompSolids", "Solids", "Shells",
++
++   "Faces", "Wires", "Edges", "Vertices"};
++
++  const char * shapename[] =
++   {" ", "CompSolid", "Solid", "Shell",
++   "Face", "Wire", "Edge", "Vertex"};
++
++  const char * orientationstring[] =
++     {"+", "-"};
++
++
++
++
++   void OCCGeometry :: RecursiveTopologyTree (const TopoDS_Shape & sh,
++      stringstream & str,
++      TopAbs_ShapeEnum l,
++      bool isfree,
++      const char * lname)
++   {
++      if (l > TopAbs_VERTEX) return;
++
++      TopExp_Explorer e;
++      int count = 0;
++      int count2 = 0;
++
++      if (isfree)
++         e.Init(sh, l, TopAbs_ShapeEnum(l-1));
++      else
++         e.Init(sh, l);
++
++      for (; e.More(); e.Next())
++      {
++         count++;
++
++         stringstream lname2;
++         lname2 << lname << "/" << shapename[l] << count;
++         str << lname2.str() << " ";
++
++         switch (e.Current().ShapeType())
++         {
++         case TopAbs_SOLID:
++           count2 = somap.FindIndex(TopoDS::Solid(e.Current())); break;
++         case TopAbs_SHELL:
++           count2 = shmap.FindIndex(TopoDS::Shell(e.Current())); break;
++         case TopAbs_FACE:
++           count2 = fmap.FindIndex(TopoDS::Face(e.Current())); break;
++         case TopAbs_WIRE:
++           count2 = wmap.FindIndex(TopoDS::Wire(e.Current())); break;
++         case TopAbs_EDGE:
++           count2 = emap.FindIndex(TopoDS::Edge(e.Current())); break;
++         case TopAbs_VERTEX:
++           count2 = vmap.FindIndex(TopoDS::Vertex(e.Current())); break;
++         default:
++           cout << "RecursiveTopologyTree: Case " << e.Current().ShapeType() << " not handeled" << endl;
++         }
++
++         int nrsubshapes = 0;
++
++         if (l <= TopAbs_WIRE)
++         {
++            TopExp_Explorer e2;
++            for (e2.Init (e.Current(), TopAbs_ShapeEnum (l+1));
++               e2.More(); e2.Next())
++               nrsubshapes++;
++         }
++
++         str << "{" << shapename[l] << " " << count2;
++
++         if (l <= TopAbs_EDGE)
++         {
++            str << " (" << orientationstring[e.Current().Orientation()];
++            if (nrsubshapes != 0) str << ", " << nrsubshapes;
++            str << ") } ";
++         }
++         else
++            str << " } ";
++
++         RecursiveTopologyTree (e.Current(), str, TopAbs_ShapeEnum (l+1),
++            false, (char*)lname2.str().c_str());
++
++      }
++   }
++
++
++
++
++   void OCCGeometry :: GetTopologyTree (stringstream & str)
++   {
++      cout << "Building topology tree ... " << flush;
++      RecursiveTopologyTree (shape, str, TopAbs_COMPSOLID, false, "CompSolids");
++      RecursiveTopologyTree (shape, str, TopAbs_SOLID, true, "FreeSolids");
++      RecursiveTopologyTree (shape, str, TopAbs_SHELL, true, "FreeShells");
++      RecursiveTopologyTree (shape, str, TopAbs_FACE, true, "FreeFaces");
++      RecursiveTopologyTree (shape, str, TopAbs_WIRE, true, "FreeWires");
++      RecursiveTopologyTree (shape, str, TopAbs_EDGE, true, "FreeEdges");
++      RecursiveTopologyTree (shape, str, TopAbs_VERTEX, true, "FreeVertices");
++      str << flush;
++      //  cout << "done" << endl;
++   }
++
++
++
++
++   void OCCGeometry :: CheckIrregularEntities(stringstream & str)
++   {
++      ShapeAnalysis_CheckSmallFace csm;
++
++      csm.SetTolerance (1e-6);
++
++      TopTools_DataMapOfShapeListOfShape mapEdges;
++      ShapeAnalysis_DataMapOfShapeListOfReal mapParam;
++      TopoDS_Compound theAllVert;
++
++      int spotfaces = 0;
++      int stripsupportfaces = 0;
++      int singlestripfaces = 0;
++      int stripfaces = 0;
++      int facessplitbyvertices = 0;
++      int stretchedpinfaces = 0;
++      int smoothpinfaces = 0;
++      int twistedfaces = 0;
++      // int edgessamebutnotidentified = 0;
++
++      cout << "checking faces ... " << flush;
++
++      int i;
++      for (i = 1; i <= fmap.Extent(); i++)
++      {
++         TopoDS_Face face = TopoDS::Face (fmap(i));
++         TopoDS_Edge e1, e2;
++
++         if (csm.CheckSpotFace (face))
++         {
++            if (!spotfaces++)
++               str << "SpotFace {Spot face} ";
++
++            (*testout) << "Face " << i << " is a spot face" << endl;
++            str << "SpotFace/Face" << i << " ";
++            str << "{Face " << i << " } ";
++         }
++
++         if (csm.IsStripSupport (face))
++         {
++            if (!stripsupportfaces++)
++               str << "StripSupportFace {Strip support face} ";
++
++            (*testout) << "Face " << i << " has strip support" << endl;
++            str << "StripSupportFace/Face" << i << " ";
++            str << "{Face " << i << " } ";
++         }
++
++         if (csm.CheckSingleStrip(face, e1, e2))
++         {
++            if (!singlestripfaces++)
++               str << "SingleStripFace {Single strip face} ";
++
++            (*testout) << "Face " << i << " is a single strip (edge " << emap.FindIndex(e1)
++               << " and edge " << emap.FindIndex(e2) << " are identical)" << endl;
++            str << "SingleStripFace/Face" << i << " ";
++            str << "{Face " << i << " (edge " << emap.FindIndex(e1)
++               << " and edge " << emap.FindIndex(e2) << " are identical)} ";
++         }
++
++         if (csm.CheckStripFace(face, e1, e2))
++         {
++            if (!stripfaces++)
++               str << "StripFace {Strip face} ";
++
++            (*testout) << "Face " << i << " is a strip (edge " << emap.FindIndex(e1)
++               << " and edge " << emap.FindIndex(e2)
++               << " are identical)" << endl;
++            str << "StripFace/Face" << i << " ";
++            str << "{Face " << i << " (edge " << emap.FindIndex(e1)
++               << " and edge " << emap.FindIndex(e2) << " are identical)} ";
++         }
++
++         if (int count = csm.CheckSplittingVertices(face, mapEdges, mapParam, theAllVert))
++         {
++            if (!facessplitbyvertices++)
++               str << "FaceSplitByVertices {Face split by vertices} ";
++
++            (*testout) << "Face " << i << " is split by " << count
++               << " vertex/vertices " << endl;
++            str << "FaceSplitByVertices/Face" << i << " ";
++            str << "{Face " << i << " (split by " << count << "vertex/vertices)} ";
++         }
++
++         int whatrow, sens;
++         if (int type = csm.CheckPin (face, whatrow, sens))
++         {
++            if (type == 1)
++            {
++               if (!smoothpinfaces++)
++                  str << "SmoothPinFace {Smooth pin face} ";
++
++               (*testout) << "Face " << i << " is a smooth pin" << endl;
++               str << "SmoothPinFace/Face" << i << " ";
++               str << "{Face " << i << " } ";
++            }
++            else
++            {
++               if (!stretchedpinfaces++)
++                  str << "StretchedPinFace {Stretched pin face} ";
++
++               (*testout) << "Face " << i << " is a streched pin" << endl;
++               str << "StretchedPinFace/Face" << i << " ";
++               str << "{Face " << i << " } ";
++            }
++         }
++
++         double paramu, paramv;
++         if (csm.CheckTwisted (face, paramu, paramv))
++         {
++            if (!twistedfaces++)
++               str << "TwistedFace {Twisted face} ";
++
++            (*testout) << "Face " << i << " is twisted" << endl;
++            str << "TwistedFace/Face" << i << " ";
++            str << "{Face " << i << " } ";
++         }
++      }
++
++      cout << "done" << endl;
++      cout << "checking edges ... " << flush;
++
++      // double dmax;
++      // int cnt = 0;
++      Array <double> edgeLengths;
++      Array <int> order;
++      edgeLengths.SetSize (emap.Extent());
++      order.SetSize (emap.Extent());
++
++      for (i = 1; i <= emap.Extent(); i++)
++      {
++         TopoDS_Edge edge1 = TopoDS::Edge (emap(i));
++         GProp_GProps system;
++         BRepGProp::LinearProperties(edge1, system);
++         edgeLengths[i-1] = system.Mass();
++      }
++
++      Sort (edgeLengths, order);
++
++      str << "ShortestEdges {Shortest edges} ";
++      for (i = 1; i <= min(20, emap.Extent()); i++)
++      {
++         str << "ShortestEdges/Edge" << i;
++         str << " {Edge " << order[i-1] << " (L=" << edgeLengths[order[i-1]-1] << ")} ";
++      }
++
++      str << flush;
++
++      cout << "done" << endl;
++   }
++
++
++
++
++   void OCCGeometry :: GetUnmeshedFaceInfo (stringstream & str)
++   {
++      for (int i = 1; i <= fmap.Extent(); i++)
++      {
++         if (facemeshstatus[i-1] == -1)
++            str << "Face" << i << " {Face " << i << " } ";
++      }
++      str << flush;
++   }
++
++
++
++
++   void OCCGeometry :: GetNotDrawableFaces (stringstream & str)
++   {
++      for (int i = 1; i <= fmap.Extent(); i++)
++      {
++         if (!fvispar[i-1].IsDrawable())
++            str << "Face" << i << " {Face " << i << " } ";
++      }
++      str << flush;
++   }
++
++
++
++
++   bool OCCGeometry :: ErrorInSurfaceMeshing ()
++   {
++      for (int i = 1; i <= fmap.Extent(); i++)
++         if (facemeshstatus[i-1] == -1)
++            return true;
++
++      return false;
++   }
++
++
++
++
++  int OCCGeometry :: GenerateMesh (Mesh*& mesh, MeshingParameters & mparam,
++      int perfstepsstart, int perfstepsend)
++   {
++     return OCCGenerateMesh (*this, mesh, mparam, perfstepsstart, perfstepsend);
++   }
++
++
++
++
++   const Refinement & OCCGeometry :: GetRefinement () const
++   {
++      return * new OCCRefinementSurfaces (*this);
++   }
++
++
++
++
++   OCCParameters :: OCCParameters()
++   {
++      resthcloseedgefac = 1;
++      resthcloseedgeenable = 1;
++        resthminedgelen = 0.001;
++        resthminedgelenenable = 1;
++   }
++
++
++
++
++   void OCCParameters :: Print(ostream & ost) const
++   {
++      ost << "OCC Parameters:" << endl
++         << "close edges: " << resthcloseedgeenable
++         << ", fac = " << resthcloseedgefac << endl
++               << "minimum edge length: " << resthminedgelenenable
++               << ", min len = " << resthminedgelen << endl;
++   }
++
++
++
++
++   OCCParameters occparam;
++
++}
++
++
++#endif
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occgeom.hpp netgen-5.3.1_SRC_modif/libsrc/occ/occgeom.hpp
+--- netgen-5.3.1_SRC_orig/libsrc/occ/occgeom.hpp       2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/occgeom.hpp      2018-03-01 15:45:08.691877252 +0300
+@@ -1,457 +1,475 @@
+-#ifndef FILE_OCCGEOM
+-#define FILE_OCCGEOM
+-
+-/* *************************************************************************/
+-/* File:   occgeom.hpp                                                     */
+-/* Author: Robert Gaisbauer                                                */
+-/* Date:   26. May  03                                                     */
+-/* *************************************************************************/
+-
+-#ifdef OCCGEOMETRY
+-
+-#include <meshing.hpp>
+-
+-#include "BRep_Tool.hxx"
+-#include "Geom_Curve.hxx"
+-#include "Geom2d_Curve.hxx"
+-#include "Geom_Surface.hxx"
+-#include "GeomAPI_ProjectPointOnSurf.hxx"
+-#include "GeomAPI_ProjectPointOnCurve.hxx"
+-#include "BRepTools.hxx"
+-#include "TopExp.hxx"
+-#include "BRepBuilderAPI_MakeVertex.hxx"
+-#include "BRepBuilderAPI_MakeShell.hxx"
+-#include "BRepBuilderAPI_MakeSolid.hxx"
+-#include "BRepOffsetAPI_Sewing.hxx"
+-#include "BRepLProp_SLProps.hxx"
+-#include "BRepAdaptor_Surface.hxx"
+-#include "Poly_Triangulation.hxx"
+-#include "Poly_Array1OfTriangle.hxx"
+-#include "TColgp_Array1OfPnt2d.hxx"
+-#include "Poly_Triangle.hxx"
+-#include "GProp_GProps.hxx"
+-#include "BRepGProp.hxx"
+-#include "Geom_Surface.hxx"
+-#include "TopExp.hxx"
+-#include "gp_Pnt.hxx"
+-#include "TopoDS.hxx"
+-#include "TopoDS_Solid.hxx"
+-#include "TopExp_Explorer.hxx"
+-#include "TopTools_ListIteratorOfListOfShape.hxx"
+-#include "BRep_Tool.hxx"
+-#include "Geom_Curve.hxx"
+-#include "Geom2d_Curve.hxx"
+-#include "Geom_Surface.hxx"
+-#include "GeomAPI_ProjectPointOnSurf.hxx"
+-#include "GeomAPI_ProjectPointOnCurve.hxx"
+-#include "TopoDS_Wire.hxx"
+-#include "BRepTools_WireExplorer.hxx"
+-#include "BRepTools.hxx"
+-#include "TopTools_IndexedMapOfShape.hxx"
+-#include "TopExp.hxx"
+-#include "BRepBuilderAPI_MakeVertex.hxx"
+-#include "BRepBuilderAPI_MakeShell.hxx"
+-#include "BRepBuilderAPI_MakeSolid.hxx"
+-#include "BRepOffsetAPI_Sewing.hxx"
+-#include "BRepLProp_CLProps.hxx"
+-#include "BRepLProp_SLProps.hxx"
+-#include "BRepAdaptor_Surface.hxx"
+-#include "BRepAdaptor_Curve.hxx"
+-#include "Poly_Triangulation.hxx"
+-#include "Poly_Array1OfTriangle.hxx"
+-#include "TColgp_Array1OfPnt2d.hxx"
+-#include "Poly_Triangle.hxx"
+-#include "GProp_GProps.hxx"
+-#include "BRepGProp.hxx"
+-#include "TopoDS_Shape.hxx"
+-#include "TopoDS_Face.hxx"
+-#include "IGESToBRep_Reader.hxx"
+-#include "Interface_Static.hxx"
+-#include "GeomAPI_ExtremaCurveCurve.hxx"
+-#include "Standard_ErrorHandler.hxx"
+-#include "Standard_Failure.hxx"
+-#include "ShapeUpgrade_ShellSewing.hxx"
+-#include "ShapeFix_Shape.hxx"
+-#include "ShapeFix_Wireframe.hxx"
+-#include "BRepMesh.hxx"
+-#include "BRepMesh_IncrementalMesh.hxx"
+-#include "BRepBndLib.hxx"
+-#include "Bnd_Box.hxx"
+-#include "ShapeAnalysis.hxx"
+-#include "ShapeBuild_ReShape.hxx"
+-
+-
+-// Philippose - 29/01/2009
+-// OpenCascade XDE Support
+-// Include support for OpenCascade XDE Features
+-#include "TDocStd_Document.hxx"
+-#include "Quantity_Color.hxx"
+-#include "XCAFApp_Application.hxx"
+-#include "XCAFDoc_ShapeTool.hxx"
+-#include "XCAFDoc_Color.hxx"
+-#include "XCAFDoc_ColorTool.hxx"
+-#include "XCAFDoc_ColorType.hxx"
+-#include "XCAFDoc_LayerTool.hxx"
+-#include "XCAFDoc_DimTolTool.hxx"
+-#include "XCAFDoc_MaterialTool.hxx"
+-#include "XCAFDoc_DocumentTool.hxx"
+-#include "TDF_Label.hxx"
+-#include "TDF_LabelSequence.hxx"
+-#include "STEPCAFControl_Reader.hxx"
+-#include "STEPCAFControl_Writer.hxx"
+-#include "IGESCAFControl_Reader.hxx"
+-#include "IGESCAFControl_Writer.hxx"
+-
+-#include "IGESControl_Reader.hxx"
+-#include "STEPControl_Reader.hxx"
+-#include "IGESControl_Writer.hxx"
+-#include "STEPControl_Writer.hxx"
+-
+-#include "StlAPI_Writer.hxx"
+-#include "STEPControl_StepModelType.hxx"
+-
+-namespace netgen
+-{
+-#include "occmeshsurf.hpp"
+-
+-  extern DLL_HEADER MeshingParameters mparam;
+-
+-#define PROJECTION_TOLERANCE 1e-10
+-
+-#define ENTITYISVISIBLE 1
+-#define ENTITYISHIGHLIGHTED 2
+-#define ENTITYISDRAWABLE 4
+-
+-#define OCCGEOMETRYVISUALIZATIONNOCHANGE   0
+-#define OCCGEOMETRYVISUALIZATIONFULLCHANGE 1  // Compute transformation matrices and redraw
+-#define OCCGEOMETRYVISUALIZATIONHALFCHANGE 2  // Redraw
+-
+-
+-
+-   class EntityVisualizationCode
+-   {
+-      int code;
+-
+-   public:
+-
+-      EntityVisualizationCode()
+-      {  code = ENTITYISVISIBLE + !ENTITYISHIGHLIGHTED + ENTITYISDRAWABLE;}
+-
+-      int IsVisible ()
+-      {  return code & ENTITYISVISIBLE;}
+-
+-      int IsHighlighted ()
+-      {  return code & ENTITYISHIGHLIGHTED;}
+-
+-      int IsDrawable ()
+-      {  return code & ENTITYISDRAWABLE;}
+-
+-      void Show ()
+-      {  code |= ENTITYISVISIBLE;}
+-
+-      void Hide ()
+-      {  code &= ~ENTITYISVISIBLE;}
+-
+-      void Highlight ()
+-      {  code |= ENTITYISHIGHLIGHTED;}
+-
+-      void Lowlight ()
+-      {  code &= ~ENTITYISHIGHLIGHTED;}
+-
+-      void SetDrawable ()
+-      {  code |= ENTITYISDRAWABLE;}
+-
+-      void SetNotDrawable ()
+-      {  code &= ~ENTITYISDRAWABLE;}
+-   };
+-
+-
+-
+-   class Line
+-   {
+-   public:
+-      Point<3> p0, p1;
+-
+-      double Dist (Line l);
+-
+-      double Length ();
+-   };
+-
+-
+-
+-   inline double Det3 (double a00, double a01, double a02,
+-      double a10, double a11, double a12,
+-      double a20, double a21, double a22)
+-   {
+-      return a00*a11*a22 + a01*a12*a20 + a10*a21*a02 - a20*a11*a02 - a10*a01*a22 - a21*a12*a00;
+-   }
+-
+-
+-
+-
+-   class OCCGeometry : public NetgenGeometry
+-   {
+-      Point<3> center;
+-
+-   public:
+-      TopoDS_Shape shape;
+-      TopTools_IndexedMapOfShape fmap, emap, vmap, somap, shmap, wmap;
+-      Array<bool> fsingular, esingular, vsingular;
+-      Box<3> boundingbox;
+-
+-      // Philippose - 29/01/2009
+-      // OpenCascade XDE Support
+-      // XCAF Handle to make the face colours available to the rest of
+-      // the system
+-      Handle_XCAFDoc_ColorTool face_colours;
+-
+-     mutable int changed;
+-      Array<int> facemeshstatus;
+-
+-      // Philippose - 15/01/2009
+-      // Maximum mesh size for a given face
+-      // (Used to explicitly define mesh size limits on individual faces)
+-      Array<double> face_maxh;
+-      
+-      // Philippose - 14/01/2010
+-      // Boolean array to detect whether a face has been explicitly modified 
+-      // by the user or not
+-      Array<bool> face_maxh_modified;
+-
+-      // Philippose - 15/01/2009
+-      // Indicates which faces have been selected by the user in geometry mode
+-      // (Currently handles only selection of one face at a time, but an array would
+-      //  help to extend this to multiple faces)
+-      Array<bool> face_sel_status;
+-
+-      Array<EntityVisualizationCode> fvispar, evispar, vvispar;
+-
+-      double tolerance;
+-      bool fixsmalledges;
+-      bool fixspotstripfaces;
+-      bool sewfaces;
+-      bool makesolids;
+-      bool splitpartitions;
+-
+-      OCCGeometry()
+-      {
+-         somap.Clear();
+-         shmap.Clear();
+-         fmap.Clear();
+-         wmap.Clear();
+-         emap.Clear();
+-         vmap.Clear();
+-      }
+-
+-
+-     virtual void Save (string filename) const;
+-
+-
+-      void BuildFMap();
+-
+-      Box<3> GetBoundingBox()
+-      {  return boundingbox;}
+-
+-      int NrSolids()
+-      {  return somap.Extent();}
+-
+-      // Philippose - 17/01/2009
+-      // Total number of faces in the geometry
+-      int NrFaces()
+-      {  return fmap.Extent();}
+-
+-      void SetCenter()
+-      {  center = boundingbox.Center();}
+-
+-      Point<3> Center()
+-      {  return center;}
+-
+-      void Project (int surfi, Point<3> & p) const;
+-      bool FastProject (int surfi, Point<3> & ap, double& u, double& v) const;
+-
+-      OCCSurface GetSurface (int surfi)
+-      {
+-         cout << "OCCGeometry::GetSurface using PLANESPACE" << endl;
+-         return OCCSurface (TopoDS::Face(fmap(surfi)), PLANESPACE);
+-      }
+-
+-      void CalcBoundingBox ();
+-      void BuildVisualizationMesh (double deflection);
+-
+-      void RecursiveTopologyTree (const TopoDS_Shape & sh,
+-         stringstream & str,
+-         TopAbs_ShapeEnum l,
+-         bool free,
+-         const char * lname);
+-
+-      void GetTopologyTree (stringstream & str);
+-
+-      void PrintNrShapes ();
+-
+-      void CheckIrregularEntities (stringstream & str);
+-
+-      void SewFaces();
+-
+-      void MakeSolid();
+-
+-      void HealGeometry();
+-
+-      // Philippose - 15/01/2009
+-      // Sets the maximum mesh size for a given face
+-      // (Note: Local mesh size limited by the global max mesh size)
+-      void SetFaceMaxH(int facenr, double faceh)
+-      {
+-         if((facenr> 0) && (facenr <= fmap.Extent()))
+-         {
+-         face_maxh[facenr-1] = min(mparam.maxh,faceh);
+-            
+-            // Philippose - 14/01/2010
+-            // If the face maxh is greater than or equal to the 
+-            // current global maximum, then identify the face as 
+-            // not explicitly controlled by the user any more
+-            if(faceh >= mparam.maxh)
+-            {
+-               face_maxh_modified[facenr-1] = 0;
+-            }
+-            else
+-            {
+-               face_maxh_modified[facenr-1] = 1;
+-            }
+-         }
+-      }
+-
+-      // Philippose - 15/01/2009
+-      // Returns the local mesh size of a given face
+-      double GetFaceMaxH(int facenr)
+-      {
+-         if((facenr> 0) && (facenr <= fmap.Extent()))
+-         {
+-            return face_maxh[facenr-1];
+-         }
+-         else
+-         {
+-            return 0.0;
+-         }
+-      }
+-      
+-      // Philippose - 14/01/2010
+-      // Returns the flag whether the given face 
+-      // has a mesh size controlled by the user or not
+-      bool GetFaceMaxhModified(int facenr)
+-      {
+-         return face_maxh_modified[facenr-1];
+-      }
+-      
+-      // Philippose - 17/01/2009
+-      // Returns the index of the currently selected face
+-      int SelectedFace()
+-      {
+-         int i;
+-
+-         for(i = 1; i <= fmap.Extent(); i++)
+-         {
+-            if(face_sel_status[i-1])
+-            {
+-               return i;
+-            }
+-         }
+-
+-         return 0;
+-      }
+-
+-      // Philippose - 17/01/2009
+-      // Sets the currently selected face
+-      void SetSelectedFace(int facenr)
+-      {
+-         face_sel_status = 0;
+-
+-         if((facenr >= 1) && (facenr <= fmap.Extent()))
+-         {
+-            face_sel_status[facenr-1] = 1;
+-         }
+-      }
+-
+-      void LowLightAll()
+-      {
+-         for (int i = 1; i <= fmap.Extent(); i++)
+-            fvispar[i-1].Lowlight();
+-         for (int i = 1; i <= emap.Extent(); i++)
+-            evispar[i-1].Lowlight();
+-         for (int i = 1; i <= vmap.Extent(); i++)
+-            vvispar[i-1].Lowlight();
+-      }
+-
+-      void GetUnmeshedFaceInfo (stringstream & str);
+-      void GetNotDrawableFaces (stringstream & str);
+-      bool ErrorInSurfaceMeshing ();
+-
+-     void WriteOCC_STL(char * filename);
+-
+-     virtual int GenerateMesh (Mesh*& mesh, MeshingParameters & mparam, 
+-         int perfstepsstart, int perfstepsend);
+-
+-      virtual const Refinement & GetRefinement () const;
+-   };
+-
+-
+-
+-   class OCCParameters
+-   {
+-   public:
+-
+-      /// Factor for meshing close edges 
+-      double resthcloseedgefac;
+-
+-
+-      /// Enable / Disable detection of close edges
+-      int resthcloseedgeenable;
+-
+-
+-        /// Minimum edge length to be used for dividing edges to mesh points
+-        double resthminedgelen;
+-
+-
+-        /// Enable / Disable use of the minimum edge length (by default use 1e-4)
+-        int resthminedgelenenable;
+-
+-      /*!
+-         Default Constructor for the OpenCascade
+-         Mesh generation parameter set
+-      */
+-      OCCParameters();
+-
+-
+-      /*!
+-         Dump all the OpenCascade specific meshing parameters 
+-         to console
+-      */
+-      void Print (ostream & ost) const;
+-   };
+-   
+-
+-   void PrintContents (OCCGeometry * geom);
+-
+-   OCCGeometry * LoadOCC_IGES (const char * filename);
+-   OCCGeometry * LoadOCC_STEP (const char * filename);
+-   OCCGeometry * LoadOCC_BREP (const char * filename);
+-
+-   extern OCCParameters occparam;
+-
+-
+-   // Philippose - 31.09.2009
+-   // External access to the mesh generation functions within the OCC
+-   // subsystem (Not sure if this is the best way to implement this....!!)
+-   extern int OCCGenerateMesh (OCCGeometry & occgeometry, Mesh*& mesh,
+-                             MeshingParameters & mparam,
+-                             int perfstepsstart, int perfstepsend);
+-
+-  extern void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh);
+-
+-   extern void OCCMeshSurface (OCCGeometry & geom, Mesh & mesh, int perfstepsend);
+-
+-   extern void OCCFindEdges (OCCGeometry & geom, Mesh & mesh);
+-}
+-
+-#endif
+-
+-#endif
++#ifndef FILE_OCCGEOM
++#define FILE_OCCGEOM
++
++/* *************************************************************************/
++/* File:   occgeom.hpp                                                     */
++/* Author: Robert Gaisbauer                                                */
++/* Date:   26. May  03                                                     */
++/* *************************************************************************/
++
++#ifdef OCCGEOMETRY
++
++#include <meshing.hpp>
++
++#include "BRep_Tool.hxx"
++#include "Geom_Curve.hxx"
++#include "Geom2d_Curve.hxx"
++#include "Geom_Surface.hxx"
++// #include "GeomAPI_ProjectPointOnSurf.hxx"
++// #include "GeomAPI_ProjectPointOnCurve.hxx"
++#include "BRepTools.hxx"
++#include "TopExp.hxx"
++#include "BRepBuilderAPI_MakeVertex.hxx"
++#include "BRepBuilderAPI_MakeShell.hxx"
++#include "BRepBuilderAPI_MakeSolid.hxx"
++#include "BRepOffsetAPI_Sewing.hxx"
++#include "BRepLProp_SLProps.hxx"
++#include "BRepAdaptor_Surface.hxx"
++#include "Poly_Triangulation.hxx"
++#include "Poly_Array1OfTriangle.hxx"
++#include "TColgp_Array1OfPnt2d.hxx"
++#include "Poly_Triangle.hxx"
++#include "GProp_GProps.hxx"
++#include "BRepGProp.hxx"
++#include "Geom_Surface.hxx"
++#include "TopExp.hxx"
++#include "gp_Pnt.hxx"
++#include "TopoDS.hxx"
++#include "TopoDS_Solid.hxx"
++#include "TopExp_Explorer.hxx"
++#include "TopTools_ListIteratorOfListOfShape.hxx"
++#include "BRep_Tool.hxx"
++#include "Geom_Curve.hxx"
++#include "Geom2d_Curve.hxx"
++#include "Geom_Surface.hxx"
++// #include "GeomAPI_ProjectPointOnSurf.hxx"
++// #include "GeomAPI_ProjectPointOnCurve.hxx"
++#include "TopoDS_Wire.hxx"
++#include "BRepTools_WireExplorer.hxx"
++#include "BRepTools.hxx"
++#include "TopTools_IndexedMapOfShape.hxx"
++#include "TopExp.hxx"
++#include "BRepBuilderAPI_MakeVertex.hxx"
++#include "BRepBuilderAPI_MakeShell.hxx"
++#include "BRepBuilderAPI_MakeSolid.hxx"
++#include "BRepOffsetAPI_Sewing.hxx"
++#include "BRepLProp_CLProps.hxx"
++#include "BRepLProp_SLProps.hxx"
++#include "BRepAdaptor_Surface.hxx"
++#include "BRepAdaptor_Curve.hxx"
++#include "Poly_Triangulation.hxx"
++#include "Poly_Array1OfTriangle.hxx"
++#include "TColgp_Array1OfPnt2d.hxx"
++#include "Poly_Triangle.hxx"
++#include "GProp_GProps.hxx"
++#include "BRepGProp.hxx"
++#include "TopoDS_Shape.hxx"
++#include "TopoDS_Face.hxx"
++#include "IGESToBRep_Reader.hxx"
++#include "Interface_Static.hxx"
++#include "GeomAPI_ExtremaCurveCurve.hxx"
++//#include "Standard_ErrorHandler.hxx"
++#include "Standard_Failure.hxx"
++#include "ShapeUpgrade_ShellSewing.hxx"
++#include "ShapeFix_Shape.hxx"
++#include "ShapeFix_Wireframe.hxx"
++#include <Standard_Version.hxx>
++#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) <= 0x060702
++// porting to OCCT6.7.3
++#include "BRepMesh.hxx"
++#endif
++#include "BRepMesh_IncrementalMesh.hxx"
++#include "BRepBndLib.hxx"
++#include "Bnd_Box.hxx"
++#include "ShapeAnalysis.hxx"
++#include "ShapeBuild_ReShape.hxx"
++
++// -- Optimization: to use cached projector and classifier
++#include <NCollection_DataMap.hxx>
++class ShapeAnalysis_Surface;
++class BRepTopAdaptor_FClass2d;
++
++// Philippose - 29/01/2009
++// OpenCascade XDE Support
++// Include support for OpenCascade XDE Features
++#include "TDocStd_Document.hxx"
++#include "Quantity_Color.hxx"
++#include "XCAFApp_Application.hxx"
++#include "XCAFDoc_ShapeTool.hxx"
++#include "XCAFDoc_Color.hxx"
++#include "XCAFDoc_ColorTool.hxx"
++#include "XCAFDoc_ColorType.hxx"
++#include "XCAFDoc_LayerTool.hxx"
++#include "XCAFDoc_DimTolTool.hxx"
++#include "XCAFDoc_MaterialTool.hxx"
++#include "XCAFDoc_DocumentTool.hxx"
++#include "TDF_Label.hxx"
++#include "TDF_LabelSequence.hxx"
++#include "STEPCAFControl_Reader.hxx"
++#include "STEPCAFControl_Writer.hxx"
++#include "IGESCAFControl_Reader.hxx"
++#include "IGESCAFControl_Writer.hxx"
++
++#include "IGESControl_Reader.hxx"
++#include "STEPControl_Reader.hxx"
++#include "IGESControl_Writer.hxx"
++#include "STEPControl_Writer.hxx"
++
++#include "StlAPI_Writer.hxx"
++#include "STEPControl_StepModelType.hxx"
++
++namespace netgen
++{
++#include "occmeshsurf.hpp"
++
++  extern DLL_HEADER MeshingParameters mparam;
++
++#define PROJECTION_TOLERANCE 1e-10
++
++#define ENTITYISVISIBLE 1
++#define ENTITYISHIGHLIGHTED 2
++#define ENTITYISDRAWABLE 4
++
++#define OCCGEOMETRYVISUALIZATIONNOCHANGE   0
++#define OCCGEOMETRYVISUALIZATIONFULLCHANGE 1  // Compute transformation matrices and redraw
++#define OCCGEOMETRYVISUALIZATIONHALFCHANGE 2  // Redraw
++
++
++
++   class EntityVisualizationCode
++   {
++      int code;
++
++   public:
++
++      EntityVisualizationCode()
++      {  code = ENTITYISVISIBLE + !ENTITYISHIGHLIGHTED + ENTITYISDRAWABLE;}
++
++      int IsVisible ()
++      {  return code & ENTITYISVISIBLE;}
++
++      int IsHighlighted ()
++      {  return code & ENTITYISHIGHLIGHTED;}
++
++      int IsDrawable ()
++      {  return code & ENTITYISDRAWABLE;}
++
++      void Show ()
++      {  code |= ENTITYISVISIBLE;}
++
++      void Hide ()
++      {  code &= ~ENTITYISVISIBLE;}
++
++      void Highlight ()
++      {  code |= ENTITYISHIGHLIGHTED;}
++
++      void Lowlight ()
++      {  code &= ~ENTITYISHIGHLIGHTED;}
++
++      void SetDrawable ()
++      {  code |= ENTITYISDRAWABLE;}
++
++      void SetNotDrawable ()
++      {  code &= ~ENTITYISDRAWABLE;}
++   };
++
++
++
++   class Line
++   {
++   public:
++      Point<3> p0, p1;
++
++      double Dist (Line l);
++
++      double Length ();
++   };
++
++
++
++   inline double Det3 (double a00, double a01, double a02,
++      double a10, double a11, double a12,
++      double a20, double a21, double a22)
++   {
++      return a00*a11*a22 + a01*a12*a20 + a10*a21*a02 - a20*a11*a02 - a10*a01*a22 - a21*a12*a00;
++   }
++
++
++
++
++   class OCCGeometry : public NetgenGeometry
++   {
++      Point<3> center;
++      // -- Optimization: to use cached projector and classifier
++      mutable NCollection_DataMap<int,Handle(ShapeAnalysis_Surface)> fprjmap;
++      mutable NCollection_DataMap<int,BRepTopAdaptor_FClass2d*> fclsmap;
++
++   public:
++      TopoDS_Shape shape;
++      TopTools_IndexedMapOfShape fmap, emap, vmap, somap, shmap, wmap;
++      Array<bool> fsingular, esingular, vsingular;
++      Box<3> boundingbox;
++
++      // Philippose - 29/01/2009
++      // OpenCascade XDE Support
++      // XCAF Handle to make the face colours available to the rest of
++      // the system
++      Handle(XCAFDoc_ColorTool) face_colours;
++
++     mutable int changed;
++      Array<int> facemeshstatus;
++
++      // Philippose - 15/01/2009
++      // Maximum mesh size for a given face
++      // (Used to explicitly define mesh size limits on individual faces)
++      Array<double> face_maxh;
++
++      // Philippose - 14/01/2010
++      // Boolean array to detect whether a face has been explicitly modified
++      // by the user or not
++      Array<bool> face_maxh_modified;
++
++      // Philippose - 15/01/2009
++      // Indicates which faces have been selected by the user in geometry mode
++      // (Currently handles only selection of one face at a time, but an array would
++      //  help to extend this to multiple faces)
++      Array<bool> face_sel_status;
++
++      Array<EntityVisualizationCode> fvispar, evispar, vvispar;
++
++      double tolerance;
++      bool fixsmalledges;
++      bool fixspotstripfaces;
++      bool sewfaces;
++      bool makesolids;
++      bool splitpartitions;
++
++      OCCGeometry()
++      {
++         somap.Clear();
++         shmap.Clear();
++         fmap.Clear();
++         wmap.Clear();
++         emap.Clear();
++         vmap.Clear();
++      }
++
++
++     virtual void Save (string filename) const;
++
++
++      ~OCCGeometry();      // -- to free cached projector and classifier
++
++      void BuildFMap();
++
++      Box<3> GetBoundingBox()
++      {  return boundingbox;}
++
++      int NrSolids()
++      {  return somap.Extent();}
++
++      // Philippose - 17/01/2009
++      // Total number of faces in the geometry
++      int NrFaces()
++      {  return fmap.Extent();}
++
++      void SetCenter()
++      {  center = boundingbox.Center();}
++
++      Point<3> Center()
++      {  return center;}
++
++      // void Project (int surfi, Point<3> & p) const; -- optimization
++      bool Project (int surfi, Point<3> & p, double& u, double& v) const;
++      bool FastProject (int surfi, Point<3> & ap, double& u, double& v) const;
++
++      // -- Optimization: to use cached projector and classifier
++      void GetFaceTools(int surfi, Handle(ShapeAnalysis_Surface)& proj,
++                        BRepTopAdaptor_FClass2d*& cls) const;
++
++      OCCSurface GetSurface (int surfi)
++      {
++         cout << "OCCGeometry::GetSurface using PLANESPACE" << endl;
++         return OCCSurface (TopoDS::Face(fmap(surfi)), PLANESPACE);
++      }
++
++      void CalcBoundingBox ();
++      void BuildVisualizationMesh (double deflection);
++
++      void RecursiveTopologyTree (const TopoDS_Shape & sh,
++         stringstream & str,
++         TopAbs_ShapeEnum l,
++         bool free,
++         const char * lname);
++
++      void GetTopologyTree (stringstream & str);
++
++      void PrintNrShapes ();
++
++      void CheckIrregularEntities (stringstream & str);
++
++      void SewFaces();
++
++      void MakeSolid();
++
++      void HealGeometry();
++
++      // Philippose - 15/01/2009
++      // Sets the maximum mesh size for a given face
++      // (Note: Local mesh size limited by the global max mesh size)
++      void SetFaceMaxH(int facenr, double faceh)
++      {
++         if((facenr> 0) && (facenr <= fmap.Extent()))
++         {
++         face_maxh[facenr-1] = min(mparam.maxh,faceh);
++
++            // Philippose - 14/01/2010
++            // If the face maxh is greater than or equal to the
++            // current global maximum, then identify the face as
++            // not explicitly controlled by the user any more
++            if(faceh >= mparam.maxh)
++            {
++               face_maxh_modified[facenr-1] = 0;
++            }
++            else
++            {
++               face_maxh_modified[facenr-1] = 1;
++            }
++         }
++      }
++
++      // Philippose - 15/01/2009
++      // Returns the local mesh size of a given face
++      double GetFaceMaxH(int facenr)
++      {
++         if((facenr> 0) && (facenr <= fmap.Extent()))
++         {
++            return face_maxh[facenr-1];
++         }
++         else
++         {
++            return 0.0;
++         }
++      }
++
++      // Philippose - 14/01/2010
++      // Returns the flag whether the given face
++      // has a mesh size controlled by the user or not
++      bool GetFaceMaxhModified(int facenr)
++      {
++         return face_maxh_modified[facenr-1];
++      }
++
++      // Philippose - 17/01/2009
++      // Returns the index of the currently selected face
++      int SelectedFace()
++      {
++         int i;
++
++         for(i = 1; i <= fmap.Extent(); i++)
++         {
++            if(face_sel_status[i-1])
++            {
++               return i;
++            }
++         }
++
++         return 0;
++      }
++
++      // Philippose - 17/01/2009
++      // Sets the currently selected face
++      void SetSelectedFace(int facenr)
++      {
++         face_sel_status = 0;
++
++         if((facenr >= 1) && (facenr <= fmap.Extent()))
++         {
++            face_sel_status[facenr-1] = 1;
++         }
++      }
++
++      void LowLightAll()
++      {
++         for (int i = 1; i <= fmap.Extent(); i++)
++            fvispar[i-1].Lowlight();
++         for (int i = 1; i <= emap.Extent(); i++)
++            evispar[i-1].Lowlight();
++         for (int i = 1; i <= vmap.Extent(); i++)
++            vvispar[i-1].Lowlight();
++      }
++
++      void GetUnmeshedFaceInfo (stringstream & str);
++      void GetNotDrawableFaces (stringstream & str);
++      bool ErrorInSurfaceMeshing ();
++
++     void WriteOCC_STL(char * filename);
++
++     virtual int GenerateMesh (Mesh*& mesh, MeshingParameters & mparam,
++         int perfstepsstart, int perfstepsend);
++
++      virtual const Refinement & GetRefinement () const;
++   };
++
++
++
++   class OCCParameters
++   {
++   public:
++
++      /// Factor for meshing close edges
++      double resthcloseedgefac;
++
++
++      /// Enable / Disable detection of close edges
++      int resthcloseedgeenable;
++
++
++        /// Minimum edge length to be used for dividing edges to mesh points
++        double resthminedgelen;
++
++
++        /// Enable / Disable use of the minimum edge length (by default use 1e-4)
++        int resthminedgelenenable;
++
++      /*!
++         Default Constructor for the OpenCascade
++         Mesh generation parameter set
++      */
++      OCCParameters();
++
++
++      /*!
++         Dump all the OpenCascade specific meshing parameters
++         to console
++      */
++      void Print (ostream & ost) const;
++   };
++
++
++   void PrintContents (OCCGeometry * geom);
++
++   OCCGeometry * LoadOCC_IGES (const char * filename);
++   OCCGeometry * LoadOCC_STEP (const char * filename);
++   OCCGeometry * LoadOCC_BREP (const char * filename);
++
++   extern OCCParameters occparam;
++
++
++   // Philippose - 31.09.2009
++   // External access to the mesh generation functions within the OCC
++   // subsystem (Not sure if this is the best way to implement this....!!)
++   extern int OCCGenerateMesh (OCCGeometry & occgeometry, Mesh*& mesh,
++                             MeshingParameters & mparam,
++                             int perfstepsstart, int perfstepsend);
++
++  extern void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh);
++
++   extern void OCCMeshSurface (OCCGeometry & geom, Mesh & mesh, int perfstepsend);
++
++   extern void OCCFindEdges (OCCGeometry & geom, Mesh & mesh);
++}
++
++#endif
++
++#endif
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occmeshsurf.cpp netgen-5.3.1_SRC_modif/libsrc/occ/occmeshsurf.cpp
+--- netgen-5.3.1_SRC_orig/libsrc/occ/occmeshsurf.cpp   2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/occmeshsurf.cpp  2018-03-01 15:41:03.997157610 +0300
+@@ -6,6 +6,7 @@
+ #include <meshing.hpp>
+ #include <GeomLProp_SLProps.hxx>
+ #include <ShapeAnalysis_Surface.hxx>
++#include <GeomAPI_ProjectPointOnCurve.hxx> // -- moved here from occgeom.hpp
+ namespace netgen
+@@ -96,13 +97,16 @@
+       n.Normalize();
+       }
+-    else
++    else if ( lprop.IsNormalDefined() )
+       {
+       n(0)=lprop.Normal().X();
+       n(1)=lprop.Normal().Y();
+       n(2)=lprop.Normal().Z();
+       }
+-
++    else
++      {
++        n = 0;
++      }
+     if(glob_testout)
+       {
+       (*testout) << "u " << geominfo.u << " v " << geominfo.v 
+@@ -434,23 +438,33 @@
+   void MeshOptimize2dOCCSurfaces :: ProjectPoint (INDEX surfind, Point<3> & p) const
+   {
+-    geometry.Project (surfind, p);
++    // geometry.Project (surfind, p); -- signature of Project() changed for optimization
++    double u, v;
++    geometry.Project (surfind, p, u, v);
+   }
+   int MeshOptimize2dOCCSurfaces :: ProjectPointGI (INDEX surfind, Point<3> & p, PointGeomInfo & gi) const
+   {
+-    double u = gi.u;
+-    double v = gi.v;
++    //double u = gi.u;
++    //double v = gi.v;
+     Point<3> hp = p;
+-    if (geometry.FastProject (surfind, hp, u, v))
+-      {
++    // -- u and v are computed by FastProject() and Project(), no need to call CalcPointGeomInfo()
++    // if (geometry.FastProject (surfind, hp, u, v))
++    //   {
++    //    p = hp;
++    //    return 1;
++    //   }
++    // ProjectPoint (surfind, p); 
++    // return CalcPointGeomInfo (surfind, gi, p); 
++    bool ok;
++    if (gi.trignum > 0)
++      ok = geometry.FastProject (surfind, hp, gi.u, gi.v);
++    else
++      ok = geometry.Project (surfind, hp, gi.u, gi.v);
+       p = hp;
+-      return 1;
+-      }
+-    ProjectPoint (surfind, p); 
+-    return CalcPointGeomInfo (surfind, gi, p); 
++    return ok;
+   }
+@@ -680,7 +694,8 @@
+       if (!geometry.FastProject (surfi, hnewp, u, v))
+         {
+         //  cout << "Fast projection to surface fails! Using OCC projection" << endl;
+-          geometry.Project (surfi, hnewp);
++          // geometry.Project (surfi, hnewp); -- Project() changed for optimization
++          geometry.Project (surfi, hnewp, u, v);
+         }
+       newgi.trignum = 1;
+@@ -689,7 +704,7 @@
+       }
+   
+     newp = hnewp;
+-  }
++  }//; -- to compile with -Wall -pedantic
+   void OCCRefinementSurfaces :: 
+@@ -708,14 +723,18 @@
+     hnewp = Point<3> (pnt.X(), pnt.Y(), pnt.Z());
+     newp = hnewp;
+     newgi = ap1;
+-  };
++  }//; -- to compile with -Wall -pedantic
+   void OCCRefinementSurfaces :: ProjectToSurface (Point<3> & p, int surfi) const
+   {
+     if (surfi > 0)
+-      geometry.Project (surfi, p);
+-  };
++      //geometry.Project (surfi, p);
++    {
++      double u, v;
++      geometry.Project (surfi, p, u, v);
++    }
++  }//; -- to compile with -Wall -pedantic
+   void OCCRefinementSurfaces :: ProjectToSurface (Point<3> & p, int surfi, PointGeomInfo & gi) const
+   {
+@@ -723,9 +742,10 @@
+       if (!geometry.FastProject (surfi, p, gi.u, gi.v))
+       {
+         cout << "Fast projection to surface fails! Using OCC projection" << endl;
+-        geometry.Project (surfi, p);
++          double u, v;
++        geometry.Project (surfi, p, u, v);
++      }
+       }
+-  };
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occpkg.cpp netgen-5.3.1_SRC_modif/libsrc/occ/occpkg.cpp
+--- netgen-5.3.1_SRC_orig/libsrc/occ/occpkg.cpp        2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/occpkg.cpp       2018-03-01 15:45:08.687877681 +0300
+@@ -1,1024 +1,1024 @@
+-#ifdef OCCGEOMETRY
+-
+-#include <mystdlib.h>
+-#include <myadt.hpp>
+-#include <linalg.hpp>
+-#include <csg.hpp>
+-#include <occgeom.hpp>
+-
+-
+-#include <incvis.hpp>
+-#include <visual.hpp>
+-
+-#include "../meshing/bcfunctions.hpp"
+-
+-#include "vsocc.hpp"
+-
+-
+-extern "C" int Ng_occ_Init (Tcl_Interp * interp);
+-
+-
+-
+-namespace netgen
+-{
+-  extern AutoPtr<NetgenGeometry> ng_geometry;
+-  extern AutoPtr<Mesh> mesh;
+- 
+-  char * err_needsoccgeometry = (char*) "This operation needs an OCC geometry";
+-  extern char * err_needsmesh;
+-  extern char * err_jobrunning;
+-
+-
+-
+-                          
+-  class OCCGeometryRegister : public GeometryRegister
+-  {
+-  public:
+-    virtual NetgenGeometry * Load (string filename) const;
+-    virtual VisualScene * GetVisualScene (const NetgenGeometry * geom) const;
+-
+-    virtual void SetParameters (Tcl_Interp * interp) 
+-    {
+-      occparam.resthcloseedgefac =
+-      atof (Tcl_GetVar (interp, "::stloptions.resthcloseedgefac", 0));
+-      occparam.resthcloseedgeenable =
+-      atoi (Tcl_GetVar (interp, "::stloptions.resthcloseedgeenable", 0));
+-        occparam.resthminedgelen = 
+-      atof (Tcl_GetVar (interp, "::stloptions.resthminedgelen", 0));
+-        occparam.resthminedgelenenable = 
+-      atoi (Tcl_GetVar (interp, "::stloptions.resthminedgelenenable", 0));
+-    }
+-  };
+-
+-
+-
+-
+-  int Ng_SetOCCVisParameters  (ClientData clientData,
+-                             Tcl_Interp * interp,
+-                             int argc, tcl_const char *argv[])
+-  {
+-#ifdef OCCGEOMETRY
+-    int showvolume;
+-      OCCGeometry * occgeometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
+-
+-    showvolume = atoi (Tcl_GetVar (interp, "::occoptions.showvolumenr", 0));
+-
+-    if (occgeometry)
+-      if (showvolume != vispar.occshowvolumenr)
+-      {
+-        if (showvolume < 0 || showvolume > occgeometry->NrSolids())
+-          {
+-            char buf[20];
+-            sprintf (buf, "%5i", vispar.occshowvolumenr);
+-            Tcl_SetVar (interp, "::occoptions.showvolumenr", buf, 0);
+-          }
+-        else
+-          {
+-            vispar.occshowvolumenr = showvolume;
+-            if (occgeometry)
+-              occgeometry -> changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-          }
+-      }
+-    
+-    int temp;
+-
+-    temp = atoi (Tcl_GetVar (interp, "::occoptions.visproblemfaces", 0));
+-
+-    if ((bool) temp != vispar.occvisproblemfaces)
+-      {
+-      vispar.occvisproblemfaces = temp;
+-      if (occgeometry)
+-        occgeometry -> changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-      }
+-
+-    vispar.occshowsurfaces = atoi (Tcl_GetVar (interp, "::occoptions.showsurfaces", 0));
+-    vispar.occshowedges = atoi (Tcl_GetVar (interp, "::occoptions.showedges", 0));
+-    vispar.occzoomtohighlightedentity = atoi (Tcl_GetVar (interp, "::occoptions.zoomtohighlightedentity", 0));
+-    vispar.occdeflection = pow(10.0,-1-atof (Tcl_GetVar (interp, "::occoptions.deflection", 0)));
+-
+-#endif
+-
+-
+-
+-
+-
+-#ifdef ACIS
+-    vispar.ACISshowfaces = atoi (Tcl_GetVar (interp, "::occoptions.showsurfaces", 0));
+-    vispar.ACISshowedges = atoi (Tcl_GetVar (interp, "::occoptions.showedges", 0));
+-    vispar.ACISshowsolidnr = atoi (Tcl_GetVar (interp, "::occoptions.showsolidnr", 0));
+-    vispar.ACISshowsolidnr2 = atoi (Tcl_GetVar (interp, "::occoptions.showsolidnr2", 0));
+-
+-#endif
+-
+-
+-
+-    return TCL_OK;
+-  }  
+-
+-
+-
+-
+-  int Ng_GetOCCData (ClientData clientData,
+-                   Tcl_Interp * interp,
+-                   int argc, tcl_const char *argv[])
+-  {
+-#ifdef OCCGEOMETRY
+-    OCCGeometry * occgeometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
+-
+-    static char buf[1000];
+-    buf[0] = 0;
+-    stringstream str;
+-
+-    if (argc >= 2)
+-      {
+-      if (strcmp (argv[1], "getentities") == 0)
+-        {
+-          if (occgeometry)
+-            {
+-              occgeometry->GetTopologyTree(str);
+-            }
+-        }
+-      }
+-
+-    Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
+-
+-#endif
+-    return TCL_OK;
+-  }
+-
+-  
+-
+-  int Ng_OCCCommand (ClientData clientData,
+-                   Tcl_Interp * interp,
+-                   int argc, tcl_const char *argv[])
+-  {
+-#ifdef OCCGEOMETRY
+-    OCCGeometry * occgeometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
+-
+-    stringstream str;
+-    if (argc >= 2)
+-      {
+-      if (strcmp (argv[1], "isoccgeometryloaded") == 0)
+-        {
+-          if (occgeometry)
+-            str << "1 " << flush;
+-          else str << "0 " << flush;
+-
+-          Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
+-        }
+-      if (occgeometry)
+-        {
+-          if (strcmp (argv[1], "buildvisualizationmesh") == 0)
+-            {
+-              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
+-              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-            }
+-          if (strcmp (argv[1], "mesherror") == 0)
+-            {
+-              if (occgeometry->ErrorInSurfaceMeshing())
+-                str << 1;
+-              else
+-                str << 0;
+-            }
+-          if (strcmp (argv[1], "sewfaces") == 0)
+-            {
+-              cout << "Before operation:" << endl;
+-              occgeometry->PrintNrShapes();
+-              occgeometry->SewFaces();
+-              occgeometry->BuildFMap();
+-              cout << endl << "After operation:" << endl;
+-              occgeometry->PrintNrShapes();
+-              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
+-              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-            }
+-          if (strcmp (argv[1], "makesolid") == 0)
+-            {
+-              cout << "Before operation:" << endl;
+-              occgeometry->PrintNrShapes();
+-              occgeometry->MakeSolid();
+-              occgeometry->BuildFMap();
+-              cout << endl << "After operation:" << endl;
+-              occgeometry->PrintNrShapes();
+-              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
+-              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-            }
+-          if (strcmp (argv[1], "upgradetopology") == 0)
+-            {
+-              cout << "Before operation:" << endl;
+-              occgeometry->PrintNrShapes();
+-              occgeometry->SewFaces();
+-              occgeometry->MakeSolid();
+-              occgeometry->BuildFMap();
+-              cout << endl << "After operation:" << endl;
+-              occgeometry->PrintNrShapes();
+-              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
+-              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-            }
+-          if (strcmp (argv[1], "shapehealing") == 0)
+-            {
+-              occgeometry->tolerance =
+-                atof (Tcl_GetVar (interp, "::occoptions.tolerance", 0));
+-              occgeometry->fixsmalledges =
+-                atoi (Tcl_GetVar (interp, "::occoptions.fixsmalledges", 0));
+-              occgeometry->fixspotstripfaces =
+-                atoi (Tcl_GetVar (interp, "::occoptions.fixspotstripfaces", 0));
+-              occgeometry->sewfaces =
+-                atoi (Tcl_GetVar (interp, "::occoptions.sewfaces", 0));
+-              occgeometry->makesolids =
+-                atoi (Tcl_GetVar (interp, "::occoptions.makesolids", 0));
+-              occgeometry->splitpartitions =
+-                atoi (Tcl_GetVar (interp, "::occoptions.splitpartitions", 0));
+-
+-              //            cout << "Before operation:" << endl;
+-              //            occgeometry->PrintNrShapes();
+-              occgeometry->HealGeometry();
+-              occgeometry->BuildFMap();
+-              //            cout << endl << "After operation:" << endl;
+-              //            occgeometry->PrintNrShapes();
+-              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
+-              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-            }
+-
+-
+-          if (strcmp (argv[1], "highlightentity") == 0)
+-            {
+-              if (strcmp (argv[2], "Face") == 0)
+-                {
+-                  int nr = atoi (argv[3]);
+-                  occgeometry->LowLightAll();
+-
+-                  occgeometry->fvispar[nr-1].Highlight();
+-                  if (vispar.occzoomtohighlightedentity)
+-                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
+-                  else
+-                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-                }
+-              if (strcmp (argv[2], "Shell") == 0)
+-                {
+-                  int nr = atoi (argv[3]);
+-                  occgeometry->LowLightAll();
+-
+-                  TopExp_Explorer exp;
+-                  for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE);
+-                       exp.More(); exp.Next())
+-                    {
+-                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
+-                      occgeometry->fvispar[i-1].Highlight();
+-                    }
+-                  if (vispar.occzoomtohighlightedentity)
+-                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
+-                  else
+-                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-                }
+-              if (strcmp (argv[2], "Solid") == 0)
+-                {
+-                  int nr = atoi (argv[3]);
+-                  occgeometry->LowLightAll();
+-
+-                  TopExp_Explorer exp;
+-                  for (exp.Init (occgeometry->somap(nr), TopAbs_FACE);
+-                       exp.More(); exp.Next())
+-                    {
+-                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
+-                      occgeometry->fvispar[i-1].Highlight();
+-                    }
+-                  if (vispar.occzoomtohighlightedentity)
+-                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
+-                  else
+-                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-                }
+-              /*
+-                if (strcmp (argv[2], "CompSolid") == 0)
+-                {
+-                int nr = atoi (argv[3]);
+-                occgeometry->LowLightAll();
+-
+-                TopExp_Explorer exp;
+-                for (exp.Init (occgeometry->cmap(nr), TopAbs_FACE);
+-                exp.More(); exp.Next())
+-                {
+-                int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
+-                occgeometry->fvispar[i-1].Highlight();
+-                }
+-                occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-                }
+-              */
+-
+-              if (strcmp (argv[2], "Edge") == 0)
+-                {
+-                  int nr = atoi (argv[3]);
+-                  occgeometry->LowLightAll();
+-
+-                  occgeometry->evispar[nr-1].Highlight();
+-                  if (vispar.occzoomtohighlightedentity)
+-                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
+-                  else
+-                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-                }
+-              if (strcmp (argv[2], "Wire") == 0)
+-                {
+-                  int nr = atoi (argv[3]);
+-                  occgeometry->LowLightAll();
+-
+-                  TopExp_Explorer exp;
+-                  for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE);
+-                       exp.More(); exp.Next())
+-                    {
+-                      int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current()));
+-                      occgeometry->evispar[i-1].Highlight();
+-                    }
+-                  if (vispar.occzoomtohighlightedentity)
+-                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
+-                  else
+-                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-                }
+-
+-              if (strcmp (argv[2], "Vertex") == 0)
+-                {
+-                  int nr = atoi (argv[3]);
+-                  occgeometry->LowLightAll();
+-
+-                  occgeometry->vvispar[nr-1].Highlight();
+-                  if (vispar.occzoomtohighlightedentity)
+-                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
+-                  else
+-                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-                }
+-
+-            }
+-
+-
+-
+-          if (strcmp (argv[1], "show") == 0)
+-            {
+-              int nr = atoi (argv[3]);
+-              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-
+-              if (strcmp (argv[2], "Face") == 0)
+-                {
+-                  occgeometry->fvispar[nr-1].Show();
+-                }
+-              if (strcmp (argv[2], "Shell") == 0)
+-                {
+-                  TopExp_Explorer exp;
+-                  for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE);
+-                       exp.More(); exp.Next())
+-                    {
+-                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
+-                      occgeometry->fvispar[i-1].Show();
+-                    }
+-                }
+-              if (strcmp (argv[2], "Solid") == 0)
+-                {
+-                  TopExp_Explorer exp;
+-                  for (exp.Init (occgeometry->somap(nr), TopAbs_FACE);
+-                       exp.More(); exp.Next())
+-                    {
+-                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
+-                      occgeometry->fvispar[i-1].Show();
+-                    }
+-                }
+-              if (strcmp (argv[2], "Edge") == 0)
+-                {
+-                  occgeometry->evispar[nr-1].Show();
+-                }
+-              if (strcmp (argv[2], "Wire") == 0)
+-                {
+-                  TopExp_Explorer exp;
+-                  for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE);
+-                       exp.More(); exp.Next())
+-                    {
+-                      int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current()));
+-                      occgeometry->evispar[i-1].Show();
+-                    }
+-                }
+-            }
+-
+-
+-          if (strcmp (argv[1], "hide") == 0)
+-            {
+-              int nr = atoi (argv[3]);
+-              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-
+-              if (strcmp (argv[2], "Face") == 0)
+-                {
+-                  occgeometry->fvispar[nr-1].Hide();
+-                }
+-              if (strcmp (argv[2], "Shell") == 0)
+-                {
+-                  TopExp_Explorer exp;
+-                  for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE);
+-                       exp.More(); exp.Next())
+-                    {
+-                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
+-                      occgeometry->fvispar[i-1].Hide();
+-                    }
+-                }
+-              if (strcmp (argv[2], "Solid") == 0)
+-                {
+-                  TopExp_Explorer exp;
+-                  for (exp.Init (occgeometry->somap(nr), TopAbs_FACE);
+-                       exp.More(); exp.Next())
+-                    {
+-                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
+-                      occgeometry->fvispar[i-1].Hide();
+-                    }
+-                }
+-              if (strcmp (argv[2], "Edge") == 0)
+-                {
+-                  occgeometry->evispar[nr-1].Hide();
+-                }
+-              if (strcmp (argv[2], "Wire") == 0)
+-                {
+-                  TopExp_Explorer exp;
+-                  for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE);
+-                       exp.More(); exp.Next())
+-                    {
+-                      int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current()));
+-                      occgeometry->evispar[i-1].Hide();
+-                    }
+-                }
+-            }
+-
+-
+-
+-          if (strcmp (argv[1], "findsmallentities") == 0)
+-            {
+-              stringstream str("");
+-              occgeometry->CheckIrregularEntities(str);
+-              Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
+-            }
+-          if (strcmp (argv[1], "getunmeshedfaceinfo") == 0)
+-            {
+-              occgeometry->GetUnmeshedFaceInfo(str);
+-              Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
+-            }
+-          if (strcmp (argv[1], "getnotdrawablefaces") == 0)
+-            {
+-              occgeometry->GetNotDrawableFaces(str);
+-              Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
+-            }
+-          if (strcmp (argv[1], "redrawstatus") == 0)
+-            {
+-              int i = atoi (argv[2]);
+-              occgeometry->changed = i;
+-            }
+-          if (strcmp (argv[1], "swaporientation") == 0)
+-            {
+-              IGESControl_Writer writer("millimeters", 1);
+-              writer.AddShape (occgeometry->shape);
+-              writer.Write ("1.igs");
+-              /*
+-                int nr = atoi (argv[3]);
+-
+-                //          const_cast<TopoDS_Shape&> (occgeometry->fmap(nr)).Reverse();
+-
+-                Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
+-                rebuild->Apply(occgeometry->shape);
+-
+-                TopoDS_Shape sh;
+-
+-                //          if (strcmp (argv[2], "CompSolid") == 0) sh = occgeometry->cmap(nr);
+-                if (strcmp (argv[2], "Solid") == 0) sh = occgeometry->somap(nr);
+-                if (strcmp (argv[2], "Shell") == 0) sh = occgeometry->shmap(nr);
+-                if (strcmp (argv[2], "Face") == 0) sh = occgeometry->fmap(nr);
+-                if (strcmp (argv[2], "Wire") == 0) sh = occgeometry->wmap(nr);
+-                if (strcmp (argv[2], "Edge") == 0) sh = occgeometry->emap(nr);
+-
+-                rebuild->Replace(sh, sh.Reversed(), Standard_False);
+-
+-                TopoDS_Shape newshape = rebuild->Apply(occgeometry->shape, TopAbs_SHELL, 1);
+-                occgeometry->shape = newshape;
+-
+-                occgeometry->BuildFMap();
+-                occgeometry->BuildVisualizationMesh();
+-                occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-              */
+-            }
+-          if (strcmp (argv[1], "marksingular") == 0)
+-            {
+-              int nr = atoi (argv[3]);
+-              cout << "marking " << argv[2] << " " << nr << endl;
+-              char buf[2]; buf[0] = '0'; buf[1] = 0;
+-              bool sing = false;
+-              if (strcmp (argv[2], "Face") == 0)
+-                sing = occgeometry->fsingular[nr-1] = !occgeometry->fsingular[nr-1];
+-              if (strcmp (argv[2], "Edge") == 0)
+-                sing = occgeometry->esingular[nr-1] = !occgeometry->esingular[nr-1];
+-              if (strcmp (argv[2], "Vertex") == 0)
+-                sing = occgeometry->vsingular[nr-1] = !occgeometry->vsingular[nr-1];
+-
+-              if (sing) buf[0] = '1';
+-
+-                Tcl_SetVar (interp, "::ismarkedsingular", buf, 0);
+-
+-              stringstream str;
+-              occgeometry->GetTopologyTree (str);
+-
+-              char* cstr = (char*)str.str().c_str();
+-
+-              (*testout) << cstr << endl;
+-
+-              char helpstr[1000];
+-
+-              while (strchr (cstr, '}'))
+-                {
+-                  strncpy (helpstr, cstr+2, strlen(strchr(cstr+2, '}')));
+-                  (*testout) << "***" << cstr << "***" << endl;
+-                  cstr = strchr (cstr, '}');
+-                } 
+-            }
+-        }
+-      }
+-
+-#endif
+-    return TCL_OK;
+-  }
+-
+-
+-
+-#ifdef OCCGEOMETRY
+-  /*
+-  void OCCConstructGeometry (OCCGeometry & geom);
+-
+-  int Ng_OCCConstruction (ClientData clientData,
+-                        Tcl_Interp * interp,
+-                        int argc, tcl_const char *argv[])
+-  {
+-    if (occgeometry)
+-      OCCConstructGeometry (*occgeometry);
+-    return TCL_OK;
+-  }
+-  */
+-#endif
+-
+-
+-
+-
+-  // Philippose - 30/01/2009
+-  // TCL interface function for the Local Face Mesh size
+-  // definition functionality
+-  int Ng_SurfaceMeshSize (ClientData clientData,
+-                                  Tcl_Interp * interp,
+-                                  int argc, tcl_const char *argv[])
+-  {
+-#ifdef OCCGEOMETRY
+-
+-    static char buf[100];
+-
+-    if (argc < 2)
+-    {
+-         Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize needs arguments", TCL_STATIC);
+-         return TCL_ERROR;
+-    }
+-
+-    OCCGeometry * occgeometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
+-    if (!occgeometry)
+-    {
+-      Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize currently supports only OCC (STEP/IGES) Files", TCL_STATIC);
+-         return TCL_ERROR;
+-    }
+-
+-    // Update the face mesh sizes to reflect the global maximum mesh size
+-    for(int i = 1; i <= occgeometry->NrFaces(); i++)
+-    {
+-           if(!occgeometry->GetFaceMaxhModified(i))
+-           {
+-              occgeometry->SetFaceMaxH(i, mparam.maxh);
+-           }   
+-    }
+-
+-    if (strcmp (argv[1], "setsurfms") == 0)
+-    {
+-         int facenr = atoi (argv[2]);
+-         double surfms = atof (argv[3]);
+-         if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces())
+-           occgeometry->SetFaceMaxH(facenr, surfms);
+-
+-    }
+-
+-    if (strcmp (argv[1], "setall") == 0)
+-    {
+-         double surfms = atof (argv[2]);
+-         if (occgeometry)
+-         {
+-           int nrFaces = occgeometry->NrFaces();
+-           for (int i = 1; i <= nrFaces; i++)
+-            occgeometry->SetFaceMaxH(i, surfms);
+-         }
+-    }
+-
+-    if (strcmp (argv[1], "getsurfms") == 0)
+-    {
+-         int facenr = atoi (argv[2]);
+-         if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces())
+-         {
+-           sprintf (buf, "%5.2f", occgeometry->GetFaceMaxH(facenr));
+-         }
+-         else
+-         {
+-           sprintf (buf, "%5.2f", mparam.maxh);
+-         }
+-         Tcl_SetResult (interp, buf, TCL_STATIC);
+-    }
+-
+-    if (strcmp (argv[1], "getactive") == 0)
+-    {
+-         sprintf (buf, "%d", occgeometry->SelectedFace());
+-         Tcl_SetResult (interp, buf, TCL_STATIC);
+-    }
+-
+-    if (strcmp (argv[1], "setactive") == 0)
+-    {
+-         int facenr = atoi (argv[2]);
+-         if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces())
+-         {
+-           occgeometry->SetSelectedFace (facenr);
+-
+-        occgeometry->LowLightAll();
+-        occgeometry->fvispar[facenr-1].Highlight();
+-        occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
+-         }
+-    }
+-
+-    if (strcmp (argv[1], "getnfd") == 0)
+-    {
+-         if (occgeometry)
+-           sprintf (buf, "%d", occgeometry->NrFaces());
+-         else
+-           sprintf (buf, "0");
+-         Tcl_SetResult (interp, buf, TCL_STATIC);
+-    }
+-    return TCL_OK;
+-#else // No OCCGEOMETRY 
+-
+-    Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize currently supports only OCC (STEP/IGES) Files", TCL_STATIC);
+-    return TCL_ERROR;
+-    
+-#endif // OCCGEOMETRY
+-  }
+-
+-
+-
+-  // Philippose - 25/07/2010
+-  // TCL interface function for extracting and eventually 
+-  // setting or editing the current colours present in the mesh
+-  int Ng_CurrentFaceColours (ClientData clientData,
+-                             Tcl_Interp * interp,
+-                             int argc, tcl_const char *argv[])
+-  {
+-     if(argc < 1)
+-     {
+-        Tcl_SetResult (interp, (char *)"Ng_GetCurrentFaceColours needs arguments", TCL_STATIC);
+-        return TCL_ERROR;
+-     }
+-
+-     if(!mesh.Ptr())
+-     {
+-        Tcl_SetResult (interp, (char *)"Ng_GetCurrentFaceColours: Valid netgen mesh required...please mesh the Geometry first", TCL_STATIC);
+-           return TCL_ERROR;
+-     }
+-
+-     if(strcmp(argv[1], "getcolours") == 0)
+-     {
+-        stringstream outVar;
+-        Array<Vec3d> face_colours;
+-        GetFaceColours(*mesh, face_colours);
+-
+-        for(int i = 0; i < face_colours.Size();i++)
+-        {
+-           outVar << "{ " << face_colours[i].X(1)
+-                  << " "  << face_colours[i].X(2)
+-                  << " "  << face_colours[i].X(3)
+-                  << " } ";
+-        }
+-
+-        tcl_const char * valuevar = argv[2];
+-        Tcl_SetVar  (interp, valuevar, (char*)outVar.str().c_str(), 0);
+-     }
+-
+-     if(strcmp(argv[1], "showalso") == 0)
+-     {
+-        Array<Vec3d> face_colours;
+-        GetFaceColours(*mesh,face_colours);
+-
+-        int colourind = atoi (argv[2]);
+-
+-        for(int i = 1; i <= mesh->GetNFD(); i++)
+-        {
+-           Array<SurfaceElementIndex> surfElems;
+-           mesh->GetSurfaceElementsOfFace(i,surfElems);
+-
+-           if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour()))
+-           {
+-              for(int j = 0; j < surfElems.Size(); j++)
+-              {
+-                 mesh->SurfaceElement(surfElems[j]).Visible(1);
+-              }
+-           }
+-        }
+-
+-        mesh->SetNextTimeStamp();
+-     }
+-
+-     if(strcmp(argv[1], "hidealso") == 0)
+-     {
+-        Array<Vec3d> face_colours;
+-        GetFaceColours(*mesh,face_colours);
+-
+-        int colourind = atoi (argv[2]);
+-
+-        for(int i = 1; i <= mesh->GetNFD(); i++)
+-        {
+-           Array<SurfaceElementIndex> surfElems;
+-           mesh->GetSurfaceElementsOfFace(i,surfElems);
+-
+-           if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour()))
+-           {
+-              for(int j = 0; j < surfElems.Size(); j++)
+-              {
+-                 mesh->SurfaceElement(surfElems[j]).Visible(0);
+-              }
+-           }
+-        }
+-
+-        mesh->SetNextTimeStamp();
+-     }
+-
+-     if(strcmp(argv[1], "showonly") == 0)
+-     {
+-        Array<Vec3d> face_colours;
+-        GetFaceColours(*mesh,face_colours);
+-
+-        int colourind = atoi (argv[2]);
+-
+-        for(int i = 1; i <= mesh->GetNFD(); i++)
+-        {
+-           Array<SurfaceElementIndex> surfElems;
+-           mesh->GetSurfaceElementsOfFace(i,surfElems);
+-
+-           if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour()))
+-           {
+-              for(int j = 0; j < surfElems.Size(); j++)
+-              {
+-                 mesh->SurfaceElement(surfElems[j]).Visible(1);
+-              }
+-           }
+-           else
+-           {
+-              for(int j = 0; j < surfElems.Size(); j++)
+-              {
+-                 mesh->SurfaceElement(surfElems[j]).Visible(0);
+-              }
+-           }
+-        }
+-
+-        mesh->SetNextTimeStamp();
+-     }
+-
+-     if(strcmp(argv[1], "hideonly") == 0)
+-     {
+-        Array<Vec3d> face_colours;
+-        GetFaceColours(*mesh,face_colours);
+-
+-        int colourind = atoi (argv[2]);
+-
+-        for(int i = 1; i <= mesh->GetNFD(); i++)
+-        {
+-           Array<SurfaceElementIndex> surfElems;
+-           mesh->GetSurfaceElementsOfFace(i,surfElems);
+-
+-           if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour()))
+-           {
+-              for(int j = 0; j < surfElems.Size(); j++)
+-              {
+-                 mesh->SurfaceElement(surfElems[j]).Visible(0);
+-              }
+-           }
+-           else
+-           {
+-              for(int j = 0; j < surfElems.Size(); j++)
+-              {
+-                 mesh->SurfaceElement(surfElems[j]).Visible(1);
+-              }
+-           }
+-        }
+-
+-        mesh->SetNextTimeStamp();
+-     }
+-
+-     if(strcmp(argv[1], "showall") == 0)
+-     {
+-        for(int i = 1; i <= mesh->GetNSE(); i++)
+-        {
+-           mesh->SurfaceElement(i).Visible(1);
+-        }
+-
+-        mesh->SetNextTimeStamp();
+-     }
+-
+-     if(strcmp(argv[1], "hideall") == 0)
+-     {
+-        for(int i = 1; i <= mesh->GetNSE(); i++)
+-        {
+-           mesh->SurfaceElement(i).Visible(0);
+-        }
+-
+-        mesh->SetNextTimeStamp();
+-     }
+-
+-     return TCL_OK;
+-  }
+-
+-
+-
+-
+-  // Philippose - 10/03/2009
+-  // TCL interface function for the Automatic Colour-based
+-  // definition of boundary conditions for OCC Geometry
+-  int Ng_AutoColourBcProps (ClientData clientData,
+-                                    Tcl_Interp * interp,
+-                                    int argc, tcl_const char *argv[])
+-  {
+-     if(argc < 1)
+-     {
+-        Tcl_SetResult (interp, (char *)"Ng_AutoColourBcProps needs arguments", TCL_STATIC);
+-        return TCL_ERROR;
+-     }
+-
+-     if(!mesh.Ptr())
+-     {
+-        Tcl_SetResult (interp, (char *)"Ng_AutoColourBcProps: Valid netgen mesh required...please mesh the Geometry first", TCL_STATIC);
+-           return TCL_ERROR;
+-     }
+-
+-     if(strcmp(argv[1], "auto") == 0)
+-     {
+-        AutoColourBcProps(*mesh, 0);
+-     }
+-
+-     if(strcmp(argv[1], "profile") == 0)
+-     {
+-        AutoColourBcProps(*mesh, argv[2]);
+-     }
+-
+-     return TCL_OK;
+-  }
+-
+-
+-  int Ng_SetOCCParameters  (ClientData clientData,
+-                          Tcl_Interp * interp,
+-                          int argc, tcl_const char *argv[])
+-  {
+-    OCCGeometryRegister reg;
+-    reg.SetParameters (interp);
+-    /*
+-    occparam.resthcloseedgefac =
+-      atof (Tcl_GetVar (interp, "::stloptions.resthcloseedgefac", 0));
+-
+-    occparam.resthcloseedgeenable =
+-      atoi (Tcl_GetVar (interp, "::stloptions.resthcloseedgeenable", 0));
+-    */
+-    return TCL_OK;
+-  }
+-
+-
+-
+-
+-  NetgenGeometry *  OCCGeometryRegister :: Load (string filename) const
+-  {
+-    const char * lgfilename = filename.c_str();
+-
+-
+-    /*
+-    if (strcmp (&cfilename[strlen(cfilename)-3], "geo") == 0)
+-      {
+-      PrintMessage (1, "Load OCCG geometry file ", cfilename);
+-      
+-      extern OCCGeometry * ParseOCCG (istream & istr);
+-
+-      ifstream infile(cfilename);
+-
+-      OCCGeometry * hgeom = ParseOCCG (infile);
+-      if (!hgeom)
+-        throw NgException ("geo-file should start with 'algebraic3d'");
+-
+-      hgeom -> FindIdenticSurfaces(1e-8 * hgeom->MaxSize()); 
+-      return hgeom;
+-      }
+-    */
+-
+-
+-    if ((strcmp (&lgfilename[strlen(lgfilename)-4], "iges") == 0) ||
+-      (strcmp (&lgfilename[strlen(lgfilename)-3], "igs") == 0) ||
+-      (strcmp (&lgfilename[strlen(lgfilename)-3], "IGS") == 0) ||
+-      (strcmp (&lgfilename[strlen(lgfilename)-4], "IGES") == 0))
+-      {
+-      PrintMessage (1, "Load IGES geometry file ", lgfilename);
+-      OCCGeometry * occgeometry = LoadOCC_IGES (lgfilename);
+-      return occgeometry;
+-      }
+-
+-    else if ((strcmp (&lgfilename[strlen(lgfilename)-4], "step") == 0) ||
+-                   (strcmp (&lgfilename[strlen(lgfilename)-3], "stp") == 0) ||
+-                   (strcmp (&lgfilename[strlen(lgfilename)-3], "STP") == 0) ||
+-                   (strcmp (&lgfilename[strlen(lgfilename)-4], "STEP") == 0))
+-      {
+-      PrintMessage (1, "Load STEP geometry file ", lgfilename);
+-      OCCGeometry * occgeometry = LoadOCC_STEP (lgfilename);
+-      return occgeometry;    
+-      }
+-    else if ((strcmp (&lgfilename[strlen(lgfilename)-4], "brep") == 0) ||
+-           (strcmp (&lgfilename[strlen(lgfilename)-4], "Brep") == 0) ||
+-           (strcmp (&lgfilename[strlen(lgfilename)-4], "BREP") == 0))
+-      {
+-      PrintMessage (1, "Load BREP geometry file ", lgfilename);
+-      OCCGeometry * occgeometry = LoadOCC_BREP (lgfilename);
+-      return occgeometry;
+-      }
+-    
+-    return NULL;
+-  }
+-
+-
+-  static VisualSceneOCCGeometry vsoccgeom;
+-
+-  VisualScene * OCCGeometryRegister :: GetVisualScene (const NetgenGeometry * geom) const
+-  {
+-    OCCGeometry * geometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
+-    if (geometry)
+-      {
+-      vsoccgeom.SetGeometry (geometry);
+-      return &vsoccgeom;
+-      }
+-    return NULL;
+-  }
+-
+-
+-
+-}
+-
+-
+-
+-using namespace netgen;
+-
+-int Ng_occ_Init (Tcl_Interp * interp)
+-{
+-  geometryregister.Append (new OCCGeometryRegister);
+-
+-
+-    Tcl_CreateCommand (interp, "Ng_SetOCCVisParameters",
+-                     Ng_SetOCCVisParameters,
+-                     (ClientData)NULL,
+-                     (Tcl_CmdDeleteProc*) NULL);
+-
+-    Tcl_CreateCommand (interp, "Ng_GetOCCData",
+-                     Ng_GetOCCData,
+-                     (ClientData)NULL,
+-                     (Tcl_CmdDeleteProc*) NULL);
+-
+-    /*
+-#ifdef OCCGEOMETRY
+-    Tcl_CreateCommand (interp, "Ng_OCCConstruction",
+-                     Ng_OCCConstruction,
+-                     (ClientData)NULL,
+-                     (Tcl_CmdDeleteProc*) NULL);
+-#endif
+-    */
+-
+-    Tcl_CreateCommand (interp, "Ng_OCCCommand",
+-                     Ng_OCCCommand,
+-                     (ClientData)NULL,
+-                     (Tcl_CmdDeleteProc*) NULL);
+-
+-
+-    Tcl_CreateCommand (interp, "Ng_SetOCCParameters", Ng_SetOCCParameters,
+-                     (ClientData)NULL,
+-                     (Tcl_CmdDeleteProc*) NULL);
+-
+-
+-
+-    // Philippose - 30/01/2009
+-    // Register the TCL Interface Command for local face mesh size
+-    // definition
+-    Tcl_CreateCommand (interp, "Ng_SurfaceMeshSize", Ng_SurfaceMeshSize,
+-                     (ClientData)NULL,
+-                     (Tcl_CmdDeleteProc*) NULL);
+-
+-    Tcl_CreateCommand (interp, "Ng_AutoColourBcProps", Ng_AutoColourBcProps,
+-                     (ClientData)NULL,
+-                     (Tcl_CmdDeleteProc*) NULL);
+-
+-    // Philippose - 25/07/2010
+-    // Register the TCL Interface Command for handling the face colours 
+-    // present in the mesh
+-    Tcl_CreateCommand(interp, "Ng_CurrentFaceColours", Ng_CurrentFaceColours,
+-                      (ClientData)NULL,
+-                      (Tcl_CmdDeleteProc*) NULL);
+-
+-
+-  return TCL_OK;
+-}
+-
+-#endif
+-
++#ifdef OCCGEOMETRY
++
++#include <mystdlib.h>
++#include <myadt.hpp>
++#include <linalg.hpp>
++#include <csg.hpp>
++#include <occgeom.hpp>
++
++
++#include <incvis.hpp>
++#include <visual.hpp>
++
++#include "../meshing/bcfunctions.hpp"
++
++#include "vsocc.hpp"
++
++
++extern "C" int Ng_occ_Init (Tcl_Interp * interp);
++
++
++
++namespace netgen
++{
++  extern AutoPtr<NetgenGeometry> ng_geometry;
++  extern AutoPtr<Mesh> mesh;
++
++  char * err_needsoccgeometry = (char*) "This operation needs an OCC geometry";
++  extern char * err_needsmesh;
++  extern char * err_jobrunning;
++
++
++
++
++  class OCCGeometryRegister : public GeometryRegister
++  {
++  public:
++    virtual NetgenGeometry * Load (string filename) const;
++    virtual VisualScene * GetVisualScene (const NetgenGeometry * geom) const;
++
++    virtual void SetParameters (Tcl_Interp * interp)
++    {
++      occparam.resthcloseedgefac =
++      atof (Tcl_GetVar (interp, "::stloptions.resthcloseedgefac", 0));
++      occparam.resthcloseedgeenable =
++      atoi (Tcl_GetVar (interp, "::stloptions.resthcloseedgeenable", 0));
++        occparam.resthminedgelen =
++      atof (Tcl_GetVar (interp, "::stloptions.resthminedgelen", 0));
++        occparam.resthminedgelenenable =
++      atoi (Tcl_GetVar (interp, "::stloptions.resthminedgelenenable", 0));
++    }
++  };
++
++
++
++
++  int Ng_SetOCCVisParameters  (ClientData clientData,
++                             Tcl_Interp * interp,
++                             int argc, tcl_const char *argv[])
++  {
++#ifdef OCCGEOMETRY
++    int showvolume;
++      OCCGeometry * occgeometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
++
++    showvolume = atoi (Tcl_GetVar (interp, "::occoptions.showvolumenr", 0));
++
++    if (occgeometry)
++      if (showvolume != vispar.occshowvolumenr)
++      {
++        if (showvolume < 0 || showvolume > occgeometry->NrSolids())
++          {
++            char buf[20];
++            sprintf (buf, "%5i", vispar.occshowvolumenr);
++            Tcl_SetVar (interp, "::occoptions.showvolumenr", buf, 0);
++          }
++        else
++          {
++            vispar.occshowvolumenr = showvolume;
++            if (occgeometry)
++              occgeometry -> changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++          }
++      }
++
++    int temp;
++
++    temp = atoi (Tcl_GetVar (interp, "::occoptions.visproblemfaces", 0));
++
++    if ((bool) temp != vispar.occvisproblemfaces)
++      {
++      vispar.occvisproblemfaces = temp;
++      if (occgeometry)
++        occgeometry -> changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++      }
++
++    vispar.occshowsurfaces = atoi (Tcl_GetVar (interp, "::occoptions.showsurfaces", 0));
++    vispar.occshowedges = atoi (Tcl_GetVar (interp, "::occoptions.showedges", 0));
++    vispar.occzoomtohighlightedentity = atoi (Tcl_GetVar (interp, "::occoptions.zoomtohighlightedentity", 0));
++    vispar.occdeflection = pow(10.0,-1-atof (Tcl_GetVar (interp, "::occoptions.deflection", 0)));
++
++#endif
++
++
++
++
++
++#ifdef ACIS
++    vispar.ACISshowfaces = atoi (Tcl_GetVar (interp, "::occoptions.showsurfaces", 0));
++    vispar.ACISshowedges = atoi (Tcl_GetVar (interp, "::occoptions.showedges", 0));
++    vispar.ACISshowsolidnr = atoi (Tcl_GetVar (interp, "::occoptions.showsolidnr", 0));
++    vispar.ACISshowsolidnr2 = atoi (Tcl_GetVar (interp, "::occoptions.showsolidnr2", 0));
++
++#endif
++
++
++
++    return TCL_OK;
++  }
++
++
++
++
++  int Ng_GetOCCData (ClientData clientData,
++                   Tcl_Interp * interp,
++                   int argc, tcl_const char *argv[])
++  {
++#ifdef OCCGEOMETRY
++    OCCGeometry * occgeometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
++
++    static char buf[1000];
++    buf[0] = 0;
++    stringstream str;
++
++    if (argc >= 2)
++      {
++      if (strcmp (argv[1], "getentities") == 0)
++        {
++          if (occgeometry)
++            {
++              occgeometry->GetTopologyTree(str);
++            }
++        }
++      }
++
++    Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
++
++#endif
++    return TCL_OK;
++  }
++
++
++
++  int Ng_OCCCommand (ClientData clientData,
++                   Tcl_Interp * interp,
++                   int argc, tcl_const char *argv[])
++  {
++#ifdef OCCGEOMETRY
++    OCCGeometry * occgeometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
++
++    stringstream str;
++    if (argc >= 2)
++      {
++      if (strcmp (argv[1], "isoccgeometryloaded") == 0)
++        {
++          if (occgeometry)
++            str << "1 " << flush;
++          else str << "0 " << flush;
++
++          Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
++        }
++      if (occgeometry)
++        {
++          if (strcmp (argv[1], "buildvisualizationmesh") == 0)
++            {
++              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
++              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++            }
++          if (strcmp (argv[1], "mesherror") == 0)
++            {
++              if (occgeometry->ErrorInSurfaceMeshing())
++                str << 1;
++              else
++                str << 0;
++            }
++          if (strcmp (argv[1], "sewfaces") == 0)
++            {
++              cout << "Before operation:" << endl;
++              occgeometry->PrintNrShapes();
++              occgeometry->SewFaces();
++              occgeometry->BuildFMap();
++              cout << endl << "After operation:" << endl;
++              occgeometry->PrintNrShapes();
++              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
++              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++            }
++          if (strcmp (argv[1], "makesolid") == 0)
++            {
++              cout << "Before operation:" << endl;
++              occgeometry->PrintNrShapes();
++              occgeometry->MakeSolid();
++              occgeometry->BuildFMap();
++              cout << endl << "After operation:" << endl;
++              occgeometry->PrintNrShapes();
++              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
++              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++            }
++          if (strcmp (argv[1], "upgradetopology") == 0)
++            {
++              cout << "Before operation:" << endl;
++              occgeometry->PrintNrShapes();
++              occgeometry->SewFaces();
++              occgeometry->MakeSolid();
++              occgeometry->BuildFMap();
++              cout << endl << "After operation:" << endl;
++              occgeometry->PrintNrShapes();
++              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
++              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++            }
++          if (strcmp (argv[1], "shapehealing") == 0)
++            {
++              occgeometry->tolerance =
++                atof (Tcl_GetVar (interp, "::occoptions.tolerance", 0));
++              occgeometry->fixsmalledges =
++                atoi (Tcl_GetVar (interp, "::occoptions.fixsmalledges", 0));
++              occgeometry->fixspotstripfaces =
++                atoi (Tcl_GetVar (interp, "::occoptions.fixspotstripfaces", 0));
++              occgeometry->sewfaces =
++                atoi (Tcl_GetVar (interp, "::occoptions.sewfaces", 0));
++              occgeometry->makesolids =
++                atoi (Tcl_GetVar (interp, "::occoptions.makesolids", 0));
++              occgeometry->splitpartitions =
++                atoi (Tcl_GetVar (interp, "::occoptions.splitpartitions", 0));
++
++              //            cout << "Before operation:" << endl;
++              //            occgeometry->PrintNrShapes();
++              occgeometry->HealGeometry();
++              occgeometry->BuildFMap();
++              //            cout << endl << "After operation:" << endl;
++              //            occgeometry->PrintNrShapes();
++              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
++              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++            }
++
++
++          if (strcmp (argv[1], "highlightentity") == 0)
++            {
++              if (strcmp (argv[2], "Face") == 0)
++                {
++                  int nr = atoi (argv[3]);
++                  occgeometry->LowLightAll();
++
++                  occgeometry->fvispar[nr-1].Highlight();
++                  if (vispar.occzoomtohighlightedentity)
++                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
++                  else
++                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++                }
++              if (strcmp (argv[2], "Shell") == 0)
++                {
++                  int nr = atoi (argv[3]);
++                  occgeometry->LowLightAll();
++
++                  TopExp_Explorer exp;
++                  for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE);
++                       exp.More(); exp.Next())
++                    {
++                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
++                      occgeometry->fvispar[i-1].Highlight();
++                    }
++                  if (vispar.occzoomtohighlightedentity)
++                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
++                  else
++                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++                }
++              if (strcmp (argv[2], "Solid") == 0)
++                {
++                  int nr = atoi (argv[3]);
++                  occgeometry->LowLightAll();
++
++                  TopExp_Explorer exp;
++                  for (exp.Init (occgeometry->somap(nr), TopAbs_FACE);
++                       exp.More(); exp.Next())
++                    {
++                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
++                      occgeometry->fvispar[i-1].Highlight();
++                    }
++                  if (vispar.occzoomtohighlightedentity)
++                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
++                  else
++                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++                }
++              /*
++                if (strcmp (argv[2], "CompSolid") == 0)
++                {
++                int nr = atoi (argv[3]);
++                occgeometry->LowLightAll();
++
++                TopExp_Explorer exp;
++                for (exp.Init (occgeometry->cmap(nr), TopAbs_FACE);
++                exp.More(); exp.Next())
++                {
++                int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
++                occgeometry->fvispar[i-1].Highlight();
++                }
++                occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++                }
++              */
++
++              if (strcmp (argv[2], "Edge") == 0)
++                {
++                  int nr = atoi (argv[3]);
++                  occgeometry->LowLightAll();
++
++                  occgeometry->evispar[nr-1].Highlight();
++                  if (vispar.occzoomtohighlightedentity)
++                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
++                  else
++                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++                }
++              if (strcmp (argv[2], "Wire") == 0)
++                {
++                  int nr = atoi (argv[3]);
++                  occgeometry->LowLightAll();
++
++                  TopExp_Explorer exp;
++                  for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE);
++                       exp.More(); exp.Next())
++                    {
++                      int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current()));
++                      occgeometry->evispar[i-1].Highlight();
++                    }
++                  if (vispar.occzoomtohighlightedentity)
++                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
++                  else
++                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++                }
++
++              if (strcmp (argv[2], "Vertex") == 0)
++                {
++                  int nr = atoi (argv[3]);
++                  occgeometry->LowLightAll();
++
++                  occgeometry->vvispar[nr-1].Highlight();
++                  if (vispar.occzoomtohighlightedentity)
++                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
++                  else
++                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++                }
++
++            }
++
++
++
++          if (strcmp (argv[1], "show") == 0)
++            {
++              int nr = atoi (argv[3]);
++              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++
++              if (strcmp (argv[2], "Face") == 0)
++                {
++                  occgeometry->fvispar[nr-1].Show();
++                }
++              if (strcmp (argv[2], "Shell") == 0)
++                {
++                  TopExp_Explorer exp;
++                  for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE);
++                       exp.More(); exp.Next())
++                    {
++                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
++                      occgeometry->fvispar[i-1].Show();
++                    }
++                }
++              if (strcmp (argv[2], "Solid") == 0)
++                {
++                  TopExp_Explorer exp;
++                  for (exp.Init (occgeometry->somap(nr), TopAbs_FACE);
++                       exp.More(); exp.Next())
++                    {
++                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
++                      occgeometry->fvispar[i-1].Show();
++                    }
++                }
++              if (strcmp (argv[2], "Edge") == 0)
++                {
++                  occgeometry->evispar[nr-1].Show();
++                }
++              if (strcmp (argv[2], "Wire") == 0)
++                {
++                  TopExp_Explorer exp;
++                  for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE);
++                       exp.More(); exp.Next())
++                    {
++                      int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current()));
++                      occgeometry->evispar[i-1].Show();
++                    }
++                }
++            }
++
++
++          if (strcmp (argv[1], "hide") == 0)
++            {
++              int nr = atoi (argv[3]);
++              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++
++              if (strcmp (argv[2], "Face") == 0)
++                {
++                  occgeometry->fvispar[nr-1].Hide();
++                }
++              if (strcmp (argv[2], "Shell") == 0)
++                {
++                  TopExp_Explorer exp;
++                  for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE);
++                       exp.More(); exp.Next())
++                    {
++                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
++                      occgeometry->fvispar[i-1].Hide();
++                    }
++                }
++              if (strcmp (argv[2], "Solid") == 0)
++                {
++                  TopExp_Explorer exp;
++                  for (exp.Init (occgeometry->somap(nr), TopAbs_FACE);
++                       exp.More(); exp.Next())
++                    {
++                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
++                      occgeometry->fvispar[i-1].Hide();
++                    }
++                }
++              if (strcmp (argv[2], "Edge") == 0)
++                {
++                  occgeometry->evispar[nr-1].Hide();
++                }
++              if (strcmp (argv[2], "Wire") == 0)
++                {
++                  TopExp_Explorer exp;
++                  for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE);
++                       exp.More(); exp.Next())
++                    {
++                      int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current()));
++                      occgeometry->evispar[i-1].Hide();
++                    }
++                }
++            }
++
++
++
++          if (strcmp (argv[1], "findsmallentities") == 0)
++            {
++              stringstream str("");
++              occgeometry->CheckIrregularEntities(str);
++              Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
++            }
++          if (strcmp (argv[1], "getunmeshedfaceinfo") == 0)
++            {
++              occgeometry->GetUnmeshedFaceInfo(str);
++              Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
++            }
++          if (strcmp (argv[1], "getnotdrawablefaces") == 0)
++            {
++              occgeometry->GetNotDrawableFaces(str);
++              Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
++            }
++          if (strcmp (argv[1], "redrawstatus") == 0)
++            {
++              int i = atoi (argv[2]);
++              occgeometry->changed = i;
++            }
++          if (strcmp (argv[1], "swaporientation") == 0)
++            {
++              IGESControl_Writer writer("millimeters", 1);
++              writer.AddShape (occgeometry->shape);
++              writer.Write ("1.igs");
++              /*
++                int nr = atoi (argv[3]);
++
++                //          const_cast<TopoDS_Shape&> (occgeometry->fmap(nr)).Reverse();
++
++                Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
++                rebuild->Apply(occgeometry->shape);
++
++                TopoDS_Shape sh;
++
++                //          if (strcmp (argv[2], "CompSolid") == 0) sh = occgeometry->cmap(nr);
++                if (strcmp (argv[2], "Solid") == 0) sh = occgeometry->somap(nr);
++                if (strcmp (argv[2], "Shell") == 0) sh = occgeometry->shmap(nr);
++                if (strcmp (argv[2], "Face") == 0) sh = occgeometry->fmap(nr);
++                if (strcmp (argv[2], "Wire") == 0) sh = occgeometry->wmap(nr);
++                if (strcmp (argv[2], "Edge") == 0) sh = occgeometry->emap(nr);
++
++                rebuild->Replace(sh, sh.Reversed());
++
++                TopoDS_Shape newshape = rebuild->Apply(occgeometry->shape, TopAbs_SHELL, 1);
++                occgeometry->shape = newshape;
++
++                occgeometry->BuildFMap();
++                occgeometry->BuildVisualizationMesh();
++                occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++              */
++            }
++          if (strcmp (argv[1], "marksingular") == 0)
++            {
++              int nr = atoi (argv[3]);
++              cout << "marking " << argv[2] << " " << nr << endl;
++              char buf[2]; buf[0] = '0'; buf[1] = 0;
++              bool sing = false;
++              if (strcmp (argv[2], "Face") == 0)
++                sing = occgeometry->fsingular[nr-1] = !occgeometry->fsingular[nr-1];
++              if (strcmp (argv[2], "Edge") == 0)
++                sing = occgeometry->esingular[nr-1] = !occgeometry->esingular[nr-1];
++              if (strcmp (argv[2], "Vertex") == 0)
++                sing = occgeometry->vsingular[nr-1] = !occgeometry->vsingular[nr-1];
++
++              if (sing) buf[0] = '1';
++
++                Tcl_SetVar (interp, "::ismarkedsingular", buf, 0);
++
++              stringstream str;
++              occgeometry->GetTopologyTree (str);
++
++              char* cstr = (char*)str.str().c_str();
++
++              (*testout) << cstr << endl;
++
++              char helpstr[1000];
++
++              while (strchr (cstr, '}'))
++                {
++                  strncpy (helpstr, cstr+2, strlen(strchr(cstr+2, '}')));
++                  (*testout) << "***" << cstr << "***" << endl;
++                  cstr = strchr (cstr, '}');
++                }
++            }
++        }
++      }
++
++#endif
++    return TCL_OK;
++  }
++
++
++
++#ifdef OCCGEOMETRY
++  /*
++  void OCCConstructGeometry (OCCGeometry & geom);
++
++  int Ng_OCCConstruction (ClientData clientData,
++                        Tcl_Interp * interp,
++                        int argc, tcl_const char *argv[])
++  {
++    if (occgeometry)
++      OCCConstructGeometry (*occgeometry);
++    return TCL_OK;
++  }
++  */
++#endif
++
++
++
++
++  // Philippose - 30/01/2009
++  // TCL interface function for the Local Face Mesh size
++  // definition functionality
++  int Ng_SurfaceMeshSize (ClientData clientData,
++                                  Tcl_Interp * interp,
++                                  int argc, tcl_const char *argv[])
++  {
++#ifdef OCCGEOMETRY
++
++    static char buf[100];
++
++    if (argc < 2)
++    {
++         Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize needs arguments", TCL_STATIC);
++         return TCL_ERROR;
++    }
++
++    OCCGeometry * occgeometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
++    if (!occgeometry)
++    {
++      Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize currently supports only OCC (STEP/IGES) Files", TCL_STATIC);
++         return TCL_ERROR;
++    }
++
++    // Update the face mesh sizes to reflect the global maximum mesh size
++    for(int i = 1; i <= occgeometry->NrFaces(); i++)
++    {
++           if(!occgeometry->GetFaceMaxhModified(i))
++           {
++              occgeometry->SetFaceMaxH(i, mparam.maxh);
++           }
++    }
++
++    if (strcmp (argv[1], "setsurfms") == 0)
++    {
++         int facenr = atoi (argv[2]);
++         double surfms = atof (argv[3]);
++         if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces())
++           occgeometry->SetFaceMaxH(facenr, surfms);
++
++    }
++
++    if (strcmp (argv[1], "setall") == 0)
++    {
++         double surfms = atof (argv[2]);
++         if (occgeometry)
++         {
++           int nrFaces = occgeometry->NrFaces();
++           for (int i = 1; i <= nrFaces; i++)
++            occgeometry->SetFaceMaxH(i, surfms);
++         }
++    }
++
++    if (strcmp (argv[1], "getsurfms") == 0)
++    {
++         int facenr = atoi (argv[2]);
++         if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces())
++         {
++           sprintf (buf, "%5.2f", occgeometry->GetFaceMaxH(facenr));
++         }
++         else
++         {
++           sprintf (buf, "%5.2f", mparam.maxh);
++         }
++         Tcl_SetResult (interp, buf, TCL_STATIC);
++    }
++
++    if (strcmp (argv[1], "getactive") == 0)
++    {
++         sprintf (buf, "%d", occgeometry->SelectedFace());
++         Tcl_SetResult (interp, buf, TCL_STATIC);
++    }
++
++    if (strcmp (argv[1], "setactive") == 0)
++    {
++         int facenr = atoi (argv[2]);
++         if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces())
++         {
++           occgeometry->SetSelectedFace (facenr);
++
++        occgeometry->LowLightAll();
++        occgeometry->fvispar[facenr-1].Highlight();
++        occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
++         }
++    }
++
++    if (strcmp (argv[1], "getnfd") == 0)
++    {
++         if (occgeometry)
++           sprintf (buf, "%d", occgeometry->NrFaces());
++         else
++           sprintf (buf, "0");
++         Tcl_SetResult (interp, buf, TCL_STATIC);
++    }
++    return TCL_OK;
++#else // No OCCGEOMETRY
++
++    Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize currently supports only OCC (STEP/IGES) Files", TCL_STATIC);
++    return TCL_ERROR;
++
++#endif // OCCGEOMETRY
++  }
++
++
++
++  // Philippose - 25/07/2010
++  // TCL interface function for extracting and eventually
++  // setting or editing the current colours present in the mesh
++  int Ng_CurrentFaceColours (ClientData clientData,
++                             Tcl_Interp * interp,
++                             int argc, tcl_const char *argv[])
++  {
++     if(argc < 1)
++     {
++        Tcl_SetResult (interp, (char *)"Ng_GetCurrentFaceColours needs arguments", TCL_STATIC);
++        return TCL_ERROR;
++     }
++
++     if(!mesh.Ptr())
++     {
++        Tcl_SetResult (interp, (char *)"Ng_GetCurrentFaceColours: Valid netgen mesh required...please mesh the Geometry first", TCL_STATIC);
++           return TCL_ERROR;
++     }
++
++     if(strcmp(argv[1], "getcolours") == 0)
++     {
++        stringstream outVar;
++        Array<Vec3d> face_colours;
++        GetFaceColours(*mesh, face_colours);
++
++        for(int i = 0; i < face_colours.Size();i++)
++        {
++           outVar << "{ " << face_colours[i].X(1)
++                  << " "  << face_colours[i].X(2)
++                  << " "  << face_colours[i].X(3)
++                  << " } ";
++        }
++
++        tcl_const char * valuevar = argv[2];
++        Tcl_SetVar  (interp, valuevar, (char*)outVar.str().c_str(), 0);
++     }
++
++     if(strcmp(argv[1], "showalso") == 0)
++     {
++        Array<Vec3d> face_colours;
++        GetFaceColours(*mesh,face_colours);
++
++        int colourind = atoi (argv[2]);
++
++        for(int i = 1; i <= mesh->GetNFD(); i++)
++        {
++           Array<SurfaceElementIndex> surfElems;
++           mesh->GetSurfaceElementsOfFace(i,surfElems);
++
++           if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour()))
++           {
++              for(int j = 0; j < surfElems.Size(); j++)
++              {
++                 mesh->SurfaceElement(surfElems[j]).Visible(1);
++              }
++           }
++        }
++
++        mesh->SetNextTimeStamp();
++     }
++
++     if(strcmp(argv[1], "hidealso") == 0)
++     {
++        Array<Vec3d> face_colours;
++        GetFaceColours(*mesh,face_colours);
++
++        int colourind = atoi (argv[2]);
++
++        for(int i = 1; i <= mesh->GetNFD(); i++)
++        {
++           Array<SurfaceElementIndex> surfElems;
++           mesh->GetSurfaceElementsOfFace(i,surfElems);
++
++           if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour()))
++           {
++              for(int j = 0; j < surfElems.Size(); j++)
++              {
++                 mesh->SurfaceElement(surfElems[j]).Visible(0);
++              }
++           }
++        }
++
++        mesh->SetNextTimeStamp();
++     }
++
++     if(strcmp(argv[1], "showonly") == 0)
++     {
++        Array<Vec3d> face_colours;
++        GetFaceColours(*mesh,face_colours);
++
++        int colourind = atoi (argv[2]);
++
++        for(int i = 1; i <= mesh->GetNFD(); i++)
++        {
++           Array<SurfaceElementIndex> surfElems;
++           mesh->GetSurfaceElementsOfFace(i,surfElems);
++
++           if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour()))
++           {
++              for(int j = 0; j < surfElems.Size(); j++)
++              {
++                 mesh->SurfaceElement(surfElems[j]).Visible(1);
++              }
++           }
++           else
++           {
++              for(int j = 0; j < surfElems.Size(); j++)
++              {
++                 mesh->SurfaceElement(surfElems[j]).Visible(0);
++              }
++           }
++        }
++
++        mesh->SetNextTimeStamp();
++     }
++
++     if(strcmp(argv[1], "hideonly") == 0)
++     {
++        Array<Vec3d> face_colours;
++        GetFaceColours(*mesh,face_colours);
++
++        int colourind = atoi (argv[2]);
++
++        for(int i = 1; i <= mesh->GetNFD(); i++)
++        {
++           Array<SurfaceElementIndex> surfElems;
++           mesh->GetSurfaceElementsOfFace(i,surfElems);
++
++           if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour()))
++           {
++              for(int j = 0; j < surfElems.Size(); j++)
++              {
++                 mesh->SurfaceElement(surfElems[j]).Visible(0);
++              }
++           }
++           else
++           {
++              for(int j = 0; j < surfElems.Size(); j++)
++              {
++                 mesh->SurfaceElement(surfElems[j]).Visible(1);
++              }
++           }
++        }
++
++        mesh->SetNextTimeStamp();
++     }
++
++     if(strcmp(argv[1], "showall") == 0)
++     {
++        for(int i = 1; i <= mesh->GetNSE(); i++)
++        {
++           mesh->SurfaceElement(i).Visible(1);
++        }
++
++        mesh->SetNextTimeStamp();
++     }
++
++     if(strcmp(argv[1], "hideall") == 0)
++     {
++        for(int i = 1; i <= mesh->GetNSE(); i++)
++        {
++           mesh->SurfaceElement(i).Visible(0);
++        }
++
++        mesh->SetNextTimeStamp();
++     }
++
++     return TCL_OK;
++  }
++
++
++
++
++  // Philippose - 10/03/2009
++  // TCL interface function for the Automatic Colour-based
++  // definition of boundary conditions for OCC Geometry
++  int Ng_AutoColourBcProps (ClientData clientData,
++                                    Tcl_Interp * interp,
++                                    int argc, tcl_const char *argv[])
++  {
++     if(argc < 1)
++     {
++        Tcl_SetResult (interp, (char *)"Ng_AutoColourBcProps needs arguments", TCL_STATIC);
++        return TCL_ERROR;
++     }
++
++     if(!mesh.Ptr())
++     {
++        Tcl_SetResult (interp, (char *)"Ng_AutoColourBcProps: Valid netgen mesh required...please mesh the Geometry first", TCL_STATIC);
++           return TCL_ERROR;
++     }
++
++     if(strcmp(argv[1], "auto") == 0)
++     {
++        AutoColourBcProps(*mesh, 0);
++     }
++
++     if(strcmp(argv[1], "profile") == 0)
++     {
++        AutoColourBcProps(*mesh, argv[2]);
++     }
++
++     return TCL_OK;
++  }
++
++
++  int Ng_SetOCCParameters  (ClientData clientData,
++                          Tcl_Interp * interp,
++                          int argc, tcl_const char *argv[])
++  {
++    OCCGeometryRegister reg;
++    reg.SetParameters (interp);
++    /*
++    occparam.resthcloseedgefac =
++      atof (Tcl_GetVar (interp, "::stloptions.resthcloseedgefac", 0));
++
++    occparam.resthcloseedgeenable =
++      atoi (Tcl_GetVar (interp, "::stloptions.resthcloseedgeenable", 0));
++    */
++    return TCL_OK;
++  }
++
++
++
++
++  NetgenGeometry *  OCCGeometryRegister :: Load (string filename) const
++  {
++    const char * lgfilename = filename.c_str();
++
++
++    /*
++    if (strcmp (&cfilename[strlen(cfilename)-3], "geo") == 0)
++      {
++      PrintMessage (1, "Load OCCG geometry file ", cfilename);
++
++      extern OCCGeometry * ParseOCCG (istream & istr);
++
++      ifstream infile(cfilename);
++
++      OCCGeometry * hgeom = ParseOCCG (infile);
++      if (!hgeom)
++        throw NgException ("geo-file should start with 'algebraic3d'");
++
++      hgeom -> FindIdenticSurfaces(1e-8 * hgeom->MaxSize());
++      return hgeom;
++      }
++    */
++
++
++    if ((strcmp (&lgfilename[strlen(lgfilename)-4], "iges") == 0) ||
++      (strcmp (&lgfilename[strlen(lgfilename)-3], "igs") == 0) ||
++      (strcmp (&lgfilename[strlen(lgfilename)-3], "IGS") == 0) ||
++      (strcmp (&lgfilename[strlen(lgfilename)-4], "IGES") == 0))
++      {
++      PrintMessage (1, "Load IGES geometry file ", lgfilename);
++      OCCGeometry * occgeometry = LoadOCC_IGES (lgfilename);
++      return occgeometry;
++      }
++
++    else if ((strcmp (&lgfilename[strlen(lgfilename)-4], "step") == 0) ||
++                   (strcmp (&lgfilename[strlen(lgfilename)-3], "stp") == 0) ||
++                   (strcmp (&lgfilename[strlen(lgfilename)-3], "STP") == 0) ||
++                   (strcmp (&lgfilename[strlen(lgfilename)-4], "STEP") == 0))
++      {
++      PrintMessage (1, "Load STEP geometry file ", lgfilename);
++      OCCGeometry * occgeometry = LoadOCC_STEP (lgfilename);
++      return occgeometry;
++      }
++    else if ((strcmp (&lgfilename[strlen(lgfilename)-4], "brep") == 0) ||
++           (strcmp (&lgfilename[strlen(lgfilename)-4], "Brep") == 0) ||
++           (strcmp (&lgfilename[strlen(lgfilename)-4], "BREP") == 0))
++      {
++      PrintMessage (1, "Load BREP geometry file ", lgfilename);
++      OCCGeometry * occgeometry = LoadOCC_BREP (lgfilename);
++      return occgeometry;
++      }
++
++    return NULL;
++  }
++
++
++  static VisualSceneOCCGeometry vsoccgeom;
++
++  VisualScene * OCCGeometryRegister :: GetVisualScene (const NetgenGeometry * geom) const
++  {
++    OCCGeometry * geometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
++    if (geometry)
++      {
++      vsoccgeom.SetGeometry (geometry);
++      return &vsoccgeom;
++      }
++    return NULL;
++  }
++
++
++
++}
++
++
++
++using namespace netgen;
++
++int Ng_occ_Init (Tcl_Interp * interp)
++{
++  geometryregister.Append (new OCCGeometryRegister);
++
++
++    Tcl_CreateCommand (interp, "Ng_SetOCCVisParameters",
++                     Ng_SetOCCVisParameters,
++                     (ClientData)NULL,
++                     (Tcl_CmdDeleteProc*) NULL);
++
++    Tcl_CreateCommand (interp, "Ng_GetOCCData",
++                     Ng_GetOCCData,
++                     (ClientData)NULL,
++                     (Tcl_CmdDeleteProc*) NULL);
++
++    /*
++#ifdef OCCGEOMETRY
++    Tcl_CreateCommand (interp, "Ng_OCCConstruction",
++                     Ng_OCCConstruction,
++                     (ClientData)NULL,
++                     (Tcl_CmdDeleteProc*) NULL);
++#endif
++    */
++
++    Tcl_CreateCommand (interp, "Ng_OCCCommand",
++                     Ng_OCCCommand,
++                     (ClientData)NULL,
++                     (Tcl_CmdDeleteProc*) NULL);
++
++
++    Tcl_CreateCommand (interp, "Ng_SetOCCParameters", Ng_SetOCCParameters,
++                     (ClientData)NULL,
++                     (Tcl_CmdDeleteProc*) NULL);
++
++
++
++    // Philippose - 30/01/2009
++    // Register the TCL Interface Command for local face mesh size
++    // definition
++    Tcl_CreateCommand (interp, "Ng_SurfaceMeshSize", Ng_SurfaceMeshSize,
++                     (ClientData)NULL,
++                     (Tcl_CmdDeleteProc*) NULL);
++
++    Tcl_CreateCommand (interp, "Ng_AutoColourBcProps", Ng_AutoColourBcProps,
++                     (ClientData)NULL,
++                     (Tcl_CmdDeleteProc*) NULL);
++
++    // Philippose - 25/07/2010
++    // Register the TCL Interface Command for handling the face colours
++    // present in the mesh
++    Tcl_CreateCommand(interp, "Ng_CurrentFaceColours", Ng_CurrentFaceColours,
++                      (ClientData)NULL,
++                      (Tcl_CmdDeleteProc*) NULL);
++
++
++  return TCL_OK;
++}
++
++#endif
++
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/utilities.h netgen-5.3.1_SRC_modif/libsrc/occ/utilities.h
+--- netgen-5.3.1_SRC_orig/libsrc/occ/utilities.h       2014-08-29 13:54:03.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/occ/utilities.h      2018-03-01 15:41:03.998157502 +0300
+@@ -33,6 +33,7 @@
+ #include <string>
+ #include <iostream>
++#include <iomanip>
+ #include <cstdlib>
+ // #include "SALOME_Log.hxx"
+diff -Naur netgen-5.3.1_SRC_orig/libsrc/stlgeom/Makefile.am netgen-5.3.1_SRC_modif/libsrc/stlgeom/Makefile.am
+--- netgen-5.3.1_SRC_orig/libsrc/stlgeom/Makefile.am   2014-08-29 13:54:05.000000000 +0400
++++ netgen-5.3.1_SRC_modif/libsrc/stlgeom/Makefile.am  2018-03-01 15:41:03.998157502 +0300
+@@ -4,10 +4,10 @@
+ AM_CPPFLAGS = -I$(top_srcdir)/libsrc/include $(TCL_INCLUDES)
+ METASOURCES = AUTO
+-lib_LTLIBRARIES = libstl.la 
++noinst_LTLIBRARIES = libstl.la 
+ if NGGUI
+-lib_LTLIBRARIES += libstlvis.la 
++lib_LTLIBRARIES = libstlvis.la 
+ endif
+ libstl_la_SOURCES = meshstlsurface.cpp stlgeom.cpp stlgeomchart.cpp \
+@@ -16,6 +16,5 @@
+ libstlvis_la_SOURCES = stlpkg.cpp vsstl.cpp
+ libstlvis_la_LIBADD = libstl.la
+-libstl_la_LIBADD =  $(top_builddir)/libsrc/meshing/libmesh.la
+ # libstlvis_la_LIBADD = libstl.la $(top_builddir)/libsrc/linalg/libla.la 
+diff -Naur netgen-5.3.1_SRC_orig/ng/menustat.tcl netgen-5.3.1_SRC_modif/ng/menustat.tcl
+--- netgen-5.3.1_SRC_orig/ng/menustat.tcl      2014-08-29 13:54:01.000000000 +0400
++++ netgen-5.3.1_SRC_modif/ng/menustat.tcl     2018-03-01 15:45:35.128037102 +0300
+@@ -1,1123 +1,1123 @@
+-# netgen menus:
+-
+-menu .ngmenu -tearoff 0  -relief raised -bd 2
+-. configure -menu .ngmenu
+-
+-.ngmenu add cascade -label "File" -menu .ngmenu.file -underline 0
+-.ngmenu add cascade -label "Geometry" -menu .ngmenu.geometry -underline 0
+-.ngmenu add cascade -label "Mesh" -menu .ngmenu.mesh -underline 0
+-.ngmenu add cascade -label "View" -menu .ngmenu.view -underline 0
+-.ngmenu add cascade -label "Refinement" -menu .ngmenu.meshsize -underline 5
+-
+-if { $userlevel == 3} {
+-    .ngmenu add cascade -label "Special" -menu .ngmenu.special -underline 3
+-}
+-
+-.ngmenu add cascade -label "Help" -menu .ngmenu.help -underline 0
+-
+-
+-#####################################################
+-#                                                   #
+-#     Menu File                                     #
+-#                                                   #
+-#####################################################
+-
+-menu .ngmenu.file
+-
+-.ngmenu.file add command -label "Load Geometry..." -accelerator "<l><g>" \
+-    -command { 
+-      set types {
+-          {"All Geometry types"   { .stl .stlb .step .stp .geo .in2d .igs .iges .brep .sat} }
+-          {"IGES Geometry"    {.igs .iges} }
+-          {"BREP OpenCascade Geometry"    {.brep} }
+-          {"STL Geometry"        {.stl} }
+-          {"Binary STL Geometry"    {.stlb} }
+-          {"STEP Geometry"    {.step .stp} }
+-          {"Geometry file"       {.geo} }
+-          {"2D Geometry"   {.in2d } } 
+-      } 
+-
+-      set ACISavailable [Ng_ACISCommand isACISavailable]
+-      if {$ACISavailable == "yes" } {
+-          lappend types {"ACIS Geometry" {.sat} }
+-      }
+-
+-      if {[catch {
+-          set file [tk_getOpenFile -filetypes $types -initialdir $dirname -typevariable loadgeomtypevar]
+-      }]} {
+-          set file [tk_getOpenFile -filetypes $types -initialdir $dirname]
+-      }
+-
+-      if {$file != ""} {
+-          AddRecentFile $file
+-          Ng_LoadGeometry $file 
+-          Ng_ParseGeometry
+-#         if { [Ng_STLInfo status]=="ERROR" } {
+-#             tk_messageBox -message  "STL ERROR: \n [Ng_STLInfo statustext]" -type ok
+-#         }
+-          set selectvisual geometry
+-          Ng_SetVisParameters
+-          redraw
+-          wm title . [concat "$progname - " $file]
+-          set dirname [file dirname $file]
+-          set basefilename [file tail [file rootname $file]]
+-
+-          if { $hasocc == "yes" } {
+-              rebuildoccdialog
+-          }
+-      }
+-    }
+-
+-
+-
+-.ngmenu.file add command -label "Save Geometry..." \
+-    -command { 
+-      set occgeometryloaded [Ng_OCCCommand isoccgeometryloaded]
+-      puts $occgeometryloaded
+-      if {$occgeometryloaded == 1 } {
+-          set types {
+-              {"IGES Geometry file"   {.igs} } 
+-              {"STEP Geometry file"   {.stp} } 
+-              {"STL Geometry file"   {.stl} } 
+-              {"STL BIN Geometry file"   {.stlb} } 
+-          }
+-      } {
+-          set types {
+-              {"STL Geometry file"   {.stl} } 
+-              {"STL BIN Geometry file"   {.stlb} } 
+-          }
+-      }
+-
+-      set ACISavailable [Ng_ACISCommand isACISavailable]
+-      puts $ACISavailable
+-      if {$ACISavailable == "yes" } {
+-          lappend types {"ACIS Geometry" {.sat} }
+-      }
+-
+-      set file [tk_getSaveFile -filetypes $types -initialdir $dirname -initialfile $basefilename ]
+-      if {$file != ""} {
+-          Ng_SaveGeometry $file 
+-      }
+-    }
+- 
+-
+-
+-.ngmenu.file add cascade -label "Recent Files" -menu .ngmenu.file.recent 
+-menu .ngmenu.file.recent
+-
+-
+-proc AddRecentFile { filename } {
+-    global progname
+-    global dirname
+-    catch { [.ngmenu.file.recent delete $filename] }
+-    .ngmenu.file.recent insert 0 command -label $filename \
+-      -command "AddRecentFile {$filename}; 
+-                  Ng_LoadGeometry {$filename}; 
+-                Ng_ParseGeometry;
+-                set selectvisual geometry;
+-                Ng_SetVisParameters;
+-                redraw;
+-                wm title . [concat \" $progname - $filename \"];
+-                  set dirname {[file dirname $filename]};
+-                  set basefilename {[file tail [file rootname $filename]]};
+-                rebuildoccdialog;"
+-
+-    
+-    if { [.ngmenu.file.recent index last] >= 6 } {
+-      .ngmenu.file.recent delete last }
+-    
+-    saveinifile;
+-    }
+-loadinifile;
+-
+-.ngmenu.file add separator
+-
+-
+-.ngmenu.file add command -label "Load Mesh..." -accelerator "<l><m>" \
+-    -command {
+-      set types {
+-          {"Mesh file"   {.vol .vol.gz}       } }
+-      set file [tk_getOpenFile -filetypes $types -defaultextension ".vol"]
+-      if {$file != ""} {
+-          AddRecentMeshFile $file;
+-          Ng_LoadMesh $file; 
+-          set selectvisual mesh
+-          Ng_SetVisParameters
+-          redraw
+-          Ng_ReadStatus; 
+-#         Ng_MeshSizeFromSurfaceMesh
+-          wm title . [concat "$progname - " $file] 
+-          set dirname [file dirname $file]
+-          set basefilename [file tail [file rootname $file]]
+-      }
+-    }
+-
+-
+-
+-# astrid
+-.ngmenu.file add cascade -label "Recent Meshes" -menu .ngmenu.file.recentmesh 
+-menu .ngmenu.file.recentmesh
+-
+-
+-proc AddRecentMeshFile { filename } {
+-    global progname
+-    global dirname
+-    catch { [.ngmenu.file.recentmesh delete $filename] }
+-    .ngmenu.file.recentmesh insert 0 command -label $filename \
+-      -command "AddRecentMeshFile {$filename}; 
+-                  Ng_LoadMesh {$filename};
+-                set selectvisual mesh;
+-                Ng_SetVisParameters;
+-                redraw;
+-                wm title . [concat \" $progname - $filename \"];
+-                  set dirname {[file dirname $filename]};
+-                  set basefilename {[file tail [file rootname $filename]]};
+-                  rebuildoccdialog;"
+-    
+-    if { [.ngmenu.file.recentmesh index last] >= 6 } {
+-      .ngmenu.file.recentmesh delete last }
+-   
+-    savemeshinifile;
+-    }
+-loadmeshinifile;
+-
+-# astrid ende
+-
+-
+-.ngmenu.file add command -label "Save Mesh..." -accelerator "<s><m>" \
+-    -command {
+-      set types {
+-          {"Mesh file"   {.vol .vol.gz}       } }
+-
+-      set file [tk_getSaveFile -filetypes $types -defaultextension ".vol.gz" -initialfile $basefilename -initialdir $dirname ]
+-      if {$file != ""} {
+-          Ng_SaveMesh $file }
+-      AddRecentMeshFile $file;
+-
+-    }
+-
+-.ngmenu.file add command -label "Merge Mesh..." \
+-    -command {
+-      set types {
+-          {"Mesh file"   {.vol}       } }
+-      set file [tk_getOpenFile -filetypes $types -defaultextension ".vol"]
+-      if {$file != ""} {
+-          Ng_MergeMesh $file; 
+-          set selectvisual mesh
+-          Ng_SetVisParameters
+-          redraw
+-          Ng_ReadStatus; 
+-      }
+-    }
+-
+-
+-
+-
+-
+-.ngmenu.file add command -label "Import Mesh..." \
+-    -command { 
+-      set types {
+-          {"Neutral format"  {.mesh .emt} }
+-          {"Surface mesh format"  {.surf} }
+-          {"Universal format"  {.unv} }
+-          {"Olaf format"  {.emt} }
+-          {"TET format" {.tet} }
+-          {"Pro/ENGINEER neutral format" {.fnf} }
+-                }
+-      set file [tk_getOpenFile -filetypes $types ]
+-      if {$file != ""} {
+-          Ng_ImportMesh $file 
+-          set selectvisual mesh
+-          Ng_SetVisParameters
+-          redraw
+-          Ng_ReadStatus; 
+-      }
+-    }
+-
+-
+-.ngmenu.file add command -label "Export Mesh..." \
+-    -command {
+-
+-#     global meshexportformats
+-      foreach exportformat $meshexportformats {
+-          if { [lindex $exportformat 0] == $exportfiletype } {
+-              set extension [lindex $exportformat 1]
+-          }
+-      }
+-
+-      if { $exportfiletype == "Elmer Format"} {
+-          set file [file nativename [tk_chooseDirectory -title "Elmer Mesh Export - Select Directory"]]
+-        } elseif { $exportfiletype == "OpenFOAM 1.5+ Format"} {
+-          set file [file nativename [tk_chooseDirectory -title "OpenFOAM 1.5+ Mesh Export - Select Case Directory"]]
+-        } elseif { $exportfiletype == "OpenFOAM 1.5+ Compressed"} {
+-          set file [file nativename [tk_chooseDirectory -title "OpenFOAM 1.5+ Mesh Export - Select Case Directory"]]
+-        } else {
+-#         set file [tk_getSaveFile  -filetypes "{ \"$exportfiletype\" {$extension} }" ]
+-          set file [tk_getSaveFile  -filetypes "{ \"$exportfiletype\" {*}}" ]
+-      }
+-
+-      if {$file != ""} {
+-          Ng_ExportMesh $file $exportfiletype 
+-      }
+-    }
+-
+-.ngmenu.file add cascade -label "Export Filetype" -menu .ngmenu.file.filetype 
+-
+-menu .ngmenu.file.filetype 
+-
+-
+-.ngmenu.file add separator
+-
+-
+-.ngmenu.file add command -label "Save Solution..." \
+-    -command { 
+-      set types { 
+-            {"Solution File"  {.sol} } 
+-            {"VTK File"  {.vtk} } 
+-        }
+-      set file [tk_getSaveFile -filetypes $types ]
+-      if {$file != ""} {
+-          Ng_SaveSolution $file 
+-      }
+-    }
+-#-defaultextension ".sol"  ]
+-
+-.ngmenu.file add command -label "Import Solution..." \
+-    -command { 
+-      set types { {"Solution File"  {.sol} } }
+-      set file [tk_getOpenFile -filetypes $types -defaultextension ".sol"  ]
+-      if {$file != ""} {
+-          Ng_ImportSolution $file 
+-          set selectvisual solution
+-          Ng_SetVisParameters
+-          redraw
+-      }
+-    }
+-
+-
+-
+-
+-
+-
+-set demostarttime [clock clicks -millisecond]
+-set stopdemo 0
+-proc demoredraw { } {
+-    global demostarttime
+-    global stopdemo
+-    set curtime [clock clicks -millisecond]
+-    set result [ Ng_DemoSetTime [expr $curtime - $demostarttime] ]
+-    redraw
+-    global videoactive
+-    if { $videoactive == 1 } {
+-        puts "addframe"
+-        .ndraw Ng_VideoClip addframe
+-    }
+-    if { $result == 0 && $stopdemo == 0 } {
+-      after 1 { demoredraw }
+-    }
+-}
+-.ngmenu.file add command -label "Show Demo..." \
+-    -command {
+-      set types { {"Demo File"  {.dem} } }
+-      set file [tk_getOpenFile -filetypes $types -defaultextension ".dem"  ]
+-      if {$file != ""} {
+-          Ng_ShowDemo $file 
+-          set demostarttime [clock clicks -millisecond]
+-          set stopdemo 0
+-          demoredraw
+-      }
+-     }
+-
+-
+-
+-
+-.ngmenu.file add separator
+-
+-.ngmenu.file add command -label "Snapshot..." \
+-    -command { 
+-      set types { 
+-          {"JPG file" {.jpg} } 
+-          {"GIF file" {.gif} } 
+-          {"PPM file" {.ppm} } 
+-      }
+-      set file [tk_getSaveFile -filetypes $types]
+-#  -defaultextension ".ppm"]
+-      if {$file != ""} {
+-          .ndraw Ng_SnapShot $file }
+-    }
+-
+-
+-.ngmenu.file add cascade -label "Video clip" -menu .ngmenu.file.video
+-menu .ngmenu.file.video
+-
+-set videoactive 0
+-.ngmenu.file.video add command -label "start..." \
+-    -command { 
+-      set types { 
+-          {"MPG file" {.mpg} } 
+-      }
+-      set file [tk_getSaveFile -filetypes $types]
+-      if {$file != ""} {
+-          .ndraw Ng_VideoClip init $file 
+-            global videoactive
+-            set videoactive 1
+-        }
+-     }
+-
+-.ngmenu.file.video add command -label "add frame..." \
+-    -command {.ndraw Ng_VideoClip addframe }
+-
+-.ngmenu.file.video add command -label "one cycle" \
+-    -command {
+-      set visoptions.redrawperiodic 1
+-      for { set j 0 } { $j < 100 } { incr j } {
+-          puts "j =  $j"
+-          Ng_Vis_Set time [expr (1000 * $j / 100)]
+-          redraw
+-          .ndraw Ng_VideoClip addframe 
+-          after 200
+-      }
+-    }
+-
+-.ngmenu.file.video add command -label "finalize..." \
+-    -command {
+-        .ndraw Ng_VideoClip finalize 
+-        global videoactive
+-        set videoactive 0
+-    }
+-
+-
+-
+-.ngmenu.file add command -label "Save Options" \
+-    -command { saveoptions }
+-
+-
+-    
+-
+-.ngmenu.file add separator
+-
+-
+-## herbert tcl load menue
+-# .ngmenu.file add command -label "Run tests ..." \
+-\#    -command { runtestdialog }
+-##
+-# .ngmenu.file add separator
+-
+-.ngmenu.file add command -label "Quit" -accelerator "<q>" \
+-    -command { 
+-        puts "Thank you for using $progname"; 
+-
+-        if { [catch { unload libngsolve[info sharedlibextension] ngsolve } result ] } {
+-            # puts "cannot unload ngsolve" 
+-            # puts "error: $result"
+-        } 
+-
+-        Ng_Exit; 
+-        destroy . 
+-    }
+-# exit
+-
+-
+-#####################################################
+-#                                                   #
+-#     Menu Mesh                                     #
+-#                                                   #
+-#####################################################
+-
+-menu .ngmenu.mesh
+-.ngmenu.mesh add command -label "Generate Mesh" -accelerator "<g><m>" \
+-    -command { 
+-      set selectvisual mesh
+-      Ng_SetVisParameters
+-      Ng_GenerateMesh ${meshoptions.firststep} ${meshoptions.laststep}
+-      Ng_ReadStatus
+-      redraw
+-    }
+-
+-.ngmenu.mesh add command -label "Stop Meshing" \
+-    -command { Ng_StopMeshing }
+-
+-.ngmenu.mesh add command -label "Meshing Options..." \
+-    -command meshingoptionsdialog
+-
+-
+-.ngmenu.mesh add separator
+-
+-.ngmenu.mesh add command -label "Delete Mesh" \
+-    -command { Ng_New mesh; Ng_ReadStatus; redraw }
+-
+-.ngmenu.mesh add command -label "Delete Vol Mesh" \
+-    -command { Ng_DeleteVolMesh; Ng_ReadStatus; redraw }
+-
+-
+-.ngmenu.mesh add command -label "Mesh Info" \
+-    -command {
+-      set dim [Ng_MeshInfo dim]
+-      set np [Ng_MeshInfo np]
+-      set ne [Ng_MeshInfo ne]
+-      set nse [Ng_MeshInfo nse]
+-      set nseg [Ng_MeshInfo nseg]
+-      set bbox [Ng_MeshInfo bbox]
+-      tk_messageBox -message  "Dimension: $dim\nPoints: $np\nElements: $ne\nSurface Els: $nse\nSegments: $nseg\nxmin [lindex $bbox 0] xmax [lindex $bbox 1]\nymin [lindex $bbox 2] ymax [lindex $bbox 3]\nzmin [lindex $bbox 4] zmax [lindex $bbox 5]"
+-    }
+-
+-
+-.ngmenu.mesh add command -label "Mesh Quality" \
+-    -command {
+-      set inplanemin 0
+-      set inplanemax 0
+-      set betplanemin 0
+-      set betplanemax 0
+-      Ng_MeshQuality inplanemin inplanemax betplanemin betplanemax
+-      puts "Triangle angles : $inplanemin - $inplanemax"
+-      puts "Tet angles      : $betplanemin - $betplanemax"
+-      tk_messageBox -message  "Triangle angles : $inplanemin - $inplanemax \n Tet angles      : $betplanemin - $betplanemax"
+-    }
+-
+-# .ngmenu.mesh add command -label "Quality Plot" \
+-#    -command { qualityviewdialog 1 }
+-
+-
+-
+-
+-.ngmenu.mesh add command -label "Check Surface Mesh" \
+-    -command { Ng_CheckSurfaceMesh }
+-.ngmenu.mesh add command -label "Check Volume Mesh" \
+-    -command { Ng_CheckVolumeMesh }
+-
+-.ngmenu.mesh add command -label "Edit Boundary Conditions..." \
+-    -command { bcpropdialog }
+-
+-if { $userlevel == 3 } {
+-    .ngmenu.mesh add command -label "Mesh Doctor..." \
+-      -command { meshdoctordialog }
+-}
+-
+-.ngmenu.mesh add command -label "METIS Mesh Partitioning..." \
+-      -command { METISdialog }
+-
+-.ngmenu.mesh add separator
+-
+-.ngmenu.mesh add command -label "Analyze Geometry" \
+-    -command { Ng_GenerateMesh ag ag; Ng_ReadStatus; redraw }
+-.ngmenu.mesh add command -label "Mesh Edges" \
+-    -command { Ng_GenerateMesh me me; Ng_ReadStatus; redraw }
+-.ngmenu.mesh add command -label "Mesh Surface" \
+-    -command { set selectvisual mesh; Ng_SetVisParameters; \
+-                 Ng_GenerateMesh ms ms; Ng_ReadStatus; redraw }
+-
+-.ngmenu.mesh add command -label "Optimize Surface" \
+-    -command { Ng_GenerateMesh os os cmsmSm; redraw }
+-
+-.ngmenu.mesh add cascade -label "Surface Optim. Step" -menu .ngmenu.mesh.surfoptstep 
+-
+-menu .ngmenu.mesh.surfoptstep 
+-.ngmenu.mesh.surfoptstep add command -label "Mesh Smoothing" \
+-    -command { Ng_GenerateMesh os os m; redraw}
+-.ngmenu.mesh.surfoptstep add command -label "Edge swapping (topologic)" \
+-    -command { Ng_GenerateMesh os os s; redraw}
+-.ngmenu.mesh.surfoptstep add command -label "Edge swapping (metric)" \
+-    -command { Ng_GenerateMesh os os S; redraw}
+-.ngmenu.mesh.surfoptstep add command -label "Combine points" \
+-    -command { Ng_GenerateMesh os os c; redraw}
+-
+-
+-.ngmenu.mesh add separator
+-.ngmenu.mesh add command -label "Mesh Volume" \
+-    -command { Ng_GenerateMesh mv mv; Ng_ReadStatus }
+-.ngmenu.mesh add command -label "Optimize Volume" \
+-    -command { Ng_GenerateMesh ov ov; Ng_ReadStatus }
+-.ngmenu.mesh add command -label "Smooth Opt Volume" \
+-    -command { Ng_GenerateMesh ov ov m; Ng_ReadStatus }
+-.ngmenu.mesh add command -label "Smooth Opt Volume Jacobian" \
+-    -command { Ng_GenerateMesh ov ov j; Ng_ReadStatus }
+-
+-
+-
+-#####################################################
+-#                                                   #
+-#     Menu Geometry                                 #
+-#                                                   #
+-#####################################################
+-
+-menu .ngmenu.geometry
+-
+-
+-
+-
+-
+-
+-
+-#####################################################
+-#                                                   #
+-#     Menu View                                     #
+-#                                                   #
+-#####################################################
+-
+-menu .ngmenu.view
+-.ngmenu.view add command -label "Zoom all" \
+-    -command { Ng_ZoomAll; redraw }
+-.ngmenu.view add command -label "Center" \
+-    -command { Ng_Center; redraw }
+-
+-.ngmenu.view add command -label "x-y plane" \
+-    -command { Ng_StandardRotation xy; redraw }
+-.ngmenu.view add command -label "y-x plane" \
+-    -command { Ng_StandardRotation yx; redraw }
+-.ngmenu.view add command -label "x-z plane" \
+-    -command { Ng_StandardRotation xz; redraw }
+-.ngmenu.view add command -label "z-x plane" \
+-    -command { Ng_StandardRotation zx; redraw }
+-.ngmenu.view add command -label "y-z plane" \
+-    -command { Ng_StandardRotation yz; redraw }
+-.ngmenu.view add command -label "z-y plane" \
+-    -command { Ng_StandardRotation zy; redraw }
+-
+-.ngmenu.view add command -label "Viewing Options..." \
+-    -command { viewingoptionsdialog; redraw }
+-.ngmenu.view add command -label "Clipping Plane..." \
+-    -command { clippingdialog; redraw }
+-.ngmenu.view add command -label "Solution Data..." \
+-    -command { visual_dialog; redraw }
+-.ngmenu.view add checkbutton -variable viewqualityplot \
+-    -label "Quality Plot" \
+-    -command { qualityviewdialog $viewqualityplot }
+-.ngmenu.view add checkbutton -variable memuseplot \
+-    -label "Memory Usage" \
+-    -command { memusedialog $memuseplot }
+-
+-
+-
+-
+-#####################################################
+-#                                                   #
+-#     Menu Refinement                               #
+-#                                                   #
+-#####################################################
+-#
+-# Mesh size menu
+-#
+-menu .ngmenu.meshsize
+-.ngmenu.meshsize add command -label "Refine uniform" \
+-    -command { Ng_Refine; Ng_HighOrder ${options.elementorder}; Ng_ReadStatus; redraw }
+-
+-.ngmenu.meshsize add command -label "Second Order" \
+-    -command { Ng_SecondOrder; Ng_ReadStatus; redraw }
+-
+-.ngmenu.meshsize add command -label "Validate Second Order" \
+-    -command { Ng_ValidateSecondOrder; Ng_ReadStatus; redraw }
+-
+-.ngmenu.meshsize add command -label "High Order" \
+-    -command { Ng_HighOrder ${options.elementorder}; Ng_ReadStatus; redraw }
+-
+-.ngmenu.meshsize add separator
+-
+-.ngmenu.meshsize add command -label "Refinement Dialog..." \
+-    -command { refinementdialog }
+-.ngmenu.meshsize add command -label "Load Meshsize..." \
+-    -command {
+-      set types {
+-          {"Meshsize file"   {.msz}   } }
+-      set file [tk_getOpenFile -filetypes $types]
+-      if {$file != ""} {
+-          Ng_LoadMeshSize $file; 
+-      }
+-    }
+-.ngmenu.meshsize add command -label "MS from Surf Mesh" \
+-    -command { Ng_MeshSizeFromSurfaceMesh }
+-
+-
+-if { $userlevel == 3 } {
+-.ngmenu.meshsize add command -label "Singular point ms" \
+-    -command { Ng_SingularPointMS; }
+-
+-.ngmenu.meshsize add command -label "Singular edge ms" \
+-    -command { Ng_SingularEdgeMS; }
+-
+-.ngmenu.meshsize add separator
+-
+-set bisectfilename "";
+-
+-.ngmenu.meshsize add command -label "Bisection" \
+-    -command { Ng_ReadStatus; set oldnp 0; set newnp $status_np; 
+-#     Ng_BisectCopyMesh; 
+-#     Ng_Split2Tets;
+-      Ng_ReadStatus;
+-      
+-      while { $oldnp < $newnp } {
+-#         if { $level == 0 } {
+-#             Ng_ExportMesh feppmesh.vol fepp;
+-#         } {
+-#             Ng_ExportMesh feppmesh$level feppml 
+-#         }
+-          set level [expr $level+1]
+-          if { $bisectfilename == ""} {
+-              Ng_Bisect;
+-          } else {
+-              Ng_Bisect $bisectfilename;
+-          }
+-#         Ng_HighOrder ${options.elementorder} "noparallel"
+-#         Ng_Split2Tets;
+-          Ng_ReadStatus;
+-          redraw; 
+-          
+-          if { $bisectfilename == ""} {
+-              set oldnp $newnp;
+-              set newnp $status_np;
+-              puts "oldnp $oldnp newnp $newnp";
+-          } else {
+-              set oldnp $newnp;
+-          }
+-      }
+-    }
+-#    -command { Ng_Bisect; Ng_ReadStatus; redraw }
+-#    -command { exec netgen abc >outfile 2>errfile; Ng_ReadStatus; redraw }
+-
+-}
+-
+-.ngmenu.meshsize add command -label "Load Refinement Info..." \
+-    -command {
+-      set types {
+-          {"Refinement info" {.refine} }}
+-      set bisectfilename [tk_getOpenFile -filetypes $types]
+-    }
+-
+-.ngmenu.meshsize add command -label "Z-Refinement" \
+-    -command { Ng_ZRefinement 2; Ng_ReadStatus; redraw }
+-
+-
+-# .ngmenu.meshsize add command -label "hp-Refinement" \
+-\#    -command { Ng_HPRefinement 4; Ng_ReadStatus; redraw }
+-
+-.ngmenu.meshsize add cascade -label "hp-Refinement" -menu .ngmenu.meshsize.hpref
+-menu .ngmenu.meshsize.hpref
+-.ngmenu.meshsize.hpref add command -label "1 Level" \
+-    -command { Ng_HPRefinement 1; Ng_ReadStatus; redraw }
+-.ngmenu.meshsize.hpref add command -label "2 Levels" \
+-    -command { Ng_HPRefinement 2; Ng_ReadStatus; redraw }
+-.ngmenu.meshsize.hpref add command -label "3 Levels" \
+-    -command { Ng_HPRefinement 3; Ng_ReadStatus; redraw }
+-.ngmenu.meshsize.hpref add command -label "4 Levels" \
+-    -command { Ng_HPRefinement 4; Ng_ReadStatus; redraw }
+-.ngmenu.meshsize.hpref add command -label "5 Levels" \
+-    -command { Ng_HPRefinement 5; Ng_ReadStatus; redraw }
+-.ngmenu.meshsize.hpref add command -label "6 Levels" \
+-    -command { Ng_HPRefinement 6; Ng_ReadStatus; redraw }
+-.ngmenu.meshsize.hpref add command -label "7 Levels" \
+-    -command { Ng_HPRefinement 7; Ng_ReadStatus; redraw }
+-.ngmenu.meshsize.hpref add command -label "8 Levels" \
+-    -command { Ng_HPRefinement 8; Ng_ReadStatus; redraw }
+-.ngmenu.meshsize.hpref add command -label "9 Levels" \
+-    -command { Ng_HPRefinement 9; Ng_ReadStatus; redraw }
+-.ngmenu.meshsize.hpref add command -label "10 Levels" \
+-    -command { Ng_HPRefinement 10; Ng_ReadStatus; redraw }
+-
+-
+-.ngmenu.meshsize add command -label "Split to Tets" \
+-    -command { Ng_Split2Tets; Ng_ReadStatus; redraw }
+-
+-
+-
+-
+-
+-#####################################################
+-#                                                   #
+-#     Menu Special                                  #
+-#                                                   #
+-#####################################################
+-
+-menu .ngmenu.special
+-.ngmenu.special add command -label "Prismatic Boundary Layer" \
+-    -command { Ng_GenerateBoundaryLayer; redraw }
+-.ngmenu.special add command -label "Insert virtual boundary layer" \
+-    -command { Ng_InsertVirtualBL; redraw }
+-.ngmenu.special add command -label "Cut off and combine with other" \
+-    -command { 
+-      set types { {"Mesh file"   {.vol}       } }
+-      set file [tk_getOpenFile -filetypes $types]
+-      if {$file != ""} {
+-          Ng_CutOffAndCombine $file;  }
+-      redraw 
+-    }
+-.ngmenu.special add command -label "Helmholtz Mesh grading" \
+-    -command { Ng_HelmholtzMesh; }
+-.ngmenu.special add cascade -label "Colour-based boundary conditions" -menu .ngmenu.special.colbndcond
+-
+-menu .ngmenu.special.colbndcond 
+- .ngmenu.special.colbndcond add command -label "Inspect Colours in mesh" \
+-    -command { currmeshcoloursdialog }
+-    
+- .ngmenu.special.colbndcond add separator     
+-    
+- .ngmenu.special.colbndcond add command -label "Automatic Assignment" \
+-    -command { Ng_AutoColourBcProps auto; redraw }
+-      
+- .ngmenu.special.colbndcond add separator     
+-
+- set ocffile [file join ${ngdir} netgen.ocf];
+- 
+- .ngmenu.special.colbndcond add command -label "Select Colour Profile file" \
+-    -command {
+-      set types { {"Colour Profile file"   {.ocf}   } }
+-      set ocffile [tk_getOpenFile -filetypes $types]
+-      if {$ocffile == ""} {
+-          set ocffile [file join ${ngdir} netgen.ocf]; }
+-      } 
+- .ngmenu.special.colbndcond add command -label "Profile based Assignment" \
+-      -command { Ng_AutoColourBcProps profile ${ocffile}; redraw }
+-
+-
+-# menu .mbar.stl.menu
+-# .mbar.stl.menu add command -label "STL options" \
+-#     -command { stloptionsdialog; }
+-#.mbar.stl.menu add command -label "STL Doctor" \
+-#    -command { stldoctordialog; }
+-
+-
+-#####################################################
+-#                                                   #
+-#     Menu Help                                     #
+-#                                                   #
+-#####################################################
+-
+-
+-
+-
+-menu .ngmenu.help
+-# .ngmenu.help add command -label "Ng Help..." \
+-\#    -command { help_main }
+-# .ngmenu.view add checkbutton -variable showsensitivehelp \
+-#     -label "Sensitve Help" \
+-#     -command { sensitivehelpdialog $showsensitivehelp }
+-.ngmenu.view add checkbutton -label "Help Line" -variable showhelpline \
+-      -command {
+-    if { $showhelpline == 1} {
+-      pack .helpline -before .statbar -side bottom -fill x -padx 3p
+-    } {
+-      pack forget .helpline 
+-    }
+-} 
+-
+-.ngmenu.help add command -label "About..." \
+-    -command {
+-tk_messageBox -message "This is NETGEN \nmainly written by \nJoachim Schoeberl \nthanks to \nRobert Gaisbauer, Johannes Gerstmayr, Philippose Rajan"
+-}
+-
+-# tk_menuBar .mbar .mbar.file .mbar.mesh .mbar.test .mbar.help
+-# focus .mbar
+-
+-
+-
+-
+-#####################################################
+-#                                                   #
+-#     Button bar                                    #
+-#                                                   #
+-#####################################################
+-
+-frame .bubar -relief raised -bd 2
+-pack .bubar -side top -fill x
+-
+-button .bubar.testb -text "Test" -command { Ng_SaveGeometry }
+-button .bubar.surfm -text "Generate Mesh" -command \
+-    { 
+-      .ngmenu.mesh invoke "Generate Mesh"; 
+-#     set selectvisual mesh; 
+-#     Ng_SetVisParameters;
+-#     Ng_GenerateMesh ${meshoptions.firststep} ${meshoptions.laststep}
+-#     redraw 
+-    }
+-button .bubar.stopm -text "Stop" -command \
+-    { 
+-      # Ng_StopMeshing;  
+-      set multithread_terminate 1;
+-      set stopdemo 1;
+-    }
+-button .bubar.exitb -text "Quit" \
+-    -command { 
+-         set ans [tk_messageBox -title "Quit Netgen?" -message "Do you really want to quit Netgen?" -type yesno -default "no" -icon question]
+-         if { $ans == "yes" } {
+-           .ngmenu.file invoke "Quit"; 
+-         }     
+-      }
+-pack  .bubar.exitb .bubar.surfm .bubar.stopm -side left
+-
+-#button .bubar.scan -text "Scan" \
+-#    -command { Ng_ParseGeometry; set selectvisual geometry; Ng_SetVisParameters; redraw }
+-
+-button .bubar.zoomall -text "Zoom All" \
+-    -command { Ng_ZoomAll; redraw }
+-
+-button .bubar.center -text "Center" \
+-    -command { Ng_Center; redraw }
+-
+-# tk_optionMenu .bubar.modesel drawmode "rotate" "move  " "zoom  "
+-tixOptionMenu .bubar.modesel \
+-    -options {
+-      label.width  0
+-      label.anchor e
+-      menubutton.width 6
+-    } \
+-    -variable drawmode
+-
+-.bubar.modesel add command rotate -label Rotate
+-.bubar.modesel add command move -label Move
+-.bubar.modesel add command zoom -label Zoom
+-
+-
+-
+-set viewvals { geometry specpoints mesh solution}
+-if { $userlevel == 3} {
+-    set viewvals { geometry mesh specpoints surfmeshing modelview solution}
+-}
+-
+-set viewvallabs(cross)     "Cross" 
+-set viewvallabs(geometry)  "Geometry" 
+-set viewvallabs(mesh)      "Mesh" 
+-set viewvallabs(specpoints) "Edges" 
+-set viewvallabs(surfmeshing) "Mesh Gen" 
+-set viewvallabs(modelview)     "Modeller" 
+-set viewvallabs(solution)     "Solution" 
+-
+-tixOptionMenu .bubar.selview \
+-    -options {
+-      label.width  0
+-      label.anchor e
+-      menubutton.width 10
+-    } \
+-
+-foreach viewv $viewvals {
+-    .bubar.selview add command $viewv -label $viewvallabs($viewv)
+-}
+-
+-
+-
+-.bubar.selview config -variable selectvisual
+-.bubar.selview config -command { Ng_SetVisParameters; redraw }
+-
+-
+-pack .bubar.modesel -side right
+-pack forget .bubar.modesel
+-pack .bubar.center .bubar.zoomall .bubar.selview -side right
+-
+-.ngmenu.view add checkbutton -variable viewrotatebutton \
+-    -label "Enable LeftButton Selection" \
+-    -command { 
+-      if { $viewrotatebutton } {
+-          pack .bubar.modesel -side right
+-      } {
+-          pack forget .bubar.modesel
+-      }
+-    }
+-
+-
+-
+-
+-#####################################################
+-#                                                   #
+-#     Status bar                                    #
+-#                                                   #
+-#####################################################
+-
+-label .helpline -text "None"
+-pack forget .helpline -side bottom -fill x
+-
+-frame .statbar -relief flat -bd 2
+-pack .statbar -side bottom -fill x
+-
+-label .statbar.ptslabel -text "Points: "
+-label .statbar.ptsval -textvariable status_np
+-label .statbar.elslabel -text "   Elements: "
+-label .statbar.elsval -textvariable status_ne
+-label .statbar.selslabel -text "   Surf Elements: "
+-label .statbar.selsval -textvariable status_nse
+-# label .statbar.memlabel -text "   Mem: "
+-# label .statbar.memval -textvariable mem_moveable
+-label .statbar.task -textvariable status_task
+-
+-pack .statbar.ptslabel .statbar.ptsval -side left -ipady 3p 
+-pack .statbar.elslabel .statbar.elsval -side left -ipady 3p 
+-pack .statbar.selslabel .statbar.selsval -side left -ipady 3p
+-
+-# if { $userlevel == 3 } {
+-#    pack .statbar.memlabel .statbar.memval -side left -ipady 3p
+-# }
+-
+-
+-tixMeter .statbar.per -value 0 -text 0%
+-.statbar.per configure -fillcolor blue
+-
+-pack .statbar.per -side right
+-pack .statbar.task -side right -ipady 4
+-
+-set qualbaraxis(0) 0
+-set qualbar(0) 0
+-set qualbarnull(0) 0
+-
+-
+-
+-proc timer2 { } {
+-    global status_np
+-    global status_ne
+-    global status_nse
+-    global multithread_running
+-    global multithread_redraw
+-    global status_working
+-    global status_task
+-    global status_percent
+-    global status_tetqualclasses
+-    
+-
+-    Ng_ReadStatus 
+-
+-    if { $multithread_redraw == 1 } {
+-      set multithread_redraw 0;
+-      redraw;
+-        
+-        global videoactive
+-        if { $videoactive == 1 } {
+-            puts "addframe"
+-            .ndraw Ng_VideoClip addframe
+-        }
+-    }
+-
+-    # global mem_moveable
+-    # set mem_moveable [Ng_MemInfo moveable]
+-
+-
+-    .statbar.per config -value [expr $status_percent/100] -text [format %2.1f [expr 0.1*int(10*$status_percent)]]%
+-
+-
+-    if { $multithread_running } {
+-      pack .statbar.per -side right -before .statbar.task -padx 6
+-    } { 
+-      pack forget .statbar.per
+-    }
+-      
+-
+-
+-    # tet quality
+-    if {[winfo exists .qualityview_dlg] == 1} {
+-      
+-      global qualbar
+-      global qualbarnull
+-      global qualbaraxis
+-
+-      set maxval 0
+-      for {set i 0} {$i < 20} {incr i} {
+-          if {[lindex $status_tetqualclasses $i] > $maxval} {
+-              set maxval [lindex $status_tetqualclasses $i]
+-          }
+-      } 
+-
+-      set ubound 1
+-      while { $ubound < $maxval } {
+-          set ubound [expr {10 * $ubound}]
+-      }
+-      if { $ubound/5 > $maxval } {
+-          set ubound [expr $ubound/5]
+-      }
+-      if { $ubound/2 > $maxval } {
+-          set ubound [expr $ubound/2]
+-      }
+-
+-
+-      
+-      for {set i 1} {$i <= 5} {incr i} {
+-          # global qualbaraxis($i)
+-
+-          set value [expr { $i * $ubound / 5 }]
+-          .qualityview_dlg.c dchars $qualbaraxis($i) 0 end
+-          .qualityview_dlg.c insert $qualbaraxis($i) end $value  
+-      }
+-
+-      
+-      for {set i 0} {$i < 20} {incr i} {
+-          set x1 [expr {100 + ($i*15) + 2}]
+-          set x2 [expr {$x1+10}]
+-          
+-          set nbrs [lindex $status_tetqualclasses $i]
+-          set y [expr (249 - (200 * $nbrs / $ubound ) )]
+-          
+-          # global qualbar($i)
+-          .qualityview_dlg.c coords $qualbar($i) $x1 250 $x2 $y
+-
+-#         global qualbarnull($i)
+-          if { $nbrs == 0 } {
+-              .qualityview_dlg.c itemconfigure $qualbarnull($i) -text 0
+-          } {
+-              .qualityview_dlg.c itemconfigure $qualbarnull($i) -text "" 
+-          }           
+-      }
+-      
+-    }
+-
+-
+-    if {[winfo exists .memuse_dlg] == 1} {    
+-      
+-      global memmark
+-      set usemb [Ng_MemInfo usedmb]
+-      for {set i 0} {$i < [string length $usemb] } {incr i} {
+-          if { [string index $usemb $i] == 0 } {
+-              .memuse_dlg.c coords $memmark($i)  [expr 50+$i] 68 [expr 50+$i] 70
+-          } {
+-              .memuse_dlg.c coords $memmark($i)  [expr 50+$i] 50 [expr 50+$i] 70
+-          }
+-      }
+-
+-    }
+-    after 30 { timer2 }
+-}
+-# after 1000 { timer2 }
+-timer2
+-
+-
+-
+-
+-proc bgerror { error } {
+-    global errorInfo userlevel
+-    if { $userlevel == 3} {
+-      puts "ERROR: $error" 
+-      puts "errinfo: $errorInfo"
+-    }
+-    tk_messageBox -title "Error Message" -message $error -type ok 
+-}
+-
+-
+-
+-
+-
+-
+-proc smh2 { menuitem } {
+-    if {[catch {$menuitem entrycget active -label} name]} {
+-      set name "    "
+-    } 
+-    show_menu_help $name 
+-    update idletasks
+-}
+-
+-bind .ngmenu <<MenuSelect>> { smh2 %W }
+-bind .ngmenu.file <<MenuSelect>> { smh2 %W }
+-bind .ngmenu.geometry <<MenuSelect>> { smh2 %W }
+-bind .ngmenu.mesh <<MenuSelect>> { smh2 %W }
+-bind .ngmenu.view <<MenuSelect>> { smh2 %W }
+-bind .ngmenu.meshsize <<MenuSelect>> { smh2 %W }
+-bind .ngmenu.special <<MenuSelect>> { smh2 %W }
+-bind .ngmenu.help <<MenuSelect>> { smh2 %W }
+-
+-
+-# command bindings  
+-bind . <q> { .ngmenu.file invoke "Quit" }
+-bind . <l><g> { .ngmenu.file invoke "Load Geometry..." }  ; 
+-bind . <l><m> { .ngmenu.file invoke "Load Mesh..." }  ;
+-bind . <s><m> { .ngmenu.file invoke "Save Mesh..." }  ;
+-bind . <r><f> { .ngmenu.file activate "Recent Files" }  ;
+-bind . <n><p> { newprimitivedialog }      ; # 
+-bind . <e><p> { editprimitivedialog }
+-bind . <e><s> { newsoliddialog }
+-bind . <g><m> { .ngmenu.mesh invoke "Generate Mesh" }  ;
+-
+-
+-
+-
+-
++# netgen menus:
++
++menu .ngmenu -tearoff 0  -relief raised -bd 2
++. configure -menu .ngmenu
++
++.ngmenu add cascade -label "File" -menu .ngmenu.file -underline 0
++.ngmenu add cascade -label "Geometry" -menu .ngmenu.geometry -underline 0
++.ngmenu add cascade -label "Mesh" -menu .ngmenu.mesh -underline 0
++.ngmenu add cascade -label "View" -menu .ngmenu.view -underline 0
++.ngmenu add cascade -label "Refinement" -menu .ngmenu.meshsize -underline 5
++
++if { $userlevel == 3} {
++    .ngmenu add cascade -label "Special" -menu .ngmenu.special -underline 3
++}
++
++.ngmenu add cascade -label "Help" -menu .ngmenu.help -underline 0
++
++
++#####################################################
++#                                                   #
++#     Menu File                                     #
++#                                                   #
++#####################################################
++
++menu .ngmenu.file
++
++.ngmenu.file add command -label "Load Geometry..." -accelerator "<l><g>" \
++    -command {
++      set types {
++          {"All Geometry types"   { .stl .stlb .step .stp .geo .in2d .igs .iges .brep .sat} }
++          {"IGES Geometry"    {.igs .iges} }
++          {"BREP OpenCascade Geometry"    {.brep} }
++          {"STL Geometry"        {.stl} }
++          {"Binary STL Geometry"    {.stlb} }
++          {"STEP Geometry"    {.step .stp} }
++          {"Geometry file"       {.geo} }
++          {"2D Geometry"   {.in2d } }
++      }
++
++      set ACISavailable [Ng_ACISCommand isACISavailable]
++      if {$ACISavailable == "yes" } {
++          lappend types {"ACIS Geometry" {.sat} }
++      }
++
++      if {[catch {
++          set file [tk_getOpenFile -filetypes $types -initialdir $dirname -typevariable loadgeomtypevar]
++      }]} {
++          set file [tk_getOpenFile -filetypes $types -initialdir $dirname]
++      }
++
++      if {$file != ""} {
++          AddRecentFile $file
++          Ng_LoadGeometry $file
++          Ng_ParseGeometry
++#         if { [Ng_STLInfo status]=="ERROR" } {
++#             tk_messageBox -message  "STL ERROR: \n [Ng_STLInfo statustext]" -type ok
++#         }
++          set selectvisual geometry
++          Ng_SetVisParameters
++          redraw
++          wm title . [concat "$progname - " $file]
++          set dirname [file dirname $file]
++          set basefilename [file tail [file rootname $file]]
++
++          if { $hasocc == "yes" } {
++              rebuildoccdialog
++          }
++      }
++    }
++
++
++
++.ngmenu.file add command -label "Save Geometry..." \
++    -command {
++      set occgeometryloaded [Ng_OCCCommand isoccgeometryloaded]
++      puts $occgeometryloaded
++      if {$occgeometryloaded == 1 } {
++          set types {
++              {"IGES Geometry file"   {.igs} }
++              {"STEP Geometry file"   {.stp} }
++              {"STL Geometry file"   {.stl} }
++              {"STL BIN Geometry file"   {.stlb} }
++          }
++      } {
++          set types {
++              {"STL Geometry file"   {.stl} }
++              {"STL BIN Geometry file"   {.stlb} }
++          }
++      }
++
++      set ACISavailable [Ng_ACISCommand isACISavailable]
++      puts $ACISavailable
++      if {$ACISavailable == "yes" } {
++          lappend types {"ACIS Geometry" {.sat} }
++      }
++
++      set file [tk_getSaveFile -filetypes $types -initialdir $dirname -initialfile $basefilename ]
++      if {$file != ""} {
++          Ng_SaveGeometry $file
++      }
++    }
++
++
++
++.ngmenu.file add cascade -label "Recent Files" -menu .ngmenu.file.recent
++menu .ngmenu.file.recent
++
++
++proc AddRecentFile { filename } {
++    global progname
++    global dirname
++    catch { [.ngmenu.file.recent delete $filename] }
++    .ngmenu.file.recent insert 0 command -label $filename \
++      -command "AddRecentFile {$filename};
++                  Ng_LoadGeometry {$filename};
++                Ng_ParseGeometry;
++                set selectvisual geometry;
++                Ng_SetVisParameters;
++                redraw;
++                wm title . [concat \" $progname - $filename \"];
++                  set dirname {[file dirname $filename]};
++                  set basefilename {[file tail [file rootname $filename]]};
++                rebuildoccdialog;"
++
++
++    if { [.ngmenu.file.recent index last] >= 6 } {
++      .ngmenu.file.recent delete last }
++
++    saveinifile;
++    }
++loadinifile;
++
++.ngmenu.file add separator
++
++
++.ngmenu.file add command -label "Load Mesh..." -accelerator "<l><m>" \
++    -command {
++      set types {
++          {"Mesh file"   {.vol .vol.gz}       } }
++      set file [tk_getOpenFile -filetypes $types -defaultextension ".vol"]
++      if {$file != ""} {
++          AddRecentMeshFile $file;
++          Ng_LoadMesh $file;
++          set selectvisual mesh
++          Ng_SetVisParameters
++          redraw
++          Ng_ReadStatus;
++#         Ng_MeshSizeFromSurfaceMesh
++          wm title . [concat "$progname - " $file]
++          set dirname [file dirname $file]
++          set basefilename [file tail [file rootname $file]]
++      }
++    }
++
++
++
++# astrid
++.ngmenu.file add cascade -label "Recent Meshes" -menu .ngmenu.file.recentmesh
++menu .ngmenu.file.recentmesh
++
++
++proc AddRecentMeshFile { filename } {
++    global progname
++    global dirname
++    catch { [.ngmenu.file.recentmesh delete $filename] }
++    .ngmenu.file.recentmesh insert 0 command -label $filename \
++      -command "AddRecentMeshFile {$filename};
++                  Ng_LoadMesh {$filename};
++                set selectvisual mesh;
++                Ng_SetVisParameters;
++                redraw;
++                wm title . [concat \" $progname - $filename \"];
++                  set dirname {[file dirname $filename]};
++                  set basefilename {[file tail [file rootname $filename]]};
++                  rebuildoccdialog;"
++
++    if { [.ngmenu.file.recentmesh index last] >= 6 } {
++      .ngmenu.file.recentmesh delete last }
++
++    savemeshinifile;
++    }
++loadmeshinifile;
++
++# astrid ende
++
++
++.ngmenu.file add command -label "Save Mesh..." -accelerator "<s><m>" \
++    -command {
++      set types {
++          {"Mesh file"   {.vol .vol.gz}       } }
++
++      set file [tk_getSaveFile -filetypes $types -defaultextension ".vol.gz" -initialfile $basefilename -initialdir $dirname ]
++      if {$file != ""} {
++          Ng_SaveMesh $file }
++      AddRecentMeshFile $file;
++
++    }
++
++.ngmenu.file add command -label "Merge Mesh..." \
++    -command {
++      set types {
++          {"Mesh file"   {.vol}       } }
++      set file [tk_getOpenFile -filetypes $types -defaultextension ".vol"]
++      if {$file != ""} {
++          Ng_MergeMesh $file;
++          set selectvisual mesh
++          Ng_SetVisParameters
++          redraw
++          Ng_ReadStatus;
++      }
++    }
++
++
++
++
++
++.ngmenu.file add command -label "Import Mesh..." \
++    -command {
++      set types {
++          {"Neutral format"  {.mesh .emt} }
++          {"Surface mesh format"  {.surf} }
++          {"Universal format"  {.unv} }
++          {"Olaf format"  {.emt} }
++          {"TET format" {.tet} }
++          {"Pro/ENGINEER neutral format" {.fnf} }
++                }
++      set file [tk_getOpenFile -filetypes $types ]
++      if {$file != ""} {
++          Ng_ImportMesh $file
++          set selectvisual mesh
++          Ng_SetVisParameters
++          redraw
++          Ng_ReadStatus;
++      }
++    }
++
++
++.ngmenu.file add command -label "Export Mesh..." \
++    -command {
++
++#     global meshexportformats
++      foreach exportformat $meshexportformats {
++          if { [lindex $exportformat 0] == $exportfiletype } {
++              set extension [lindex $exportformat 1]
++          }
++      }
++
++      if { $exportfiletype == "Elmer Format"} {
++          set file [file nativename [tk_chooseDirectory -title "Elmer Mesh Export - Select Directory"]]
++        } elseif { $exportfiletype == "OpenFOAM 1.5+ Format"} {
++          set file [file nativename [tk_chooseDirectory -title "OpenFOAM 1.5+ Mesh Export - Select Case Directory"]]
++        } elseif { $exportfiletype == "OpenFOAM 1.5+ Compressed"} {
++          set file [file nativename [tk_chooseDirectory -title "OpenFOAM 1.5+ Mesh Export - Select Case Directory"]]
++        } else {
++#         set file [tk_getSaveFile  -filetypes "{ \"$exportfiletype\" {$extension} }" ]
++          set file [tk_getSaveFile  -filetypes "{ \"$exportfiletype\" {*}}" ]
++      }
++
++      if {$file != ""} {
++          Ng_ExportMesh $file $exportfiletype
++      }
++    }
++
++.ngmenu.file add cascade -label "Export Filetype" -menu .ngmenu.file.filetype
++
++menu .ngmenu.file.filetype
++
++
++.ngmenu.file add separator
++
++
++.ngmenu.file add command -label "Save Solution..." \
++    -command {
++      set types {
++            {"Solution File"  {.sol} }
++            {"VTK File"  {.vtk} }
++        }
++      set file [tk_getSaveFile -filetypes $types ]
++      if {$file != ""} {
++          Ng_SaveSolution $file
++      }
++    }
++#-defaultextension ".sol"  ]
++
++.ngmenu.file add command -label "Import Solution..." \
++    -command {
++      set types { {"Solution File"  {.sol} } }
++      set file [tk_getOpenFile -filetypes $types -defaultextension ".sol"  ]
++      if {$file != ""} {
++          Ng_ImportSolution $file
++          set selectvisual solution
++          Ng_SetVisParameters
++          redraw
++      }
++    }
++
++
++
++
++
++
++set demostarttime [clock clicks -millisecond]
++set stopdemo 0
++proc demoredraw { } {
++    global demostarttime
++    global stopdemo
++    set curtime [clock clicks -millisecond]
++    set result [ Ng_DemoSetTime [expr $curtime - $demostarttime] ]
++    redraw
++    global videoactive
++    if { $videoactive == 1 } {
++        puts "addframe"
++        .ndraw Ng_VideoClip addframe
++    }
++    if { $result == 0 && $stopdemo == 0 } {
++      after 1 { demoredraw }
++    }
++}
++.ngmenu.file add command -label "Show Demo..." \
++    -command {
++      set types { {"Demo File"  {.dem} } }
++      set file [tk_getOpenFile -filetypes $types -defaultextension ".dem"  ]
++      if {$file != ""} {
++          Ng_ShowDemo $file
++          set demostarttime [clock clicks -millisecond]
++          set stopdemo 0
++          demoredraw
++      }
++     }
++
++
++
++
++.ngmenu.file add separator
++
++.ngmenu.file add command -label "Snapshot..." \
++    -command {
++      set types {
++          {"JPG file" {.jpg} }
++          {"GIF file" {.gif} }
++          {"PPM file" {.ppm} }
++      }
++      set file [tk_getSaveFile -filetypes $types]
++#  -defaultextension ".ppm"]
++      if {$file != ""} {
++          .ndraw Ng_SnapShot $file }
++    }
++
++
++.ngmenu.file add cascade -label "Video clip" -menu .ngmenu.file.video
++menu .ngmenu.file.video
++
++set videoactive 0
++.ngmenu.file.video add command -label "start..." \
++    -command {
++      set types {
++          {"MPG file" {.mpg} }
++      }
++      set file [tk_getSaveFile -filetypes $types]
++      if {$file != ""} {
++          .ndraw Ng_VideoClip init $file
++            global videoactive
++            set videoactive 1
++        }
++     }
++
++.ngmenu.file.video add command -label "add frame..." \
++    -command {.ndraw Ng_VideoClip addframe }
++
++.ngmenu.file.video add command -label "one cycle" \
++    -command {
++      set visoptions.redrawperiodic 1
++      for { set j 0 } { $j < 100 } { incr j } {
++          puts "j =  $j"
++          Ng_Vis_Set time [expr (1000 * $j / 100)]
++          redraw
++          .ndraw Ng_VideoClip addframe
++          after 200
++      }
++    }
++
++.ngmenu.file.video add command -label "finalize..." \
++    -command {
++        .ndraw Ng_VideoClip finalize
++        global videoactive
++        set videoactive 0
++    }
++
++
++
++.ngmenu.file add command -label "Save Options" \
++    -command { saveoptions }
++
++
++
++
++.ngmenu.file add separator
++
++
++## herbert tcl load menue
++# .ngmenu.file add command -label "Run tests ..." \
++\#    -command { runtestdialog }
++##
++# .ngmenu.file add separator
++
++.ngmenu.file add command -label "Quit" -accelerator "<q>" \
++    -command {
++        puts "Thank you for using $progname";
++
++        if { [catch { unload libngsolve[info sharedlibextension] ngsolve } result ] } {
++            # puts "cannot unload ngsolve"
++            # puts "error: $result"
++        }
++
++        Ng_Exit;
++        destroy .
++    }
++# exit
++
++
++#####################################################
++#                                                   #
++#     Menu Mesh                                     #
++#                                                   #
++#####################################################
++
++menu .ngmenu.mesh
++.ngmenu.mesh add command -label "Generate Mesh" -accelerator "<g><m>" \
++    -command {
++      set selectvisual mesh
++      Ng_SetVisParameters
++      Ng_GenerateMesh ${meshoptions.firststep} ${meshoptions.laststep}
++      Ng_ReadStatus
++      redraw
++    }
++
++.ngmenu.mesh add command -label "Stop Meshing" \
++    -command { Ng_StopMeshing }
++
++.ngmenu.mesh add command -label "Meshing Options..." \
++    -command meshingoptionsdialog
++
++
++.ngmenu.mesh add separator
++
++.ngmenu.mesh add command -label "Delete Mesh" \
++    -command { Ng_New mesh; Ng_ReadStatus; redraw }
++
++.ngmenu.mesh add command -label "Delete Vol Mesh" \
++    -command { Ng_DeleteVolMesh; Ng_ReadStatus; redraw }
++
++
++.ngmenu.mesh add command -label "Mesh Info" \
++    -command {
++      set dim [Ng_MeshInfo dim]
++      set np [Ng_MeshInfo np]
++      set ne [Ng_MeshInfo ne]
++      set nse [Ng_MeshInfo nse]
++      set nseg [Ng_MeshInfo nseg]
++      set bbox [Ng_MeshInfo bbox]
++      tk_messageBox -message  "Dimension: $dim\nPoints: $np\nElements: $ne\nSurface Els: $nse\nSegments: $nseg\nxmin [lindex $bbox 0] xmax [lindex $bbox 1]\nymin [lindex $bbox 2] ymax [lindex $bbox 3]\nzmin [lindex $bbox 4] zmax [lindex $bbox 5]"
++    }
++
++
++.ngmenu.mesh add command -label "Mesh Quality" \
++    -command {
++      set inplanemin 0
++      set inplanemax 0
++      set betplanemin 0
++      set betplanemax 0
++      Ng_MeshQuality inplanemin inplanemax betplanemin betplanemax
++      puts "Triangle angles : $inplanemin - $inplanemax"
++      puts "Tet angles      : $betplanemin - $betplanemax"
++      tk_messageBox -message  "Triangle angles : $inplanemin - $inplanemax \n Tet angles      : $betplanemin - $betplanemax"
++    }
++
++# .ngmenu.mesh add command -label "Quality Plot" \
++#    -command { qualityviewdialog 1 }
++
++
++
++
++.ngmenu.mesh add command -label "Check Surface Mesh" \
++    -command { Ng_CheckSurfaceMesh }
++.ngmenu.mesh add command -label "Check Volume Mesh" \
++    -command { Ng_CheckVolumeMesh }
++
++.ngmenu.mesh add command -label "Edit Boundary Conditions..." \
++    -command { bcpropdialog }
++
++if { $userlevel == 3 } {
++    .ngmenu.mesh add command -label "Mesh Doctor..." \
++      -command { meshdoctordialog }
++}
++
++.ngmenu.mesh add command -label "METIS Mesh Partitioning..." \
++      -command { METISdialog }
++
++.ngmenu.mesh add separator
++
++.ngmenu.mesh add command -label "Analyze Geometry" \
++    -command { Ng_GenerateMesh ag ag; Ng_ReadStatus; redraw }
++.ngmenu.mesh add command -label "Mesh Edges" \
++    -command { Ng_GenerateMesh me me; Ng_ReadStatus; redraw }
++.ngmenu.mesh add command -label "Mesh Surface" \
++    -command { set selectvisual mesh; Ng_SetVisParameters; \
++                 Ng_GenerateMesh ms ms; Ng_ReadStatus; redraw }
++
++.ngmenu.mesh add command -label "Optimize Surface" \
++    -command { Ng_GenerateMesh os os cmsmSm; redraw }
++
++.ngmenu.mesh add cascade -label "Surface Optim. Step" -menu .ngmenu.mesh.surfoptstep
++
++menu .ngmenu.mesh.surfoptstep
++.ngmenu.mesh.surfoptstep add command -label "Mesh Smoothing" \
++    -command { Ng_GenerateMesh os os m; redraw}
++.ngmenu.mesh.surfoptstep add command -label "Edge swapping (topologic)" \
++    -command { Ng_GenerateMesh os os s; redraw}
++.ngmenu.mesh.surfoptstep add command -label "Edge swapping (metric)" \
++    -command { Ng_GenerateMesh os os S; redraw}
++.ngmenu.mesh.surfoptstep add command -label "Combine points" \
++    -command { Ng_GenerateMesh os os c; redraw}
++
++
++.ngmenu.mesh add separator
++.ngmenu.mesh add command -label "Mesh Volume" \
++    -command { Ng_GenerateMesh mv mv; Ng_ReadStatus }
++.ngmenu.mesh add command -label "Optimize Volume" \
++    -command { Ng_GenerateMesh ov ov; Ng_ReadStatus }
++.ngmenu.mesh add command -label "Smooth Opt Volume" \
++    -command { Ng_GenerateMesh ov ov m; Ng_ReadStatus }
++.ngmenu.mesh add command -label "Smooth Opt Volume Jacobian" \
++    -command { Ng_GenerateMesh ov ov j; Ng_ReadStatus }
++
++
++
++#####################################################
++#                                                   #
++#     Menu Geometry                                 #
++#                                                   #
++#####################################################
++
++menu .ngmenu.geometry
++
++
++
++
++
++
++
++#####################################################
++#                                                   #
++#     Menu View                                     #
++#                                                   #
++#####################################################
++
++menu .ngmenu.view
++.ngmenu.view add command -label "Zoom all" \
++    -command { Ng_ZoomAll; redraw }
++.ngmenu.view add command -label "Center" \
++    -command { Ng_Center; redraw }
++
++.ngmenu.view add command -label "x-y plane" \
++    -command { Ng_StandardRotation xy; redraw }
++.ngmenu.view add command -label "y-x plane" \
++    -command { Ng_StandardRotation yx; redraw }
++.ngmenu.view add command -label "x-z plane" \
++    -command { Ng_StandardRotation xz; redraw }
++.ngmenu.view add command -label "z-x plane" \
++    -command { Ng_StandardRotation zx; redraw }
++.ngmenu.view add command -label "y-z plane" \
++    -command { Ng_StandardRotation yz; redraw }
++.ngmenu.view add command -label "z-y plane" \
++    -command { Ng_StandardRotation zy; redraw }
++
++.ngmenu.view add command -label "Viewing Options..." \
++    -command { viewingoptionsdialog; redraw }
++.ngmenu.view add command -label "Clipping Plane..." \
++    -command { clippingdialog; redraw }
++.ngmenu.view add command -label "Solution Data..." \
++    -command { visual_dialog; redraw }
++.ngmenu.view add checkbutton -variable viewqualityplot \
++    -label "Quality Plot" \
++    -command { qualityviewdialog $viewqualityplot }
++.ngmenu.view add checkbutton -variable memuseplot \
++    -label "Memory Usage" \
++    -command { memusedialog $memuseplot }
++
++
++
++
++#####################################################
++#                                                   #
++#     Menu Refinement                               #
++#                                                   #
++#####################################################
++#
++# Mesh size menu
++#
++menu .ngmenu.meshsize
++.ngmenu.meshsize add command -label "Refine uniform" \
++    -command { Ng_Refine; Ng_HighOrder ${options.elementorder}; Ng_ReadStatus; redraw }
++
++.ngmenu.meshsize add command -label "Second Order" \
++    -command { Ng_SecondOrder; Ng_ReadStatus; redraw }
++
++.ngmenu.meshsize add command -label "Validate Second Order" \
++    -command { Ng_ValidateSecondOrder; Ng_ReadStatus; redraw }
++
++.ngmenu.meshsize add command -label "High Order" \
++    -command { Ng_HighOrder ${options.elementorder}; Ng_ReadStatus; redraw }
++
++.ngmenu.meshsize add separator
++
++.ngmenu.meshsize add command -label "Refinement Dialog..." \
++    -command { refinementdialog }
++.ngmenu.meshsize add command -label "Load Meshsize..." \
++    -command {
++      set types {
++          {"Meshsize file"   {.msz}   } }
++      set file [tk_getOpenFile -filetypes $types]
++      if {$file != ""} {
++          Ng_LoadMeshSize $file;
++      }
++    }
++.ngmenu.meshsize add command -label "MS from Surf Mesh" \
++    -command { Ng_MeshSizeFromSurfaceMesh }
++
++
++if { $userlevel == 3 } {
++.ngmenu.meshsize add command -label "Singular point ms" \
++    -command { Ng_SingularPointMS; }
++
++.ngmenu.meshsize add command -label "Singular edge ms" \
++    -command { Ng_SingularEdgeMS; }
++
++.ngmenu.meshsize add separator
++
++set bisectfilename "";
++
++.ngmenu.meshsize add command -label "Bisection" \
++    -command { Ng_ReadStatus; set oldnp 0; set newnp $status_np;
++#     Ng_BisectCopyMesh;
++#     Ng_Split2Tets;
++      Ng_ReadStatus;
++
++      while { $oldnp < $newnp } {
++#         if { $level == 0 } {
++#             Ng_ExportMesh feppmesh.vol fepp;
++#         } {
++#             Ng_ExportMesh feppmesh$level feppml
++#         }
++          set level [expr $level+1]
++          if { $bisectfilename == ""} {
++              Ng_Bisect;
++          } else {
++              Ng_Bisect $bisectfilename;
++          }
++#         Ng_HighOrder ${options.elementorder} "noparallel"
++#         Ng_Split2Tets;
++          Ng_ReadStatus;
++          redraw;
++
++          if { $bisectfilename == ""} {
++              set oldnp $newnp;
++              set newnp $status_np;
++              puts "oldnp $oldnp newnp $newnp";
++          } else {
++              set oldnp $newnp;
++          }
++      }
++    }
++#    -command { Ng_Bisect; Ng_ReadStatus; redraw }
++#    -command { exec netgen abc >outfile 2>errfile; Ng_ReadStatus; redraw }
++
++}
++
++.ngmenu.meshsize add command -label "Load Refinement Info..." \
++    -command {
++      set types {
++          {"Refinement info" {.refine} }}
++      set bisectfilename [tk_getOpenFile -filetypes $types]
++    }
++
++.ngmenu.meshsize add command -label "Z-Refinement" \
++    -command { Ng_ZRefinement 2; Ng_ReadStatus; redraw }
++
++
++# .ngmenu.meshsize add command -label "hp-Refinement" \
++\#    -command { Ng_HPRefinement 4; Ng_ReadStatus; redraw }
++
++.ngmenu.meshsize add cascade -label "hp-Refinement" -menu .ngmenu.meshsize.hpref
++menu .ngmenu.meshsize.hpref
++.ngmenu.meshsize.hpref add command -label "1 Level" \
++    -command { Ng_HPRefinement 1; Ng_ReadStatus; redraw }
++.ngmenu.meshsize.hpref add command -label "2 Levels" \
++    -command { Ng_HPRefinement 2; Ng_ReadStatus; redraw }
++.ngmenu.meshsize.hpref add command -label "3 Levels" \
++    -command { Ng_HPRefinement 3; Ng_ReadStatus; redraw }
++.ngmenu.meshsize.hpref add command -label "4 Levels" \
++    -command { Ng_HPRefinement 4; Ng_ReadStatus; redraw }
++.ngmenu.meshsize.hpref add command -label "5 Levels" \
++    -command { Ng_HPRefinement 5; Ng_ReadStatus; redraw }
++.ngmenu.meshsize.hpref add command -label "6 Levels" \
++    -command { Ng_HPRefinement 6; Ng_ReadStatus; redraw }
++.ngmenu.meshsize.hpref add command -label "7 Levels" \
++    -command { Ng_HPRefinement 7; Ng_ReadStatus; redraw }
++.ngmenu.meshsize.hpref add command -label "8 Levels" \
++    -command { Ng_HPRefinement 8; Ng_ReadStatus; redraw }
++.ngmenu.meshsize.hpref add command -label "9 Levels" \
++    -command { Ng_HPRefinement 9; Ng_ReadStatus; redraw }
++.ngmenu.meshsize.hpref add command -label "10 Levels" \
++    -command { Ng_HPRefinement 10; Ng_ReadStatus; redraw }
++
++
++.ngmenu.meshsize add command -label "Split to Tets" \
++    -command { Ng_Split2Tets; Ng_ReadStatus; redraw }
++
++
++
++
++
++#####################################################
++#                                                   #
++#     Menu Special                                  #
++#                                                   #
++#####################################################
++
++menu .ngmenu.special
++.ngmenu.special add command -label "Prismatic Boundary Layer" \
++    -command { Ng_GenerateBoundaryLayer; redraw }
++.ngmenu.special add command -label "Insert virtual boundary layer" \
++    -command { Ng_InsertVirtualBL; redraw }
++.ngmenu.special add command -label "Cut off and combine with other" \
++    -command {
++      set types { {"Mesh file"   {.vol}       } }
++      set file [tk_getOpenFile -filetypes $types]
++      if {$file != ""} {
++          Ng_CutOffAndCombine $file;  }
++      redraw
++    }
++.ngmenu.special add command -label "Helmholtz Mesh grading" \
++    -command { Ng_HelmholtzMesh; }
++.ngmenu.special add cascade -label "Colour-based boundary conditions" -menu .ngmenu.special.colbndcond
++
++menu .ngmenu.special.colbndcond
++ .ngmenu.special.colbndcond add command -label "Inspect Colours in mesh" \
++    -command { currmeshcoloursdialog }
++
++ .ngmenu.special.colbndcond add separator
++
++ .ngmenu.special.colbndcond add command -label "Automatic Assignment" \
++    -command { Ng_AutoColourBcProps auto; redraw }
++
++ .ngmenu.special.colbndcond add separator
++
++ set ocffile [file join ${ngdir} netgen.ocf];
++
++ .ngmenu.special.colbndcond add command -label "Select Colour Profile file" \
++    -command {
++      set types { {"Colour Profile file"   {.ocf}   } }
++      set ocffile [tk_getOpenFile -filetypes $types]
++      if {$ocffile == ""} {
++          set ocffile [file join ${ngdir} netgen.ocf]; }
++      }
++ .ngmenu.special.colbndcond add command -label "Profile based Assignment" \
++      -command { Ng_AutoColourBcProps profile ${ocffile}; redraw }
++
++
++# menu .mbar.stl.menu
++# .mbar.stl.menu add command -label "STL options" \
++#     -command { stloptionsdialog; }
++#.mbar.stl.menu add command -label "STL Doctor" \
++#    -command { stldoctordialog; }
++
++
++#####################################################
++#                                                   #
++#     Menu Help                                     #
++#                                                   #
++#####################################################
++
++
++
++
++menu .ngmenu.help
++# .ngmenu.help add command -label "Ng Help..." \
++\#    -command { help_main }
++# .ngmenu.view add checkbutton -variable showsensitivehelp \
++#     -label "Sensitve Help" \
++#     -command { sensitivehelpdialog $showsensitivehelp }
++.ngmenu.view add checkbutton -label "Help Line" -variable showhelpline \
++      -command {
++    if { $showhelpline == 1} {
++      pack .helpline -before .statbar -side bottom -fill x -padx 3p
++    } {
++      pack forget .helpline
++    }
++}
++
++.ngmenu.help add command -label "About..." \
++    -command {
++tk_messageBox -message "This is NETGEN \nmainly written by \nJoachim Schoeberl \nthanks to \nRobert Gaisbauer, Johannes Gerstmayr, Philippose Rajan"
++}
++
++# tk_menuBar .mbar .mbar.file .mbar.mesh .mbar.test .mbar.help
++# focus .mbar
++
++
++
++
++#####################################################
++#                                                   #
++#     Button bar                                    #
++#                                                   #
++#####################################################
++
++frame .bubar -relief raised -bd 2
++pack .bubar -side top -fill x
++
++button .bubar.testb -text "Test" -command { Ng_SaveGeometry }
++button .bubar.surfm -text "Generate Mesh" -command \
++    {
++      .ngmenu.mesh invoke "Generate Mesh";
++#     set selectvisual mesh;
++#     Ng_SetVisParameters;
++#     Ng_GenerateMesh ${meshoptions.firststep} ${meshoptions.laststep}
++#     redraw
++    }
++button .bubar.stopm -text "Stop" -command \
++    {
++      # Ng_StopMeshing;
++      set multithread_terminate 1;
++      set stopdemo 1;
++    }
++button .bubar.exitb -text "Quit" \
++    -command {
++         set ans [tk_messageBox -title "Quit Netgen?" -message "Do you really want to quit Netgen?" -type yesno -default "no" -icon question]
++         if { $ans == "yes" } {
++           .ngmenu.file invoke "Quit";
++         }
++      }
++pack  .bubar.exitb .bubar.surfm .bubar.stopm -side left
++
++#button .bubar.scan -text "Scan" \
++#    -command { Ng_ParseGeometry; set selectvisual geometry; Ng_SetVisParameters; redraw }
++
++button .bubar.zoomall -text "Zoom All" \
++    -command { Ng_ZoomAll; redraw }
++
++button .bubar.center -text "Center" \
++    -command { Ng_Center; redraw }
++
++# tk_optionMenu .bubar.modesel drawmode "rotate" "move  " "zoom  "
++tixOptionMenu .bubar.modesel \
++    -options {
++      label.width  0
++      label.anchor e
++      menubutton.width 6
++    } \
++    -variable drawmode
++
++.bubar.modesel add command rotate -label Rotate
++.bubar.modesel add command move -label Move
++.bubar.modesel add command zoom -label Zoom
++
++
++
++set viewvals { geometry specpoints mesh solution}
++if { $userlevel == 3} {
++    set viewvals { geometry mesh specpoints surfmeshing modelview solution}
++}
++
++set viewvallabs(cross)     "Cross"
++set viewvallabs(geometry)  "Geometry"
++set viewvallabs(mesh)      "Mesh"
++set viewvallabs(specpoints) "Edges"
++set viewvallabs(surfmeshing) "Mesh Gen"
++set viewvallabs(modelview)     "Modeller"
++set viewvallabs(solution)     "Solution"
++
++tixOptionMenu .bubar.selview \
++    -options {
++      label.width  0
++      label.anchor e
++      menubutton.width 10
++    } \
++
++foreach viewv $viewvals {
++    .bubar.selview add command $viewv -label $viewvallabs($viewv)
++}
++
++
++
++.bubar.selview config -variable selectvisual
++.bubar.selview config -command { Ng_SetVisParameters; redraw }
++
++
++pack .bubar.modesel -side right
++pack forget .bubar.modesel
++pack .bubar.center .bubar.zoomall .bubar.selview -side right
++
++.ngmenu.view add checkbutton -variable viewrotatebutton \
++    -label "Enable LeftButton Selection" \
++    -command {
++      if { $viewrotatebutton } {
++          pack .bubar.modesel -side right
++      } {
++          pack forget .bubar.modesel
++      }
++    }
++
++
++
++
++#####################################################
++#                                                   #
++#     Status bar                                    #
++#                                                   #
++#####################################################
++
++label .helpline -text "None"
++pack forget .helpline -side bottom -fill x
++
++frame .statbar -relief flat -bd 2
++pack .statbar -side bottom -fill x
++
++label .statbar.ptslabel -text "Points: "
++label .statbar.ptsval -textvariable status_np
++label .statbar.elslabel -text "   Elements: "
++label .statbar.elsval -textvariable status_ne
++label .statbar.selslabel -text "   Surf Elements: "
++label .statbar.selsval -textvariable status_nse
++# label .statbar.memlabel -text "   Mem: "
++# label .statbar.memval -textvariable mem_moveable
++label .statbar.task -textvariable status_task
++
++pack .statbar.ptslabel .statbar.ptsval -side left -ipady 3p
++pack .statbar.elslabel .statbar.elsval -side left -ipady 3p
++pack .statbar.selslabel .statbar.selsval -side left -ipady 3p
++
++# if { $userlevel == 3 } {
++#    pack .statbar.memlabel .statbar.memval -side left -ipady 3p
++# }
++
++
++tixMeter .statbar.per -value 0 -text 0%
++.statbar.per configure -fillcolor blue
++
++pack .statbar.per -side right
++pack .statbar.task -side right -ipady 4
++
++set qualbaraxis(0) 0
++set qualbar(0) 0
++set qualbarnull(0) 0
++
++
++
++proc timer2 { } {
++    global status_np
++    global status_ne
++    global status_nse
++    global multithread_running
++    global multithread_redraw
++    global status_working
++    global status_task
++    global status_percent
++    global status_tetqualclasses
++
++
++    Ng_ReadStatus
++
++    if { $multithread_redraw == 1 } {
++      set multithread_redraw 0;
++      redraw;
++
++        global videoactive
++        if { $videoactive == 1 } {
++            puts "addframe"
++            .ndraw Ng_VideoClip addframe
++        }
++    }
++
++    # global mem_moveable
++    # set mem_moveable [Ng_MemInfo moveable]
++
++
++    .statbar.per config -value [expr $status_percent/100] -text [format %2.1f [expr 0.1*int(10*$status_percent)]]%
++
++
++    if { $multithread_running } {
++      pack .statbar.per -side right -before .statbar.task -padx 6
++    } {
++      pack forget .statbar.per
++    }
++
++
++
++    # tet quality
++    if {[winfo exists .qualityview_dlg] == 1} {
++
++      global qualbar
++      global qualbarnull
++      global qualbaraxis
++
++      set maxval 0
++      for {set i 0} {$i < 20} {incr i} {
++          if {[lindex $status_tetqualclasses $i] > $maxval} {
++              set maxval [lindex $status_tetqualclasses $i]
++          }
++      }
++
++      set ubound 1
++      while { $ubound < $maxval } {
++          set ubound [expr {10 * $ubound}]
++      }
++      if { $ubound/5 > $maxval } {
++          set ubound [expr $ubound/5]
++      }
++      if { $ubound/2 > $maxval } {
++          set ubound [expr $ubound/2]
++      }
++
++
++
++      for {set i 1} {$i <= 5} {incr i} {
++          # global qualbaraxis($i)
++
++          set value [expr { $i * $ubound / 5 }]
++          .qualityview_dlg.c dchars $qualbaraxis($i) 0 end
++          .qualityview_dlg.c insert $qualbaraxis($i) end $value
++      }
++
++
++      for {set i 0} {$i < 20} {incr i} {
++          set x1 [expr {100 + ($i*15) + 2}]
++          set x2 [expr {$x1+10}]
++
++          set nbrs [lindex $status_tetqualclasses $i]
++          set y [expr (249 - (200 * $nbrs / $ubound ) )]
++
++          # global qualbar($i)
++          .qualityview_dlg.c coords $qualbar($i) $x1 250 $x2 $y
++
++#         global qualbarnull($i)
++          if { $nbrs == 0 } {
++              .qualityview_dlg.c itemconfigure $qualbarnull($i) -text 0
++          } {
++              .qualityview_dlg.c itemconfigure $qualbarnull($i) -text ""
++          }
++      }
++
++    }
++
++
++    if {[winfo exists .memuse_dlg] == 1} {
++
++      global memmark
++      set usemb [Ng_MemInfo usedmb]
++      for {set i 0} {$i < [string length $usemb] } {incr i} {
++          if { [string index $usemb $i] == 0 } {
++              .memuse_dlg.c coords $memmark($i)  [expr 50+$i] 68 [expr 50+$i] 70
++          } {
++              .memuse_dlg.c coords $memmark($i)  [expr 50+$i] 50 [expr 50+$i] 70
++          }
++      }
++
++    }
++    after 30 { timer2 }
++}
++# after 1000 { timer2 }
++timer2
++
++
++
++
++proc bgerror { error } {
++    global errorInfo userlevel
++    if { $userlevel == 3} {
++      puts "ERROR: $error"
++      puts "errinfo: $errorInfo"
++    }
++    tk_messageBox -title "Error Message" -message $error -type ok
++}
++
++
++
++
++
++
++proc smh2 { menuitem } {
++    if {[catch {$menuitem entrycget active -label} name]} {
++      set name "    "
++    }
++    show_menu_help $name
++    update idletasks
++}
++
++bind .ngmenu <<MenuSelect>> { smh2 %W }
++bind .ngmenu.file <<MenuSelect>> { smh2 %W }
++bind .ngmenu.geometry <<MenuSelect>> { smh2 %W }
++bind .ngmenu.mesh <<MenuSelect>> { smh2 %W }
++bind .ngmenu.view <<MenuSelect>> { smh2 %W }
++bind .ngmenu.meshsize <<MenuSelect>> { smh2 %W }
++bind .ngmenu.special <<MenuSelect>> { smh2 %W }
++bind .ngmenu.help <<MenuSelect>> { smh2 %W }
++
++
++# command bindings
++bind . <q> { .ngmenu.file invoke "Quit" }
++bind . <l><g> { .ngmenu.file invoke "Load Geometry..." }  ;
++bind . <l><m> { .ngmenu.file invoke "Load Mesh..." }  ;
++bind . <s><m> { .ngmenu.file invoke "Save Mesh..." }  ;
++bind . <r><f> { .ngmenu.file activate "Recent Files" }  ;
++bind . <n><p> { newprimitivedialog }      ; #
++bind . <e><p> { editprimitivedialog }
++bind . <e><s> { newsoliddialog }
++bind . <g><m> { .ngmenu.mesh invoke "Generate Mesh" }  ;
++
++
++
++
++
+diff -Naur netgen-5.3.1_SRC_orig/ng/netgen.ocf netgen-5.3.1_SRC_modif/ng/netgen.ocf
+--- netgen-5.3.1_SRC_orig/ng/netgen.ocf        2014-08-29 13:54:01.000000000 +0400
++++ netgen-5.3.1_SRC_modif/ng/netgen.ocf       2018-03-01 15:45:35.126037317 +0300
+@@ -1,32 +1,32 @@
+-# Netgen Mesher
+-# Boundary Condition Colour Profile
+-#
+-# Name: netgen.ocf
+-#
+-# Description: Netgen default colour 
+-# profile file for colour based automatic 
+-# assignment of boundary condition numbers
+-#
+-# Format: 
+-# [boundary_colours] (mandatory keyword)
+-# <num of entries>
+-# <bc_num1> <R> <G> <B>
+-# <bc_num2> <R> <G> <B>
+-# ....
+-# ....
+-# NOTE: 
+-# * Currently, the default Boundary 
+-# Condition number assigned to faces without 
+-# any colour defined is "1"
+-# * Boundary Condition number "0" is invalid, 
+-# and should not be used
+-
+-boundary_colours
+-7
+-2     0.0000  0.0000  0.0000
+-3     1.0000  0.0000  0.0000
+-4     0.0000  0.0000  1.0000
+-5     1.0000  1.0000  0.0000
+-6     0.0000  1.0000  1.0000
+-7     1.0000  0.0000  1.0000
+-8     1.0000  1.0000  1.0000
++# Netgen Mesher
++# Boundary Condition Colour Profile
++#
++# Name: netgen.ocf
++#
++# Description: Netgen default colour
++# profile file for colour based automatic
++# assignment of boundary condition numbers
++#
++# Format:
++# [boundary_colours] (mandatory keyword)
++# <num of entries>
++# <bc_num1> <R> <G> <B>
++# <bc_num2> <R> <G> <B>
++# ....
++# ....
++# NOTE:
++# * Currently, the default Boundary
++# Condition number assigned to faces without
++# any colour defined is "1"
++# * Boundary Condition number "0" is invalid,
++# and should not be used
++
++boundary_colours
++7
++2     0.0000  0.0000  0.0000
++3     1.0000  0.0000  0.0000
++4     0.0000  0.0000  1.0000
++5     1.0000  1.0000  0.0000
++6     0.0000  1.0000  1.0000
++7     1.0000  0.0000  1.0000
++8     1.0000  1.0000  1.0000
+diff -Naur netgen-5.3.1_SRC_orig/ng/parameters.tcl netgen-5.3.1_SRC_modif/ng/parameters.tcl
+--- netgen-5.3.1_SRC_orig/ng/parameters.tcl    2014-08-29 13:54:01.000000000 +0400
++++ netgen-5.3.1_SRC_modif/ng/parameters.tcl   2018-03-01 15:45:35.126037317 +0300
+@@ -1,50 +1,50 @@
+-proc setgranularity { gran } {
+-#
+-#    puts "set granularity $gran"
+-#
+-    if {$gran == 6} { return }
+-    set gran [expr $gran - 1]
+-#
+-    global options.curvaturesafety
+-    set surfcurvlist { 1 1.5 2 3 5 }
+-    set options.curvaturesafety [lindex $surfcurvlist $gran]
+-
+-    global options.segmentsperedge
+-    set spelist { 0.3 0.5 1 2 3 }
+-    set options.segmentsperedge [lindex $spelist $gran]
+-    
+-    global stloptions.resthsurfcurvfac
+-    set surfcurvfaclist { 0.25 0.5 1 1.5 3 }
+-    set stloptions.resthsurfcurvfac [lindex $surfcurvfaclist $gran]
+-
+-    global stloptions.resthchartdistfac
+-    set chartdistfaclist { 0.8 1 1.5 2 5 }
+-    set stloptions.resthchartdistfac [lindex $chartdistfaclist $gran]
+-
+-    global stloptions.resthlinelengthfac
+-    set linelengthfaclist { 0.2 0.35 0.5 1.5 3 }
+-    set stloptions.resthlinelengthfac [lindex $linelengthfaclist $gran]
+-
+-    global stloptions.resthcloseedgefac
+-    set closeedgefaclist { 0.5 1 2 3.5 5 }
+-    set stloptions.resthcloseedgefac [lindex $closeedgefaclist $gran]
+-
+-      global stloptions.resthminedgelen
+-    set minedgelenlist { 0.002 0.02 0.2 1.0 2.0 5.0 10.0 }
+-    set stloptions.resthminedgelen [lindex $minedgelenlist $gran]
+-      
+-    global stloptions.resthedgeanglefac
+-    set edgeanglefaclist { 0.25 0.5 1 1.5 3 }
+-    set stloptions.resthedgeanglefac [lindex $edgeanglefaclist $gran]
+-
+-
+-    global stloptions.resthsurfmeshcurvfac 
+-    set surfmeshcurvlist { 1 1.5 2 3 5 }
+-    set stloptions.resthsurfmeshcurvfac [lindex $surfmeshcurvlist $gran]
+-
+-
+-    global options.grading
+-    set gradinglist { 0.7 0.5 0.3 0.2 0.1 }
+-    set options.grading [lindex $gradinglist $gran]
+-    
+-}
++proc setgranularity { gran } {
++#
++#    puts "set granularity $gran"
++#
++    if {$gran == 6} { return }
++    set gran [expr $gran - 1]
++#
++    global options.curvaturesafety
++    set surfcurvlist { 1 1.5 2 3 5 }
++    set options.curvaturesafety [lindex $surfcurvlist $gran]
++
++    global options.segmentsperedge
++    set spelist { 0.3 0.5 1 2 3 }
++    set options.segmentsperedge [lindex $spelist $gran]
++
++    global stloptions.resthsurfcurvfac
++    set surfcurvfaclist { 0.25 0.5 1 1.5 3 }
++    set stloptions.resthsurfcurvfac [lindex $surfcurvfaclist $gran]
++
++    global stloptions.resthchartdistfac
++    set chartdistfaclist { 0.8 1 1.5 2 5 }
++    set stloptions.resthchartdistfac [lindex $chartdistfaclist $gran]
++
++    global stloptions.resthlinelengthfac
++    set linelengthfaclist { 0.2 0.35 0.5 1.5 3 }
++    set stloptions.resthlinelengthfac [lindex $linelengthfaclist $gran]
++
++    global stloptions.resthcloseedgefac
++    set closeedgefaclist { 0.5 1 2 3.5 5 }
++    set stloptions.resthcloseedgefac [lindex $closeedgefaclist $gran]
++
++      global stloptions.resthminedgelen
++    set minedgelenlist { 0.002 0.02 0.2 1.0 2.0 5.0 10.0 }
++    set stloptions.resthminedgelen [lindex $minedgelenlist $gran]
++
++    global stloptions.resthedgeanglefac
++    set edgeanglefaclist { 0.25 0.5 1 1.5 3 }
++    set stloptions.resthedgeanglefac [lindex $edgeanglefaclist $gran]
++
++
++    global stloptions.resthsurfmeshcurvfac
++    set surfmeshcurvlist { 1 1.5 2 3 5 }
++    set stloptions.resthsurfmeshcurvfac [lindex $surfmeshcurvlist $gran]
++
++
++    global options.grading
++    set gradinglist { 0.7 0.5 0.3 0.2 0.1 }
++    set options.grading [lindex $gradinglist $gran]
++
++}
+diff -Naur netgen-5.3.1_SRC_orig/ng/variables.tcl netgen-5.3.1_SRC_modif/ng/variables.tcl
+--- netgen-5.3.1_SRC_orig/ng/variables.tcl     2014-08-29 13:54:01.000000000 +0400
++++ netgen-5.3.1_SRC_modif/ng/variables.tcl    2018-03-01 15:45:35.127037209 +0300
+@@ -1,706 +1,706 @@
+-# netgen global tcl-variables
+-
+-set drawmode rotate
+-set selectvisual geometry
+-
+-set dirname .
+-set loadgeomtypevar "All Geometry types"
+-
+-set basefilename filename
+-
+-set meshoptions.fineness 3
+-set meshoptions.firststep ag
+-set meshoptions.laststep ov
+-set options.memory 0
+-
+-set options.localh 1
+-set options.delaunay 1
+-set options.checkoverlap 1
+-set options.checkoverlappingboundary 0
+-set options.checkchartboundary 1
+-set options.startinsurface 0
+-set options.blockfill 1
+-set options.debugmode 0
+-set options.dooptimize 1
+-set options.parthread 1
+-set options.elsizeweight 0.2
+-set options.secondorder 0
+-set options.elementorder 1
+-set options.quad 0
+-set options.inverttets 0
+-set options.inverttrigs 0
+-set options.autozrefine 0
+-
+-
+-set options.meshsize 1000
+-set options.minmeshsize 0
+-
+-set options.curvaturesafety 2
+-set options.segmentsperedge 2
+-set options.meshsizefilename ""
+-set options.badellimit 175
+-set options.optsteps2d 3
+-set options.optsteps3d 5
+-set options.opterrpow 2
+-
+-set options.grading 0.5
+-set options.printmsg 2
+-
+-set debug.slowchecks 0
+-set debug.debugoutput 0
+-set debug.haltexistingline 0
+-set debug.haltoverlap 0
+-set debug.haltsuccess 0
+-set debug.haltnosuccess 0
+-set debug.haltlargequalclass 0
+-set debug.haltsegment 0
+-set debug.haltnode 0
+-set debug.haltface 0
+-set debug.haltfacenr 0
+-set debug.haltsegmentp1 0
+-set debug.haltsegmentp2 0
+-
+-set geooptions.drawcsg 1
+-set geooptions.detail 0.001
+-set geooptions.accuracy 1e-6
+-set geooptions.facets 20
+-set geooptions.minx -1000
+-set geooptions.miny -1000
+-set geooptions.minz -1000
+-set geooptions.maxx 1000
+-set geooptions.maxy 1000
+-set geooptions.maxz 1000
+-
+-set viewqualityplot 0
+-set memuseplot 0
+-set viewrotatebutton 0
+-set showsensitivehelp 0
+-set showhelpline 0
+-
+-set viewoptions.specpointvlen 0.3
+-set viewoptions.light.amb 0.3
+-set viewoptions.light.diff 0.7
+-set viewoptions.light.spec 1
+-set viewoptions.light.locviewer 0
+-set viewoptions.mat.shininess 50
+-set viewoptions.mat.transp 0.3
+-set viewoptions.colormeshsize 0
+-set viewoptions.whitebackground 1
+-set viewoptions.drawcoordinatecross 1
+-set viewoptions.drawcolorbar 1
+-set viewoptions.drawnetgenlogo 1
+-set viewoptions.stereo 0
+-set viewoptions.shrink 1
+-
+-set viewoptions.drawfilledtrigs 1
+-set viewoptions.drawedges 0
+-set viewoptions.drawbadels 0
+-set viewoptions.centerpoint 0
+-set viewoptions.drawelement 0
+-set viewoptions.drawoutline 1
+-set viewoptions.drawtets 0
+-set viewoptions.drawtetsdomain 0
+-set viewoptions.drawprisms 0
+-set viewoptions.drawpyramids 0
+-set viewoptions.drawhexes 0
+-set viewoptions.drawidentified 0
+-set viewoptions.drawpointnumbers 0
+-set viewoptions.drawedgenumbers 0
+-set viewoptions.drawfacenumbers 0
+-set viewoptions.drawelementnumbers 0
+-set viewoptions.drawdomainsurf 0
+-
+-set viewoptions.drawededges 1
+-set viewoptions.drawedpoints 1
+-set viewoptions.drawedpointnrs 0
+-set viewoptions.drawedtangents 0
+-set viewoptions.drawededgenrs 0
+-set viewoptions.drawmetispartition 0
+-
+-set viewoptions.drawcurveproj 0
+-set viewoptions.drawcurveprojedge 1
+-
+-set viewoptions.clipping.nx 0
+-set viewoptions.clipping.ny 1
+-set viewoptions.clipping.nz 0
+-set viewoptions.clipping.dist 0
+-set viewoptions.clipping.dist2 0
+-set viewoptions.clipping.enable 0
+-set viewoptions.clipping.onlydomain 0
+-set viewoptions.clipping.notdomain 0
+-
+-set viewoptions.usecentercoords 0
+-set viewoptions.centerx 0
+-set viewoptions.centery 0
+-set viewoptions.centerz 0
+-
+-set viewoptions.drawspecpoint 0
+-set viewoptions.specpointx 0
+-set viewoptions.specpointy 0
+-set viewoptions.specpointz 0
+-
+-
+-set stloptions.showtrias 0
+-set stloptions.showfilledtrias 1
+-set stloptions.showedges 1
+-set stloptions.showmarktrias 0
+-set stloptions.showactivechart 0
+-set stloptions.yangle 30
+-set stloptions.contyangle 20
+-set stloptions.edgecornerangle 60
+-set stloptions.chartangle 15
+-set stloptions.outerchartangle 70
+-set stloptions.usesearchtree 0
+-set stloptions.chartnumber 1
+-set stloptions.charttrignumber 1
+-set stloptions.chartnumberoffset 0
+-
+-set stloptions.atlasminh 0.1
+-set stloptions.resthsurfcurvfac 2
+-set stloptions.resthsurfcurvenable 0
+-set stloptions.resthatlasfac 2
+-set stloptions.resthatlasenable 1
+-set stloptions.resthchartdistfac 1.2
+-set stloptions.resthchartdistenable 1
+-set stloptions.resthlinelengthfac 0.5
+-set stloptions.resthlinelengthenable 1
+-set stloptions.resthcloseedgefac 1
+-set stloptions.resthcloseedgeenable 1
+-set stloptions.resthminedgelen 0.01
+-set stloptions.resthminedgelenenable 1
+-set stloptions.resthedgeanglefac 1
+-set stloptions.resthedgeangleenable 0
+-set stloptions.resthsurfmeshcurvfac 1
+-set stloptions.resthsurfmeshcurvenable 0
+-set stloptions.recalchopt 1
+-
+-set stldoctor.drawmeshededges 1
+-set stldoctor.geom_tol_fact 0.000001
+-set stldoctor.useexternaledges 0
+-set stldoctor.showfaces 0
+-set stldoctor.conecheck 1
+-set stldoctor.spiralcheck 1
+-set stldoctor.selecttrig 0
+-set stldoctor.selectmode 1
+-set stldoctor.longlinefact 0
+-set stldoctor.showexcluded 1
+-set stldoctor.edgeselectmode 0
+-set stldoctor.nodeofseltrig 1
+-set stldoctor.showtouchedtrigchart 0
+-set stldoctor.showedgecornerpoints 0
+-set stldoctor.showmarkedtrigs 1
+-set stldoctor.dirtytrigfact 0.01
+-set stldoctor.smoothangle 90
+-set stldoctor.selectwithmouse 1
+-set stldoctor.showvicinity 0
+-set stldoctor.vicinity 50
+-set stldoctor.smoothnormalsweight 0.2
+-
+-set occoptions.showvolumenr 0
+-set occoptions.showsurfaces 1
+-set occoptions.showedges 1
+-set occoptions.showsolidnr 0
+-set occoptions.showsolidnr2 0
+-set occoptions.visproblemfaces 0
+-set occoptions.zoomtohighlightedentity 0
+-set occoptions.deflection 1
+-set occoptions.tolerance 1e-3
+-set occoptions.fixsmalledges 1
+-set occoptions.fixspotstripfaces 1
+-set occoptions.sewfaces 1
+-set occoptions.makesolids 1
+-set occoptions.splitpartitions 0
+-
+-set meshdoctor.active 0
+-set meshdoctor.markedgedist 1
+-
+-
+-# variablenname mit punkt problematisch!
+-set status_np 0
+-set status_ne 0
+-set status_nse 0
+-set status_working " "
+-set status_task " "
+-set status_percent 0
+-set status_filename 0
+-set status_tetqualclasses "10 20 30 40 10 20 30 40 10 20 30 40 10 20 30 40 10 20 30 40"
+-
+-set exportfiletype "Neutral Format"
+-
+-set preproc.facenr 0
+-set preproc.selectmode query
+-set preproc.numtrig 0
+-
+-set mem_moveable 0
+-
+-
+-set multithread_pause 0
+-set multithread_testmode 0
+-set multithread_redraw 0
+-set multithread_drawing 0
+-set multithread_terminate 0
+-set multithread_running 0
+-
+-set level 0
+-
+-
+-set tablesforoutput {}
+-
+-
+-
+-set optlist {
+-    options.localh 
+-    options.delaunay 
+-    options.checkoverlap 
+-    options.startinsurface 
+-    options.blockfill 
+-    options.dooptimize 
+-    options.elsizeweight 
+-    options.meshsize 
+-    options.minmeshsize 
+-    options.curvaturesafety 
+-    options.optsteps2d 
+-    options.optsteps3d 
+-    options.secondorder
+-}
+-
+-
+-set visoptions.usetexture 1
+-set visoptions.invcolor 0
+-set visoptions.imaginary 0
+-set visoptions.lineartexture 0
+-set visoptions.numtexturecols 16
+-set visoptions.showclipsolution 1
+-set visoptions.showsurfacesolution 0
+-set visoptions.drawfieldlines 0
+-set visoptions.drawpointcurves 1
+-set visoptions.numfieldlines 100
+-set visoptions.fieldlinesrandomstart 0
+-set visoptions.fieldlinesstartarea box
+-set visoptions.fieldlinesstartareap1x 1
+-set visoptions.fieldlinesstartareap1y 1
+-set visoptions.fieldlinesstartareap1z 1
+-set visoptions.fieldlinesstartareap2x 0
+-set visoptions.fieldlinesstartareap2y 0
+-set visoptions.fieldlinesstartareap2z 0
+-set visoptions.fieldlinesstartface -1
+-set visoptions.fieldlinesfilename none
+-set visoptions.fieldlinestolerance 0.0005
+-set visoptions.fieldlinesrktype crungekutta
+-set visoptions.fieldlineslength 0.5
+-set visoptions.fieldlinesmaxpoints 500
+-set visoptions.fieldlinesthickness 0.0015
+-set visoptions.fieldlinesvecfunction none
+-set visoptions.fieldlinesphase 0
+-set visoptions.fieldlinesonlyonephase 1
+-
+-
+-set visoptions.lineplotfile empty
+-set visoptions.lineplotsource file
+-set visoptions.lineplotusingx 0
+-set visoptions.lineplotusingy 1
+-set visoptions.lineplotautoscale 1
+-set visoptions.lineplotxmin 0
+-set visoptions.lineplotxmax 1
+-set visoptions.lineplotymin 0
+-set visoptions.lineplotymax 1
+-set visoptions.lineplotcurrentnum -1
+-set visoptions.lineplotinfos ""
+-set visoptions.lineplotselected none
+-set visoptions.lineplotselector ""
+-set visoptions.lineplotcolor red
+-set visoptions.lineplotsizex 500
+-set visoptions.lineplotsizey 400
+-set visoptions.lineplotselectedeval 0
+-set visoptions.lineplotdatadescr "column1 column2 column3"
+-set visoptions.lineplotxcoordselector ""
+-set visoptions.lineplotycoordselector ""
+-set visoptions.evaluatefilenames none
+-set visoptions.evaluatefiledescriptions none
+-
+-
+-set visoptions.clipsolution none
+-set visoptions.scalfunction none
+-set visoptions.vecfunction none
+-set visoptions.evaluate abs
+-set visoptions.gridsize 20
+-set visoptions.xoffset 0
+-set visoptions.yoffset 0
+-set visoptions.autoscale 1
+-set visoptions.redrawperiodic 0
+-set visoptions.logscale 0
+-set visoptions.mminval 0
+-set visoptions.mmaxval 1
+-set visoptions.isolines 0
+-set visoptions.isosurf 0
+-set visoptions.subdivisions 1
+-set visoptions.numiso 10
+-set visoptions.autoredraw 0
+-set visoptions.autoredrawtime 2
+-set visoptions.simulationtime 0
+-set visoptions.multidimcomponent 0
+-
+-# deform by vector function
+-set visoptions.deformation 0
+-set visoptions.scaledeform1 1
+-set visoptions.scaledeform2 1
+-
+-set parallel_netgen 0
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-set optfilename [file join $nguserdir ng.opt]
+-set inifilename [file join $nguserdir ng.ini]
+-set meshinifilename [file join $nguserdir ngmesh.ini]
+-
+-global env
+-if { [llength [array names env NG_OPT]] == 1 } {
+-    if { [string length $env(NG_OPT)] > 0 } {
+-      set optfilename $env(NG_OPT) 
+-    }
+-}
+-
+-if { [file exists $optfilename] == 1 } {
+-    set datei [open $optfilename r]
+-    while { [gets $datei line] >= 0 } {
+-      set [lindex $line 0] [lindex $line 1]
+-    }
+-    close $datei
+-} {
+-    puts "optfile $optfilename does not exist - using default values"
+-}
+-
+-
+-
+-
+-proc saveoptions { } {
+-    uplevel 1  {
+-      set file $optfilename
+-      
+-      if {$file != ""} {
+-          set datei [open $file w]
+-          puts $datei "dirname  ${dirname}"
+-          puts $datei "loadgeomtypevar  \"${loadgeomtypevar}\""
+-          puts $datei "exportfiletype  \"${exportfiletype}\""
+-          puts $datei "meshoptions.fineness  ${meshoptions.fineness}"
+-          puts $datei "meshoptions.firststep ${meshoptions.firststep}"
+-          puts $datei "meshoptions.laststep  ${meshoptions.laststep}" 
+-          puts $datei "options.localh  ${options.localh}"
+-          puts $datei "options.delaunay  ${options.delaunay}"
+-          puts $datei "options.checkoverlap  ${options.checkoverlap}"
+-          puts $datei "options.checkchartboundary  ${options.checkchartboundary}"
+-          puts $datei "options.startinsurface  ${options.startinsurface}" 
+-          puts $datei "options.blockfill  ${options.blockfill}" 
+-          puts $datei "options.debugmode  ${options.debugmode}" 
+-          puts $datei "options.dooptimize ${options.dooptimize}" 
+-          puts $datei "options.parthread  ${options.parthread}"  
+-          puts $datei "options.elsizeweight  ${options.elsizeweight}" 
+-          puts $datei "options.secondorder  ${options.secondorder}" 
+-          puts $datei "options.elementorder  ${options.elementorder}" 
+-#         puts $datei "options.memory  ${options.memory}" 
+-          puts $datei "options.quad  ${options.quad}" 
+-          puts $datei "options.inverttets  ${options.inverttets}" 
+-          puts $datei "options.inverttrigs  ${options.inverttrigs}" 
+-          puts $datei "options.autozrefine ${options.autozrefine}" 
+-          puts $datei "options.meshsize  ${options.meshsize}" 
+-          puts $datei "options.minmeshsize  ${options.minmeshsize}" 
+-          puts $datei "options.curvaturesafety  ${options.curvaturesafety}" 
+-          puts $datei "options.segmentsperedge  ${options.segmentsperedge}" 
+-          puts $datei "options.meshsizefilename  ${options.meshsizefilename}" 
+-          puts $datei "options.badellimit  ${options.badellimit}" 
+-          puts $datei "options.optsteps2d  ${options.optsteps2d}" 
+-          puts $datei "options.optsteps3d  ${options.optsteps3d}" 
+-          puts $datei "options.opterrpow  ${options.opterrpow}" 
+-          puts $datei "options.grading  ${options.grading}" 
+-          puts $datei "options.printmsg  ${options.printmsg}" 
+-          puts $datei "geooptions.drawcsg  ${geooptions.drawcsg}" 
+-          puts $datei "geooptions.detail  ${geooptions.detail}" 
+-          puts $datei "geooptions.accuracy  ${geooptions.accuracy}" 
+-          puts $datei "geooptions.facets  ${geooptions.facets}" 
+-          puts $datei "geooptions.minx  ${geooptions.minx}" 
+-          puts $datei "geooptions.miny  ${geooptions.miny}" 
+-          puts $datei "geooptions.minz  ${geooptions.minz}" 
+-          puts $datei "geooptions.maxx  ${geooptions.maxx}" 
+-          puts $datei "geooptions.maxy  ${geooptions.maxy}" 
+-          puts $datei "geooptions.maxz  ${geooptions.maxz}" 
+-          puts $datei "viewoptions.specpointvlen  ${viewoptions.specpointvlen}" 
+-          puts $datei "viewoptions.light.amb  ${viewoptions.light.amb}" 
+-          puts $datei "viewoptions.light.diff ${viewoptions.light.diff}"
+-          puts $datei "viewoptions.light.spec ${viewoptions.light.spec}"
+-          puts $datei "viewoptions.light.locviewer ${viewoptions.light.locviewer}"
+-          puts $datei "viewoptions.mat.shininess  ${viewoptions.mat.shininess}" 
+-          puts $datei "viewoptions.mat.transp  ${viewoptions.mat.transp}" 
+-          puts $datei "viewoptions.colormeshsize ${viewoptions.colormeshsize}"
+-          puts $datei "viewoptions.whitebackground  ${viewoptions.whitebackground}" 
+-          puts $datei "viewoptions.drawcolorbar  ${viewoptions.drawcolorbar}" 
+-          puts $datei "viewoptions.drawcoordinatecross  ${viewoptions.drawcoordinatecross}" 
+-          puts $datei "viewoptions.drawnetgenlogo  ${viewoptions.drawnetgenlogo}" 
+-          puts $datei "viewoptions.stereo  ${viewoptions.stereo}" 
+-          puts $datei "viewoptions.drawfilledtrigs  ${viewoptions.drawfilledtrigs}" 
+-          puts $datei "viewoptions.drawedges  ${viewoptions.drawedges}" 
+-          puts $datei "viewoptions.drawbadels  ${viewoptions.drawbadels}" 
+-          puts $datei "viewoptions.centerpoint  ${viewoptions.centerpoint}" 
+-          puts $datei "viewoptions.drawelement  ${viewoptions.drawelement}" 
+-          puts $datei "viewoptions.drawoutline  ${viewoptions.drawoutline}" 
+-          puts $datei "viewoptions.drawtets  ${viewoptions.drawtets}"
+-          puts $datei "viewoptions.drawprisms  ${viewoptions.drawprisms}"
+-          puts $datei "viewoptions.drawpyramids  ${viewoptions.drawpyramids}" 
+-          puts $datei "viewoptions.drawhexes  ${viewoptions.drawhexes}" 
+-          puts $datei "viewoptions.drawidentified  ${viewoptions.drawidentified}" 
+-          puts $datei "viewoptions.drawpointnumbers  ${viewoptions.drawpointnumbers}" 
+-          
+-          puts $datei "viewoptions.drawededges  ${viewoptions.drawededges}" 
+-          puts $datei "viewoptions.drawedpoints  ${viewoptions.drawedpoints}" 
+-          puts $datei "viewoptions.drawedpointnrs  ${viewoptions.drawedpointnrs}" 
+-          puts $datei "viewoptions.drawedtangents  ${viewoptions.drawedtangents}" 
+-          puts $datei "viewoptions.shrink  ${viewoptions.shrink}" 
+-          
+-          puts $datei "stloptions.showtrias  ${stloptions.showtrias}" 
+-          puts $datei "stloptions.showfilledtrias  ${stloptions.showfilledtrias}" 
+-          puts $datei "stloptions.showedges  ${stloptions.showedges}" 
+-          puts $datei "stloptions.showmarktrias  ${stloptions.showmarktrias}" 
+-          puts $datei "stloptions.showactivechart  ${stloptions.showactivechart}" 
+-          puts $datei "stloptions.yangle  ${stloptions.yangle}" 
+-          puts $datei "stloptions.contyangle  ${stloptions.contyangle}" 
+-          puts $datei "stloptions.edgecornerangle  ${stloptions.edgecornerangle}" 
+-          puts $datei "stloptions.chartangle  ${stloptions.chartangle}" 
+-          puts $datei "stloptions.outerchartangle  ${stloptions.outerchartangle}" 
+-          puts $datei "stloptions.usesearchtree  ${stloptions.usesearchtree}" 
+-          puts $datei "stloptions.chartnumber  ${stloptions.chartnumber}" 
+-          puts $datei "stloptions.charttrignumber  ${stloptions.charttrignumber}" 
+-          puts $datei "stloptions.chartnumberoffset  ${stloptions.chartnumberoffset}" 
+-          puts $datei "stloptions.atlasminh  ${stloptions.atlasminh}" 
+-          puts $datei "stloptions.resthsurfcurvfac  ${stloptions.resthsurfcurvfac}" 
+-          puts $datei "stloptions.resthsurfcurvenable  ${stloptions.resthsurfcurvenable}" 
+-          puts $datei "stloptions.resthatlasfac  ${stloptions.resthatlasfac}" 
+-          puts $datei "stloptions.resthatlasenable  ${stloptions.resthatlasenable}" 
+-          puts $datei "stloptions.resthchartdistfac  ${stloptions.resthchartdistfac}" 
+-          puts $datei "stloptions.resthchartdistenable  ${stloptions.resthchartdistenable}" 
+-          puts $datei "stloptions.resthlinelengthfac  ${stloptions.resthlinelengthfac}" 
+-          puts $datei "stloptions.resthlinelengthenable  ${stloptions.resthlinelengthenable}" 
+-              puts $datei "stloptions.resthminedgelen ${stloptions.resthminedgelen}"
+-              puts $datei "stloptions.resthminedgelenenable ${stloptions.resthminedgelenenable}"
+-          puts $datei "stloptions.resthcloseedgefac  ${stloptions.resthcloseedgefac}" 
+-          puts $datei "stloptions.resthcloseedgeenable  ${stloptions.resthcloseedgeenable}" 
+-          puts $datei "stloptions.resthedgeanglefac  ${stloptions.resthedgeanglefac}" 
+-          puts $datei "stloptions.resthedgeangleenable  ${stloptions.resthedgeangleenable}" 
+-          puts $datei "stloptions.resthsurfmeshcurvfac  ${stloptions.resthsurfmeshcurvfac}" 
+-          puts $datei "stloptions.resthsurfmeshcurvenable  ${stloptions.resthsurfmeshcurvenable}" 
+-          puts $datei "stloptions.recalchopt  ${stloptions.recalchopt}" 
+-          
+-          puts $datei "visoptions.subdivisions ${visoptions.subdivisions}"
+-          puts $datei "visoptions.autoredraw ${visoptions.autoredraw}"
+-          puts $datei "visoptions.autoredrawtime ${visoptions.autoredrawtime}"
+-
+-
+-          # trafo options   
+-          # if exist trafooptions then ...
+-          if { [info exists trafooptions.solver] == 1 } {
+-              puts $datei "trafooptions.solver ${trafooptions.solver}" 
+-              puts $datei "trafooptions.levels ${trafooptions.levels}" 
+-              puts $datei "trafooptions.linits ${trafooptions.linits}" 
+-              puts $datei "trafooptions.nonlinits ${trafooptions.nonlinits}" 
+-              puts $datei "trafooptions.stabcurrent ${trafooptions.stabcurrent}" 
+-              puts $datei "trafooptions.checkcond ${trafooptions.checkcond}" 
+-              puts $datei "trafooptions.maxdirect ${trafooptions.maxdirect}" 
+-              puts $datei "trafooptions.secondorder ${trafooptions.secondorder}" 
+-              puts $datei "trafooptions.homogenizedcore ${trafooptions.homogenizedcore}" 
+-              puts $datei "trafooptions.ordercore ${trafooptions.ordercore}" 
+-              puts $datei "trafooptions.simplecurrents ${trafooptions.simplecurrents}" 
+-              puts $datei "trafooptions.assemblecomplexmatrix ${trafooptions.assemblecomplexmatrix}" 
+-
+-              puts $datei "trafooptions.meshcasing  ${trafooptions.meshcasing}" 
+-              puts $datei "trafooptions.meshcore    ${trafooptions.meshcore}" 
+-              puts $datei "trafooptions.meshclumps  ${trafooptions.meshclumps}" 
+-              puts $datei "trafooptions.meshshields ${trafooptions.meshshields}" 
+-              puts $datei "trafooptions.meshcoils   ${trafooptions.meshcoils}" 
+-              puts $datei "trafooptions.bcmdirectory  ${trafooptions.bcmdirectory}" 
+-              puts $datei "trafooptions.lossdensityfile  ${trafooptions.lossdensityfile}" 
+-          }
+-
+-          if { [info exists smalltrafomodell.tankheight] == 1 } {
+-              puts $datei "smalltrafomodell.tankheight ${smalltrafomodell.tankheight}"
+-              puts $datei "smalltrafomodell.tankwidth ${smalltrafomodell.tankwidth}"
+-              puts $datei "smalltrafomodell.tanklength ${smalltrafomodell.tanklength}"
+-              puts $datei "smalltrafomodell.corewidth ${smalltrafomodell.corewidth}"
+-              puts $datei "smalltrafomodell.windowheight ${smalltrafomodell.windowheight}"
+-              puts $datei "smalltrafomodell.limbdistance ${smalltrafomodell.limbdistance}"
+-              puts $datei "smalltrafomodell.xposcore ${smalltrafomodell.xposcore}"
+-              puts $datei "smalltrafomodell.yposcore ${smalltrafomodell.yposcore}"
+-              puts $datei "smalltrafomodell.zposcore ${smalltrafomodell.zposcore}"
+-              puts $datei "smalltrafomodell.leakagefluxguidethickness ${smalltrafomodell.leakagefluxguidethickness}"
+-              puts $datei "smalltrafomodell.leakagefluxguidewidth ${smalltrafomodell.leakagefluxguidewidth}"
+-              puts $datei "smalltrafomodell.leakagefluxguidezposition ${smalltrafomodell.leakagefluxguidezposition}"
+-              puts $datei "smalltrafomodell.limbcoil.1 ${smalltrafomodell.limbcoil.1}"
+-              puts $datei "smalltrafomodell.ricoil.1 ${smalltrafomodell.ricoil.1}"
+-              puts $datei "smalltrafomodell.rocoil.1 ${smalltrafomodell.rocoil.1}"
+-              puts $datei "smalltrafomodell.zposcoil.1 ${smalltrafomodell.zposcoil.1}"
+-              puts $datei "smalltrafomodell.heightcoil.1 ${smalltrafomodell.heightcoil.1}"
+-              puts $datei "smalltrafomodell.currentcoil.1 ${smalltrafomodell.currentcoil.1}"
+-              puts $datei "smalltrafomodell.nturnscoil.1 ${smalltrafomodell.nturnscoil.1}"
+-              puts $datei "smalltrafomodell.limbcoil.2 ${smalltrafomodell.limbcoil.2}"
+-              puts $datei "smalltrafomodell.ricoil.2 ${smalltrafomodell.ricoil.2}"
+-              puts $datei "smalltrafomodell.rocoil.2 ${smalltrafomodell.rocoil.2}"
+-              puts $datei "smalltrafomodell.zposcoil.2 ${smalltrafomodell.zposcoil.2}"
+-              puts $datei "smalltrafomodell.heightcoil.2 ${smalltrafomodell.heightcoil.2}"
+-              puts $datei "smalltrafomodell.currentcoil.2 ${smalltrafomodell.currentcoil.2}"
+-              puts $datei "smalltrafomodell.nturnscoil.2 ${smalltrafomodell.nturnscoil.2}"
+-              puts $datei "smalltrafomodell.limbcoil.3 ${smalltrafomodell.limbcoil.3}"
+-              puts $datei "smalltrafomodell.ricoil.3 ${smalltrafomodell.ricoil.3}"
+-              puts $datei "smalltrafomodell.rocoil.3 ${smalltrafomodell.rocoil.3}"
+-              puts $datei "smalltrafomodell.zposcoil.3 ${smalltrafomodell.zposcoil.3}"
+-              puts $datei "smalltrafomodell.heightcoil.3 ${smalltrafomodell.heightcoil.3}"
+-              puts $datei "smalltrafomodell.currentcoil.3 ${smalltrafomodell.currentcoil.3}"
+-              puts $datei "smalltrafomodell.nturnscoil.3 ${smalltrafomodell.nturnscoil.3}"
+-              puts $datei "smalltrafomodell.limbcoil.4 ${smalltrafomodell.limbcoil.4}"
+-              puts $datei "smalltrafomodell.ricoil.4 ${smalltrafomodell.ricoil.4}"
+-              puts $datei "smalltrafomodell.rocoil.4 ${smalltrafomodell.rocoil.4}"
+-              puts $datei "smalltrafomodell.zposcoil.4 ${smalltrafomodell.zposcoil.4}"
+-              puts $datei "smalltrafomodell.heightcoil.4 ${smalltrafomodell.heightcoil.4}"
+-              puts $datei "smalltrafomodell.currentcoil.4 ${smalltrafomodell.currentcoil.4}"
+-              puts $datei "smalltrafomodell.nturnscoil.4 ${smalltrafomodell.nturnscoil.4}"
+-              puts $datei "smalltrafomodell.limbcoil.5 ${smalltrafomodell.limbcoil.5}"
+-              puts $datei "smalltrafomodell.ricoil.5 ${smalltrafomodell.ricoil.5}"
+-              puts $datei "smalltrafomodell.rocoil.5 ${smalltrafomodell.rocoil.5}"
+-              puts $datei "smalltrafomodell.zposcoil.5 ${smalltrafomodell.zposcoil.5}"
+-              puts $datei "smalltrafomodell.heightcoil.5 ${smalltrafomodell.heightcoil.5}"
+-              puts $datei "smalltrafomodell.currentcoil.5 ${smalltrafomodell.currentcoil.5}"
+-              puts $datei "smalltrafomodell.nturnscoil.5 ${smalltrafomodell.nturnscoil.5}"
+-              puts $datei "smalltrafomodell.limbcoil.6 ${smalltrafomodell.limbcoil.6}"
+-              puts $datei "smalltrafomodell.ricoil.6 ${smalltrafomodell.ricoil.6}"
+-              puts $datei "smalltrafomodell.rocoil.6 ${smalltrafomodell.rocoil.6}"
+-              puts $datei "smalltrafomodell.zposcoil.6 ${smalltrafomodell.zposcoil.6}"
+-              puts $datei "smalltrafomodell.heightcoil.6 ${smalltrafomodell.heightcoil.6}"
+-              puts $datei "smalltrafomodell.currentcoil.6 ${smalltrafomodell.currentcoil.6}"
+-              puts $datei "smalltrafomodell.nturnscoil.6 ${smalltrafomodell.nturnscoil.6}"
+-              puts $datei "smalltrafomodell.limbtest.1 ${smalltrafomodell.limbtest.1}"
+-              puts $datei "smalltrafomodell.heighttest.1 ${smalltrafomodell.heighttest.1}"
+-              puts $datei "smalltrafomodell.widthtest.1 ${smalltrafomodell.widthtest.1}"
+-              puts $datei "smalltrafomodell.rtest.1 ${smalltrafomodell.rtest.1}"
+-              puts $datei "smalltrafomodell.zpostest.1 ${smalltrafomodell.zpostest.1}"
+-              puts $datei "smalltrafomodell.edgeradiustest.1 ${smalltrafomodell.edgeradiustest.1}"
+-              puts $datei "smalltrafomodell.finetest.1 ${smalltrafomodell.finetest.1}"
+-              puts $datei "smalltrafomodell.conductivetest.1 ${smalltrafomodell.conductivetest.1}"
+-              puts $datei "smalltrafomodell.limbtest.2 ${smalltrafomodell.limbtest.2}"
+-              puts $datei "smalltrafomodell.heighttest.2 ${smalltrafomodell.heighttest.2}"
+-              puts $datei "smalltrafomodell.widthtest.2 ${smalltrafomodell.widthtest.2}"
+-              puts $datei "smalltrafomodell.rtest.2 ${smalltrafomodell.rtest.2}"
+-              puts $datei "smalltrafomodell.zpostest.2 ${smalltrafomodell.zpostest.2}"
+-              puts $datei "smalltrafomodell.edgeradiustest.2 ${smalltrafomodell.edgeradiustest.2}"
+-              puts $datei "smalltrafomodell.finetest.2 ${smalltrafomodell.finetest.2}"
+-              puts $datei "smalltrafomodell.conductivetest.2 ${smalltrafomodell.conductivetest.2}"
+-              puts $datei "smalltrafomodell.limbtest.3 ${smalltrafomodell.limbtest.3}"
+-              puts $datei "smalltrafomodell.heighttest.3 ${smalltrafomodell.heighttest.3}"
+-              puts $datei "smalltrafomodell.widthtest.3 ${smalltrafomodell.widthtest.3}"
+-              puts $datei "smalltrafomodell.rtest.3 ${smalltrafomodell.rtest.3}"
+-              puts $datei "smalltrafomodell.zpostest.3 ${smalltrafomodell.zpostest.3}"
+-              puts $datei "smalltrafomodell.edgeradiustest.3 ${smalltrafomodell.edgeradiustest.3}"
+-              puts $datei "smalltrafomodell.finetest.3 ${smalltrafomodell.finetest.3}"
+-              puts $datei "smalltrafomodell.conductivetest.3 ${smalltrafomodell.conductivetest.3}"
+-              puts $datei "smalltrafomodell.limbtest.4 ${smalltrafomodell.limbtest.4}"
+-              puts $datei "smalltrafomodell.heighttest.4 ${smalltrafomodell.heighttest.4}"
+-              puts $datei "smalltrafomodell.widthtest.4 ${smalltrafomodell.widthtest.4}"
+-              puts $datei "smalltrafomodell.rtest.4 ${smalltrafomodell.rtest.4}"
+-              puts $datei "smalltrafomodell.zpostest.4 ${smalltrafomodell.zpostest.4}"
+-              puts $datei "smalltrafomodell.edgeradiustest.4 ${smalltrafomodell.edgeradiustest.4}"
+-              puts $datei "smalltrafomodell.finetest.4 ${smalltrafomodell.finetest.4}"
+-              puts $datei "smalltrafomodell.conductivetest.4 ${smalltrafomodell.conductivetest.4}"
+-              puts $datei "smalltrafomodell.nperitest ${smalltrafomodell.nperitest}"
+-              puts $datei "smalltrafomodell.filename ${smalltrafomodell.filename}"
+-              puts $datei "smalltrafomodell.murlfguide ${smalltrafomodell.murlfguide}"
+-              puts $datei "smalltrafomodell.murtestwire ${smalltrafomodell.murtestwire}"
+-              puts $datei "smalltrafomodell.murcore ${smalltrafomodell.murcore}"
+-              puts $datei "smalltrafomodell.kappalfguide ${smalltrafomodell.kappalfguide}"
+-              puts $datei "smalltrafomodell.kappatestwire ${smalltrafomodell.kappatestwire}"
+-              puts $datei "smalltrafomodell.kappacore ${smalltrafomodell.kappacore}"
+-          }
+-          
+-          
+-          close $datei
+-      }
+-    }
+-}
+-
+-
+-
+-
+-# the ini file is saved on demand :
+-proc saveinifile { } {
+-    global inifilename
+-    if {[catch { set datei [open $inifilename w] } result ]} {
+-      puts "cannot write file $inifilename"
+-    } {
+-      for { set i [.ngmenu.file.recent index last] } { $i >= 1 } { incr i -1 } {
+-          puts $datei "recentfile \"[.ngmenu.file.recent entrycget $i -label]\""
+-      }
+-      close $datei
+-    }    
+-}
+-
+-
+-proc savemeshinifile { } {
+-    global meshinifilename 
+-    if {[catch { set datei [open $meshinifilename w] } result ]} {
+-      puts "cannot write file $meshinifilename"
+-    } {
+-      for { set i [.ngmenu.file.recentmesh index last] } { $i >= 1 } { incr i -1 } {
+-          puts $datei "recentfile \"[.ngmenu.file.recentmesh entrycget $i -label]\""
+-      }
+-      close $datei
+-    }    
+-}
+-
+-
+-
+-proc loadinifile { } { 
+-    global inifilename
+-    if { [file exists $inifilename] == 1 } {
+-      set datei [open $inifilename r]
+-      while { [gets $datei line] >= 0 } {
+-          if {[lindex $line 0] == "recentfile"} {
+-                  set filename [lindex $line 1]
+-                  if { [file exists $filename] == 1 } {
+-                      AddRecentFile $filename
+-                  }   
+-          }
+-      }
+-      close $datei
+-    }
+-}
+-
+-
+-proc loadmeshinifile { } {
+-    global meshinifilename
+-    if { [file exists $meshinifilename] == 1 } {
+-      set datei [open $meshinifilename r]
+-      while { [gets $datei line] >= 0 } {
+-          if {[lindex $line 0] == "recentfile"} {
+-              set filename [lindex $line 1]
+-              if { [file exists $filename] == 1 } {
+-                  AddRecentMeshFile $filename
+-              }       
+-          }
+-      }
+-      close $datei
+-    }
+- }
+-
+-
+-
+-
+-
+-set cmdindex {}
+-set hlpindex {}
+-set secindex {}
++# netgen global tcl-variables
++
++set drawmode rotate
++set selectvisual geometry
++
++set dirname .
++set loadgeomtypevar "All Geometry types"
++
++set basefilename filename
++
++set meshoptions.fineness 3
++set meshoptions.firststep ag
++set meshoptions.laststep ov
++set options.memory 0
++
++set options.localh 1
++set options.delaunay 1
++set options.checkoverlap 1
++set options.checkoverlappingboundary 0
++set options.checkchartboundary 1
++set options.startinsurface 0
++set options.blockfill 1
++set options.debugmode 0
++set options.dooptimize 1
++set options.parthread 1
++set options.elsizeweight 0.2
++set options.secondorder 0
++set options.elementorder 1
++set options.quad 0
++set options.inverttets 0
++set options.inverttrigs 0
++set options.autozrefine 0
++
++
++set options.meshsize 1000
++set options.minmeshsize 0
++
++set options.curvaturesafety 2
++set options.segmentsperedge 2
++set options.meshsizefilename ""
++set options.badellimit 175
++set options.optsteps2d 3
++set options.optsteps3d 5
++set options.opterrpow 2
++
++set options.grading 0.5
++set options.printmsg 2
++
++set debug.slowchecks 0
++set debug.debugoutput 0
++set debug.haltexistingline 0
++set debug.haltoverlap 0
++set debug.haltsuccess 0
++set debug.haltnosuccess 0
++set debug.haltlargequalclass 0
++set debug.haltsegment 0
++set debug.haltnode 0
++set debug.haltface 0
++set debug.haltfacenr 0
++set debug.haltsegmentp1 0
++set debug.haltsegmentp2 0
++
++set geooptions.drawcsg 1
++set geooptions.detail 0.001
++set geooptions.accuracy 1e-6
++set geooptions.facets 20
++set geooptions.minx -1000
++set geooptions.miny -1000
++set geooptions.minz -1000
++set geooptions.maxx 1000
++set geooptions.maxy 1000
++set geooptions.maxz 1000
++
++set viewqualityplot 0
++set memuseplot 0
++set viewrotatebutton 0
++set showsensitivehelp 0
++set showhelpline 0
++
++set viewoptions.specpointvlen 0.3
++set viewoptions.light.amb 0.3
++set viewoptions.light.diff 0.7
++set viewoptions.light.spec 1
++set viewoptions.light.locviewer 0
++set viewoptions.mat.shininess 50
++set viewoptions.mat.transp 0.3
++set viewoptions.colormeshsize 0
++set viewoptions.whitebackground 1
++set viewoptions.drawcoordinatecross 1
++set viewoptions.drawcolorbar 1
++set viewoptions.drawnetgenlogo 1
++set viewoptions.stereo 0
++set viewoptions.shrink 1
++
++set viewoptions.drawfilledtrigs 1
++set viewoptions.drawedges 0
++set viewoptions.drawbadels 0
++set viewoptions.centerpoint 0
++set viewoptions.drawelement 0
++set viewoptions.drawoutline 1
++set viewoptions.drawtets 0
++set viewoptions.drawtetsdomain 0
++set viewoptions.drawprisms 0
++set viewoptions.drawpyramids 0
++set viewoptions.drawhexes 0
++set viewoptions.drawidentified 0
++set viewoptions.drawpointnumbers 0
++set viewoptions.drawedgenumbers 0
++set viewoptions.drawfacenumbers 0
++set viewoptions.drawelementnumbers 0
++set viewoptions.drawdomainsurf 0
++
++set viewoptions.drawededges 1
++set viewoptions.drawedpoints 1
++set viewoptions.drawedpointnrs 0
++set viewoptions.drawedtangents 0
++set viewoptions.drawededgenrs 0
++set viewoptions.drawmetispartition 0
++
++set viewoptions.drawcurveproj 0
++set viewoptions.drawcurveprojedge 1
++
++set viewoptions.clipping.nx 0
++set viewoptions.clipping.ny 1
++set viewoptions.clipping.nz 0
++set viewoptions.clipping.dist 0
++set viewoptions.clipping.dist2 0
++set viewoptions.clipping.enable 0
++set viewoptions.clipping.onlydomain 0
++set viewoptions.clipping.notdomain 0
++
++set viewoptions.usecentercoords 0
++set viewoptions.centerx 0
++set viewoptions.centery 0
++set viewoptions.centerz 0
++
++set viewoptions.drawspecpoint 0
++set viewoptions.specpointx 0
++set viewoptions.specpointy 0
++set viewoptions.specpointz 0
++
++
++set stloptions.showtrias 0
++set stloptions.showfilledtrias 1
++set stloptions.showedges 1
++set stloptions.showmarktrias 0
++set stloptions.showactivechart 0
++set stloptions.yangle 30
++set stloptions.contyangle 20
++set stloptions.edgecornerangle 60
++set stloptions.chartangle 15
++set stloptions.outerchartangle 70
++set stloptions.usesearchtree 0
++set stloptions.chartnumber 1
++set stloptions.charttrignumber 1
++set stloptions.chartnumberoffset 0
++
++set stloptions.atlasminh 0.1
++set stloptions.resthsurfcurvfac 2
++set stloptions.resthsurfcurvenable 0
++set stloptions.resthatlasfac 2
++set stloptions.resthatlasenable 1
++set stloptions.resthchartdistfac 1.2
++set stloptions.resthchartdistenable 1
++set stloptions.resthlinelengthfac 0.5
++set stloptions.resthlinelengthenable 1
++set stloptions.resthcloseedgefac 1
++set stloptions.resthcloseedgeenable 1
++set stloptions.resthminedgelen 0.01
++set stloptions.resthminedgelenenable 1
++set stloptions.resthedgeanglefac 1
++set stloptions.resthedgeangleenable 0
++set stloptions.resthsurfmeshcurvfac 1
++set stloptions.resthsurfmeshcurvenable 0
++set stloptions.recalchopt 1
++
++set stldoctor.drawmeshededges 1
++set stldoctor.geom_tol_fact 0.000001
++set stldoctor.useexternaledges 0
++set stldoctor.showfaces 0
++set stldoctor.conecheck 1
++set stldoctor.spiralcheck 1
++set stldoctor.selecttrig 0
++set stldoctor.selectmode 1
++set stldoctor.longlinefact 0
++set stldoctor.showexcluded 1
++set stldoctor.edgeselectmode 0
++set stldoctor.nodeofseltrig 1
++set stldoctor.showtouchedtrigchart 0
++set stldoctor.showedgecornerpoints 0
++set stldoctor.showmarkedtrigs 1
++set stldoctor.dirtytrigfact 0.01
++set stldoctor.smoothangle 90
++set stldoctor.selectwithmouse 1
++set stldoctor.showvicinity 0
++set stldoctor.vicinity 50
++set stldoctor.smoothnormalsweight 0.2
++
++set occoptions.showvolumenr 0
++set occoptions.showsurfaces 1
++set occoptions.showedges 1
++set occoptions.showsolidnr 0
++set occoptions.showsolidnr2 0
++set occoptions.visproblemfaces 0
++set occoptions.zoomtohighlightedentity 0
++set occoptions.deflection 1
++set occoptions.tolerance 1e-3
++set occoptions.fixsmalledges 1
++set occoptions.fixspotstripfaces 1
++set occoptions.sewfaces 1
++set occoptions.makesolids 1
++set occoptions.splitpartitions 0
++
++set meshdoctor.active 0
++set meshdoctor.markedgedist 1
++
++
++# variablenname mit punkt problematisch!
++set status_np 0
++set status_ne 0
++set status_nse 0
++set status_working " "
++set status_task " "
++set status_percent 0
++set status_filename 0
++set status_tetqualclasses "10 20 30 40 10 20 30 40 10 20 30 40 10 20 30 40 10 20 30 40"
++
++set exportfiletype "Neutral Format"
++
++set preproc.facenr 0
++set preproc.selectmode query
++set preproc.numtrig 0
++
++set mem_moveable 0
++
++
++set multithread_pause 0
++set multithread_testmode 0
++set multithread_redraw 0
++set multithread_drawing 0
++set multithread_terminate 0
++set multithread_running 0
++
++set level 0
++
++
++set tablesforoutput {}
++
++
++
++set optlist {
++    options.localh
++    options.delaunay
++    options.checkoverlap
++    options.startinsurface
++    options.blockfill
++    options.dooptimize
++    options.elsizeweight
++    options.meshsize
++    options.minmeshsize
++    options.curvaturesafety
++    options.optsteps2d
++    options.optsteps3d
++    options.secondorder
++}
++
++
++set visoptions.usetexture 1
++set visoptions.invcolor 0
++set visoptions.imaginary 0
++set visoptions.lineartexture 0
++set visoptions.numtexturecols 16
++set visoptions.showclipsolution 1
++set visoptions.showsurfacesolution 0
++set visoptions.drawfieldlines 0
++set visoptions.drawpointcurves 1
++set visoptions.numfieldlines 100
++set visoptions.fieldlinesrandomstart 0
++set visoptions.fieldlinesstartarea box
++set visoptions.fieldlinesstartareap1x 1
++set visoptions.fieldlinesstartareap1y 1
++set visoptions.fieldlinesstartareap1z 1
++set visoptions.fieldlinesstartareap2x 0
++set visoptions.fieldlinesstartareap2y 0
++set visoptions.fieldlinesstartareap2z 0
++set visoptions.fieldlinesstartface -1
++set visoptions.fieldlinesfilename none
++set visoptions.fieldlinestolerance 0.0005
++set visoptions.fieldlinesrktype crungekutta
++set visoptions.fieldlineslength 0.5
++set visoptions.fieldlinesmaxpoints 500
++set visoptions.fieldlinesthickness 0.0015
++set visoptions.fieldlinesvecfunction none
++set visoptions.fieldlinesphase 0
++set visoptions.fieldlinesonlyonephase 1
++
++
++set visoptions.lineplotfile empty
++set visoptions.lineplotsource file
++set visoptions.lineplotusingx 0
++set visoptions.lineplotusingy 1
++set visoptions.lineplotautoscale 1
++set visoptions.lineplotxmin 0
++set visoptions.lineplotxmax 1
++set visoptions.lineplotymin 0
++set visoptions.lineplotymax 1
++set visoptions.lineplotcurrentnum -1
++set visoptions.lineplotinfos ""
++set visoptions.lineplotselected none
++set visoptions.lineplotselector ""
++set visoptions.lineplotcolor red
++set visoptions.lineplotsizex 500
++set visoptions.lineplotsizey 400
++set visoptions.lineplotselectedeval 0
++set visoptions.lineplotdatadescr "column1 column2 column3"
++set visoptions.lineplotxcoordselector ""
++set visoptions.lineplotycoordselector ""
++set visoptions.evaluatefilenames none
++set visoptions.evaluatefiledescriptions none
++
++
++set visoptions.clipsolution none
++set visoptions.scalfunction none
++set visoptions.vecfunction none
++set visoptions.evaluate abs
++set visoptions.gridsize 20
++set visoptions.xoffset 0
++set visoptions.yoffset 0
++set visoptions.autoscale 1
++set visoptions.redrawperiodic 0
++set visoptions.logscale 0
++set visoptions.mminval 0
++set visoptions.mmaxval 1
++set visoptions.isolines 0
++set visoptions.isosurf 0
++set visoptions.subdivisions 1
++set visoptions.numiso 10
++set visoptions.autoredraw 0
++set visoptions.autoredrawtime 2
++set visoptions.simulationtime 0
++set visoptions.multidimcomponent 0
++
++# deform by vector function
++set visoptions.deformation 0
++set visoptions.scaledeform1 1
++set visoptions.scaledeform2 1
++
++set parallel_netgen 0
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++set optfilename [file join $nguserdir ng.opt]
++set inifilename [file join $nguserdir ng.ini]
++set meshinifilename [file join $nguserdir ngmesh.ini]
++
++global env
++if { [llength [array names env NG_OPT]] == 1 } {
++    if { [string length $env(NG_OPT)] > 0 } {
++      set optfilename $env(NG_OPT)
++    }
++}
++
++if { [file exists $optfilename] == 1 } {
++    set datei [open $optfilename r]
++    while { [gets $datei line] >= 0 } {
++      set [lindex $line 0] [lindex $line 1]
++    }
++    close $datei
++} {
++    puts "optfile $optfilename does not exist - using default values"
++}
++
++
++
++
++proc saveoptions { } {
++    uplevel 1  {
++      set file $optfilename
++
++      if {$file != ""} {
++          set datei [open $file w]
++          puts $datei "dirname  ${dirname}"
++          puts $datei "loadgeomtypevar  \"${loadgeomtypevar}\""
++          puts $datei "exportfiletype  \"${exportfiletype}\""
++          puts $datei "meshoptions.fineness  ${meshoptions.fineness}"
++          puts $datei "meshoptions.firststep ${meshoptions.firststep}"
++          puts $datei "meshoptions.laststep  ${meshoptions.laststep}"
++          puts $datei "options.localh  ${options.localh}"
++          puts $datei "options.delaunay  ${options.delaunay}"
++          puts $datei "options.checkoverlap  ${options.checkoverlap}"
++          puts $datei "options.checkchartboundary  ${options.checkchartboundary}"
++          puts $datei "options.startinsurface  ${options.startinsurface}"
++          puts $datei "options.blockfill  ${options.blockfill}"
++          puts $datei "options.debugmode  ${options.debugmode}"
++          puts $datei "options.dooptimize ${options.dooptimize}"
++          puts $datei "options.parthread  ${options.parthread}"
++          puts $datei "options.elsizeweight  ${options.elsizeweight}"
++          puts $datei "options.secondorder  ${options.secondorder}"
++          puts $datei "options.elementorder  ${options.elementorder}"
++#         puts $datei "options.memory  ${options.memory}"
++          puts $datei "options.quad  ${options.quad}"
++          puts $datei "options.inverttets  ${options.inverttets}"
++          puts $datei "options.inverttrigs  ${options.inverttrigs}"
++          puts $datei "options.autozrefine ${options.autozrefine}"
++          puts $datei "options.meshsize  ${options.meshsize}"
++          puts $datei "options.minmeshsize  ${options.minmeshsize}"
++          puts $datei "options.curvaturesafety  ${options.curvaturesafety}"
++          puts $datei "options.segmentsperedge  ${options.segmentsperedge}"
++          puts $datei "options.meshsizefilename  ${options.meshsizefilename}"
++          puts $datei "options.badellimit  ${options.badellimit}"
++          puts $datei "options.optsteps2d  ${options.optsteps2d}"
++          puts $datei "options.optsteps3d  ${options.optsteps3d}"
++          puts $datei "options.opterrpow  ${options.opterrpow}"
++          puts $datei "options.grading  ${options.grading}"
++          puts $datei "options.printmsg  ${options.printmsg}"
++          puts $datei "geooptions.drawcsg  ${geooptions.drawcsg}"
++          puts $datei "geooptions.detail  ${geooptions.detail}"
++          puts $datei "geooptions.accuracy  ${geooptions.accuracy}"
++          puts $datei "geooptions.facets  ${geooptions.facets}"
++          puts $datei "geooptions.minx  ${geooptions.minx}"
++          puts $datei "geooptions.miny  ${geooptions.miny}"
++          puts $datei "geooptions.minz  ${geooptions.minz}"
++          puts $datei "geooptions.maxx  ${geooptions.maxx}"
++          puts $datei "geooptions.maxy  ${geooptions.maxy}"
++          puts $datei "geooptions.maxz  ${geooptions.maxz}"
++          puts $datei "viewoptions.specpointvlen  ${viewoptions.specpointvlen}"
++          puts $datei "viewoptions.light.amb  ${viewoptions.light.amb}"
++          puts $datei "viewoptions.light.diff ${viewoptions.light.diff}"
++          puts $datei "viewoptions.light.spec ${viewoptions.light.spec}"
++          puts $datei "viewoptions.light.locviewer ${viewoptions.light.locviewer}"
++          puts $datei "viewoptions.mat.shininess  ${viewoptions.mat.shininess}"
++          puts $datei "viewoptions.mat.transp  ${viewoptions.mat.transp}"
++          puts $datei "viewoptions.colormeshsize ${viewoptions.colormeshsize}"
++          puts $datei "viewoptions.whitebackground  ${viewoptions.whitebackground}"
++          puts $datei "viewoptions.drawcolorbar  ${viewoptions.drawcolorbar}"
++          puts $datei "viewoptions.drawcoordinatecross  ${viewoptions.drawcoordinatecross}"
++          puts $datei "viewoptions.drawnetgenlogo  ${viewoptions.drawnetgenlogo}"
++          puts $datei "viewoptions.stereo  ${viewoptions.stereo}"
++          puts $datei "viewoptions.drawfilledtrigs  ${viewoptions.drawfilledtrigs}"
++          puts $datei "viewoptions.drawedges  ${viewoptions.drawedges}"
++          puts $datei "viewoptions.drawbadels  ${viewoptions.drawbadels}"
++          puts $datei "viewoptions.centerpoint  ${viewoptions.centerpoint}"
++          puts $datei "viewoptions.drawelement  ${viewoptions.drawelement}"
++          puts $datei "viewoptions.drawoutline  ${viewoptions.drawoutline}"
++          puts $datei "viewoptions.drawtets  ${viewoptions.drawtets}"
++          puts $datei "viewoptions.drawprisms  ${viewoptions.drawprisms}"
++          puts $datei "viewoptions.drawpyramids  ${viewoptions.drawpyramids}"
++          puts $datei "viewoptions.drawhexes  ${viewoptions.drawhexes}"
++          puts $datei "viewoptions.drawidentified  ${viewoptions.drawidentified}"
++          puts $datei "viewoptions.drawpointnumbers  ${viewoptions.drawpointnumbers}"
++
++          puts $datei "viewoptions.drawededges  ${viewoptions.drawededges}"
++          puts $datei "viewoptions.drawedpoints  ${viewoptions.drawedpoints}"
++          puts $datei "viewoptions.drawedpointnrs  ${viewoptions.drawedpointnrs}"
++          puts $datei "viewoptions.drawedtangents  ${viewoptions.drawedtangents}"
++          puts $datei "viewoptions.shrink  ${viewoptions.shrink}"
++
++          puts $datei "stloptions.showtrias  ${stloptions.showtrias}"
++          puts $datei "stloptions.showfilledtrias  ${stloptions.showfilledtrias}"
++          puts $datei "stloptions.showedges  ${stloptions.showedges}"
++          puts $datei "stloptions.showmarktrias  ${stloptions.showmarktrias}"
++          puts $datei "stloptions.showactivechart  ${stloptions.showactivechart}"
++          puts $datei "stloptions.yangle  ${stloptions.yangle}"
++          puts $datei "stloptions.contyangle  ${stloptions.contyangle}"
++          puts $datei "stloptions.edgecornerangle  ${stloptions.edgecornerangle}"
++          puts $datei "stloptions.chartangle  ${stloptions.chartangle}"
++          puts $datei "stloptions.outerchartangle  ${stloptions.outerchartangle}"
++          puts $datei "stloptions.usesearchtree  ${stloptions.usesearchtree}"
++          puts $datei "stloptions.chartnumber  ${stloptions.chartnumber}"
++          puts $datei "stloptions.charttrignumber  ${stloptions.charttrignumber}"
++          puts $datei "stloptions.chartnumberoffset  ${stloptions.chartnumberoffset}"
++          puts $datei "stloptions.atlasminh  ${stloptions.atlasminh}"
++          puts $datei "stloptions.resthsurfcurvfac  ${stloptions.resthsurfcurvfac}"
++          puts $datei "stloptions.resthsurfcurvenable  ${stloptions.resthsurfcurvenable}"
++          puts $datei "stloptions.resthatlasfac  ${stloptions.resthatlasfac}"
++          puts $datei "stloptions.resthatlasenable  ${stloptions.resthatlasenable}"
++          puts $datei "stloptions.resthchartdistfac  ${stloptions.resthchartdistfac}"
++          puts $datei "stloptions.resthchartdistenable  ${stloptions.resthchartdistenable}"
++          puts $datei "stloptions.resthlinelengthfac  ${stloptions.resthlinelengthfac}"
++          puts $datei "stloptions.resthlinelengthenable  ${stloptions.resthlinelengthenable}"
++              puts $datei "stloptions.resthminedgelen ${stloptions.resthminedgelen}"
++              puts $datei "stloptions.resthminedgelenenable ${stloptions.resthminedgelenenable}"
++          puts $datei "stloptions.resthcloseedgefac  ${stloptions.resthcloseedgefac}"
++          puts $datei "stloptions.resthcloseedgeenable  ${stloptions.resthcloseedgeenable}"
++          puts $datei "stloptions.resthedgeanglefac  ${stloptions.resthedgeanglefac}"
++          puts $datei "stloptions.resthedgeangleenable  ${stloptions.resthedgeangleenable}"
++          puts $datei "stloptions.resthsurfmeshcurvfac  ${stloptions.resthsurfmeshcurvfac}"
++          puts $datei "stloptions.resthsurfmeshcurvenable  ${stloptions.resthsurfmeshcurvenable}"
++          puts $datei "stloptions.recalchopt  ${stloptions.recalchopt}"
++
++          puts $datei "visoptions.subdivisions ${visoptions.subdivisions}"
++          puts $datei "visoptions.autoredraw ${visoptions.autoredraw}"
++          puts $datei "visoptions.autoredrawtime ${visoptions.autoredrawtime}"
++
++
++          # trafo options
++          # if exist trafooptions then ...
++          if { [info exists trafooptions.solver] == 1 } {
++              puts $datei "trafooptions.solver ${trafooptions.solver}"
++              puts $datei "trafooptions.levels ${trafooptions.levels}"
++              puts $datei "trafooptions.linits ${trafooptions.linits}"
++              puts $datei "trafooptions.nonlinits ${trafooptions.nonlinits}"
++              puts $datei "trafooptions.stabcurrent ${trafooptions.stabcurrent}"
++              puts $datei "trafooptions.checkcond ${trafooptions.checkcond}"
++              puts $datei "trafooptions.maxdirect ${trafooptions.maxdirect}"
++              puts $datei "trafooptions.secondorder ${trafooptions.secondorder}"
++              puts $datei "trafooptions.homogenizedcore ${trafooptions.homogenizedcore}"
++              puts $datei "trafooptions.ordercore ${trafooptions.ordercore}"
++              puts $datei "trafooptions.simplecurrents ${trafooptions.simplecurrents}"
++              puts $datei "trafooptions.assemblecomplexmatrix ${trafooptions.assemblecomplexmatrix}"
++
++              puts $datei "trafooptions.meshcasing  ${trafooptions.meshcasing}"
++              puts $datei "trafooptions.meshcore    ${trafooptions.meshcore}"
++              puts $datei "trafooptions.meshclumps  ${trafooptions.meshclumps}"
++              puts $datei "trafooptions.meshshields ${trafooptions.meshshields}"
++              puts $datei "trafooptions.meshcoils   ${trafooptions.meshcoils}"
++              puts $datei "trafooptions.bcmdirectory  ${trafooptions.bcmdirectory}"
++              puts $datei "trafooptions.lossdensityfile  ${trafooptions.lossdensityfile}"
++          }
++
++          if { [info exists smalltrafomodell.tankheight] == 1 } {
++              puts $datei "smalltrafomodell.tankheight ${smalltrafomodell.tankheight}"
++              puts $datei "smalltrafomodell.tankwidth ${smalltrafomodell.tankwidth}"
++              puts $datei "smalltrafomodell.tanklength ${smalltrafomodell.tanklength}"
++              puts $datei "smalltrafomodell.corewidth ${smalltrafomodell.corewidth}"
++              puts $datei "smalltrafomodell.windowheight ${smalltrafomodell.windowheight}"
++              puts $datei "smalltrafomodell.limbdistance ${smalltrafomodell.limbdistance}"
++              puts $datei "smalltrafomodell.xposcore ${smalltrafomodell.xposcore}"
++              puts $datei "smalltrafomodell.yposcore ${smalltrafomodell.yposcore}"
++              puts $datei "smalltrafomodell.zposcore ${smalltrafomodell.zposcore}"
++              puts $datei "smalltrafomodell.leakagefluxguidethickness ${smalltrafomodell.leakagefluxguidethickness}"
++              puts $datei "smalltrafomodell.leakagefluxguidewidth ${smalltrafomodell.leakagefluxguidewidth}"
++              puts $datei "smalltrafomodell.leakagefluxguidezposition ${smalltrafomodell.leakagefluxguidezposition}"
++              puts $datei "smalltrafomodell.limbcoil.1 ${smalltrafomodell.limbcoil.1}"
++              puts $datei "smalltrafomodell.ricoil.1 ${smalltrafomodell.ricoil.1}"
++              puts $datei "smalltrafomodell.rocoil.1 ${smalltrafomodell.rocoil.1}"
++              puts $datei "smalltrafomodell.zposcoil.1 ${smalltrafomodell.zposcoil.1}"
++              puts $datei "smalltrafomodell.heightcoil.1 ${smalltrafomodell.heightcoil.1}"
++              puts $datei "smalltrafomodell.currentcoil.1 ${smalltrafomodell.currentcoil.1}"
++              puts $datei "smalltrafomodell.nturnscoil.1 ${smalltrafomodell.nturnscoil.1}"
++              puts $datei "smalltrafomodell.limbcoil.2 ${smalltrafomodell.limbcoil.2}"
++              puts $datei "smalltrafomodell.ricoil.2 ${smalltrafomodell.ricoil.2}"
++              puts $datei "smalltrafomodell.rocoil.2 ${smalltrafomodell.rocoil.2}"
++              puts $datei "smalltrafomodell.zposcoil.2 ${smalltrafomodell.zposcoil.2}"
++              puts $datei "smalltrafomodell.heightcoil.2 ${smalltrafomodell.heightcoil.2}"
++              puts $datei "smalltrafomodell.currentcoil.2 ${smalltrafomodell.currentcoil.2}"
++              puts $datei "smalltrafomodell.nturnscoil.2 ${smalltrafomodell.nturnscoil.2}"
++              puts $datei "smalltrafomodell.limbcoil.3 ${smalltrafomodell.limbcoil.3}"
++              puts $datei "smalltrafomodell.ricoil.3 ${smalltrafomodell.ricoil.3}"
++              puts $datei "smalltrafomodell.rocoil.3 ${smalltrafomodell.rocoil.3}"
++              puts $datei "smalltrafomodell.zposcoil.3 ${smalltrafomodell.zposcoil.3}"
++              puts $datei "smalltrafomodell.heightcoil.3 ${smalltrafomodell.heightcoil.3}"
++              puts $datei "smalltrafomodell.currentcoil.3 ${smalltrafomodell.currentcoil.3}"
++              puts $datei "smalltrafomodell.nturnscoil.3 ${smalltrafomodell.nturnscoil.3}"
++              puts $datei "smalltrafomodell.limbcoil.4 ${smalltrafomodell.limbcoil.4}"
++              puts $datei "smalltrafomodell.ricoil.4 ${smalltrafomodell.ricoil.4}"
++              puts $datei "smalltrafomodell.rocoil.4 ${smalltrafomodell.rocoil.4}"
++              puts $datei "smalltrafomodell.zposcoil.4 ${smalltrafomodell.zposcoil.4}"
++              puts $datei "smalltrafomodell.heightcoil.4 ${smalltrafomodell.heightcoil.4}"
++              puts $datei "smalltrafomodell.currentcoil.4 ${smalltrafomodell.currentcoil.4}"
++              puts $datei "smalltrafomodell.nturnscoil.4 ${smalltrafomodell.nturnscoil.4}"
++              puts $datei "smalltrafomodell.limbcoil.5 ${smalltrafomodell.limbcoil.5}"
++              puts $datei "smalltrafomodell.ricoil.5 ${smalltrafomodell.ricoil.5}"
++              puts $datei "smalltrafomodell.rocoil.5 ${smalltrafomodell.rocoil.5}"
++              puts $datei "smalltrafomodell.zposcoil.5 ${smalltrafomodell.zposcoil.5}"
++              puts $datei "smalltrafomodell.heightcoil.5 ${smalltrafomodell.heightcoil.5}"
++              puts $datei "smalltrafomodell.currentcoil.5 ${smalltrafomodell.currentcoil.5}"
++              puts $datei "smalltrafomodell.nturnscoil.5 ${smalltrafomodell.nturnscoil.5}"
++              puts $datei "smalltrafomodell.limbcoil.6 ${smalltrafomodell.limbcoil.6}"
++              puts $datei "smalltrafomodell.ricoil.6 ${smalltrafomodell.ricoil.6}"
++              puts $datei "smalltrafomodell.rocoil.6 ${smalltrafomodell.rocoil.6}"
++              puts $datei "smalltrafomodell.zposcoil.6 ${smalltrafomodell.zposcoil.6}"
++              puts $datei "smalltrafomodell.heightcoil.6 ${smalltrafomodell.heightcoil.6}"
++              puts $datei "smalltrafomodell.currentcoil.6 ${smalltrafomodell.currentcoil.6}"
++              puts $datei "smalltrafomodell.nturnscoil.6 ${smalltrafomodell.nturnscoil.6}"
++              puts $datei "smalltrafomodell.limbtest.1 ${smalltrafomodell.limbtest.1}"
++              puts $datei "smalltrafomodell.heighttest.1 ${smalltrafomodell.heighttest.1}"
++              puts $datei "smalltrafomodell.widthtest.1 ${smalltrafomodell.widthtest.1}"
++              puts $datei "smalltrafomodell.rtest.1 ${smalltrafomodell.rtest.1}"
++              puts $datei "smalltrafomodell.zpostest.1 ${smalltrafomodell.zpostest.1}"
++              puts $datei "smalltrafomodell.edgeradiustest.1 ${smalltrafomodell.edgeradiustest.1}"
++              puts $datei "smalltrafomodell.finetest.1 ${smalltrafomodell.finetest.1}"
++              puts $datei "smalltrafomodell.conductivetest.1 ${smalltrafomodell.conductivetest.1}"
++              puts $datei "smalltrafomodell.limbtest.2 ${smalltrafomodell.limbtest.2}"
++              puts $datei "smalltrafomodell.heighttest.2 ${smalltrafomodell.heighttest.2}"
++              puts $datei "smalltrafomodell.widthtest.2 ${smalltrafomodell.widthtest.2}"
++              puts $datei "smalltrafomodell.rtest.2 ${smalltrafomodell.rtest.2}"
++              puts $datei "smalltrafomodell.zpostest.2 ${smalltrafomodell.zpostest.2}"
++              puts $datei "smalltrafomodell.edgeradiustest.2 ${smalltrafomodell.edgeradiustest.2}"
++              puts $datei "smalltrafomodell.finetest.2 ${smalltrafomodell.finetest.2}"
++              puts $datei "smalltrafomodell.conductivetest.2 ${smalltrafomodell.conductivetest.2}"
++              puts $datei "smalltrafomodell.limbtest.3 ${smalltrafomodell.limbtest.3}"
++              puts $datei "smalltrafomodell.heighttest.3 ${smalltrafomodell.heighttest.3}"
++              puts $datei "smalltrafomodell.widthtest.3 ${smalltrafomodell.widthtest.3}"
++              puts $datei "smalltrafomodell.rtest.3 ${smalltrafomodell.rtest.3}"
++              puts $datei "smalltrafomodell.zpostest.3 ${smalltrafomodell.zpostest.3}"
++              puts $datei "smalltrafomodell.edgeradiustest.3 ${smalltrafomodell.edgeradiustest.3}"
++              puts $datei "smalltrafomodell.finetest.3 ${smalltrafomodell.finetest.3}"
++              puts $datei "smalltrafomodell.conductivetest.3 ${smalltrafomodell.conductivetest.3}"
++              puts $datei "smalltrafomodell.limbtest.4 ${smalltrafomodell.limbtest.4}"
++              puts $datei "smalltrafomodell.heighttest.4 ${smalltrafomodell.heighttest.4}"
++              puts $datei "smalltrafomodell.widthtest.4 ${smalltrafomodell.widthtest.4}"
++              puts $datei "smalltrafomodell.rtest.4 ${smalltrafomodell.rtest.4}"
++              puts $datei "smalltrafomodell.zpostest.4 ${smalltrafomodell.zpostest.4}"
++              puts $datei "smalltrafomodell.edgeradiustest.4 ${smalltrafomodell.edgeradiustest.4}"
++              puts $datei "smalltrafomodell.finetest.4 ${smalltrafomodell.finetest.4}"
++              puts $datei "smalltrafomodell.conductivetest.4 ${smalltrafomodell.conductivetest.4}"
++              puts $datei "smalltrafomodell.nperitest ${smalltrafomodell.nperitest}"
++              puts $datei "smalltrafomodell.filename ${smalltrafomodell.filename}"
++              puts $datei "smalltrafomodell.murlfguide ${smalltrafomodell.murlfguide}"
++              puts $datei "smalltrafomodell.murtestwire ${smalltrafomodell.murtestwire}"
++              puts $datei "smalltrafomodell.murcore ${smalltrafomodell.murcore}"
++              puts $datei "smalltrafomodell.kappalfguide ${smalltrafomodell.kappalfguide}"
++              puts $datei "smalltrafomodell.kappatestwire ${smalltrafomodell.kappatestwire}"
++              puts $datei "smalltrafomodell.kappacore ${smalltrafomodell.kappacore}"
++          }
++
++
++          close $datei
++      }
++    }
++}
++
++
++
++
++# the ini file is saved on demand :
++proc saveinifile { } {
++    global inifilename
++    if {[catch { set datei [open $inifilename w] } result ]} {
++      puts "cannot write file $inifilename"
++    } {
++      for { set i [.ngmenu.file.recent index last] } { $i >= 1 } { incr i -1 } {
++          puts $datei "recentfile \"[.ngmenu.file.recent entrycget $i -label]\""
++      }
++      close $datei
++    }
++}
++
++
++proc savemeshinifile { } {
++    global meshinifilename
++    if {[catch { set datei [open $meshinifilename w] } result ]} {
++      puts "cannot write file $meshinifilename"
++    } {
++      for { set i [.ngmenu.file.recentmesh index last] } { $i >= 1 } { incr i -1 } {
++          puts $datei "recentfile \"[.ngmenu.file.recentmesh entrycget $i -label]\""
++      }
++      close $datei
++    }
++}
++
++
++
++proc loadinifile { } {
++    global inifilename
++    if { [file exists $inifilename] == 1 } {
++      set datei [open $inifilename r]
++      while { [gets $datei line] >= 0 } {
++          if {[lindex $line 0] == "recentfile"} {
++                  set filename [lindex $line 1]
++                  if { [file exists $filename] == 1 } {
++                      AddRecentFile $filename
++                  }
++          }
++      }
++      close $datei
++    }
++}
++
++
++proc loadmeshinifile { } {
++    global meshinifilename
++    if { [file exists $meshinifilename] == 1 } {
++      set datei [open $meshinifilename r]
++      while { [gets $datei line] >= 0 } {
++          if {[lindex $line 0] == "recentfile"} {
++              set filename [lindex $line 1]
++              if { [file exists $filename] == 1 } {
++                  AddRecentMeshFile $filename
++              }
++          }
++      }
++      close $datei
++    }
++ }
++
++
++
++
++
++set cmdindex {}
++set hlpindex {}
++set secindex {}
+diff -Naur netgen-5.3.1_SRC_orig/nglib/Makefile.am netgen-5.3.1_SRC_modif/nglib/Makefile.am
+--- netgen-5.3.1_SRC_orig/nglib/Makefile.am    2014-08-29 13:54:00.000000000 +0400
++++ netgen-5.3.1_SRC_modif/nglib/Makefile.am   2018-03-01 15:41:03.998157502 +0300
+@@ -14,6 +14,9 @@
+       $(top_builddir)/libsrc/stlgeom/libstl.la \
+       $(top_builddir)/libsrc/occ/libocc.la \
+       $(top_builddir)/libsrc/meshing/libmesh.la \
++      $(top_builddir)/libsrc/general/libgen.la \
++      $(top_builddir)/libsrc/gprim/libgprim.la \
++      $(top_builddir)/libsrc/linalg/libla.la
+       $(OCCLIBS) $(MPI_LIBS)
+ libnglib_la_LDFLAGS = -avoid-version
+diff -Naur netgen-5.3.1_SRC_orig/nglib/nglib.cpp netgen-5.3.1_SRC_modif/nglib/nglib.cpp
+--- netgen-5.3.1_SRC_orig/nglib/nglib.cpp      2014-08-29 13:54:00.000000000 +0400
++++ netgen-5.3.1_SRC_modif/nglib/nglib.cpp     2018-03-01 15:44:26.806377191 +0300
+@@ -1,1242 +1,1242 @@
+-/**************************************************************************/
+-/* File:   nglib.cpp                                                      */
+-/* Author: Joachim Schoeberl                                              */
+-/* Date:   7. May. 2000                                                   */
+-/**************************************************************************/
+-
+-/*
+-  
+-  Interface to the netgen meshing kernel
+-  
+-*/
+-#include <mystdlib.h>
+-#include <myadt.hpp>
+-
+-#include <linalg.hpp>
+-#include <csg.hpp>
+-#include <stlgeom.hpp>
+-#include <geometry2d.hpp>
+-#include <meshing.hpp>
+-#include <../visualization/soldata.hpp>
+-
+-#ifdef OCCGEOMETRY
+-#include <occgeom.hpp>
+-#endif
+-
+-#include <nginterface.h>
+-
+-
+-namespace netgen {
+-   extern void MeshFromSpline2D (SplineGeometry2d & geometry,
+-                                 Mesh *& mesh, 
+-                                 MeshingParameters & mp);
+-}
+-
+-
+-
+-#ifdef PARALLEL
+-#include <mpi.h>
+-
+-namespace netgen
+-{
+-  // int id = 0, ntasks = 1;
+-  MPI_Comm mesh_comm;
+-}
+-#endif
+-
+-
+-namespace netgen
+-{
+-  int id = 0, ntasks = 1;
+-}
+-
+-
+-
+-/*
+-// should not be needed (occ currently requires it)
+-namespace netgen {
+-#include "../libsrc/visualization/vispar.hpp"
+-  VisualizationParameters vispar;
+-  VisualizationParameters :: VisualizationParameters() { ; }
+-}
+-*/
+-
+-
+-namespace nglib {
+-#include "nglib.h"
+-}
+-
+-using namespace netgen;
+-
+-// constants and types:
+-
+-namespace nglib
+-{
+-   // initialize, deconstruct Netgen library:
+-   DLL_HEADER void Ng_Init ()
+-   {
+-      mycout = &cout;
+-      myerr = &cerr;
+-      // netgen::testout->SetOutStream (new ofstream ("test.out"));
+-      testout = new ofstream ("test.out");
+-   }
+-
+-
+-
+-
+-   // Clean-up functions before ending usage of nglib
+-   DLL_HEADER void Ng_Exit ()
+-   {
+-      ;
+-   }
+-
+-
+-
+-
+-   // Create a new netgen mesh object
+-   DLL_HEADER Ng_Mesh * Ng_NewMesh ()
+-   {
+-      Mesh * mesh = new Mesh;  
+-      mesh->AddFaceDescriptor (FaceDescriptor (1, 1, 0, 1));
+-      return (Ng_Mesh*)(void*)mesh;
+-   }
+-
+-
+-
+-
+-   // Delete an existing netgen mesh object
+-   DLL_HEADER void Ng_DeleteMesh (Ng_Mesh * mesh)
+-   {
+-      if(mesh != NULL)
+-      {
+-         // Delete the Mesh structures
+-         ((Mesh*)mesh)->DeleteMesh();
+-
+-         // Now delete the Mesh class itself
+-         delete (Mesh*)mesh;
+-
+-         // Set the Ng_Mesh pointer to NULL
+-         mesh = NULL;
+-      }
+-   }
+-
+-
+-
+-
+-   // Save a netgen mesh in the native VOL format 
+-   DLL_HEADER void Ng_SaveMesh(Ng_Mesh * mesh, const char* filename)
+-   {
+-      ((Mesh*)mesh)->Save(filename);
+-   }
+-
+-
+-
+-
+-   // Load a netgen native VOL mesh from a given file
+-   DLL_HEADER Ng_Mesh * Ng_LoadMesh(const char* filename)
+-   {
+-      Mesh * mesh = new Mesh;
+-      mesh->Load(filename);
+-      return ( (Ng_Mesh*)mesh );
+-   }
+-
+-
+-
+-
+-   // Merge another mesh file into the currently loaded one
+-   DLL_HEADER Ng_Result Ng_MergeMesh( Ng_Mesh* mesh, const char* filename)
+-   {
+-      Ng_Result status = NG_OK;
+-
+-      ifstream infile(filename);
+-      Mesh * m = (Mesh*)mesh;
+-
+-      if(!infile.good())
+-      {
+-         status = NG_FILE_NOT_FOUND;
+-      }
+-
+-      if(!m)
+-      {
+-         status = NG_ERROR;
+-      }
+-
+-      if(status == NG_OK)
+-      {
+-         const int num_pts = m->GetNP();
+-         const int face_offset = m->GetNFD();
+-
+-         m->Merge(infile, face_offset);
+-
+-         if(m->GetNP() > num_pts)
+-         {
+-            status = NG_OK;
+-         }
+-         else
+-         {
+-            status = NG_ERROR;
+-         }
+-      }
+-
+-      return status;
+-   }
+-
+-
+-
+-
+-   // Merge another mesh file into the currently loaded one
+-   DLL_HEADER Ng_Result Ng_MergeMesh( Ng_Mesh* mesh1, Ng_Mesh* mesh2)
+-   {
+-      return NG_ERROR;
+-   }
+-
+-
+-
+-
+-   // Manually add a point to an existing mesh object
+-   DLL_HEADER void Ng_AddPoint (Ng_Mesh * mesh, double * x)
+-   {
+-      Mesh * m = (Mesh*)mesh;
+-      m->AddPoint (Point3d (x[0], x[1], x[2]));
+-   }
+-
+-
+-
+-
+-   // Manually add a surface element of a given type to an existing mesh object
+-   DLL_HEADER void Ng_AddSurfaceElement (Ng_Mesh * mesh, Ng_Surface_Element_Type et,
+-                                         int * pi)
+-   {
+-      Mesh * m = (Mesh*)mesh;
+-      Element2d el (3);
+-      el.SetIndex (1);
+-      el.PNum(1) = pi[0];
+-      el.PNum(2) = pi[1];
+-      el.PNum(3) = pi[2];
+-      m->AddSurfaceElement (el);
+-   }
+-
+-
+-
+-
+-   // Manually add a volume element of a given type to an existing mesh object
+-   DLL_HEADER void Ng_AddVolumeElement (Ng_Mesh * mesh, Ng_Volume_Element_Type et,
+-                                        int * pi)
+-   {
+-      Mesh * m = (Mesh*)mesh;
+-      Element el (4);
+-      el.SetIndex (1);
+-      el.PNum(1) = pi[0];
+-      el.PNum(2) = pi[1];
+-      el.PNum(3) = pi[2];
+-      el.PNum(4) = pi[3];
+-      m->AddVolumeElement (el);
+-   }
+-
+-
+-
+-
+-   // Obtain the number of points in the mesh
+-   DLL_HEADER int Ng_GetNP (Ng_Mesh * mesh)
+-   {
+-      return ((Mesh*)mesh) -> GetNP();
+-   }
+-
+-
+-
+-
+-   // Obtain the number of surface elements in the mesh
+-   DLL_HEADER int Ng_GetNSE (Ng_Mesh * mesh)
+-   {
+-      return ((Mesh*)mesh) -> GetNSE();
+-   }
+-
+-
+-
+-
+-   // Obtain the number of volume elements in the mesh
+-   DLL_HEADER int Ng_GetNE (Ng_Mesh * mesh)
+-   {
+-      return ((Mesh*)mesh) -> GetNE();
+-   }
+-
+-
+-
+-
+-   //  Return point coordinates of a given point index in the mesh
+-   DLL_HEADER void Ng_GetPoint (Ng_Mesh * mesh, int num, double * x)
+-   {
+-      const Point3d & p = ((Mesh*)mesh)->Point(num);
+-      x[0] = p.X();
+-      x[1] = p.Y();
+-      x[2] = p.Z();
+-   }
+-
+-
+-
+-
+-   // Return the surface element at a given index "pi"
+-   DLL_HEADER Ng_Surface_Element_Type 
+-      Ng_GetSurfaceElement (Ng_Mesh * mesh, int num, int * pi)
+-   {
+-      const Element2d & el = ((Mesh*)mesh)->SurfaceElement(num);
+-      for (int i = 1; i <= el.GetNP(); i++)
+-         pi[i-1] = el.PNum(i);
+-      Ng_Surface_Element_Type et;
+-      switch (el.GetNP())
+-      {
+-      case 3: et = NG_TRIG; break;
+-      case 4: et = NG_QUAD; break;
+-      case 6: 
+-         switch (el.GetNV())
+-         {
+-         case 3: et = NG_TRIG6; break;
+-         case 4: et = NG_QUAD6; break;
+-         default:
+-            et = NG_TRIG6; break;
+-         }
+-         break;
+-      case 8: et = NG_QUAD8; break;
+-      default:
+-         et = NG_TRIG; break; // for the compiler
+-      }
+-      return et;
+-   }
+-
+-
+-
+-
+-   // Return the volume element at a given index "pi"
+-   DLL_HEADER Ng_Volume_Element_Type
+-      Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi)
+-   {
+-      const Element & el = ((Mesh*)mesh)->VolumeElement(num);
+-      for (int i = 1; i <= el.GetNP(); i++)
+-         pi[i-1] = el.PNum(i);
+-      Ng_Volume_Element_Type et;
+-      switch (el.GetNP())
+-      {
+-      case 4: et = NG_TET; break;
+-      case 5: et = NG_PYRAMID; break;
+-      case 6: et = NG_PRISM; break;
+-      case 10: et = NG_TET10; break;
+-      default:
+-         et = NG_TET; break; // for the compiler
+-      }
+-      return et;
+-   }
+-
+-
+-
+-
+-   // Set a global limit on the maximum mesh size allowed
+-   DLL_HEADER void Ng_RestrictMeshSizeGlobal (Ng_Mesh * mesh, double h)
+-   {
+-      ((Mesh*)mesh) -> SetGlobalH (h);
+-   }
+-
+-
+-
+-
+-   // Set a local limit on the maximum mesh size allowed around the given point
+-   DLL_HEADER void Ng_RestrictMeshSizePoint (Ng_Mesh * mesh, double * p, double h)
+-   {
+-      ((Mesh*)mesh) -> RestrictLocalH (Point3d (p[0], p[1], p[2]), h);
+-   }
+-
+-
+-
+-
+-   // Set a local limit on the maximum mesh size allowed within a given box region
+-   DLL_HEADER void Ng_RestrictMeshSizeBox (Ng_Mesh * mesh, double * pmin, double * pmax, double h)
+-   {
+-      for (double x = pmin[0]; x < pmax[0]; x += h)
+-         for (double y = pmin[1]; y < pmax[1]; y += h)
+-            for (double z = pmin[2]; z < pmax[2]; z += h)
+-               ((Mesh*)mesh) -> RestrictLocalH (Point3d (x, y, z), h);
+-   }
+-
+-
+-
+-
+-   // Generates volume mesh from an existing surface mesh
+-   DLL_HEADER Ng_Result Ng_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp)
+-   {
+-      Mesh * m = (Mesh*)mesh;
+-
+-      // Philippose - 30/08/2009
+-      // Do not locally re-define "mparam" here... "mparam" is a global 
+-      // object 
+-      //MeshingParameters mparam;
+-      mp->Transfer_Parameters();
+-
+-      m->CalcLocalH(mparam.grading);
+-
+-      MeshVolume (mparam, *m);
+-      RemoveIllegalElements (*m);
+-      OptimizeVolume (mparam, *m);
+-
+-      return NG_OK;
+-   }
+-
+-
+-
+-
+-   /* ------------------ 2D Meshing Functions ------------------------- */
+-   DLL_HEADER void Ng_AddPoint_2D (Ng_Mesh * mesh, double * x)
+-   {
+-      Mesh * m = (Mesh*)mesh;
+-
+-      m->AddPoint (Point3d (x[0], x[1], 0));
+-   }
+-
+-
+-
+-
+-   DLL_HEADER void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2)
+-   {
+-      Mesh * m = (Mesh*)mesh;
+-
+-      Segment seg;
+-      seg[0] = pi1;
+-      seg[1] = pi2;
+-      m->AddSegment (seg);
+-   }
+-
+-
+-
+-
+-   DLL_HEADER int Ng_GetNP_2D (Ng_Mesh * mesh)
+-   {
+-      Mesh * m = (Mesh*)mesh;
+-      return m->GetNP();
+-   }
+-
+-
+-
+-
+-   DLL_HEADER int Ng_GetNE_2D (Ng_Mesh * mesh)
+-   {
+-      Mesh * m = (Mesh*)mesh;
+-      return m->GetNSE();
+-   }
+-
+-
+-
+-
+-   DLL_HEADER int Ng_GetNSeg_2D (Ng_Mesh * mesh)
+-   {
+-      Mesh * m = (Mesh*)mesh;
+-      return m->GetNSeg();
+-   }
+-
+-
+-
+-
+-   DLL_HEADER void Ng_GetPoint_2D (Ng_Mesh * mesh, int num, double * x)
+-   {
+-      Mesh * m = (Mesh*)mesh;
+-
+-      Point<3> & p = m->Point(num);
+-      x[0] = p(0);
+-      x[1] = p(1);
+-   }
+-
+-
+-
+-
+-   DLL_HEADER Ng_Surface_Element_Type
+-      Ng_GetElement_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum)
+-   {
+-      const Element2d & el = ((Mesh*)mesh)->SurfaceElement(num);
+-      for (int i = 1; i <= el.GetNP(); i++)
+-         pi[i-1] = el.PNum(i);
+-
+-      Ng_Surface_Element_Type et;
+-      switch (el.GetNP())
+-      {
+-      case 3: et = NG_TRIG; break;
+-      case 4: et = NG_QUAD; break;
+-      case 6: 
+-         switch (el.GetNV())
+-         {
+-         case 3: et = NG_TRIG6; break;
+-         case 4: et = NG_QUAD6; break;
+-         default:
+-            et = NG_TRIG6; break;
+-         }
+-         break;
+-      case 8: et = NG_QUAD8; break;
+-      default:
+-         et = NG_TRIG; break; // for the compiler
+-      }
+-
+-      if (matnum)
+-         *matnum = el.GetIndex();
+-
+-      return et;
+-   }
+-
+-
+-
+-
+-   DLL_HEADER void Ng_GetSegment_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum)
+-   {
+-      const Segment & seg = ((Mesh*)mesh)->LineSegment(num);
+-      pi[0] = seg[0];
+-      pi[1] = seg[1];
+-
+-      if (matnum)
+-         *matnum = seg.edgenr;
+-   }
+-
+-
+-
+-
+-   DLL_HEADER Ng_Geometry_2D * Ng_LoadGeometry_2D (const char * filename)
+-   {
+-      SplineGeometry2d * geom = new SplineGeometry2d();
+-      geom -> Load (filename);
+-      return (Ng_Geometry_2D *)geom;
+-   }
+-
+-
+-
+-
+-   DLL_HEADER Ng_Result Ng_GenerateMesh_2D (Ng_Geometry_2D * geom,
+-                                            Ng_Mesh ** mesh,
+-                                            Ng_Meshing_Parameters * mp)
+-   {
+-      // use global variable mparam
+-      //  MeshingParameters mparam;  
+-      mp->Transfer_Parameters();
+-
+-      Mesh * m;
+-      MeshFromSpline2D (*(SplineGeometry2d*)geom, m, mparam);
+-
+-      cout << m->GetNSE() << " elements, " << m->GetNP() << " points" << endl;
+-
+-      *mesh = (Ng_Mesh*)m;
+-      return NG_OK;
+-   }
+-
+-
+-
+-
+-   DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom,
+-      Ng_Mesh * mesh,
+-      int levels)
+-   {
+-      Refinement2d ref(*(SplineGeometry2d*)geom);
+-      HPRefinement (*(Mesh*)mesh, &ref, levels);
+-   }
+-
+-
+-
+-
+-   DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom,
+-      Ng_Mesh * mesh,
+-      int levels, double parameter)
+-   {
+-      Refinement2d ref(*(SplineGeometry2d*)geom);
+-      HPRefinement (*(Mesh*)mesh, &ref, levels, parameter);
+-   }
+-
+-
+-
+-
+-   Array<STLReadTriangle> readtrias; //only before initstlgeometry
+-   Array<Point<3> > readedges; //only before init stlgeometry
+-
+-   // loads geometry from STL file
+-   DLL_HEADER Ng_STL_Geometry * Ng_STL_LoadGeometry (const char * filename, int binary)
+-   {
+-      int i;
+-      STLGeometry geom;
+-      STLGeometry* geo;
+-      ifstream ist(filename);
+-
+-      if (binary)
+-      {
+-         geo = geom.LoadBinary(ist);
+-      }
+-      else
+-      {
+-         geo = geom.Load(ist);
+-      }
+-
+-      readtrias.SetSize(0);
+-      readedges.SetSize(0);
+-
+-      Point3d p;
+-      Vec3d normal;
+-      double p1[3];
+-      double p2[3];
+-      double p3[3];
+-      double n[3];
+-
+-      Ng_STL_Geometry * geo2 = Ng_STL_NewGeometry();
+-
+-      for (i = 1; i <= geo->GetNT(); i++)
+-      {
+-         const STLTriangle& t = geo->GetTriangle(i);
+-         p = geo->GetPoint(t.PNum(1));
+-         p1[0] = p.X(); p1[1] = p.Y(); p1[2] = p.Z(); 
+-         p = geo->GetPoint(t.PNum(2));
+-         p2[0] = p.X(); p2[1] = p.Y(); p2[2] = p.Z(); 
+-         p = geo->GetPoint(t.PNum(3));
+-         p3[0] = p.X(); p3[1] = p.Y(); p3[2] = p.Z();
+-         normal = t.Normal();
+-         n[0] = normal.X(); n[1] = normal.Y(); n[2] = normal.Z();
+-
+-         Ng_STL_AddTriangle(geo2, p1, p2, p3, n);
+-      }
+-
+-      return geo2;
+-   }
+-
+-
+-
+-
+-   // generate new STL Geometry
+-   DLL_HEADER Ng_STL_Geometry * Ng_STL_NewGeometry ()
+-   {
+-      return (Ng_STL_Geometry*)(void*)new STLGeometry;
+-   } 
+-
+-
+-
+-
+-   // after adding triangles (and edges) initialize
+-   DLL_HEADER Ng_Result Ng_STL_InitSTLGeometry (Ng_STL_Geometry * geom)
+-   {
+-      STLGeometry* geo = (STLGeometry*)geom;
+-      geo->InitSTLGeometry(readtrias);
+-      readtrias.SetSize(0);
+-
+-      if (readedges.Size() != 0)
+-      {
+-         /*
+-         for (int i = 1; i <= readedges.Size(); i+=2)
+-         {
+-         cout << "e(" << readedges.Get(i) << "," << readedges.Get(i+1) << ")" << endl;
+-         }
+-         */
+-         geo->AddEdges(readedges);
+-      }
+-
+-      if (geo->GetStatus() == STLTopology::STL_GOOD || geo->GetStatus() == STLTopology::STL_WARNING) return NG_OK;
+-      return NG_SURFACE_INPUT_ERROR;
+-   }
+-
+-
+-
+-
+-   // automatically generates edges:
+-   DLL_HEADER Ng_Result Ng_STL_MakeEdges (Ng_STL_Geometry * geom,
+-                                          Ng_Mesh* mesh,
+-                                          Ng_Meshing_Parameters * mp)
+-   {
+-      STLGeometry* stlgeometry = (STLGeometry*)geom;
+-      Mesh* me = (Mesh*)mesh;
+-
+-      // Philippose - 27/07/2009
+-      // Do not locally re-define "mparam" here... "mparam" is a global 
+-      // object 
+-      //MeshingParameters mparam;
+-      mp->Transfer_Parameters();
+-
+-      me -> SetGlobalH (mparam.maxh);
+-      me -> SetLocalH (stlgeometry->GetBoundingBox().PMin() - Vec3d(10, 10, 10),
+-                       stlgeometry->GetBoundingBox().PMax() + Vec3d(10, 10, 10),
+-                       0.3);
+-
+-      me -> LoadLocalMeshSize (mp->meshsize_filename);
+-      /*
+-      if (mp->meshsize_filename)
+-      {
+-      ifstream infile (mp->meshsize_filename);
+-      if (!infile.good()) return NG_FILE_NOT_FOUND;
+-      me -> LoadLocalMeshSize (infile);
+-      }
+-      */
+-
+-      STLMeshing (*stlgeometry, *me);
+-
+-      stlgeometry->edgesfound = 1;
+-      stlgeometry->surfacemeshed = 0;
+-      stlgeometry->surfaceoptimized = 0;
+-      stlgeometry->volumemeshed = 0;
+-
+-      return NG_OK;
+-   }
+-
+-
+-
+-
+-   // generates mesh, empty mesh be already created.
+-   DLL_HEADER Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom,
+-                                                    Ng_Mesh* mesh,
+-                                                    Ng_Meshing_Parameters * mp)
+-   {
+-      STLGeometry* stlgeometry = (STLGeometry*)geom;
+-      Mesh* me = (Mesh*)mesh;
+-
+-      // Philippose - 27/07/2009
+-      // Do not locally re-define "mparam" here... "mparam" is a global 
+-      // object
+-      //MeshingParameters mparam;
+-      mp->Transfer_Parameters();
+-
+-
+-      /*
+-      me -> SetGlobalH (mparam.maxh);
+-      me -> SetLocalH (stlgeometry->GetBoundingBox().PMin() - Vec3d(10, 10, 10),
+-      stlgeometry->GetBoundingBox().PMax() + Vec3d(10, 10, 10),
+-      0.3);
+-      */
+-      /*
+-      STLMeshing (*stlgeometry, *me);
+-
+-      stlgeometry->edgesfound = 1;
+-      stlgeometry->surfacemeshed = 0;
+-      stlgeometry->surfaceoptimized = 0;
+-      stlgeometry->volumemeshed = 0;
+-      */  
+-      int retval = STLSurfaceMeshing (*stlgeometry, *me);
+-      if (retval == MESHING3_OK)
+-      {
+-         (*mycout) << "Success !!!!" << endl;
+-         stlgeometry->surfacemeshed = 1;
+-         stlgeometry->surfaceoptimized = 0;
+-         stlgeometry->volumemeshed = 0;
+-      } 
+-      else if (retval == MESHING3_OUTERSTEPSEXCEEDED)
+-      {
+-         (*mycout) << "ERROR: Give up because of too many trials. Meshing aborted!" << endl;
+-      }
+-      else if (retval == MESHING3_TERMINATE)
+-      {
+-         (*mycout) << "Meshing Stopped!" << endl;
+-      }
+-      else
+-      {
+-         (*mycout) << "ERROR: Surface meshing not successful. Meshing aborted!" << endl;
+-      }
+-
+-
+-      STLSurfaceOptimization (*stlgeometry, *me, mparam);
+-
+-      return NG_OK;
+-   }
+-
+-
+-
+-
+-   // fills STL Geometry
+-   // positive orientation
+-   // normal vector may be null-pointer
+-   DLL_HEADER void Ng_STL_AddTriangle (Ng_STL_Geometry * geom, 
+-                                       double * p1, double * p2, double * p3, 
+-                                       double * nv)
+-   {
+-      Point<3> apts[3];
+-      apts[0] = Point<3>(p1[0],p1[1],p1[2]);
+-      apts[1] = Point<3>(p2[0],p2[1],p2[2]);
+-      apts[2] = Point<3>(p3[0],p3[1],p3[2]);
+-
+-      Vec<3> n;
+-      if (!nv)
+-         n = Cross (apts[0]-apts[1], apts[0]-apts[2]);
+-      else
+-         n = Vec<3>(nv[0],nv[1],nv[2]);
+-
+-      readtrias.Append(STLReadTriangle(apts,n));
+-   }
+-
+-   // add (optional) edges:
+-   DLL_HEADER void Ng_STL_AddEdge (Ng_STL_Geometry * geom, 
+-      double * p1, double * p2)
+-   {
+-      readedges.Append(Point3d(p1[0],p1[1],p1[2]));
+-      readedges.Append(Point3d(p2[0],p2[1],p2[2]));
+-   }
+-
+-
+-
+-
+-#ifdef OCCGEOMETRY
+-   // --------------------- OCC Geometry / Meshing Utility Functions -------------------
+-   // Create new OCC Geometry Object
+-   DLL_HEADER Ng_OCC_Geometry * Ng_OCC_NewGeometry ()
+-   {
+-      return (Ng_OCC_Geometry*)(void*)new OCCGeometry;
+-   } 
+-
+-
+-
+-
+-   // Delete the OCC Geometry Object
+-   DLL_HEADER Ng_Result Ng_OCC_DeleteGeometry(Ng_OCC_Geometry * geom)
+-   {
+-      if (geom != NULL)
+-      {
+-         delete (OCCGeometry*)geom;
+-         geom = NULL;
+-         return NG_OK;
+-      }
+-      
+-      return NG_ERROR;
+-   }
+-
+-
+-
+-   
+-   // Loads geometry from STEP File
+-   DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_STEP (const char * filename)
+-   {
+-      // Call the STEP File Load function. Note.. the geometry class 
+-      // is created and instantiated within the load function
+-      OCCGeometry * occgeo = LoadOCC_STEP(filename);
+-
+-      return ((Ng_OCC_Geometry *)occgeo);
+-   }
+-
+-
+-
+-   
+-   // Loads geometry from IGES File
+-   DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_IGES (const char * filename)
+-   {
+-      // Call the IGES File Load function. Note.. the geometry class 
+-      // is created and instantiated within the load function
+-      OCCGeometry * occgeo = LoadOCC_IGES(filename);
+-
+-      return ((Ng_OCC_Geometry *)occgeo);
+-   }
+-
+-
+-
+-   
+-   // Loads geometry from BREP File
+-   DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_BREP (const char * filename)
+-   {
+-      // Call the BREP File Load function. Note.. the geometry class 
+-      // is created and instantiated within the load function
+-      OCCGeometry * occgeo = LoadOCC_BREP(filename);
+-
+-      return ((Ng_OCC_Geometry *)occgeo);
+-   }
+-
+-
+-
+-
+-   // Locally limit the size of the mesh to be generated at various points 
+-   // based on the topology of the geometry
+-   DLL_HEADER Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom,
+-                                                 Ng_Mesh * mesh,
+-                                                 Ng_Meshing_Parameters * mp)
+-   {
+-      OCCGeometry * occgeom = (OCCGeometry*)geom;
+-      Mesh * me = (Mesh*)mesh;
+-
+-      me->geomtype = Mesh::GEOM_OCC;
+-
+-      mp->Transfer_Parameters();
+-      
+-      occparam.resthcloseedgeenable = mp->closeedgeenable;
+-      occparam.resthcloseedgefac = mp->closeedgefact;
+-
+-      // Delete the mesh structures in order to start with a clean 
+-      // slate
+-      me->DeleteMesh();
+-
+-      OCCSetLocalMeshSize(*occgeom, *me);
+-
+-      return(NG_OK);
+-   }
+-
+-
+-
+-   
+-   // Mesh the edges and add Face descriptors to prepare for surface meshing
+-   DLL_HEADER Ng_Result Ng_OCC_GenerateEdgeMesh (Ng_OCC_Geometry * geom,
+-                                                 Ng_Mesh * mesh,
+-                                                 Ng_Meshing_Parameters * mp)
+-   {
+-      OCCGeometry * occgeom = (OCCGeometry*)geom;
+-      Mesh * me = (Mesh*)mesh;
+-
+-      mp->Transfer_Parameters();
+-
+-      OCCFindEdges(*occgeom, *me);
+-
+-      if((me->GetNP()) && (me->GetNFD()))
+-      {
+-         return NG_OK;
+-      }
+-      else
+-      {
+-         return NG_ERROR;
+-      }
+-   }
+-
+-
+-
+-   
+-   // Mesh the edges and add Face descriptors to prepare for surface meshing
+-   DLL_HEADER Ng_Result Ng_OCC_GenerateSurfaceMesh (Ng_OCC_Geometry * geom,
+-                                                    Ng_Mesh * mesh,
+-                                                    Ng_Meshing_Parameters * mp)
+-   {
+-      int numpoints = 0;
+-
+-      OCCGeometry * occgeom = (OCCGeometry*)geom;
+-      Mesh * me = (Mesh*)mesh;
+-
+-      // Set the internal meshing parameters structure from the nglib meshing 
+-      // parameters structure
+-      mp->Transfer_Parameters();
+-
+-
+-      // Only go into surface meshing if the face descriptors have already been added
+-      if(!me->GetNFD())
+-         return NG_ERROR;
+-
+-      numpoints = me->GetNP();
+-
+-      // Initially set up only for surface meshing without any optimisation
+-      int perfstepsend = MESHCONST_MESHSURFACE;
+-
+-      // Check and if required, enable surface mesh optimisation step
+-      if(mp->optsurfmeshenable)
+-      {
+-         perfstepsend = MESHCONST_OPTSURFACE;
+-      }
+-
+-      OCCMeshSurface(*occgeom, *me, perfstepsend);
+-
+-      me->CalcSurfacesOfNode();
+-      
+-      if(me->GetNP() <= numpoints)
+-         return NG_ERROR;
+-
+-      if(me->GetNSE() <= 0)
+-         return NG_ERROR;
+-
+-      return NG_OK;
+-   }
+-
+-
+-
+-
+-   // Extract the face map from the OCC geometry
+-   // The face map basically gives an index to each face in the geometry, 
+-   // which can be used to access a specific face
+-   DLL_HEADER Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom, 
+-                                       Ng_OCC_TopTools_IndexedMapOfShape * FMap)
+-   {
+-      OCCGeometry* occgeom = (OCCGeometry*)geom;
+-      TopTools_IndexedMapOfShape *occfmap = (TopTools_IndexedMapOfShape *)FMap;
+-
+-      // Copy the face map from the geometry to the given variable
+-      occfmap->Assign(occgeom->fmap);
+-
+-      if(occfmap->Extent())
+-      {
+-         return NG_OK;
+-      }
+-      else
+-      {
+-         return NG_ERROR;
+-      }
+-   }
+-
+-   // ------------------ End - OCC Geometry / Meshing Utility Functions ----------------
+-#endif
+-
+-
+-
+-
+-   // ------------------ Begin - Meshing Parameters related functions ------------------
+-   // Constructor for the local nglib meshing parameters class
+-   DLL_HEADER Ng_Meshing_Parameters :: Ng_Meshing_Parameters()
+-   {
+-      uselocalh = 1;
+-
+-      maxh = 1000;
+-      minh = 0.0;
+-
+-      fineness = 0.5;
+-      grading = 0.3;
+-
+-      elementsperedge = 2.0;
+-      elementspercurve = 2.0;
+-
+-      closeedgeenable = 0;
+-      closeedgefact = 2.0;
+-
+-        minedgelenenable = 0;
+-        minedgelen = 1e-4;
+-
+-      second_order = 0;
+-      quad_dominated = 0;
+-
+-      meshsize_filename = 0;
+-
+-      optsurfmeshenable = 1;
+-      optvolmeshenable = 1;
+-
+-      optsteps_2d = 3;
+-      optsteps_3d = 3;
+-
+-      invert_tets = 0;
+-      invert_trigs = 0;
+-
+-      check_overlap = 1;
+-      check_overlapping_boundary = 1;
+-   }
+-
+-
+-
+-
+-   // Reset the local meshing parameters to the default values
+-   DLL_HEADER void Ng_Meshing_Parameters :: Reset_Parameters()
+-   {
+-      uselocalh = 1;
+-
+-      maxh = 1000;
+-      minh = 0;
+-
+-      fineness = 0.5;
+-      grading = 0.3;
+-
+-      elementsperedge = 2.0;
+-      elementspercurve = 2.0;
+-
+-      closeedgeenable = 0;
+-      closeedgefact = 2.0;
+-
+-        minedgelenenable = 0;
+-        minedgelen = 1e-4;
+-
+-      second_order = 0;
+-      quad_dominated = 0;
+-
+-      meshsize_filename = 0;
+-
+-      optsurfmeshenable = 1;
+-      optvolmeshenable = 1;
+-
+-      optsteps_2d = 3;
+-      optsteps_3d = 3;
+-
+-      invert_tets = 0;
+-      invert_trigs = 0;
+-
+-      check_overlap = 1;
+-      check_overlapping_boundary = 1;
+-   }
+-
+-
+-
+-
+-   // 
+-   DLL_HEADER void Ng_Meshing_Parameters :: Transfer_Parameters()
+-   {
+-      mparam.uselocalh = uselocalh;
+-      
+-      mparam.maxh = maxh;
+-      mparam.minh = minh;
+-
+-      mparam.grading = grading;
+-      mparam.curvaturesafety = elementspercurve;
+-      mparam.segmentsperedge = elementsperedge;
+-
+-      mparam.secondorder = second_order;
+-      mparam.quad = quad_dominated;
+-
+-      mparam.meshsizefilename = meshsize_filename;
+-
+-      mparam.optsteps2d = optsteps_2d;
+-      mparam.optsteps3d = optsteps_3d;
+-
+-      mparam.inverttets = invert_tets;
+-      mparam.inverttrigs = invert_trigs;
+-
+-      mparam.checkoverlap = check_overlap;
+-      mparam.checkoverlappingboundary = check_overlapping_boundary;
+-   }
+-   // ------------------ End - Meshing Parameters related functions --------------------
+-
+-
+-
+-
+-   // ------------------ Begin - Second Order Mesh generation functions ----------------
+-   DLL_HEADER void Ng_Generate_SecondOrder(Ng_Mesh * mesh)
+-   {
+-      Refinement ref;
+-      ref.MakeSecondOrder(*(Mesh*) mesh);
+-   }
+-
+-
+-
+-
+-   DLL_HEADER void Ng_2D_Generate_SecondOrder(Ng_Geometry_2D * geom,
+-                                        Ng_Mesh * mesh)
+-   {
+-      ( (SplineGeometry2d*)geom ) -> GetRefinement().MakeSecondOrder( * (Mesh*) mesh );
+-   }
+-
+-
+-
+-
+-   DLL_HEADER void Ng_STL_Generate_SecondOrder(Ng_STL_Geometry * geom,
+-                                         Ng_Mesh * mesh)
+-   {
+-      ((STLGeometry*)geom)->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
+-   }
+-
+-
+-
+-
+-   DLL_HEADER void Ng_CSG_Generate_SecondOrder (Ng_CSG_Geometry * geom,
+-                                         Ng_Mesh * mesh)
+-   {
+-      ((CSGeometry*)geom)->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
+-   }
+-
+-
+-
+-
+-#ifdef OCCGEOMETRY
+-   DLL_HEADER void Ng_OCC_Generate_SecondOrder (Ng_OCC_Geometry * geom,
+-                  Ng_Mesh * mesh)
+-   {
+-      ((OCCGeometry*)geom )->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
+-   }
+-#endif
+-   // ------------------ End - Second Order Mesh generation functions ------------------
+-
+-
+-
+-
+-   // ------------------ Begin - Uniform Mesh Refinement functions ---------------------
+-   DLL_HEADER void Ng_Uniform_Refinement (Ng_Mesh * mesh)
+-   {
+-      Refinement ref;
+-      ref.Refine ( * (Mesh*) mesh );
+-   }
+-
+-
+-
+-
+-   DLL_HEADER void Ng_2D_Uniform_Refinement (Ng_Geometry_2D * geom,
+-      Ng_Mesh * mesh)
+-   {
+-      ( (SplineGeometry2d*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
+-   }
+-
+-
+-
+-
+-   DLL_HEADER void Ng_STL_Uniform_Refinement (Ng_STL_Geometry * geom,
+-      Ng_Mesh * mesh)
+-   {
+-      ( (STLGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
+-   }
+-
+-
+-
+-
+-   DLL_HEADER void Ng_CSG_Uniform_Refinement (Ng_CSG_Geometry * geom,
+-      Ng_Mesh * mesh)
+-   {
+-      ( (CSGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
+-   }
+-
+-
+-
+-
+-#ifdef OCCGEOMETRY
+-   DLL_HEADER void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom,
+-      Ng_Mesh * mesh)
+-   {
+-      ( (OCCGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
+-   }
+-#endif
+-   // ------------------ End - Uniform Mesh Refinement functions -----------------------
+-} // End of namespace nglib
+-
+-
+-
+-
+-// compatibility functions:
+-namespace netgen 
+-{
+-   char geomfilename[255];
+-
+-   DLL_HEADER void MyError (const char * ch)
+-   {
+-      cerr << ch;
+-   }
+-
+-
+-
+-
+-   //Destination for messages, errors, ...
+-   DLL_HEADER void Ng_PrintDest(const char * s)
+-   {
+-#ifdef PARALLEL
+-     int id = 0;
+-     MPI_Comm_rank(MPI_COMM_WORLD, &id);
+-     if (id != 0) return;
+-#endif
+-     (*mycout) << s << flush;
+-   }
+-
+-
+-
+-
+-   DLL_HEADER double GetTime ()
+-   {
+-      return 0;
+-   }
+-
+-
+-
+-
+-   void ResetTime ()
+-   {
+-      ;
+-   }
+-
+-
+-
+-
+-   void MyBeep (int i)
+-   {
+-      ;
+-   }
+-
+-
+-
+-
+-   void Render()
+-   {
+-      ; 
+-   }
+-} // End of namespace netgen
+-
+-
+-
+-
+-void Ng_Redraw () { ; }
+-void Ng_ClearSolutionData () { ; }
+-void Ng_SetSolutionData (Ng_SolutionData * soldata) 
+-{ 
+-  delete soldata->solclass;
+-}
+-void Ng_InitSolutionData (Ng_SolutionData * soldata) { ; }
+-
+-
++/**************************************************************************/
++/* File:   nglib.cpp                                                      */
++/* Author: Joachim Schoeberl                                              */
++/* Date:   7. May. 2000                                                   */
++/**************************************************************************/
++
++/*
++
++  Interface to the netgen meshing kernel
++
++*/
++#include <mystdlib.h>
++#include <myadt.hpp>
++
++#include <linalg.hpp>
++#include <csg.hpp>
++#include <stlgeom.hpp>
++#include <geometry2d.hpp>
++#include <meshing.hpp>
++#include <../visualization/soldata.hpp>
++
++#ifdef OCCGEOMETRY
++#include <occgeom.hpp>
++#endif
++
++#include <nginterface.h>
++
++
++namespace netgen {
++   extern void MeshFromSpline2D (SplineGeometry2d & geometry,
++                                 Mesh *& mesh,
++                                 MeshingParameters & mp);
++}
++
++
++
++#ifdef PARALLEL
++#include <mpi.h>
++
++namespace netgen
++{
++  // int id = 0, ntasks = 1;
++  MPI_Comm mesh_comm;
++}
++#endif
++
++
++namespace netgen
++{
++  int id = 0, ntasks = 1;
++}
++
++
++
++/*
++// should not be needed (occ currently requires it)
++namespace netgen {
++#include "../libsrc/visualization/vispar.hpp"
++  VisualizationParameters vispar;
++  VisualizationParameters :: VisualizationParameters() { ; }
++}
++*/
++
++
++namespace nglib {
++#include "nglib.h"
++}
++
++using namespace netgen;
++
++// constants and types:
++
++namespace nglib
++{
++   // initialize, deconstruct Netgen library:
++   DLL_HEADER void Ng_Init ()
++   {
++      mycout = &cout;
++      myerr = &cerr;
++      // netgen::testout->SetOutStream (new ofstream ("test.out"));
++      testout = new ofstream ("test.out");
++   }
++
++
++
++
++   // Clean-up functions before ending usage of nglib
++   DLL_HEADER void Ng_Exit ()
++   {
++      ;
++   }
++
++
++
++
++   // Create a new netgen mesh object
++   DLL_HEADER Ng_Mesh * Ng_NewMesh ()
++   {
++      Mesh * mesh = new Mesh;
++      mesh->AddFaceDescriptor (FaceDescriptor (1, 1, 0, 1));
++      return (Ng_Mesh*)(void*)mesh;
++   }
++
++
++
++
++   // Delete an existing netgen mesh object
++   DLL_HEADER void Ng_DeleteMesh (Ng_Mesh * mesh)
++   {
++      if(mesh != NULL)
++      {
++         // Delete the Mesh structures
++         ((Mesh*)mesh)->DeleteMesh();
++
++         // Now delete the Mesh class itself
++         delete (Mesh*)mesh;
++
++         // Set the Ng_Mesh pointer to NULL
++         mesh = NULL;
++      }
++   }
++
++
++
++
++   // Save a netgen mesh in the native VOL format
++   DLL_HEADER void Ng_SaveMesh(Ng_Mesh * mesh, const char* filename)
++   {
++      ((Mesh*)mesh)->Save(filename);
++   }
++
++
++
++
++   // Load a netgen native VOL mesh from a given file
++   DLL_HEADER Ng_Mesh * Ng_LoadMesh(const char* filename)
++   {
++      Mesh * mesh = new Mesh;
++      mesh->Load(filename);
++      return ( (Ng_Mesh*)mesh );
++   }
++
++
++
++
++   // Merge another mesh file into the currently loaded one
++   DLL_HEADER Ng_Result Ng_MergeMesh( Ng_Mesh* mesh, const char* filename)
++   {
++      Ng_Result status = NG_OK;
++
++      ifstream infile(filename);
++      Mesh * m = (Mesh*)mesh;
++
++      if(!infile.good())
++      {
++         status = NG_FILE_NOT_FOUND;
++      }
++
++      if(!m)
++      {
++         status = NG_ERROR;
++      }
++
++      if(status == NG_OK)
++      {
++         const int num_pts = m->GetNP();
++         const int face_offset = m->GetNFD();
++
++         m->Merge(infile, face_offset);
++
++         if(m->GetNP() > num_pts)
++         {
++            status = NG_OK;
++         }
++         else
++         {
++            status = NG_ERROR;
++         }
++      }
++
++      return status;
++   }
++
++
++
++
++   // Merge another mesh file into the currently loaded one
++   DLL_HEADER Ng_Result Ng_MergeMesh( Ng_Mesh* mesh1, Ng_Mesh* mesh2)
++   {
++      return NG_ERROR;
++   }
++
++
++
++
++   // Manually add a point to an existing mesh object
++   DLL_HEADER void Ng_AddPoint (Ng_Mesh * mesh, double * x)
++   {
++      Mesh * m = (Mesh*)mesh;
++      m->AddPoint (Point3d (x[0], x[1], x[2]));
++   }
++
++
++
++
++   // Manually add a surface element of a given type to an existing mesh object
++   DLL_HEADER void Ng_AddSurfaceElement (Ng_Mesh * mesh, Ng_Surface_Element_Type et,
++                                         int * pi)
++   {
++      Mesh * m = (Mesh*)mesh;
++      Element2d el (3);
++      el.SetIndex (1);
++      el.PNum(1) = pi[0];
++      el.PNum(2) = pi[1];
++      el.PNum(3) = pi[2];
++      m->AddSurfaceElement (el);
++   }
++
++
++
++
++   // Manually add a volume element of a given type to an existing mesh object
++   DLL_HEADER void Ng_AddVolumeElement (Ng_Mesh * mesh, Ng_Volume_Element_Type et,
++                                        int * pi)
++   {
++      Mesh * m = (Mesh*)mesh;
++      Element el (4);
++      el.SetIndex (1);
++      el.PNum(1) = pi[0];
++      el.PNum(2) = pi[1];
++      el.PNum(3) = pi[2];
++      el.PNum(4) = pi[3];
++      m->AddVolumeElement (el);
++   }
++
++
++
++
++   // Obtain the number of points in the mesh
++   DLL_HEADER int Ng_GetNP (Ng_Mesh * mesh)
++   {
++      return ((Mesh*)mesh) -> GetNP();
++   }
++
++
++
++
++   // Obtain the number of surface elements in the mesh
++   DLL_HEADER int Ng_GetNSE (Ng_Mesh * mesh)
++   {
++      return ((Mesh*)mesh) -> GetNSE();
++   }
++
++
++
++
++   // Obtain the number of volume elements in the mesh
++   DLL_HEADER int Ng_GetNE (Ng_Mesh * mesh)
++   {
++      return ((Mesh*)mesh) -> GetNE();
++   }
++
++
++
++
++   //  Return point coordinates of a given point index in the mesh
++   DLL_HEADER void Ng_GetPoint (Ng_Mesh * mesh, int num, double * x)
++   {
++      const Point3d & p = ((Mesh*)mesh)->Point(num);
++      x[0] = p.X();
++      x[1] = p.Y();
++      x[2] = p.Z();
++   }
++
++
++
++
++   // Return the surface element at a given index "pi"
++   DLL_HEADER Ng_Surface_Element_Type
++      Ng_GetSurfaceElement (Ng_Mesh * mesh, int num, int * pi)
++   {
++      const Element2d & el = ((Mesh*)mesh)->SurfaceElement(num);
++      for (int i = 1; i <= el.GetNP(); i++)
++         pi[i-1] = el.PNum(i);
++      Ng_Surface_Element_Type et;
++      switch (el.GetNP())
++      {
++      case 3: et = NG_TRIG; break;
++      case 4: et = NG_QUAD; break;
++      case 6:
++         switch (el.GetNV())
++         {
++         case 3: et = NG_TRIG6; break;
++         case 4: et = NG_QUAD6; break;
++         default:
++            et = NG_TRIG6; break;
++         }
++         break;
++      case 8: et = NG_QUAD8; break;
++      default:
++         et = NG_TRIG; break; // for the compiler
++      }
++      return et;
++   }
++
++
++
++
++   // Return the volume element at a given index "pi"
++   DLL_HEADER Ng_Volume_Element_Type
++      Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi)
++   {
++      const Element & el = ((Mesh*)mesh)->VolumeElement(num);
++      for (int i = 1; i <= el.GetNP(); i++)
++         pi[i-1] = el.PNum(i);
++      Ng_Volume_Element_Type et;
++      switch (el.GetNP())
++      {
++      case 4: et = NG_TET; break;
++      case 5: et = NG_PYRAMID; break;
++      case 6: et = NG_PRISM; break;
++      case 10: et = NG_TET10; break;
++      default:
++         et = NG_TET; break; // for the compiler
++      }
++      return et;
++   }
++
++
++
++
++   // Set a global limit on the maximum mesh size allowed
++   DLL_HEADER void Ng_RestrictMeshSizeGlobal (Ng_Mesh * mesh, double h)
++   {
++      ((Mesh*)mesh) -> SetGlobalH (h);
++   }
++
++
++
++
++   // Set a local limit on the maximum mesh size allowed around the given point
++   DLL_HEADER void Ng_RestrictMeshSizePoint (Ng_Mesh * mesh, double * p, double h)
++   {
++      ((Mesh*)mesh) -> RestrictLocalH (Point3d (p[0], p[1], p[2]), h);
++   }
++
++
++
++
++   // Set a local limit on the maximum mesh size allowed within a given box region
++   DLL_HEADER void Ng_RestrictMeshSizeBox (Ng_Mesh * mesh, double * pmin, double * pmax, double h)
++   {
++      for (double x = pmin[0]; x < pmax[0]; x += h)
++         for (double y = pmin[1]; y < pmax[1]; y += h)
++            for (double z = pmin[2]; z < pmax[2]; z += h)
++               ((Mesh*)mesh) -> RestrictLocalH (Point3d (x, y, z), h);
++   }
++
++
++
++
++   // Generates volume mesh from an existing surface mesh
++   DLL_HEADER Ng_Result Ng_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp)
++   {
++      Mesh * m = (Mesh*)mesh;
++
++      // Philippose - 30/08/2009
++      // Do not locally re-define "mparam" here... "mparam" is a global
++      // object
++      //MeshingParameters mparam;
++      mp->Transfer_Parameters();
++
++      m->CalcLocalH(mparam.grading);
++
++      MeshVolume (mparam, *m);
++      RemoveIllegalElements (*m);
++      OptimizeVolume (mparam, *m);
++
++      return NG_OK;
++   }
++
++
++
++
++   /* ------------------ 2D Meshing Functions ------------------------- */
++   DLL_HEADER void Ng_AddPoint_2D (Ng_Mesh * mesh, double * x)
++   {
++      Mesh * m = (Mesh*)mesh;
++
++      m->AddPoint (Point3d (x[0], x[1], 0));
++   }
++
++
++
++
++   DLL_HEADER void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2)
++   {
++      Mesh * m = (Mesh*)mesh;
++
++      Segment seg;
++      seg[0] = pi1;
++      seg[1] = pi2;
++      m->AddSegment (seg);
++   }
++
++
++
++
++   DLL_HEADER int Ng_GetNP_2D (Ng_Mesh * mesh)
++   {
++      Mesh * m = (Mesh*)mesh;
++      return m->GetNP();
++   }
++
++
++
++
++   DLL_HEADER int Ng_GetNE_2D (Ng_Mesh * mesh)
++   {
++      Mesh * m = (Mesh*)mesh;
++      return m->GetNSE();
++   }
++
++
++
++
++   DLL_HEADER int Ng_GetNSeg_2D (Ng_Mesh * mesh)
++   {
++      Mesh * m = (Mesh*)mesh;
++      return m->GetNSeg();
++   }
++
++
++
++
++   DLL_HEADER void Ng_GetPoint_2D (Ng_Mesh * mesh, int num, double * x)
++   {
++      Mesh * m = (Mesh*)mesh;
++
++      Point<3> & p = m->Point(num);
++      x[0] = p(0);
++      x[1] = p(1);
++   }
++
++
++
++
++   DLL_HEADER Ng_Surface_Element_Type
++      Ng_GetElement_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum)
++   {
++      const Element2d & el = ((Mesh*)mesh)->SurfaceElement(num);
++      for (int i = 1; i <= el.GetNP(); i++)
++         pi[i-1] = el.PNum(i);
++
++      Ng_Surface_Element_Type et;
++      switch (el.GetNP())
++      {
++      case 3: et = NG_TRIG; break;
++      case 4: et = NG_QUAD; break;
++      case 6:
++         switch (el.GetNV())
++         {
++         case 3: et = NG_TRIG6; break;
++         case 4: et = NG_QUAD6; break;
++         default:
++            et = NG_TRIG6; break;
++         }
++         break;
++      case 8: et = NG_QUAD8; break;
++      default:
++         et = NG_TRIG; break; // for the compiler
++      }
++
++      if (matnum)
++         *matnum = el.GetIndex();
++
++      return et;
++   }
++
++
++
++
++   DLL_HEADER void Ng_GetSegment_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum)
++   {
++      const Segment & seg = ((Mesh*)mesh)->LineSegment(num);
++      pi[0] = seg[0];
++      pi[1] = seg[1];
++
++      if (matnum)
++         *matnum = seg.edgenr;
++   }
++
++
++
++
++   DLL_HEADER Ng_Geometry_2D * Ng_LoadGeometry_2D (const char * filename)
++   {
++      SplineGeometry2d * geom = new SplineGeometry2d();
++      geom -> Load (filename);
++      return (Ng_Geometry_2D *)geom;
++   }
++
++
++
++
++   DLL_HEADER Ng_Result Ng_GenerateMesh_2D (Ng_Geometry_2D * geom,
++                                            Ng_Mesh ** mesh,
++                                            Ng_Meshing_Parameters * mp)
++   {
++      // use global variable mparam
++      //  MeshingParameters mparam;
++      mp->Transfer_Parameters();
++
++      Mesh * m;
++      MeshFromSpline2D (*(SplineGeometry2d*)geom, m, mparam);
++
++      cout << m->GetNSE() << " elements, " << m->GetNP() << " points" << endl;
++
++      *mesh = (Ng_Mesh*)m;
++      return NG_OK;
++   }
++
++
++
++
++   DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom,
++      Ng_Mesh * mesh,
++      int levels)
++   {
++      Refinement2d ref(*(SplineGeometry2d*)geom);
++      HPRefinement (*(Mesh*)mesh, &ref, levels);
++   }
++
++
++
++
++   DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom,
++      Ng_Mesh * mesh,
++      int levels, double parameter)
++   {
++      Refinement2d ref(*(SplineGeometry2d*)geom);
++      HPRefinement (*(Mesh*)mesh, &ref, levels, parameter);
++   }
++
++
++
++
++   Array<STLReadTriangle> readtrias; //only before initstlgeometry
++   Array<Point<3> > readedges; //only before init stlgeometry
++
++   // loads geometry from STL file
++   DLL_HEADER Ng_STL_Geometry * Ng_STL_LoadGeometry (const char * filename, int binary)
++   {
++      int i;
++      STLGeometry geom;
++      STLGeometry* geo;
++      ifstream ist(filename);
++
++      if (binary)
++      {
++         geo = geom.LoadBinary(ist);
++      }
++      else
++      {
++         geo = geom.Load(ist);
++      }
++
++      readtrias.SetSize(0);
++      readedges.SetSize(0);
++
++      Point3d p;
++      Vec3d normal;
++      double p1[3];
++      double p2[3];
++      double p3[3];
++      double n[3];
++
++      Ng_STL_Geometry * geo2 = Ng_STL_NewGeometry();
++
++      for (i = 1; i <= geo->GetNT(); i++)
++      {
++         const STLTriangle& t = geo->GetTriangle(i);
++         p = geo->GetPoint(t.PNum(1));
++         p1[0] = p.X(); p1[1] = p.Y(); p1[2] = p.Z();
++         p = geo->GetPoint(t.PNum(2));
++         p2[0] = p.X(); p2[1] = p.Y(); p2[2] = p.Z();
++         p = geo->GetPoint(t.PNum(3));
++         p3[0] = p.X(); p3[1] = p.Y(); p3[2] = p.Z();
++         normal = t.Normal();
++         n[0] = normal.X(); n[1] = normal.Y(); n[2] = normal.Z();
++
++         Ng_STL_AddTriangle(geo2, p1, p2, p3, n);
++      }
++
++      return geo2;
++   }
++
++
++
++
++   // generate new STL Geometry
++   DLL_HEADER Ng_STL_Geometry * Ng_STL_NewGeometry ()
++   {
++      return (Ng_STL_Geometry*)(void*)new STLGeometry;
++   }
++
++
++
++
++   // after adding triangles (and edges) initialize
++   DLL_HEADER Ng_Result Ng_STL_InitSTLGeometry (Ng_STL_Geometry * geom)
++   {
++      STLGeometry* geo = (STLGeometry*)geom;
++      geo->InitSTLGeometry(readtrias);
++      readtrias.SetSize(0);
++
++      if (readedges.Size() != 0)
++      {
++         /*
++         for (int i = 1; i <= readedges.Size(); i+=2)
++         {
++         cout << "e(" << readedges.Get(i) << "," << readedges.Get(i+1) << ")" << endl;
++         }
++         */
++         geo->AddEdges(readedges);
++      }
++
++      if (geo->GetStatus() == STLTopology::STL_GOOD || geo->GetStatus() == STLTopology::STL_WARNING) return NG_OK;
++      return NG_SURFACE_INPUT_ERROR;
++   }
++
++
++
++
++   // automatically generates edges:
++   DLL_HEADER Ng_Result Ng_STL_MakeEdges (Ng_STL_Geometry * geom,
++                                          Ng_Mesh* mesh,
++                                          Ng_Meshing_Parameters * mp)
++   {
++      STLGeometry* stlgeometry = (STLGeometry*)geom;
++      Mesh* me = (Mesh*)mesh;
++
++      // Philippose - 27/07/2009
++      // Do not locally re-define "mparam" here... "mparam" is a global
++      // object
++      //MeshingParameters mparam;
++      mp->Transfer_Parameters();
++
++      me -> SetGlobalH (mparam.maxh);
++      me -> SetLocalH (stlgeometry->GetBoundingBox().PMin() - Vec3d(10, 10, 10),
++                       stlgeometry->GetBoundingBox().PMax() + Vec3d(10, 10, 10),
++                       0.3);
++
++      me -> LoadLocalMeshSize (mp->meshsize_filename);
++      /*
++      if (mp->meshsize_filename)
++      {
++      ifstream infile (mp->meshsize_filename);
++      if (!infile.good()) return NG_FILE_NOT_FOUND;
++      me -> LoadLocalMeshSize (infile);
++      }
++      */
++
++      STLMeshing (*stlgeometry, *me);
++
++      stlgeometry->edgesfound = 1;
++      stlgeometry->surfacemeshed = 0;
++      stlgeometry->surfaceoptimized = 0;
++      stlgeometry->volumemeshed = 0;
++
++      return NG_OK;
++   }
++
++
++
++
++   // generates mesh, empty mesh be already created.
++   DLL_HEADER Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom,
++                                                    Ng_Mesh* mesh,
++                                                    Ng_Meshing_Parameters * mp)
++   {
++      STLGeometry* stlgeometry = (STLGeometry*)geom;
++      Mesh* me = (Mesh*)mesh;
++
++      // Philippose - 27/07/2009
++      // Do not locally re-define "mparam" here... "mparam" is a global
++      // object
++      //MeshingParameters mparam;
++      mp->Transfer_Parameters();
++
++
++      /*
++      me -> SetGlobalH (mparam.maxh);
++      me -> SetLocalH (stlgeometry->GetBoundingBox().PMin() - Vec3d(10, 10, 10),
++      stlgeometry->GetBoundingBox().PMax() + Vec3d(10, 10, 10),
++      0.3);
++      */
++      /*
++      STLMeshing (*stlgeometry, *me);
++
++      stlgeometry->edgesfound = 1;
++      stlgeometry->surfacemeshed = 0;
++      stlgeometry->surfaceoptimized = 0;
++      stlgeometry->volumemeshed = 0;
++      */
++      int retval = STLSurfaceMeshing (*stlgeometry, *me);
++      if (retval == MESHING3_OK)
++      {
++         (*mycout) << "Success !!!!" << endl;
++         stlgeometry->surfacemeshed = 1;
++         stlgeometry->surfaceoptimized = 0;
++         stlgeometry->volumemeshed = 0;
++      }
++      else if (retval == MESHING3_OUTERSTEPSEXCEEDED)
++      {
++         (*mycout) << "ERROR: Give up because of too many trials. Meshing aborted!" << endl;
++      }
++      else if (retval == MESHING3_TERMINATE)
++      {
++         (*mycout) << "Meshing Stopped!" << endl;
++      }
++      else
++      {
++         (*mycout) << "ERROR: Surface meshing not successful. Meshing aborted!" << endl;
++      }
++
++
++      STLSurfaceOptimization (*stlgeometry, *me, mparam);
++
++      return NG_OK;
++   }
++
++
++
++
++   // fills STL Geometry
++   // positive orientation
++   // normal vector may be null-pointer
++   DLL_HEADER void Ng_STL_AddTriangle (Ng_STL_Geometry * geom,
++                                       double * p1, double * p2, double * p3,
++                                       double * nv)
++   {
++      Point<3> apts[3];
++      apts[0] = Point<3>(p1[0],p1[1],p1[2]);
++      apts[1] = Point<3>(p2[0],p2[1],p2[2]);
++      apts[2] = Point<3>(p3[0],p3[1],p3[2]);
++
++      Vec<3> n;
++      if (!nv)
++         n = Cross (apts[0]-apts[1], apts[0]-apts[2]);
++      else
++         n = Vec<3>(nv[0],nv[1],nv[2]);
++
++      readtrias.Append(STLReadTriangle(apts,n));
++   }
++
++   // add (optional) edges:
++   DLL_HEADER void Ng_STL_AddEdge (Ng_STL_Geometry * geom,
++      double * p1, double * p2)
++   {
++      readedges.Append(Point3d(p1[0],p1[1],p1[2]));
++      readedges.Append(Point3d(p2[0],p2[1],p2[2]));
++   }
++
++
++
++
++#ifdef OCCGEOMETRY
++   // --------------------- OCC Geometry / Meshing Utility Functions -------------------
++   // Create new OCC Geometry Object
++   DLL_HEADER Ng_OCC_Geometry * Ng_OCC_NewGeometry ()
++   {
++      return (Ng_OCC_Geometry*)(void*)new OCCGeometry;
++   }
++
++
++
++
++   // Delete the OCC Geometry Object
++   DLL_HEADER Ng_Result Ng_OCC_DeleteGeometry(Ng_OCC_Geometry * geom)
++   {
++      if (geom != NULL)
++      {
++         delete (OCCGeometry*)geom;
++         geom = NULL;
++         return NG_OK;
++      }
++
++      return NG_ERROR;
++   }
++
++
++
++
++   // Loads geometry from STEP File
++   DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_STEP (const char * filename)
++   {
++      // Call the STEP File Load function. Note.. the geometry class
++      // is created and instantiated within the load function
++      OCCGeometry * occgeo = LoadOCC_STEP(filename);
++
++      return ((Ng_OCC_Geometry *)occgeo);
++   }
++
++
++
++
++   // Loads geometry from IGES File
++   DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_IGES (const char * filename)
++   {
++      // Call the IGES File Load function. Note.. the geometry class
++      // is created and instantiated within the load function
++      OCCGeometry * occgeo = LoadOCC_IGES(filename);
++
++      return ((Ng_OCC_Geometry *)occgeo);
++   }
++
++
++
++
++   // Loads geometry from BREP File
++   DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_BREP (const char * filename)
++   {
++      // Call the BREP File Load function. Note.. the geometry class
++      // is created and instantiated within the load function
++      OCCGeometry * occgeo = LoadOCC_BREP(filename);
++
++      return ((Ng_OCC_Geometry *)occgeo);
++   }
++
++
++
++
++   // Locally limit the size of the mesh to be generated at various points
++   // based on the topology of the geometry
++   DLL_HEADER Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom,
++                                                 Ng_Mesh * mesh,
++                                                 Ng_Meshing_Parameters * mp)
++   {
++      OCCGeometry * occgeom = (OCCGeometry*)geom;
++      Mesh * me = (Mesh*)mesh;
++
++      me->geomtype = Mesh::GEOM_OCC;
++
++      mp->Transfer_Parameters();
++
++      occparam.resthcloseedgeenable = mp->closeedgeenable;
++      occparam.resthcloseedgefac = mp->closeedgefact;
++
++      // Delete the mesh structures in order to start with a clean
++      // slate
++      me->DeleteMesh();
++
++      OCCSetLocalMeshSize(*occgeom, *me);
++
++      return(NG_OK);
++   }
++
++
++
++
++   // Mesh the edges and add Face descriptors to prepare for surface meshing
++   DLL_HEADER Ng_Result Ng_OCC_GenerateEdgeMesh (Ng_OCC_Geometry * geom,
++                                                 Ng_Mesh * mesh,
++                                                 Ng_Meshing_Parameters * mp)
++   {
++      OCCGeometry * occgeom = (OCCGeometry*)geom;
++      Mesh * me = (Mesh*)mesh;
++
++      mp->Transfer_Parameters();
++
++      OCCFindEdges(*occgeom, *me);
++
++      if((me->GetNP()) && (me->GetNFD()))
++      {
++         return NG_OK;
++      }
++      else
++      {
++         return NG_ERROR;
++      }
++   }
++
++
++
++
++   // Mesh the edges and add Face descriptors to prepare for surface meshing
++   DLL_HEADER Ng_Result Ng_OCC_GenerateSurfaceMesh (Ng_OCC_Geometry * geom,
++                                                    Ng_Mesh * mesh,
++                                                    Ng_Meshing_Parameters * mp)
++   {
++      int numpoints = 0;
++
++      OCCGeometry * occgeom = (OCCGeometry*)geom;
++      Mesh * me = (Mesh*)mesh;
++
++      // Set the internal meshing parameters structure from the nglib meshing
++      // parameters structure
++      mp->Transfer_Parameters();
++
++
++      // Only go into surface meshing if the face descriptors have already been added
++      if(!me->GetNFD())
++         return NG_ERROR;
++
++      numpoints = me->GetNP();
++
++      // Initially set up only for surface meshing without any optimisation
++      int perfstepsend = MESHCONST_MESHSURFACE;
++
++      // Check and if required, enable surface mesh optimisation step
++      if(mp->optsurfmeshenable)
++      {
++         perfstepsend = MESHCONST_OPTSURFACE;
++      }
++
++      OCCMeshSurface(*occgeom, *me, perfstepsend);
++
++      me->CalcSurfacesOfNode();
++
++      if(me->GetNP() <= numpoints)
++         return NG_ERROR;
++
++      if(me->GetNSE() <= 0)
++         return NG_ERROR;
++
++      return NG_OK;
++   }
++
++
++
++
++   // Extract the face map from the OCC geometry
++   // The face map basically gives an index to each face in the geometry,
++   // which can be used to access a specific face
++   DLL_HEADER Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom,
++                                       Ng_OCC_TopTools_IndexedMapOfShape * FMap)
++   {
++      OCCGeometry* occgeom = (OCCGeometry*)geom;
++      TopTools_IndexedMapOfShape *occfmap = (TopTools_IndexedMapOfShape *)FMap;
++
++      // Copy the face map from the geometry to the given variable
++      occfmap->Assign(occgeom->fmap);
++
++      if(occfmap->Extent())
++      {
++         return NG_OK;
++      }
++      else
++      {
++         return NG_ERROR;
++      }
++   }
++
++   // ------------------ End - OCC Geometry / Meshing Utility Functions ----------------
++#endif
++
++
++
++
++   // ------------------ Begin - Meshing Parameters related functions ------------------
++   // Constructor for the local nglib meshing parameters class
++   DLL_HEADER Ng_Meshing_Parameters :: Ng_Meshing_Parameters()
++   {
++      uselocalh = 1;
++
++      maxh = 1000;
++      minh = 0.0;
++
++      fineness = 0.5;
++      grading = 0.3;
++
++      elementsperedge = 2.0;
++      elementspercurve = 2.0;
++
++      closeedgeenable = 0;
++      closeedgefact = 2.0;
++
++        minedgelenenable = 0;
++        minedgelen = 1e-4;
++
++      second_order = 0;
++      quad_dominated = 0;
++
++      meshsize_filename = 0;
++
++      optsurfmeshenable = 1;
++      optvolmeshenable = 1;
++
++      optsteps_2d = 3;
++      optsteps_3d = 3;
++
++      invert_tets = 0;
++      invert_trigs = 0;
++
++      check_overlap = 1;
++      check_overlapping_boundary = 1;
++   }
++
++
++
++
++   // Reset the local meshing parameters to the default values
++   DLL_HEADER void Ng_Meshing_Parameters :: Reset_Parameters()
++   {
++      uselocalh = 1;
++
++      maxh = 1000;
++      minh = 0;
++
++      fineness = 0.5;
++      grading = 0.3;
++
++      elementsperedge = 2.0;
++      elementspercurve = 2.0;
++
++      closeedgeenable = 0;
++      closeedgefact = 2.0;
++
++        minedgelenenable = 0;
++        minedgelen = 1e-4;
++
++      second_order = 0;
++      quad_dominated = 0;
++
++      meshsize_filename = 0;
++
++      optsurfmeshenable = 1;
++      optvolmeshenable = 1;
++
++      optsteps_2d = 3;
++      optsteps_3d = 3;
++
++      invert_tets = 0;
++      invert_trigs = 0;
++
++      check_overlap = 1;
++      check_overlapping_boundary = 1;
++   }
++
++
++
++
++   //
++   DLL_HEADER void Ng_Meshing_Parameters :: Transfer_Parameters()
++   {
++      mparam.uselocalh = uselocalh;
++
++      mparam.maxh = maxh;
++      mparam.minh = minh;
++
++      mparam.grading = grading;
++      mparam.curvaturesafety = elementspercurve;
++      mparam.segmentsperedge = elementsperedge;
++
++      mparam.secondorder = second_order;
++      mparam.quad = quad_dominated;
++
++      mparam.meshsizefilename = meshsize_filename;
++
++      mparam.optsteps2d = optsteps_2d;
++      mparam.optsteps3d = optsteps_3d;
++
++      mparam.inverttets = invert_tets;
++      mparam.inverttrigs = invert_trigs;
++
++      mparam.checkoverlap = check_overlap;
++      mparam.checkoverlappingboundary = check_overlapping_boundary;
++   }
++   // ------------------ End - Meshing Parameters related functions --------------------
++
++
++
++
++   // ------------------ Begin - Second Order Mesh generation functions ----------------
++   DLL_HEADER void Ng_Generate_SecondOrder(Ng_Mesh * mesh)
++   {
++      Refinement ref;
++      ref.MakeSecondOrder(*(Mesh*) mesh);
++   }
++
++
++
++
++   DLL_HEADER void Ng_2D_Generate_SecondOrder(Ng_Geometry_2D * geom,
++                                        Ng_Mesh * mesh)
++   {
++      ( (SplineGeometry2d*)geom ) -> GetRefinement().MakeSecondOrder( * (Mesh*) mesh );
++   }
++
++
++
++
++   DLL_HEADER void Ng_STL_Generate_SecondOrder(Ng_STL_Geometry * geom,
++                                         Ng_Mesh * mesh)
++   {
++      ((STLGeometry*)geom)->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
++   }
++
++
++
++
++   DLL_HEADER void Ng_CSG_Generate_SecondOrder (Ng_CSG_Geometry * geom,
++                                         Ng_Mesh * mesh)
++   {
++      ((CSGeometry*)geom)->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
++   }
++
++
++
++
++#ifdef OCCGEOMETRY
++   DLL_HEADER void Ng_OCC_Generate_SecondOrder (Ng_OCC_Geometry * geom,
++                  Ng_Mesh * mesh)
++   {
++      ((OCCGeometry*)geom )->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
++   }
++#endif
++   // ------------------ End - Second Order Mesh generation functions ------------------
++
++
++
++
++   // ------------------ Begin - Uniform Mesh Refinement functions ---------------------
++   DLL_HEADER void Ng_Uniform_Refinement (Ng_Mesh * mesh)
++   {
++      Refinement ref;
++      ref.Refine ( * (Mesh*) mesh );
++   }
++
++
++
++
++   DLL_HEADER void Ng_2D_Uniform_Refinement (Ng_Geometry_2D * geom,
++      Ng_Mesh * mesh)
++   {
++      ( (SplineGeometry2d*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
++   }
++
++
++
++
++   DLL_HEADER void Ng_STL_Uniform_Refinement (Ng_STL_Geometry * geom,
++      Ng_Mesh * mesh)
++   {
++      ( (STLGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
++   }
++
++
++
++
++   DLL_HEADER void Ng_CSG_Uniform_Refinement (Ng_CSG_Geometry * geom,
++      Ng_Mesh * mesh)
++   {
++      ( (CSGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
++   }
++
++
++
++
++#ifdef OCCGEOMETRY
++   DLL_HEADER void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom,
++      Ng_Mesh * mesh)
++   {
++      ( (OCCGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
++   }
++#endif
++   // ------------------ End - Uniform Mesh Refinement functions -----------------------
++} // End of namespace nglib
++
++
++
++
++// compatibility functions:
++namespace netgen
++{
++   char geomfilename[255];
++
++   DLL_HEADER void MyError (const char * ch)
++   {
++      cerr << ch;
++   }
++
++
++
++
++   //Destination for messages, errors, ...
++   DLL_HEADER void Ng_PrintDest(const char * s)
++   {
++#ifdef PARALLEL
++     int id = 0;
++     MPI_Comm_rank(MPI_COMM_WORLD, &id);
++     if (id != 0) return;
++#endif
++     (*mycout) << s << flush;
++   }
++
++
++
++
++   DLL_HEADER double GetTime ()
++   {
++      return 0;
++   }
++
++
++
++
++   void ResetTime ()
++   {
++      ;
++   }
++
++
++
++
++   void MyBeep (int i)
++   {
++      ;
++   }
++
++
++
++
++   void Render()
++   {
++      ;
++   }
++} // End of namespace netgen
++
++
++
++
++void Ng_Redraw () { ; }
++void Ng_ClearSolutionData () { ; }
++void Ng_SetSolutionData (Ng_SolutionData * soldata)
++{
++  delete soldata->solclass;
++}
++void Ng_InitSolutionData (Ng_SolutionData * soldata) { ; }
++
++
+diff -Naur netgen-5.3.1_SRC_orig/nglib/nglib.h netgen-5.3.1_SRC_modif/nglib/nglib.h
+--- netgen-5.3.1_SRC_orig/nglib/nglib.h        2014-08-29 13:54:00.000000000 +0400
++++ netgen-5.3.1_SRC_modif/nglib/nglib.h       2018-03-01 15:44:37.242256019 +0300
+@@ -1,747 +1,747 @@
+-#ifndef NGLIB
+-#define NGLIB
+-
+-/**************************************************************************/
+-/* File:   nglib.h                                                        */
+-/* Author: Joachim Schoeberl                                              */
+-/* Date:   7. May. 2000                                                   */
+-/**************************************************************************/
+-
+-/*!
+-   \file nglib.h
+-   \brief Library interface to the netgen meshing kernel
+-   \author Joachim Schoeberl
+-   \date 7. May 2000
+-
+-   This header file provides access to the core functionality of the Netgen 
+-   Mesher via a library interface, without an interactive User Interface.
+-
+-   The intention of providing these set of functions is to allow system 
+-   developers to integrate Netgen into top-level code, to act as the low 
+-   level mesh generation / optimisation kernel.  
+-*/
+-
+-// Philippose - 14.02.2009
+-// Modifications for creating a DLL in Windows
+-#ifdef WIN32
+-   #ifdef NGLIB_EXPORTS || nglib_EXPORTS
+-      #define DLL_HEADER   __declspec(dllexport)
+-   #else
+-      #define DLL_HEADER   __declspec(dllimport)
+-   #endif
+-#else
+-   #define DLL_HEADER 
+-#endif
+-
+-
+-
+-// ** Constants used within Netgen *********************
+-/// Maximum allowed number of nodes per volume element
+-#define NG_VOLUME_ELEMENT_MAXPOINTS 10
+-
+-/// Maximum allowed number of nodes per surface element
+-#define NG_SURFACE_ELEMENT_MAXPOINTS 8
+-
+-
+-
+-// *** Data-types for accessing Netgen functionality ***
+-/// Data type for NETGEN mesh
+-typedef void * Ng_Mesh;
+-
+-/// Data type for NETGEN CSG geometry
+-typedef void * Ng_CSG_Geometry;
+-
+-/// Data type for NETGEN 2D geometry
+-typedef void * Ng_Geometry_2D;
+-
+-/// Data type for NETGEN STL geometry
+-typedef void * Ng_STL_Geometry;
+-
+-#ifdef OCCGEOMETRY
+-/// Data type for NETGEN OpenCascade geometry
+-typedef void * Ng_OCC_Geometry;
+-typedef void * Ng_OCC_TopTools_IndexedMapOfShape;
+-#endif
+-
+-
+-// *** Special Enum types used within Netgen ***********
+-/// Currently implemented surface element types
+-enum Ng_Surface_Element_Type 
+-   { NG_TRIG = 1, NG_QUAD = 2, NG_TRIG6 = 3, NG_QUAD6 = 4, NG_QUAD8 = 5 };
+-
+-/// Currently implemented volume element types
+-enum Ng_Volume_Element_Type 
+-   { NG_TET = 1, NG_PYRAMID = 2, NG_PRISM = 3, NG_TET10 = 4 };
+-
+-/// Values returned by Netgen functions
+-enum Ng_Result 
+-   { 
+-     NG_ERROR               = -1,   
+-     NG_OK                  = 0, 
+-     NG_SURFACE_INPUT_ERROR = 1,
+-     NG_VOLUME_FAILURE      = 2, 
+-     NG_STL_INPUT_ERROR     = 3,
+-     NG_SURFACE_FAILURE     = 4,
+-     NG_FILE_NOT_FOUND      = 5 
+-   };
+-
+-
+-
+-// *** Classes required for use within Netgen **********
+-/// Netgen Meshing Parameters class
+-class Ng_Meshing_Parameters 
+-{
+-public:
+-   int uselocalh;                      //!< Switch to enable / disable usage of local mesh size modifiers
+-
+-   double maxh;                        //!< Maximum global mesh size allowed
+-   double minh;                        //!< Minimum global mesh size allowed
+-
+-   double fineness;                    //!< Mesh density: 0...1 (0 => coarse; 1 => fine)
+-   double grading;                     //!< Mesh grading: 0...1 (0 => uniform mesh; 1 => aggressive local grading)
+-
+-   double elementsperedge;             //!< Number of elements to generate per edge of the geometry
+-   double elementspercurve;            //!< Elements to generate per curvature radius
+-
+-   int closeedgeenable;                //!< Enable / Disable mesh refinement at close edges
+-   double closeedgefact;               //!< Factor to use for refinement at close edges (larger => finer)
+-
+-   int minedgelenenable;                         //!< Enable / Disable user defined minimum edge length for edge subdivision
+-   double minedgelen;                  //!< Minimum edge length to use while subdividing the edges (default = 1e-4)
+-
+-   int second_order;                   //!< Generate second-order surface and volume elements
+-   int quad_dominated;                 //!< Creates a Quad-dominated mesh 
+-
+-   char * meshsize_filename;           //!< Optional external mesh size file 
+-
+-   int optsurfmeshenable;              //!< Enable / Disable automatic surface mesh optimization
+-   int optvolmeshenable;               //!< Enable / Disable automatic volume mesh optimization
+-
+-   int optsteps_3d;                     //!< Number of optimize steps to use for 3-D mesh optimization
+-   int optsteps_2d;                     //!< Number of optimize steps to use for 2-D mesh optimization
+-
+-   // Philippose - 13/09/2010
+-   // Added a couple more parameters into the meshing parameters list 
+-   // from Netgen into Nglib
+-   int invert_tets;                    //!< Invert all the volume elements
+-   int invert_trigs;                   //!< Invert all the surface triangle elements
+-
+-   int check_overlap;                  //!< Check for overlapping surfaces during Surface meshing
+-   int check_overlapping_boundary;     //!< Check for overlapping surface elements before volume meshing
+-
+-
+-   /*!
+-      Default constructor for the Mesh Parameters class
+-
+-      Note: This constructor initialises the variables in the 
+-      class with the following default values
+-      - #uselocalh: 1
+-      - #maxh: 1000.0
+-      - #fineness: 0.5
+-      - #grading: 0.3
+-      - #elementsperedge: 2.0
+-      - #elementspercurve: 2.0
+-      - #closeedgeenable: 0
+-      - #closeedgefact: 2.0
+-      - #secondorder: 0
+-      - #meshsize_filename: null
+-      - #quad_dominated: 0
+-      - #optsurfmeshenable: 1
+-      - #optvolmeshenable: 1
+-      - #optsteps_2d: 3
+-      - #optsteps_3d: 3
+-      - #invert_tets: 0
+-      - #invert_trigs:0 
+-      - #check_overlap: 1
+-      - #check_overlapping_boundary: 1
+-   */
+-   DLL_HEADER Ng_Meshing_Parameters();
+-
+-
+-
+-   /*!
+-       Reset the meshing parameters to their defaults
+-
+-       This member function resets all the meshing parameters 
+-       of the object to the default values
+-   */
+-   DLL_HEADER void Reset_Parameters();
+-
+-
+-
+-   /*!
+-       Transfer local meshing parameters to internal meshing parameters
+-
+-       This member function transfers all the meshing parameters 
+-       defined in the local meshing parameters structure of nglib into 
+-       the internal meshing parameters structure used by the Netgen core
+-   */
+-   DLL_HEADER void Transfer_Parameters();
+-};
+-
+-
+-
+-
+-// *** Functions Exported by this Library *************
+-
+-// ------------------------------------------------------------------
+-// Netgen library initialisation / destruction functions
+-
+-/*! \brief Initialise the Netgen library and prepare for use
+-
+-    This function needs to be called by the third-party 
+-    program before beginning to use the other Netgen 
+-    specific functions.
+-*/
+-DLL_HEADER void Ng_Init ();
+-
+-
+-/*! \brief Exit the Netgen meshing kernel in a clean manner
+-
+-    Use this function to exit the meshing sub-system in 
+-    a clean and orderly manner.
+-*/
+-DLL_HEADER void Ng_Exit ();
+-  
+-
+-/*! \brief Create a new (and empty) Netgen Mesh Structure
+-
+-    This function creates a new Netgen Mesh, initialises 
+-    it, and returns a pointer to the created mesh structure. 
+-
+-    Use the returned pointer for subsequent operations 
+-    which involve mesh operations.
+-
+-    \return Ng_Mesh Pointer to a Netgen Mesh type #Ng_Mesh
+-*/
+-DLL_HEADER  Ng_Mesh * Ng_NewMesh ();
+-
+-
+-/*! \brief Delete an existing Netgen Mesh Structure
+-
+-    Use this function to delete an existing Netgen mesh 
+-    structure and release the used memory. 
+-
+-    \param mesh Pointer to an existing Netgen Mesh structure 
+-                of type #Ng_Mesh
+-*/
+-DLL_HEADER void Ng_DeleteMesh (Ng_Mesh * mesh);
+-
+-
+-/*! \brief Save a Netgen Mesh to disk
+-
+-    This function allows a generated mesh structure to be saved 
+-    to disk.
+-
+-    A Mesh saved using this function, will be written to disk 
+-    in the Netgen VOL file format.
+-
+-    \param mesh    Pointer to an existing Netgen Mesh structure 
+-                   of type #Ng_Mesh
+-    \param filename Pointer to a character array containing the 
+-                    name of the file to which the mesh should 
+-                    be saved
+-*/
+-DLL_HEADER void Ng_SaveMesh(Ng_Mesh * mesh, const char* filename);
+-
+-
+-/*! \brief Load a Netgen VOL Mesh from disk into memory
+-
+-    A Netgen mesh saved in the internal VOL format can be loaded 
+-    into a Netgen Mesh structure using this function. 
+-
+-    \param filename Pointer to a character array containing the 
+-                    name of the file to load
+-    \return Ng_Mesh Pointer to a Netgen Mesh type #Ng_Mesh containing 
+-                    the mesh loaded from disk
+-*/
+-DLL_HEADER Ng_Mesh * Ng_LoadMesh(const char* filename);
+-
+-
+-/*! \brief Merge a Netgen VOL Mesh from disk into an existing mesh in memory
+-
+-    A Netgen mesh saved in the internal VOL format can be merged 
+-    into an existing Netgen Mesh structure using this function. 
+-
+-    \param mesh       Name of the Mesh structure already existent in memory
+-    \param filename   Pointer to a character array containing the 
+-                      name of the file to load
+-    \return Ng_Result Status of the merge operation
+-*/
+-DLL_HEADER Ng_Result Ng_MergeMesh(Ng_Mesh * mesh, const char* filename);
+-
+-
+-/*! \brief Merge one Netgen Mesh into another Netgen Mesh in the case 
+-    when both are already in memory
+-
+-    (NOTE: FUNCTION STILL WORK IN PROGRESS!!!)
+-
+-    This function can be used to merge two Netgen meshes already present 
+-    in memory.
+-
+-    \param mesh1      Parent Mesh structure into which the second mesh 
+-                      will be merged
+-    \param mesh2      Child mesh structure which will get merged into 
+-                      the parent mesh
+-    \return Ng_Result Status of the merge operation
+-*/
+-DLL_HEADER Ng_Result Ng_MergeMesh(Ng_Mesh * mesh1, Ng_Mesh * mesh2);
+-// ------------------------------------------------------------------
+-
+-
+-
+-// ------------------------------------------------------------------
+-// Basic Meshing functions for manually adding points, surface elements 
+-// and volume elements to a Netgen Mesh structure
+-
+-/*! \brief Add a point to a given Netgen Mesh Structure
+-
+-    This function allows points to be directly added to a Netgen 
+-    mesh structure by providing the co-ordinates.
+-
+-    Each call to the function allows only one point to be added.
+-
+-    \param mesh Pointer to an existing Netgen Mesh structure of 
+-                type #Ng_Mesh
+-    \param x    Pointer to an array of type double containing the co-ordinates 
+-                of the point to be added in the form: \n
+-                - x[0] = X co-ordinate
+-                - x[1] = Y co-ordinate
+-                - x[2] = Z co-ordinate
+-*/
+-DLL_HEADER void Ng_AddPoint (Ng_Mesh * mesh, double * x);
+-
+-
+-/*! \brief Add a surface element to a given Netgen Mesh Structure
+-
+-    This function allows the top-level code to directly add individual 
+-    Surface Elements to a Netgen Mesh Structure by providing the type of 
+-    element to be added and the indices of the points which constitute the 
+-    element.
+-
+-    <i>Note:</i> 
+-    - The points referred to by the surface elements must have been
+-      added prior to calling this function. 
+-    - Currently only triangular elements are supported, and the Surface Element 
+-      Type argument is not used.
+-
+-    \param mesh Pointer to an existing Netgen Mesh structure of 
+-                type #Ng_Mesh
+-    \param et   Surface Element type provided via the enumerated type 
+-                #Ng_Surface_Element_Type 
+-    \param pi   Pointer to an array of integers containing the indices of the 
+-                points which constitute the surface element being added
+-*/
+-DLL_HEADER void Ng_AddSurfaceElement (Ng_Mesh * mesh, Ng_Surface_Element_Type et, int * pi);
+-
+-
+-/*! \brief Add a volume element to a given Netgen Mesh Structure
+-
+-    This function allows the top-level code to directly add individual 
+-    Volume Elements to a Netgen Mesh Structure by providing the type of 
+-    element to be added and the indices of the points which constitute the 
+-    element.
+-
+-    <i>Note:</i> 
+-    - The points referred to by the volume elements must have been
+-      added prior to calling this function. 
+-    - Currently only tetrahedral elements are supported, and the Volume Element 
+-      Type argument is not used.
+-
+-    \param mesh Pointer to an existing Netgen Mesh structure of 
+-                type #Ng_Mesh
+-    \param et   Volume Element type provided via the enumerated type 
+-                #Ng_Volume_Element_Type 
+-    \param pi   Pointer to an array of integers containing the indices of the 
+-                points which constitute the volume element being added
+-
+-*/
+-DLL_HEADER void Ng_AddVolumeElement (Ng_Mesh * mesh, Ng_Volume_Element_Type et, int * pi);
+-  
+-// ------------------------------------------------------------------
+-
+-
+-
+-// ------------------------------------------------------------------
+-// Local Mesh Size restriction / limiting utilities
+-
+-/*! \brief Apply a global restriction on mesh element size
+-
+-    This utility allows the user to apply a global mesh element 
+-    size limitation. 
+-
+-    During mesh creation, in the absence of an explicit local 
+-    size restriction around the neighbourhood of a point within 
+-    the meshing domain, this global size restriction will be 
+-    utilised.
+-
+-    <b>Note</b>: This function only limits the <b>Maximum</b> 
+-    size of an element within the mesh.
+-
+-    \param mesh Pointer to an existing Netgen Mesh structure of 
+-                type #Ng_Mesh
+-    \param h    Variable of type <i>double</i>, specifying the maximum
+-                allowable mesh size
+-*/
+-DLL_HEADER void Ng_RestrictMeshSizeGlobal (Ng_Mesh * mesh, double h);
+-
+-
+-/*! \brief Locally restrict the mesh element size at the given point
+-
+-    Unlike the function #Ng_RestrictMeshSizeGlobal, this function 
+-    allows the user to locally restrict the maximum allowable mesh 
+-    size at a given point.
+-
+-    The point is specified via its three cartesian co-ordinates.
+-
+-    <b>Note</b>: This function only limits the <b>Maximum</b> size 
+-    of the elements around the specified point.
+-
+-    \param mesh Pointer to an existing Netgen Mesh structure of 
+-                type #Ng_Mesh
+-    \param p    Pointer to an Array of type <i>double</i>, containing 
+-                the three co-ordinates of the point in the form: \n
+-                - p[0] = X co-ordinate
+-                - p[1] = Y co-ordinate
+-                - p[2] = Z co-ordinate
+-    \param h    Variable of type <i>double</i>, specifying the maximum
+-                allowable mesh size at that point
+-*/
+-DLL_HEADER void Ng_RestrictMeshSizePoint (Ng_Mesh * mesh, double * p, double h);
+-
+-
+-/*! \brief Locally restrict the mesh element size within a specified box
+-
+-    Similar to the function #Ng_RestrictMeshSizePoint, this function 
+-    allows the size of elements within a mesh to be locally limited.
+-
+-    However, rather than limit the mesh size at a single point, this 
+-    utility restricts the local mesh size within a 3D Box region, specified 
+-    via the co-ordinates of the two diagonally opposite points of a cuboid.
+-
+-    <b>Note</b>: This function only limits the <b>Maximum</b> size 
+-    of the elements within the specified region.
+-
+-    \param mesh Pointer to an existing Netgen Mesh structure of 
+-                type #Ng_Mesh
+-    \param pmin Pointer to an Array of type <i>double</i>, containing 
+-                the three co-ordinates of the first point of the cuboid: \n
+-                - pmin[0] = X co-ordinate
+-                - pmin[1] = Y co-ordinate
+-                - pmin[2] = Z co-ordinate
+-    \param pmax Pointer to an Array of type <i>double</i>, containing 
+-                the three co-ordinates of the opposite point of the 
+-                cuboid: \n
+-                - pmax[0] = X co-ordinate
+-                - pmax[1] = Y co-ordinate
+-                - pmax[2] = Z co-ordinate
+-    \param h    Variable of type <i>double</i>, specifying the maximum
+-                allowable mesh size at that point
+-*/
+-DLL_HEADER void Ng_RestrictMeshSizeBox (Ng_Mesh * mesh, double * pmin, double * pmax, double h);
+-
+-// ------------------------------------------------------------------
+-
+-
+-
+-// ------------------------------------------------------------------
+-// 3D Mesh Generation functions
+-
+-/*! \brief Create a 3D Volume Mesh given a Surface Mesh
+-
+-    After creating a surface mesh, this function can be utilised 
+-    to automatically generate the corresponding 3D Volume Mesh.
+-
+-    Mesh generation parameters (such as grading, maximum element size, 
+-    etc.) are specified via the meshing parameters class which also 
+-    needs to be passed to this function.
+-
+-    <b>Note</b>: Currently, Netgen generates pure tetrahedral volume 
+-    meshes.
+-
+-    \param mesh Pointer to an existing Netgen Mesh structure of 
+-                type #Ng_Mesh
+-    \param mp   Pointer to a copy of the Meshing Parameters class
+-                (#Ng_Meshing_Parameters), filled up with the 
+-                required values
+-
+-    \return Ng_Result Status of the Mesh Generation routine. More 
+-                      details regarding the return value can be 
+-                      found in the description of #Ng_Result
+-*/
+-DLL_HEADER Ng_Result Ng_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp);
+-
+-// ------------------------------------------------------------------
+-
+-
+-
+-// ------------------------------------------------------------------
+-// Basic Mesh information functions
+-
+-/*! \brief Returns the Number of Points present in the specified Mesh
+-
+-    Given an already existent Netgen Mesh Structure, this function 
+-    returns the number of points currently present within the Mesh.
+-
+-    \param mesh Pointer to an existing Netgen Mesh structure of 
+-                type #Ng_Mesh
+-    \return 
+-                Integer Data-type with the number of points in the Mesh
+-*/
+-DLL_HEADER int Ng_GetNP (Ng_Mesh * mesh);
+-
+-
+-/*! \brief Returns the Number of Surface Elements present in the specified Mesh
+-
+-    Given an already existent Netgen Mesh Structure, this function 
+-    returns the number of surface elements currently present within 
+-    the Mesh.
+-
+-    \param mesh Pointer to an existing Netgen Mesh structure of 
+-                type #Ng_Mesh
+-    \return 
+-                Integer Data-type with the number of surface elements in the Mesh
+-*/
+-DLL_HEADER int Ng_GetNSE (Ng_Mesh * mesh);
+-
+-
+-/*! \brief Returns the Number of Volume Elements present in the specified Mesh
+-
+-    Given an already existent Netgen Mesh Structure, this function 
+-    returns the number of volume elements currently present within 
+-    the Mesh.
+-
+-    \param mesh Pointer to an existing Netgen Mesh structure of 
+-                type #Ng_Mesh
+-    \return 
+-                Integer Data-type with the number of volume elements in the Mesh
+-*/
+-DLL_HEADER int Ng_GetNE (Ng_Mesh * mesh);
+-
+-// ------------------------------------------------------------------
+-
+-
+-
+-// ------------------------------------------------------------------
+-// Mesh Topology functions
+-// Use these functions to extract points, surface / volume elements, 
+-// perform topological searches, etc..etc...
+-  
+-//  Return the Point Coordinates of a specified Point
+-// The x, y and z co-ordinates are returned in the array pointer as 
+-// x[0] = x ; x[1] = y ; x[2] = z
+-DLL_HEADER void Ng_GetPoint (Ng_Mesh * mesh, int num, double * x);
+-
+-
+-
+-// return surface and volume element in pi
+-DLL_HEADER Ng_Surface_Element_Type 
+-Ng_GetSurfaceElement (Ng_Mesh * mesh, int num, int * pi);
+-
+-DLL_HEADER Ng_Volume_Element_Type
+-Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi);
+-
+-// ------------------------------------------------------------------
+-
+-
+-
+-
+-// **********************************************************
+-// **   2D Meshing                                         **
+-// **********************************************************
+-
+-
+-// feeds points and boundary to mesh
+-
+-DLL_HEADER void Ng_AddPoint_2D (Ng_Mesh * mesh, double * x);
+-DLL_HEADER void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2);
+-  
+-// ask for number of points, elements and boundary segments
+-DLL_HEADER int Ng_GetNP_2D (Ng_Mesh * mesh);
+-DLL_HEADER int Ng_GetNE_2D (Ng_Mesh * mesh);
+-DLL_HEADER int Ng_GetNSeg_2D (Ng_Mesh * mesh);
+-  
+-//  return point coordinates
+-DLL_HEADER void Ng_GetPoint_2D (Ng_Mesh * mesh, int num, double * x);
+-
+-// return 2d elements
+-DLL_HEADER Ng_Surface_Element_Type 
+-Ng_GetElement_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum = NULL);
+-
+-// return 2d boundary segment
+-DLL_HEADER void Ng_GetSegment_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum = NULL);
+-
+-
+-// load 2d netgen spline geometry
+-DLL_HEADER Ng_Geometry_2D * Ng_LoadGeometry_2D (const char * filename);
+-
+-// generate 2d mesh, mesh is allocated by function
+-DLL_HEADER Ng_Result Ng_GenerateMesh_2D (Ng_Geometry_2D * geom,
+-                                         Ng_Mesh ** mesh,
+-                                         Ng_Meshing_Parameters * mp);
+-  
+-DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom,
+-                                  Ng_Mesh * mesh,
+-                                  int levels);
+-  
+-
+-
+-
+-
+-// **********************************************************
+-// **   STL Meshing                                        **
+-// **********************************************************
+-
+-
+-// loads geometry from STL file
+-DLL_HEADER Ng_STL_Geometry * Ng_STL_LoadGeometry (const char * filename, int binary = 0);
+-
+-
+-// generate new STL Geometry
+-DLL_HEADER Ng_STL_Geometry * Ng_STL_NewGeometry ();
+-  
+-
+-// fills STL Geometry
+-// positive orientation
+-// normal vector may be null-pointer
+-DLL_HEADER void Ng_STL_AddTriangle (Ng_STL_Geometry * geom, 
+-                         double * p1, double * p2, double * p3, 
+-                         double * nv = NULL);
+-
+-// add (optional) edges :
+-DLL_HEADER void Ng_STL_AddEdge (Ng_STL_Geometry * geom, 
+-                     double * p1, double * p2);
+-
+-// after adding triangles (and edges) initialize
+-DLL_HEADER Ng_Result Ng_STL_InitSTLGeometry (Ng_STL_Geometry * geom);
+-
+-// automatically generates edges:
+-DLL_HEADER Ng_Result Ng_STL_MakeEdges (Ng_STL_Geometry * geom,
+-                            Ng_Mesh* mesh,
+-                            Ng_Meshing_Parameters * mp);
+-
+-
+-// generates mesh, empty mesh must be already created.
+-DLL_HEADER Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom,
+-                                                 Ng_Mesh * mesh,
+-                                                 Ng_Meshing_Parameters * mp);
+-
+-
+-#ifdef ACIS
+-
+-// **********************************************************
+-// **   ACIS Meshing                                       **
+-// **********************************************************
+-
+-/// Data type for NETGEN STL geomty
+-typedef void * Ng_ACIS_Geometry;
+-
+-// loads geometry from STL file
+-DLL_HEADER Ng_ACIS_Geometry * Ng_ACIS_LoadGeometry (const char * filename);
+-  
+-// generates mesh, empty mesh must be already created.
+-DLL_HEADER Ng_Result Ng_ACIS_GenerateSurfaceMesh (Ng_ACIS_Geometry * geom,
+-                                                  Ng_Mesh * mesh,
+-                                                  Ng_Meshing_Parameters * mp);
+-
+-
+-#endif
+-
+-
+-
+-#ifdef OCCGEOMETRY
+-
+-// **********************************************************
+-// **   OpenCascade Geometry / Meshing Utilities           **
+-// **********************************************************
+-
+-// Create new OCC Geometry Object
+-DLL_HEADER Ng_OCC_Geometry * Ng_OCC_NewGeometry ();
+-
+-// Delete an OCC Geometry Object
+-DLL_HEADER Ng_Result Ng_OCC_DeleteGeometry (Ng_OCC_Geometry * geom);
+-
+-// Loads geometry from STEP file
+-DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_STEP (const char * filename);
+-
+-// Loads geometry from IGES file
+-DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_IGES (const char * filename);
+-
+-// Loads geometry from BREP file
+-DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_BREP (const char * filename);
+-
+-// Set the local mesh size based on geometry / topology
+-DLL_HEADER Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom,
+-                                              Ng_Mesh * mesh,
+-                                              Ng_Meshing_Parameters * mp);
+-
+-// Mesh the edges and add Face descriptors to prepare for surface meshing
+-DLL_HEADER Ng_Result Ng_OCC_GenerateEdgeMesh (Ng_OCC_Geometry * geom,
+-                                              Ng_Mesh * mesh,
+-                                              Ng_Meshing_Parameters * mp);
+-
+-// Mesh the surfaces of an OCC geometry
+-DLL_HEADER Ng_Result Ng_OCC_GenerateSurfaceMesh (Ng_OCC_Geometry * geom,
+-                                                 Ng_Mesh * mesh,
+-                                                 Ng_Meshing_Parameters * mp); 
+-
+-// Get the face map of an already loaded OCC geometry
+-DLL_HEADER Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom, 
+-                                    Ng_OCC_TopTools_IndexedMapOfShape * FMap);
+-
+-#endif // OCCGEOMETRY
+-
+-
+-
+-// **********************************************************
+-// **   Mesh refinement algorithms                         **
+-// **********************************************************
+-
+-// uniform mesh refinement
+-DLL_HEADER void Ng_Uniform_Refinement (Ng_Mesh * mesh);
+-
+-
+-// uniform mesh refinement with geometry adaption:
+-
+-DLL_HEADER void Ng_2D_Uniform_Refinement (Ng_Geometry_2D * geom,
+-                                        Ng_Mesh * mesh);
+-
+-DLL_HEADER void Ng_STL_Uniform_Refinement (Ng_STL_Geometry * geom,
+-                                         Ng_Mesh * mesh);
+-
+-DLL_HEADER void Ng_CSG_Uniform_Refinement (Ng_CSG_Geometry * geom,
+-                                         Ng_Mesh * mesh);
+-
+-#ifdef OCCGEOMETRY
+-DLL_HEADER void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom,
+-                                         Ng_Mesh * mesh);
+-#endif
+-
+-
+-
+-// **********************************************************
+-// **   Second Order mesh algorithms                       **
+-// **********************************************************
+-
+-// convert mesh to second order
+-DLL_HEADER void Ng_Generate_SecondOrder (Ng_Mesh * mesh);
+-
+-
+-// convert mesh to second order with geometry adaption:
+-
+-DLL_HEADER void Ng_2D_Generate_SecondOrder (Ng_Geometry_2D * geom,
+-                                        Ng_Mesh * mesh);
+-
+-DLL_HEADER void Ng_STL_Generate_SecondOrder (Ng_STL_Geometry * geom,
+-                                         Ng_Mesh * mesh);
+-
+-DLL_HEADER void Ng_CSG_Generate_SecondOrder (Ng_CSG_Geometry * geom,
+-                                         Ng_Mesh * mesh);
+-
+-#ifdef OCCGEOMETRY
+-DLL_HEADER void Ng_OCC_Generate_SecondOrder (Ng_OCC_Geometry * geom,
+-                                         Ng_Mesh * mesh);
+-#endif
+-
+-
+-#endif // NGLIB
++#ifndef NGLIB
++#define NGLIB
++
++/**************************************************************************/
++/* File:   nglib.h                                                        */
++/* Author: Joachim Schoeberl                                              */
++/* Date:   7. May. 2000                                                   */
++/**************************************************************************/
++
++/*!
++   \file nglib.h
++   \brief Library interface to the netgen meshing kernel
++   \author Joachim Schoeberl
++   \date 7. May 2000
++
++   This header file provides access to the core functionality of the Netgen
++   Mesher via a library interface, without an interactive User Interface.
++
++   The intention of providing these set of functions is to allow system
++   developers to integrate Netgen into top-level code, to act as the low
++   level mesh generation / optimisation kernel.
++*/
++
++// Philippose - 14.02.2009
++// Modifications for creating a DLL in Windows
++#ifdef WIN32
++   #if defined NGLIB_EXPORTS || defined nglib_EXPORTS
++      #define DLL_HEADER   __declspec(dllexport)
++   #else
++      #define DLL_HEADER   __declspec(dllimport)
++   #endif
++#else
++   #define DLL_HEADER
++#endif
++
++
++
++// ** Constants used within Netgen *********************
++/// Maximum allowed number of nodes per volume element
++#define NG_VOLUME_ELEMENT_MAXPOINTS 10
++
++/// Maximum allowed number of nodes per surface element
++#define NG_SURFACE_ELEMENT_MAXPOINTS 8
++
++
++
++// *** Data-types for accessing Netgen functionality ***
++/// Data type for NETGEN mesh
++typedef void * Ng_Mesh;
++
++/// Data type for NETGEN CSG geometry
++typedef void * Ng_CSG_Geometry;
++
++/// Data type for NETGEN 2D geometry
++typedef void * Ng_Geometry_2D;
++
++/// Data type for NETGEN STL geometry
++typedef void * Ng_STL_Geometry;
++
++#ifdef OCCGEOMETRY
++/// Data type for NETGEN OpenCascade geometry
++typedef void * Ng_OCC_Geometry;
++typedef void * Ng_OCC_TopTools_IndexedMapOfShape;
++#endif
++
++
++// *** Special Enum types used within Netgen ***********
++/// Currently implemented surface element types
++enum Ng_Surface_Element_Type
++   { NG_TRIG = 1, NG_QUAD = 2, NG_TRIG6 = 3, NG_QUAD6 = 4, NG_QUAD8 = 5 };
++
++/// Currently implemented volume element types
++enum Ng_Volume_Element_Type
++   { NG_TET = 1, NG_PYRAMID = 2, NG_PRISM = 3, NG_TET10 = 4 };
++
++/// Values returned by Netgen functions
++enum Ng_Result
++   {
++     NG_ERROR               = -1,
++     NG_OK                  = 0,
++     NG_SURFACE_INPUT_ERROR = 1,
++     NG_VOLUME_FAILURE      = 2,
++     NG_STL_INPUT_ERROR     = 3,
++     NG_SURFACE_FAILURE     = 4,
++     NG_FILE_NOT_FOUND      = 5
++   };
++
++
++
++// *** Classes required for use within Netgen **********
++/// Netgen Meshing Parameters class
++class Ng_Meshing_Parameters
++{
++public:
++   int uselocalh;                      //!< Switch to enable / disable usage of local mesh size modifiers
++
++   double maxh;                        //!< Maximum global mesh size allowed
++   double minh;                        //!< Minimum global mesh size allowed
++
++   double fineness;                    //!< Mesh density: 0...1 (0 => coarse; 1 => fine)
++   double grading;                     //!< Mesh grading: 0...1 (0 => uniform mesh; 1 => aggressive local grading)
++
++   double elementsperedge;             //!< Number of elements to generate per edge of the geometry
++   double elementspercurve;            //!< Elements to generate per curvature radius
++
++   int closeedgeenable;                //!< Enable / Disable mesh refinement at close edges
++   double closeedgefact;               //!< Factor to use for refinement at close edges (larger => finer)
++
++   int minedgelenenable;                         //!< Enable / Disable user defined minimum edge length for edge subdivision
++   double minedgelen;                  //!< Minimum edge length to use while subdividing the edges (default = 1e-4)
++
++   int second_order;                   //!< Generate second-order surface and volume elements
++   int quad_dominated;                 //!< Creates a Quad-dominated mesh
++
++   char * meshsize_filename;           //!< Optional external mesh size file
++
++   int optsurfmeshenable;              //!< Enable / Disable automatic surface mesh optimization
++   int optvolmeshenable;               //!< Enable / Disable automatic volume mesh optimization
++
++   int optsteps_3d;                     //!< Number of optimize steps to use for 3-D mesh optimization
++   int optsteps_2d;                     //!< Number of optimize steps to use for 2-D mesh optimization
++
++   // Philippose - 13/09/2010
++   // Added a couple more parameters into the meshing parameters list
++   // from Netgen into Nglib
++   int invert_tets;                    //!< Invert all the volume elements
++   int invert_trigs;                   //!< Invert all the surface triangle elements
++
++   int check_overlap;                  //!< Check for overlapping surfaces during Surface meshing
++   int check_overlapping_boundary;     //!< Check for overlapping surface elements before volume meshing
++
++
++   /*!
++      Default constructor for the Mesh Parameters class
++
++      Note: This constructor initialises the variables in the
++      class with the following default values
++      - #uselocalh: 1
++      - #maxh: 1000.0
++      - #fineness: 0.5
++      - #grading: 0.3
++      - #elementsperedge: 2.0
++      - #elementspercurve: 2.0
++      - #closeedgeenable: 0
++      - #closeedgefact: 2.0
++      - #secondorder: 0
++      - #meshsize_filename: null
++      - #quad_dominated: 0
++      - #optsurfmeshenable: 1
++      - #optvolmeshenable: 1
++      - #optsteps_2d: 3
++      - #optsteps_3d: 3
++      - #invert_tets: 0
++      - #invert_trigs:0
++      - #check_overlap: 1
++      - #check_overlapping_boundary: 1
++   */
++   DLL_HEADER Ng_Meshing_Parameters();
++
++
++
++   /*!
++       Reset the meshing parameters to their defaults
++
++       This member function resets all the meshing parameters
++       of the object to the default values
++   */
++   DLL_HEADER void Reset_Parameters();
++
++
++
++   /*!
++       Transfer local meshing parameters to internal meshing parameters
++
++       This member function transfers all the meshing parameters
++       defined in the local meshing parameters structure of nglib into
++       the internal meshing parameters structure used by the Netgen core
++   */
++   DLL_HEADER void Transfer_Parameters();
++};
++
++
++
++
++// *** Functions Exported by this Library *************
++
++// ------------------------------------------------------------------
++// Netgen library initialisation / destruction functions
++
++/*! \brief Initialise the Netgen library and prepare for use
++
++    This function needs to be called by the third-party
++    program before beginning to use the other Netgen
++    specific functions.
++*/
++DLL_HEADER void Ng_Init ();
++
++
++/*! \brief Exit the Netgen meshing kernel in a clean manner
++
++    Use this function to exit the meshing sub-system in
++    a clean and orderly manner.
++*/
++DLL_HEADER void Ng_Exit ();
++
++
++/*! \brief Create a new (and empty) Netgen Mesh Structure
++
++    This function creates a new Netgen Mesh, initialises
++    it, and returns a pointer to the created mesh structure.
++
++    Use the returned pointer for subsequent operations
++    which involve mesh operations.
++
++    \return Ng_Mesh Pointer to a Netgen Mesh type #Ng_Mesh
++*/
++DLL_HEADER  Ng_Mesh * Ng_NewMesh ();
++
++
++/*! \brief Delete an existing Netgen Mesh Structure
++
++    Use this function to delete an existing Netgen mesh
++    structure and release the used memory.
++
++    \param mesh Pointer to an existing Netgen Mesh structure
++                of type #Ng_Mesh
++*/
++DLL_HEADER void Ng_DeleteMesh (Ng_Mesh * mesh);
++
++
++/*! \brief Save a Netgen Mesh to disk
++
++    This function allows a generated mesh structure to be saved
++    to disk.
++
++    A Mesh saved using this function, will be written to disk
++    in the Netgen VOL file format.
++
++    \param mesh    Pointer to an existing Netgen Mesh structure
++                   of type #Ng_Mesh
++    \param filename Pointer to a character array containing the
++                    name of the file to which the mesh should
++                    be saved
++*/
++DLL_HEADER void Ng_SaveMesh(Ng_Mesh * mesh, const char* filename);
++
++
++/*! \brief Load a Netgen VOL Mesh from disk into memory
++
++    A Netgen mesh saved in the internal VOL format can be loaded
++    into a Netgen Mesh structure using this function.
++
++    \param filename Pointer to a character array containing the
++                    name of the file to load
++    \return Ng_Mesh Pointer to a Netgen Mesh type #Ng_Mesh containing
++                    the mesh loaded from disk
++*/
++DLL_HEADER Ng_Mesh * Ng_LoadMesh(const char* filename);
++
++
++/*! \brief Merge a Netgen VOL Mesh from disk into an existing mesh in memory
++
++    A Netgen mesh saved in the internal VOL format can be merged
++    into an existing Netgen Mesh structure using this function.
++
++    \param mesh       Name of the Mesh structure already existent in memory
++    \param filename   Pointer to a character array containing the
++                      name of the file to load
++    \return Ng_Result Status of the merge operation
++*/
++DLL_HEADER Ng_Result Ng_MergeMesh(Ng_Mesh * mesh, const char* filename);
++
++
++/*! \brief Merge one Netgen Mesh into another Netgen Mesh in the case
++    when both are already in memory
++
++    (NOTE: FUNCTION STILL WORK IN PROGRESS!!!)
++
++    This function can be used to merge two Netgen meshes already present
++    in memory.
++
++    \param mesh1      Parent Mesh structure into which the second mesh
++                      will be merged
++    \param mesh2      Child mesh structure which will get merged into
++                      the parent mesh
++    \return Ng_Result Status of the merge operation
++*/
++DLL_HEADER Ng_Result Ng_MergeMesh(Ng_Mesh * mesh1, Ng_Mesh * mesh2);
++// ------------------------------------------------------------------
++
++
++
++// ------------------------------------------------------------------
++// Basic Meshing functions for manually adding points, surface elements
++// and volume elements to a Netgen Mesh structure
++
++/*! \brief Add a point to a given Netgen Mesh Structure
++
++    This function allows points to be directly added to a Netgen
++    mesh structure by providing the co-ordinates.
++
++    Each call to the function allows only one point to be added.
++
++    \param mesh Pointer to an existing Netgen Mesh structure of
++                type #Ng_Mesh
++    \param x    Pointer to an array of type double containing the co-ordinates
++                of the point to be added in the form: \n
++                - x[0] = X co-ordinate
++                - x[1] = Y co-ordinate
++                - x[2] = Z co-ordinate
++*/
++DLL_HEADER void Ng_AddPoint (Ng_Mesh * mesh, double * x);
++
++
++/*! \brief Add a surface element to a given Netgen Mesh Structure
++
++    This function allows the top-level code to directly add individual
++    Surface Elements to a Netgen Mesh Structure by providing the type of
++    element to be added and the indices of the points which constitute the
++    element.
++
++    <i>Note:</i>
++    - The points referred to by the surface elements must have been
++      added prior to calling this function.
++    - Currently only triangular elements are supported, and the Surface Element
++      Type argument is not used.
++
++    \param mesh Pointer to an existing Netgen Mesh structure of
++                type #Ng_Mesh
++    \param et   Surface Element type provided via the enumerated type
++                #Ng_Surface_Element_Type
++    \param pi   Pointer to an array of integers containing the indices of the
++                points which constitute the surface element being added
++*/
++DLL_HEADER void Ng_AddSurfaceElement (Ng_Mesh * mesh, Ng_Surface_Element_Type et, int * pi);
++
++
++/*! \brief Add a volume element to a given Netgen Mesh Structure
++
++    This function allows the top-level code to directly add individual
++    Volume Elements to a Netgen Mesh Structure by providing the type of
++    element to be added and the indices of the points which constitute the
++    element.
++
++    <i>Note:</i>
++    - The points referred to by the volume elements must have been
++      added prior to calling this function.
++    - Currently only tetrahedral elements are supported, and the Volume Element
++      Type argument is not used.
++
++    \param mesh Pointer to an existing Netgen Mesh structure of
++                type #Ng_Mesh
++    \param et   Volume Element type provided via the enumerated type
++                #Ng_Volume_Element_Type
++    \param pi   Pointer to an array of integers containing the indices of the
++                points which constitute the volume element being added
++
++*/
++DLL_HEADER void Ng_AddVolumeElement (Ng_Mesh * mesh, Ng_Volume_Element_Type et, int * pi);
++
++// ------------------------------------------------------------------
++
++
++
++// ------------------------------------------------------------------
++// Local Mesh Size restriction / limiting utilities
++
++/*! \brief Apply a global restriction on mesh element size
++
++    This utility allows the user to apply a global mesh element
++    size limitation.
++
++    During mesh creation, in the absence of an explicit local
++    size restriction around the neighbourhood of a point within
++    the meshing domain, this global size restriction will be
++    utilised.
++
++    <b>Note</b>: This function only limits the <b>Maximum</b>
++    size of an element within the mesh.
++
++    \param mesh Pointer to an existing Netgen Mesh structure of
++                type #Ng_Mesh
++    \param h    Variable of type <i>double</i>, specifying the maximum
++                allowable mesh size
++*/
++DLL_HEADER void Ng_RestrictMeshSizeGlobal (Ng_Mesh * mesh, double h);
++
++
++/*! \brief Locally restrict the mesh element size at the given point
++
++    Unlike the function #Ng_RestrictMeshSizeGlobal, this function
++    allows the user to locally restrict the maximum allowable mesh
++    size at a given point.
++
++    The point is specified via its three cartesian co-ordinates.
++
++    <b>Note</b>: This function only limits the <b>Maximum</b> size
++    of the elements around the specified point.
++
++    \param mesh Pointer to an existing Netgen Mesh structure of
++                type #Ng_Mesh
++    \param p    Pointer to an Array of type <i>double</i>, containing
++                the three co-ordinates of the point in the form: \n
++                - p[0] = X co-ordinate
++                - p[1] = Y co-ordinate
++                - p[2] = Z co-ordinate
++    \param h    Variable of type <i>double</i>, specifying the maximum
++                allowable mesh size at that point
++*/
++DLL_HEADER void Ng_RestrictMeshSizePoint (Ng_Mesh * mesh, double * p, double h);
++
++
++/*! \brief Locally restrict the mesh element size within a specified box
++
++    Similar to the function #Ng_RestrictMeshSizePoint, this function
++    allows the size of elements within a mesh to be locally limited.
++
++    However, rather than limit the mesh size at a single point, this
++    utility restricts the local mesh size within a 3D Box region, specified
++    via the co-ordinates of the two diagonally opposite points of a cuboid.
++
++    <b>Note</b>: This function only limits the <b>Maximum</b> size
++    of the elements within the specified region.
++
++    \param mesh Pointer to an existing Netgen Mesh structure of
++                type #Ng_Mesh
++    \param pmin Pointer to an Array of type <i>double</i>, containing
++                the three co-ordinates of the first point of the cuboid: \n
++                - pmin[0] = X co-ordinate
++                - pmin[1] = Y co-ordinate
++                - pmin[2] = Z co-ordinate
++    \param pmax Pointer to an Array of type <i>double</i>, containing
++                the three co-ordinates of the opposite point of the
++                cuboid: \n
++                - pmax[0] = X co-ordinate
++                - pmax[1] = Y co-ordinate
++                - pmax[2] = Z co-ordinate
++    \param h    Variable of type <i>double</i>, specifying the maximum
++                allowable mesh size at that point
++*/
++DLL_HEADER void Ng_RestrictMeshSizeBox (Ng_Mesh * mesh, double * pmin, double * pmax, double h);
++
++// ------------------------------------------------------------------
++
++
++
++// ------------------------------------------------------------------
++// 3D Mesh Generation functions
++
++/*! \brief Create a 3D Volume Mesh given a Surface Mesh
++
++    After creating a surface mesh, this function can be utilised
++    to automatically generate the corresponding 3D Volume Mesh.
++
++    Mesh generation parameters (such as grading, maximum element size,
++    etc.) are specified via the meshing parameters class which also
++    needs to be passed to this function.
++
++    <b>Note</b>: Currently, Netgen generates pure tetrahedral volume
++    meshes.
++
++    \param mesh Pointer to an existing Netgen Mesh structure of
++                type #Ng_Mesh
++    \param mp   Pointer to a copy of the Meshing Parameters class
++                (#Ng_Meshing_Parameters), filled up with the
++                required values
++
++    \return Ng_Result Status of the Mesh Generation routine. More
++                      details regarding the return value can be
++                      found in the description of #Ng_Result
++*/
++DLL_HEADER Ng_Result Ng_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp);
++
++// ------------------------------------------------------------------
++
++
++
++// ------------------------------------------------------------------
++// Basic Mesh information functions
++
++/*! \brief Returns the Number of Points present in the specified Mesh
++
++    Given an already existent Netgen Mesh Structure, this function
++    returns the number of points currently present within the Mesh.
++
++    \param mesh Pointer to an existing Netgen Mesh structure of
++                type #Ng_Mesh
++    \return
++                Integer Data-type with the number of points in the Mesh
++*/
++DLL_HEADER int Ng_GetNP (Ng_Mesh * mesh);
++
++
++/*! \brief Returns the Number of Surface Elements present in the specified Mesh
++
++    Given an already existent Netgen Mesh Structure, this function
++    returns the number of surface elements currently present within
++    the Mesh.
++
++    \param mesh Pointer to an existing Netgen Mesh structure of
++                type #Ng_Mesh
++    \return
++                Integer Data-type with the number of surface elements in the Mesh
++*/
++DLL_HEADER int Ng_GetNSE (Ng_Mesh * mesh);
++
++
++/*! \brief Returns the Number of Volume Elements present in the specified Mesh
++
++    Given an already existent Netgen Mesh Structure, this function
++    returns the number of volume elements currently present within
++    the Mesh.
++
++    \param mesh Pointer to an existing Netgen Mesh structure of
++                type #Ng_Mesh
++    \return
++                Integer Data-type with the number of volume elements in the Mesh
++*/
++DLL_HEADER int Ng_GetNE (Ng_Mesh * mesh);
++
++// ------------------------------------------------------------------
++
++
++
++// ------------------------------------------------------------------
++// Mesh Topology functions
++// Use these functions to extract points, surface / volume elements,
++// perform topological searches, etc..etc...
++
++//  Return the Point Coordinates of a specified Point
++// The x, y and z co-ordinates are returned in the array pointer as
++// x[0] = x ; x[1] = y ; x[2] = z
++DLL_HEADER void Ng_GetPoint (Ng_Mesh * mesh, int num, double * x);
++
++
++
++// return surface and volume element in pi
++DLL_HEADER Ng_Surface_Element_Type
++Ng_GetSurfaceElement (Ng_Mesh * mesh, int num, int * pi);
++
++DLL_HEADER Ng_Volume_Element_Type
++Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi);
++
++// ------------------------------------------------------------------
++
++
++
++
++// **********************************************************
++// **   2D Meshing                                         **
++// **********************************************************
++
++
++// feeds points and boundary to mesh
++
++DLL_HEADER void Ng_AddPoint_2D (Ng_Mesh * mesh, double * x);
++DLL_HEADER void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2);
++
++// ask for number of points, elements and boundary segments
++DLL_HEADER int Ng_GetNP_2D (Ng_Mesh * mesh);
++DLL_HEADER int Ng_GetNE_2D (Ng_Mesh * mesh);
++DLL_HEADER int Ng_GetNSeg_2D (Ng_Mesh * mesh);
++
++//  return point coordinates
++DLL_HEADER void Ng_GetPoint_2D (Ng_Mesh * mesh, int num, double * x);
++
++// return 2d elements
++DLL_HEADER Ng_Surface_Element_Type
++Ng_GetElement_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum = NULL);
++
++// return 2d boundary segment
++DLL_HEADER void Ng_GetSegment_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum = NULL);
++
++
++// load 2d netgen spline geometry
++DLL_HEADER Ng_Geometry_2D * Ng_LoadGeometry_2D (const char * filename);
++
++// generate 2d mesh, mesh is allocated by function
++DLL_HEADER Ng_Result Ng_GenerateMesh_2D (Ng_Geometry_2D * geom,
++                                         Ng_Mesh ** mesh,
++                                         Ng_Meshing_Parameters * mp);
++
++DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom,
++                                  Ng_Mesh * mesh,
++                                  int levels);
++
++
++
++
++
++// **********************************************************
++// **   STL Meshing                                        **
++// **********************************************************
++
++
++// loads geometry from STL file
++DLL_HEADER Ng_STL_Geometry * Ng_STL_LoadGeometry (const char * filename, int binary = 0);
++
++
++// generate new STL Geometry
++DLL_HEADER Ng_STL_Geometry * Ng_STL_NewGeometry ();
++
++
++// fills STL Geometry
++// positive orientation
++// normal vector may be null-pointer
++DLL_HEADER void Ng_STL_AddTriangle (Ng_STL_Geometry * geom,
++                         double * p1, double * p2, double * p3,
++                         double * nv = NULL);
++
++// add (optional) edges :
++DLL_HEADER void Ng_STL_AddEdge (Ng_STL_Geometry * geom,
++                     double * p1, double * p2);
++
++// after adding triangles (and edges) initialize
++DLL_HEADER Ng_Result Ng_STL_InitSTLGeometry (Ng_STL_Geometry * geom);
++
++// automatically generates edges:
++DLL_HEADER Ng_Result Ng_STL_MakeEdges (Ng_STL_Geometry * geom,
++                            Ng_Mesh* mesh,
++                            Ng_Meshing_Parameters * mp);
++
++
++// generates mesh, empty mesh must be already created.
++DLL_HEADER Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom,
++                                                 Ng_Mesh * mesh,
++                                                 Ng_Meshing_Parameters * mp);
++
++
++#ifdef ACIS
++
++// **********************************************************
++// **   ACIS Meshing                                       **
++// **********************************************************
++
++/// Data type for NETGEN STL geomty
++typedef void * Ng_ACIS_Geometry;
++
++// loads geometry from STL file
++DLL_HEADER Ng_ACIS_Geometry * Ng_ACIS_LoadGeometry (const char * filename);
++
++// generates mesh, empty mesh must be already created.
++DLL_HEADER Ng_Result Ng_ACIS_GenerateSurfaceMesh (Ng_ACIS_Geometry * geom,
++                                                  Ng_Mesh * mesh,
++                                                  Ng_Meshing_Parameters * mp);
++
++
++#endif
++
++
++
++#ifdef OCCGEOMETRY
++
++// **********************************************************
++// **   OpenCascade Geometry / Meshing Utilities           **
++// **********************************************************
++
++// Create new OCC Geometry Object
++DLL_HEADER Ng_OCC_Geometry * Ng_OCC_NewGeometry ();
++
++// Delete an OCC Geometry Object
++DLL_HEADER Ng_Result Ng_OCC_DeleteGeometry (Ng_OCC_Geometry * geom);
++
++// Loads geometry from STEP file
++DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_STEP (const char * filename);
++
++// Loads geometry from IGES file
++DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_IGES (const char * filename);
++
++// Loads geometry from BREP file
++DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_BREP (const char * filename);
++
++// Set the local mesh size based on geometry / topology
++DLL_HEADER Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom,
++                                              Ng_Mesh * mesh,
++                                              Ng_Meshing_Parameters * mp);
++
++// Mesh the edges and add Face descriptors to prepare for surface meshing
++DLL_HEADER Ng_Result Ng_OCC_GenerateEdgeMesh (Ng_OCC_Geometry * geom,
++                                              Ng_Mesh * mesh,
++                                              Ng_Meshing_Parameters * mp);
++
++// Mesh the surfaces of an OCC geometry
++DLL_HEADER Ng_Result Ng_OCC_GenerateSurfaceMesh (Ng_OCC_Geometry * geom,
++                                                 Ng_Mesh * mesh,
++                                                 Ng_Meshing_Parameters * mp);
++
++// Get the face map of an already loaded OCC geometry
++DLL_HEADER Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom,
++                                    Ng_OCC_TopTools_IndexedMapOfShape * FMap);
++
++#endif // OCCGEOMETRY
++
++
++
++// **********************************************************
++// **   Mesh refinement algorithms                         **
++// **********************************************************
++
++// uniform mesh refinement
++DLL_HEADER void Ng_Uniform_Refinement (Ng_Mesh * mesh);
++
++
++// uniform mesh refinement with geometry adaption:
++
++DLL_HEADER void Ng_2D_Uniform_Refinement (Ng_Geometry_2D * geom,
++                                        Ng_Mesh * mesh);
++
++DLL_HEADER void Ng_STL_Uniform_Refinement (Ng_STL_Geometry * geom,
++                                         Ng_Mesh * mesh);
++
++DLL_HEADER void Ng_CSG_Uniform_Refinement (Ng_CSG_Geometry * geom,
++                                         Ng_Mesh * mesh);
++
++#ifdef OCCGEOMETRY
++DLL_HEADER void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom,
++                                         Ng_Mesh * mesh);
++#endif
++
++
++
++// **********************************************************
++// **   Second Order mesh algorithms                       **
++// **********************************************************
++
++// convert mesh to second order
++DLL_HEADER void Ng_Generate_SecondOrder (Ng_Mesh * mesh);
++
++
++// convert mesh to second order with geometry adaption:
++
++DLL_HEADER void Ng_2D_Generate_SecondOrder (Ng_Geometry_2D * geom,
++                                        Ng_Mesh * mesh);
++
++DLL_HEADER void Ng_STL_Generate_SecondOrder (Ng_STL_Geometry * geom,
++                                         Ng_Mesh * mesh);
++
++DLL_HEADER void Ng_CSG_Generate_SecondOrder (Ng_CSG_Geometry * geom,
++                                         Ng_Mesh * mesh);
++
++#ifdef OCCGEOMETRY
++DLL_HEADER void Ng_OCC_Generate_SecondOrder (Ng_OCC_Geometry * geom,
++                                         Ng_Mesh * mesh);
++#endif
++
++
++#endif // NGLIB
+diff -Naur netgen-5.3.1_SRC_orig/tutorials/frame.step netgen-5.3.1_SRC_modif/tutorials/frame.step
+--- netgen-5.3.1_SRC_orig/tutorials/frame.step 2014-08-29 13:53:58.000000000 +0400
++++ netgen-5.3.1_SRC_modif/tutorials/frame.step        2018-03-01 15:44:37.254254730 +0300
+@@ -1,11683 +1,11683 @@
+-ISO-10303-21;
+-HEADER;
+-FILE_DESCRIPTION((''),'2;1');
+-FILE_NAME('PROESOURCE','2002-11-04T',('user-01'),(''),
+-'PRO/ENGINEER BY PARAMETRIC TECHNOLOGY CORPORATION, 2002060',
+-'PRO/ENGINEER BY PARAMETRIC TECHNOLOGY CORPORATION, 2002060','');
+-FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
+-ENDSEC;
+-DATA;
+-#1=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2=VECTOR('',#1,1.693725393319E1);
+-#3=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0));
+-#4=LINE('',#3,#2);
+-#5=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6=VECTOR('',#5,9.E0);
+-#7=CARTESIAN_POINT('',(1.65E1,0.E0,2.5E0));
+-#8=LINE('',#7,#6);
+-#9=CARTESIAN_POINT('',(1.8E1,0.E0,3.075E1));
+-#10=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#11=DIRECTION('',(1.E0,0.E0,0.E0));
+-#12=AXIS2_PLACEMENT_3D('',#9,#10,#11);
+-#14=CARTESIAN_POINT('',(1.8E1,0.E0,3.075E1));
+-#15=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#16=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#17=AXIS2_PLACEMENT_3D('',#14,#15,#16);
+-#19=CARTESIAN_POINT('',(1.8E1,0.E0,1.25E0));
+-#20=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#21=DIRECTION('',(1.E0,0.E0,0.E0));
+-#22=AXIS2_PLACEMENT_3D('',#19,#20,#21);
+-#24=CARTESIAN_POINT('',(1.8E1,0.E0,1.25E0));
+-#25=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#26=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#27=AXIS2_PLACEMENT_3D('',#24,#25,#26);
+-#29=CARTESIAN_POINT('',(1.2E1,0.E0,3.075E1));
+-#30=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#31=DIRECTION('',(1.E0,0.E0,0.E0));
+-#32=AXIS2_PLACEMENT_3D('',#29,#30,#31);
+-#34=CARTESIAN_POINT('',(1.2E1,0.E0,3.075E1));
+-#35=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#36=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#37=AXIS2_PLACEMENT_3D('',#34,#35,#36);
+-#39=CARTESIAN_POINT('',(6.E0,0.E0,3.075E1));
+-#40=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#41=DIRECTION('',(1.E0,0.E0,0.E0));
+-#42=AXIS2_PLACEMENT_3D('',#39,#40,#41);
+-#44=CARTESIAN_POINT('',(6.E0,0.E0,3.075E1));
+-#45=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#46=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#47=AXIS2_PLACEMENT_3D('',#44,#45,#46);
+-#49=CARTESIAN_POINT('',(1.2E1,0.E0,1.25E0));
+-#50=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#51=DIRECTION('',(1.E0,0.E0,0.E0));
+-#52=AXIS2_PLACEMENT_3D('',#49,#50,#51);
+-#54=CARTESIAN_POINT('',(1.2E1,0.E0,1.25E0));
+-#55=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#56=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#57=AXIS2_PLACEMENT_3D('',#54,#55,#56);
+-#59=CARTESIAN_POINT('',(2.2875E1,0.E0,2.4E1));
+-#60=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#61=DIRECTION('',(1.E0,0.E0,0.E0));
+-#62=AXIS2_PLACEMENT_3D('',#59,#60,#61);
+-#64=CARTESIAN_POINT('',(2.2875E1,0.E0,2.4E1));
+-#65=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#66=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#67=AXIS2_PLACEMENT_3D('',#64,#65,#66);
+-#69=CARTESIAN_POINT('',(2.2875E1,0.E0,1.8E1));
+-#70=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#71=DIRECTION('',(1.E0,0.E0,0.E0));
+-#72=AXIS2_PLACEMENT_3D('',#69,#70,#71);
+-#74=CARTESIAN_POINT('',(2.2875E1,0.E0,1.8E1));
+-#75=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#76=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#77=AXIS2_PLACEMENT_3D('',#74,#75,#76);
+-#79=CARTESIAN_POINT('',(2.2875E1,0.E0,1.2E1));
+-#80=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#81=DIRECTION('',(1.E0,0.E0,0.E0));
+-#82=AXIS2_PLACEMENT_3D('',#79,#80,#81);
+-#84=CARTESIAN_POINT('',(2.2875E1,0.E0,1.2E1));
+-#85=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#86=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#87=AXIS2_PLACEMENT_3D('',#84,#85,#86);
+-#89=CARTESIAN_POINT('',(2.2875E1,0.E0,6.E0));
+-#90=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#91=DIRECTION('',(1.E0,0.E0,0.E0));
+-#92=AXIS2_PLACEMENT_3D('',#89,#90,#91);
+-#94=CARTESIAN_POINT('',(2.2875E1,0.E0,6.E0));
+-#95=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#96=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#97=AXIS2_PLACEMENT_3D('',#94,#95,#96);
+-#99=CARTESIAN_POINT('',(1.125E0,0.E0,2.4E1));
+-#100=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#101=DIRECTION('',(1.E0,0.E0,0.E0));
+-#102=AXIS2_PLACEMENT_3D('',#99,#100,#101);
+-#104=CARTESIAN_POINT('',(1.125E0,0.E0,2.4E1));
+-#105=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#106=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#107=AXIS2_PLACEMENT_3D('',#104,#105,#106);
+-#109=CARTESIAN_POINT('',(1.125E0,0.E0,1.8E1));
+-#110=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#111=DIRECTION('',(1.E0,0.E0,0.E0));
+-#112=AXIS2_PLACEMENT_3D('',#109,#110,#111);
+-#114=CARTESIAN_POINT('',(1.125E0,0.E0,1.8E1));
+-#115=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#116=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#117=AXIS2_PLACEMENT_3D('',#114,#115,#116);
+-#119=CARTESIAN_POINT('',(1.125E0,0.E0,1.2E1));
+-#120=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#121=DIRECTION('',(1.E0,0.E0,0.E0));
+-#122=AXIS2_PLACEMENT_3D('',#119,#120,#121);
+-#124=CARTESIAN_POINT('',(1.125E0,0.E0,1.2E1));
+-#125=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#126=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#127=AXIS2_PLACEMENT_3D('',#124,#125,#126);
+-#129=DIRECTION('',(1.E0,0.E0,0.E0));
+-#130=VECTOR('',#129,1.E0);
+-#131=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0));
+-#132=LINE('',#131,#130);
+-#133=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#134=VECTOR('',#133,3.E0);
+-#135=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0));
+-#136=LINE('',#135,#134);
+-#137=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#138=VECTOR('',#137,1.6E1);
+-#139=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
+-#140=LINE('',#139,#138);
+-#141=DIRECTION('',(0.E0,0.E0,1.E0));
+-#142=VECTOR('',#141,3.E0);
+-#143=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
+-#144=LINE('',#143,#142);
+-#145=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#146=VECTOR('',#145,1.E0);
+-#147=CARTESIAN_POINT('',(-1.E0,0.E0,8.E0));
+-#148=LINE('',#147,#146);
+-#149=DIRECTION('',(0.E0,0.E0,1.E0));
+-#150=VECTOR('',#149,3.75E0);
+-#151=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0));
+-#152=LINE('',#151,#150);
+-#153=DIRECTION('',(1.E0,0.E0,0.E0));
+-#154=VECTOR('',#153,5.E-1);
+-#155=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
+-#156=LINE('',#155,#154);
+-#157=DIRECTION('',(0.E0,0.E0,1.E0));
+-#158=VECTOR('',#157,1.475E1);
+-#159=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1));
+-#160=LINE('',#159,#158);
+-#161=DIRECTION('',(1.E0,0.E0,0.E0));
+-#162=VECTOR('',#161,1.6E1);
+-#163=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
+-#164=LINE('',#163,#162);
+-#165=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#166=VECTOR('',#165,1.475E1);
+-#167=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
+-#168=LINE('',#167,#166);
+-#169=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#170=VECTOR('',#169,5.E-1);
+-#171=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1));
+-#172=LINE('',#171,#170);
+-#173=DIRECTION('',(0.E0,0.E0,1.E0));
+-#174=VECTOR('',#173,3.75E0);
+-#175=CARTESIAN_POINT('',(2.6E1,0.E0,8.E0));
+-#176=LINE('',#175,#174);
+-#177=CARTESIAN_POINT('',(1.125E0,0.E0,6.E0));
+-#178=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#179=DIRECTION('',(1.E0,0.E0,0.E0));
+-#180=AXIS2_PLACEMENT_3D('',#177,#178,#179);
+-#182=CARTESIAN_POINT('',(1.125E0,0.E0,6.E0));
+-#183=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#184=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#185=AXIS2_PLACEMENT_3D('',#182,#183,#184);
+-#187=CARTESIAN_POINT('',(6.E0,0.E0,1.25E0));
+-#188=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#189=DIRECTION('',(1.E0,0.E0,0.E0));
+-#190=AXIS2_PLACEMENT_3D('',#187,#188,#189);
+-#192=CARTESIAN_POINT('',(6.E0,0.E0,1.25E0));
+-#193=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#194=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#195=AXIS2_PLACEMENT_3D('',#192,#193,#194);
+-#197=DIRECTION('',(1.E0,0.E0,0.E0));
+-#198=VECTOR('',#197,1.3E1);
+-#199=CARTESIAN_POINT('',(5.5E0,0.E0,1.89375E1));
+-#200=LINE('',#199,#198);
+-#201=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#202=VECTOR('',#201,2.5625E0);
+-#203=CARTESIAN_POINT('',(2.15E1,0.E0,2.45E1));
+-#204=LINE('',#203,#202);
+-#205=DIRECTION('',(1.E0,0.E0,0.E0));
+-#206=VECTOR('',#205,9.E0);
+-#207=CARTESIAN_POINT('',(7.5E0,0.E0,2.95E1));
+-#208=LINE('',#207,#206);
+-#209=DIRECTION('',(0.E0,0.E0,1.E0));
+-#210=VECTOR('',#209,2.5625E0);
+-#211=CARTESIAN_POINT('',(2.5E0,0.E0,2.19375E1));
+-#212=LINE('',#211,#210);
+-#213=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#214=VECTOR('',#213,8.125E-1);
+-#215=CARTESIAN_POINT('',(2.15E1,0.E0,1.40625E1));
+-#216=LINE('',#215,#214);
+-#217=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#218=VECTOR('',#217,1.3E1);
+-#219=CARTESIAN_POINT('',(1.85E1,0.E0,1.70625E1));
+-#220=LINE('',#219,#218);
+-#221=DIRECTION('',(0.E0,0.E0,1.E0));
+-#222=VECTOR('',#221,8.125E-1);
+-#223=CARTESIAN_POINT('',(2.5E0,0.E0,1.325E1));
+-#224=LINE('',#223,#222);
+-#225=DIRECTION('',(1.E0,0.E0,0.E0));
+-#226=VECTOR('',#225,1.E0);
+-#227=CARTESIAN_POINT('',(3.5E0,0.E0,1.225E1));
+-#228=LINE('',#227,#226);
+-#229=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#230=VECTOR('',#229,7.5E-1);
+-#231=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
+-#232=LINE('',#231,#230);
+-#233=DIRECTION('',(1.E0,0.E0,0.E0));
+-#234=VECTOR('',#233,1.2E1);
+-#235=CARTESIAN_POINT('',(6.E0,0.E0,1.E1));
+-#236=LINE('',#235,#234);
+-#237=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#238=VECTOR('',#237,7.5E-1);
+-#239=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1));
+-#240=LINE('',#239,#238);
+-#241=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#242=VECTOR('',#241,1.E0);
+-#243=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1));
+-#244=LINE('',#243,#242);
+-#245=CARTESIAN_POINT('',(6.E0,0.E0,9.E0));
+-#246=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#247=DIRECTION('',(1.E0,0.E0,0.E0));
+-#248=AXIS2_PLACEMENT_3D('',#245,#246,#247);
+-#250=CARTESIAN_POINT('',(6.E0,0.E0,9.E0));
+-#251=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#252=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#253=AXIS2_PLACEMENT_3D('',#250,#251,#252);
+-#255=CARTESIAN_POINT('',(1.2E1,0.E0,9.E0));
+-#256=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#257=DIRECTION('',(1.E0,0.E0,0.E0));
+-#258=AXIS2_PLACEMENT_3D('',#255,#256,#257);
+-#260=CARTESIAN_POINT('',(1.2E1,0.E0,9.E0));
+-#261=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#262=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#263=AXIS2_PLACEMENT_3D('',#260,#261,#262);
+-#265=CARTESIAN_POINT('',(1.8E1,0.E0,9.E0));
+-#266=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#267=DIRECTION('',(1.E0,0.E0,0.E0));
+-#268=AXIS2_PLACEMENT_3D('',#265,#266,#267);
+-#270=CARTESIAN_POINT('',(1.8E1,0.E0,9.E0));
+-#271=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#272=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#273=AXIS2_PLACEMENT_3D('',#270,#271,#272);
+-#275=CARTESIAN_POINT('',(6.E0,0.E0,1.8E1));
+-#276=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#277=DIRECTION('',(1.E0,0.E0,0.E0));
+-#278=AXIS2_PLACEMENT_3D('',#275,#276,#277);
+-#280=CARTESIAN_POINT('',(6.E0,0.E0,1.8E1));
+-#281=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#282=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#283=AXIS2_PLACEMENT_3D('',#280,#281,#282);
+-#285=CARTESIAN_POINT('',(1.2E1,0.E0,1.8E1));
+-#286=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#287=DIRECTION('',(1.E0,0.E0,0.E0));
+-#288=AXIS2_PLACEMENT_3D('',#285,#286,#287);
+-#290=CARTESIAN_POINT('',(1.2E1,0.E0,1.8E1));
+-#291=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#292=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#293=AXIS2_PLACEMENT_3D('',#290,#291,#292);
+-#295=CARTESIAN_POINT('',(1.8E1,0.E0,1.8E1));
+-#296=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#297=DIRECTION('',(1.E0,0.E0,0.E0));
+-#298=AXIS2_PLACEMENT_3D('',#295,#296,#297);
+-#300=CARTESIAN_POINT('',(1.8E1,0.E0,1.8E1));
+-#301=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#302=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#303=AXIS2_PLACEMENT_3D('',#300,#301,#302);
+-#305=DIRECTION('',(1.E0,0.E0,0.E0));
+-#306=VECTOR('',#305,3.E0);
+-#307=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1));
+-#308=LINE('',#307,#306);
+-#309=CARTESIAN_POINT('',(1.05E1,0.E0,1.25E0));
+-#310=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#311=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#312=AXIS2_PLACEMENT_3D('',#309,#310,#311);
+-#314=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#315=VECTOR('',#314,3.E0);
+-#316=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0));
+-#317=LINE('',#316,#315);
+-#318=CARTESIAN_POINT('',(7.5E0,0.E0,1.25E0));
+-#319=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#320=DIRECTION('',(0.E0,0.E0,1.E0));
+-#321=AXIS2_PLACEMENT_3D('',#318,#319,#320);
+-#323=CARTESIAN_POINT('',(1.61E0,0.E0,4.5E0));
+-#324=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#325=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1));
+-#326=AXIS2_PLACEMENT_3D('',#323,#324,#325);
+-#328=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#329=VECTOR('',#328,4.263248410977E0);
+-#330=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0));
+-#331=LINE('',#330,#329);
+-#332=CARTESIAN_POINT('',(4.553039342392E0,0.E0,1.645354088550E0));
+-#333=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#334=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#335=AXIS2_PLACEMENT_3D('',#332,#333,#334);
+-#337=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0));
+-#338=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#339=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1));
+-#340=AXIS2_PLACEMENT_3D('',#337,#338,#339);
+-#342=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#343=VECTOR('',#342,3.15E-1);
+-#344=CARTESIAN_POINT('',(6.9E-1,0.E0,7.815E0));
+-#345=LINE('',#344,#343);
+-#346=CARTESIAN_POINT('',(1.25125E0,0.E0,7.5E0));
+-#347=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#348=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#349=AXIS2_PLACEMENT_3D('',#346,#347,#348);
+-#351=DIRECTION('',(0.E0,0.E0,1.E0));
+-#352=VECTOR('',#351,3.15E-1);
+-#353=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0));
+-#354=LINE('',#353,#352);
+-#355=DIRECTION('',(1.E0,0.E0,0.E0));
+-#356=VECTOR('',#355,7.5E-1);
+-#357=CARTESIAN_POINT('',(2.6875E0,0.E0,8.69E0));
+-#358=LINE('',#357,#356);
+-#359=DIRECTION('',(0.E0,0.E0,1.E0));
+-#360=VECTOR('',#359,8.1E-1);
+-#361=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0));
+-#362=LINE('',#361,#360);
+-#363=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#364=VECTOR('',#363,3.875E0);
+-#365=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1));
+-#366=LINE('',#365,#364);
+-#367=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#368=VECTOR('',#367,8.1E-1);
+-#369=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1));
+-#370=LINE('',#369,#368);
+-#371=DIRECTION('',(1.E0,0.E0,0.E0));
+-#372=VECTOR('',#371,2.525E-1);
+-#373=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0));
+-#374=LINE('',#373,#372);
+-#375=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#376=VECTOR('',#375,3.E0);
+-#377=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1));
+-#378=LINE('',#377,#376);
+-#379=CARTESIAN_POINT('',(1.25E0,0.E0,1.35E1));
+-#380=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#381=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#382=AXIS2_PLACEMENT_3D('',#379,#380,#381);
+-#384=DIRECTION('',(0.E0,0.E0,1.E0));
+-#385=VECTOR('',#384,3.E0);
+-#386=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1));
+-#387=LINE('',#386,#385);
+-#388=CARTESIAN_POINT('',(1.25E0,0.E0,1.65E1));
+-#389=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#390=DIRECTION('',(1.E0,0.E0,0.E0));
+-#391=AXIS2_PLACEMENT_3D('',#388,#389,#390);
+-#393=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#394=VECTOR('',#393,3.E0);
+-#395=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1));
+-#396=LINE('',#395,#394);
+-#397=CARTESIAN_POINT('',(1.25E0,0.E0,1.95E1));
+-#398=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#399=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#400=AXIS2_PLACEMENT_3D('',#397,#398,#399);
+-#402=DIRECTION('',(0.E0,0.E0,1.E0));
+-#403=VECTOR('',#402,3.E0);
+-#404=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1));
+-#405=LINE('',#404,#403);
+-#406=CARTESIAN_POINT('',(1.25E0,0.E0,2.25E1));
+-#407=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#408=DIRECTION('',(1.E0,0.E0,0.E0));
+-#409=AXIS2_PLACEMENT_3D('',#406,#407,#408);
+-#411=DIRECTION('',(1.E0,0.E0,0.E0));
+-#412=VECTOR('',#411,3.E0);
+-#413=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0));
+-#414=LINE('',#413,#412);
+-#415=CARTESIAN_POINT('',(1.05E1,0.E0,9.E0));
+-#416=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#417=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#418=AXIS2_PLACEMENT_3D('',#415,#416,#417);
+-#420=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#421=VECTOR('',#420,3.E0);
+-#422=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0));
+-#423=LINE('',#422,#421);
+-#424=CARTESIAN_POINT('',(7.5E0,0.E0,9.E0));
+-#425=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#426=DIRECTION('',(0.E0,0.E0,1.E0));
+-#427=AXIS2_PLACEMENT_3D('',#424,#425,#426);
+-#429=DIRECTION('',(1.E0,0.E0,0.E0));
+-#430=VECTOR('',#429,3.E0);
+-#431=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1));
+-#432=LINE('',#431,#430);
+-#433=CARTESIAN_POINT('',(1.05E1,0.E0,1.8E1));
+-#434=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#435=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#436=AXIS2_PLACEMENT_3D('',#433,#434,#435);
+-#438=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#439=VECTOR('',#438,3.E0);
+-#440=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1));
+-#441=LINE('',#440,#439);
+-#442=CARTESIAN_POINT('',(7.5E0,0.E0,1.8E1));
+-#443=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#444=DIRECTION('',(0.E0,0.E0,1.E0));
+-#445=AXIS2_PLACEMENT_3D('',#442,#443,#444);
+-#447=DIRECTION('',(1.E0,0.E0,0.E0));
+-#448=VECTOR('',#447,3.E0);
+-#449=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1));
+-#450=LINE('',#449,#448);
+-#451=CARTESIAN_POINT('',(7.5E0,0.E0,3.075E1));
+-#452=DIRECTION('',(0.E0,1.E0,0.E0));
+-#453=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#454=AXIS2_PLACEMENT_3D('',#451,#452,#453);
+-#456=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#457=VECTOR('',#456,3.E0);
+-#458=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1));
+-#459=LINE('',#458,#457);
+-#460=CARTESIAN_POINT('',(1.05E1,0.E0,3.075E1));
+-#461=DIRECTION('',(0.E0,1.E0,0.E0));
+-#462=DIRECTION('',(0.E0,0.E0,1.E0));
+-#463=AXIS2_PLACEMENT_3D('',#460,#461,#462);
+-#465=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#466=VECTOR('',#465,3.E0);
+-#467=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1));
+-#468=LINE('',#467,#466);
+-#469=CARTESIAN_POINT('',(1.65E1,0.E0,1.25E0));
+-#470=DIRECTION('',(0.E0,1.E0,0.E0));
+-#471=DIRECTION('',(0.E0,0.E0,1.E0));
+-#472=AXIS2_PLACEMENT_3D('',#469,#470,#471);
+-#474=DIRECTION('',(1.E0,0.E0,0.E0));
+-#475=VECTOR('',#474,3.E0);
+-#476=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0));
+-#477=LINE('',#476,#475);
+-#478=CARTESIAN_POINT('',(1.35E1,0.E0,1.25E0));
+-#479=DIRECTION('',(0.E0,1.E0,0.E0));
+-#480=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#481=AXIS2_PLACEMENT_3D('',#478,#479,#480);
+-#483=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#484=VECTOR('',#483,3.E0);
+-#485=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1));
+-#486=LINE('',#485,#484);
+-#487=CARTESIAN_POINT('',(2.275E1,0.E0,1.65E1));
+-#488=DIRECTION('',(0.E0,1.E0,0.E0));
+-#489=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#490=AXIS2_PLACEMENT_3D('',#487,#488,#489);
+-#492=DIRECTION('',(0.E0,0.E0,1.E0));
+-#493=VECTOR('',#492,3.E0);
+-#494=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1));
+-#495=LINE('',#494,#493);
+-#496=CARTESIAN_POINT('',(2.275E1,0.E0,1.35E1));
+-#497=DIRECTION('',(0.E0,1.E0,0.E0));
+-#498=DIRECTION('',(1.E0,0.E0,0.E0));
+-#499=AXIS2_PLACEMENT_3D('',#496,#497,#498);
+-#501=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#502=VECTOR('',#501,3.E0);
+-#503=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1));
+-#504=LINE('',#503,#502);
+-#505=CARTESIAN_POINT('',(2.275E1,0.E0,2.25E1));
+-#506=DIRECTION('',(0.E0,1.E0,0.E0));
+-#507=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#508=AXIS2_PLACEMENT_3D('',#505,#506,#507);
+-#510=DIRECTION('',(0.E0,0.E0,1.E0));
+-#511=VECTOR('',#510,3.E0);
+-#512=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1));
+-#513=LINE('',#512,#511);
+-#514=CARTESIAN_POINT('',(2.275E1,0.E0,1.95E1));
+-#515=DIRECTION('',(0.E0,1.E0,0.E0));
+-#516=DIRECTION('',(1.E0,0.E0,0.E0));
+-#517=AXIS2_PLACEMENT_3D('',#514,#515,#516);
+-#519=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#520=VECTOR('',#519,3.E0);
+-#521=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0));
+-#522=LINE('',#521,#520);
+-#523=CARTESIAN_POINT('',(1.65E1,0.E0,9.E0));
+-#524=DIRECTION('',(0.E0,1.E0,0.E0));
+-#525=DIRECTION('',(0.E0,0.E0,1.E0));
+-#526=AXIS2_PLACEMENT_3D('',#523,#524,#525);
+-#528=DIRECTION('',(1.E0,0.E0,0.E0));
+-#529=VECTOR('',#528,3.E0);
+-#530=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0));
+-#531=LINE('',#530,#529);
+-#532=CARTESIAN_POINT('',(1.35E1,0.E0,9.E0));
+-#533=DIRECTION('',(0.E0,1.E0,0.E0));
+-#534=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#535=AXIS2_PLACEMENT_3D('',#532,#533,#534);
+-#537=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#538=VECTOR('',#537,3.E0);
+-#539=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1));
+-#540=LINE('',#539,#538);
+-#541=CARTESIAN_POINT('',(1.65E1,0.E0,1.8E1));
+-#542=DIRECTION('',(0.E0,1.E0,0.E0));
+-#543=DIRECTION('',(0.E0,0.E0,1.E0));
+-#544=AXIS2_PLACEMENT_3D('',#541,#542,#543);
+-#546=DIRECTION('',(1.E0,0.E0,0.E0));
+-#547=VECTOR('',#546,3.E0);
+-#548=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1));
+-#549=LINE('',#548,#547);
+-#550=CARTESIAN_POINT('',(1.35E1,0.E0,1.8E1));
+-#551=DIRECTION('',(0.E0,1.E0,0.E0));
+-#552=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#553=AXIS2_PLACEMENT_3D('',#550,#551,#552);
+-#555=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#556=VECTOR('',#555,3.E0);
+-#557=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1));
+-#558=LINE('',#557,#556);
+-#559=CARTESIAN_POINT('',(1.35E1,0.E0,3.075E1));
+-#560=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#561=DIRECTION('',(0.E0,0.E0,1.E0));
+-#562=AXIS2_PLACEMENT_3D('',#559,#560,#561);
+-#564=DIRECTION('',(1.E0,0.E0,0.E0));
+-#565=VECTOR('',#564,3.E0);
+-#566=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1));
+-#567=LINE('',#566,#565);
+-#568=CARTESIAN_POINT('',(1.65E1,0.E0,3.075E1));
+-#569=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#570=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#571=AXIS2_PLACEMENT_3D('',#568,#569,#570);
+-#573=DIRECTION('',(0.E0,0.E0,1.E0));
+-#574=VECTOR('',#573,3.1E-1);
+-#575=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0));
+-#576=LINE('',#575,#574);
+-#577=CARTESIAN_POINT('',(2.274875E1,0.E0,7.5E0));
+-#578=DIRECTION('',(0.E0,1.E0,0.E0));
+-#579=DIRECTION('',(1.E0,0.E0,-3.956251312695E-14));
+-#580=AXIS2_PLACEMENT_3D('',#577,#578,#579);
+-#582=DIRECTION('',(2.292073341162E-14,0.E0,-1.E0));
+-#583=VECTOR('',#582,3.1E-1);
+-#584=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0));
+-#585=LINE('',#584,#583);
+-#586=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#587=VECTOR('',#586,2.425E-1);
+-#588=CARTESIAN_POINT('',(2.44325E1,0.E0,8.69E0));
+-#589=LINE('',#588,#587);
+-#590=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#591=VECTOR('',#590,8.E-1);
+-#592=CARTESIAN_POINT('',(2.53125E1,0.E0,1.037E1));
+-#593=LINE('',#592,#591);
+-#594=DIRECTION('',(1.E0,0.E0,0.E0));
+-#595=VECTOR('',#594,3.865E0);
+-#596=CARTESIAN_POINT('',(2.05675E1,0.E0,1.125E1));
+-#597=LINE('',#596,#595);
+-#598=DIRECTION('',(0.E0,0.E0,1.E0));
+-#599=VECTOR('',#598,8.E-1);
+-#600=CARTESIAN_POINT('',(1.96875E1,0.E0,9.57E0));
+-#601=LINE('',#600,#599);
+-#602=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#603=VECTOR('',#602,7.4E-1);
+-#604=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0));
+-#605=LINE('',#604,#603);
+-#606=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#607=VECTOR('',#606,4.263248410977E0);
+-#608=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0));
+-#609=LINE('',#608,#607);
+-#610=CARTESIAN_POINT('',(2.239E1,0.E0,4.5E0));
+-#611=DIRECTION('',(0.E0,1.E0,0.E0));
+-#612=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1));
+-#613=AXIS2_PLACEMENT_3D('',#610,#611,#612);
+-#615=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0));
+-#616=DIRECTION('',(0.E0,1.E0,0.E0));
+-#617=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1));
+-#618=AXIS2_PLACEMENT_3D('',#615,#616,#617);
+-#620=CARTESIAN_POINT('',(1.944696065761E1,0.E0,1.645354088550E0));
+-#621=DIRECTION('',(0.E0,1.E0,0.E0));
+-#622=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811866E-1));
+-#623=AXIS2_PLACEMENT_3D('',#620,#621,#622);
+-#625=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
+-#626=VECTOR('',#625,4.263248410977E0);
+-#627=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1));
+-#628=LINE('',#627,#626);
+-#629=CARTESIAN_POINT('',(1.61E0,0.E0,2.75E1));
+-#630=DIRECTION('',(0.E0,1.E0,0.E0));
+-#631=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1));
+-#632=AXIS2_PLACEMENT_3D('',#629,#630,#631);
+-#634=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1));
+-#635=DIRECTION('',(0.E0,1.E0,0.E0));
+-#636=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1));
+-#637=AXIS2_PLACEMENT_3D('',#634,#635,#636);
+-#639=CARTESIAN_POINT('',(4.553039342392E0,0.E0,3.035464591145E1));
+-#640=DIRECTION('',(0.E0,1.E0,0.E0));
+-#641=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
+-#642=AXIS2_PLACEMENT_3D('',#639,#640,#641);
+-#644=CARTESIAN_POINT('',(2.239E1,0.E0,2.75E1));
+-#645=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#646=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1));
+-#647=AXIS2_PLACEMENT_3D('',#644,#645,#646);
+-#649=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
+-#650=VECTOR('',#649,4.263248410977E0);
+-#651=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1));
+-#652=LINE('',#651,#650);
+-#653=CARTESIAN_POINT('',(1.944696065761E1,0.E0,3.035464591145E1));
+-#654=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#655=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811866E-1));
+-#656=AXIS2_PLACEMENT_3D('',#653,#654,#655);
+-#658=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1));
+-#659=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#660=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1));
+-#661=AXIS2_PLACEMENT_3D('',#658,#659,#660);
+-#663=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0));
+-#664=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#665=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#666=AXIS2_PLACEMENT_3D('',#663,#664,#665);
+-#668=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0));
+-#669=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#670=DIRECTION('',(1.E0,0.E0,0.E0));
+-#671=AXIS2_PLACEMENT_3D('',#668,#669,#670);
+-#673=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0));
+-#674=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#675=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#676=AXIS2_PLACEMENT_3D('',#673,#674,#675);
+-#678=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0));
+-#679=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#680=DIRECTION('',(1.E0,0.E0,0.E0));
+-#681=AXIS2_PLACEMENT_3D('',#678,#679,#680);
+-#683=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0));
+-#684=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#685=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#686=AXIS2_PLACEMENT_3D('',#683,#684,#685);
+-#688=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0));
+-#689=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#690=DIRECTION('',(1.E0,0.E0,0.E0));
+-#691=AXIS2_PLACEMENT_3D('',#688,#689,#690);
+-#693=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0));
+-#694=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#695=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#696=AXIS2_PLACEMENT_3D('',#693,#694,#695);
+-#698=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0));
+-#699=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#700=DIRECTION('',(1.E0,0.E0,0.E0));
+-#701=AXIS2_PLACEMENT_3D('',#698,#699,#700);
+-#703=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0));
+-#704=DIRECTION('',(0.E0,0.E0,1.E0));
+-#705=DIRECTION('',(1.E0,0.E0,0.E0));
+-#706=AXIS2_PLACEMENT_3D('',#703,#704,#705);
+-#708=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0));
+-#709=DIRECTION('',(0.E0,0.E0,1.E0));
+-#710=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#711=AXIS2_PLACEMENT_3D('',#708,#709,#710);
+-#713=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0));
+-#714=DIRECTION('',(0.E0,0.E0,1.E0));
+-#715=DIRECTION('',(1.E0,0.E0,0.E0));
+-#716=AXIS2_PLACEMENT_3D('',#713,#714,#715);
+-#718=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0));
+-#719=DIRECTION('',(0.E0,0.E0,1.E0));
+-#720=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#721=AXIS2_PLACEMENT_3D('',#718,#719,#720);
+-#723=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0));
+-#724=DIRECTION('',(0.E0,0.E0,1.E0));
+-#725=DIRECTION('',(1.E0,0.E0,0.E0));
+-#726=AXIS2_PLACEMENT_3D('',#723,#724,#725);
+-#728=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0));
+-#729=DIRECTION('',(0.E0,0.E0,1.E0));
+-#730=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#731=AXIS2_PLACEMENT_3D('',#728,#729,#730);
+-#733=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0));
+-#734=DIRECTION('',(0.E0,0.E0,1.E0));
+-#735=DIRECTION('',(1.E0,0.E0,0.E0));
+-#736=AXIS2_PLACEMENT_3D('',#733,#734,#735);
+-#738=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0));
+-#739=DIRECTION('',(0.E0,0.E0,1.E0));
+-#740=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#741=AXIS2_PLACEMENT_3D('',#738,#739,#740);
+-#743=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
+-#744=VECTOR('',#743,1.029563014099E1);
+-#745=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
+-#746=LINE('',#745,#744);
+-#747=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#748=VECTOR('',#747,2.E0);
+-#749=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
+-#750=LINE('',#749,#748);
+-#751=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#752=VECTOR('',#751,2.E0);
+-#753=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
+-#754=LINE('',#753,#752);
+-#755=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
+-#756=VECTOR('',#755,1.029563014099E1);
+-#757=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0));
+-#758=LINE('',#757,#756);
+-#759=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#760=VECTOR('',#759,3.895172754280E0);
+-#761=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0));
+-#762=LINE('',#761,#760);
+-#763=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0));
+-#764=VECTOR('',#763,6.863753427325E0);
+-#765=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0));
+-#766=LINE('',#765,#764);
+-#767=DIRECTION('',(1.E0,0.E0,0.E0));
+-#768=VECTOR('',#767,5.618394209466E-1);
+-#769=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0));
+-#770=LINE('',#769,#768);
+-#771=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#772=VECTOR('',#771,6.E0);
+-#773=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0));
+-#774=LINE('',#773,#772);
+-#775=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0));
+-#776=VECTOR('',#775,6.863753427325E0);
+-#777=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.E0));
+-#778=LINE('',#777,#776);
+-#779=DIRECTION('',(1.E0,0.E0,0.E0));
+-#780=VECTOR('',#779,3.895172754280E0);
+-#781=CARTESIAN_POINT('',(2.025E1,2.E0,8.E0));
+-#782=LINE('',#781,#780);
+-#783=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#784=VECTOR('',#783,6.E0);
+-#785=CARTESIAN_POINT('',(1.95E1,8.75E0,8.E0));
+-#786=LINE('',#785,#784);
+-#787=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#788=VECTOR('',#787,5.618394209466E-1);
+-#789=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.E0));
+-#790=LINE('',#789,#788);
+-#791=DIRECTION('',(0.E0,0.E0,1.E0));
+-#792=VECTOR('',#791,2.5E-1);
+-#793=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.E0));
+-#794=LINE('',#793,#792);
+-#795=DIRECTION('',(0.E0,0.E0,1.E0));
+-#796=VECTOR('',#795,2.5E-1);
+-#797=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.E0));
+-#798=LINE('',#797,#796);
+-#799=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0));
+-#800=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#801=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#802=AXIS2_PLACEMENT_3D('',#799,#800,#801);
+-#804=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0));
+-#805=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#806=DIRECTION('',(1.E0,0.E0,0.E0));
+-#807=AXIS2_PLACEMENT_3D('',#804,#805,#806);
+-#809=DIRECTION('',(0.E0,0.E0,1.E0));
+-#810=VECTOR('',#809,2.E0);
+-#811=CARTESIAN_POINT('',(1.95875E1,1.05E1,8.E0));
+-#812=LINE('',#811,#810);
+-#813=DIRECTION('',(0.E0,0.E0,1.E0));
+-#814=VECTOR('',#813,2.E0);
+-#815=CARTESIAN_POINT('',(1.99125E1,1.05E1,8.E0));
+-#816=LINE('',#815,#814);
+-#817=CARTESIAN_POINT('',(1.975E1,1.05E1,1.E1));
+-#818=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#819=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#820=AXIS2_PLACEMENT_3D('',#817,#818,#819);
+-#822=CARTESIAN_POINT('',(1.975E1,1.05E1,1.E1));
+-#823=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#824=DIRECTION('',(1.E0,0.E0,0.E0));
+-#825=AXIS2_PLACEMENT_3D('',#822,#823,#824);
+-#827=DIRECTION('',(0.E0,1.E0,0.E0));
+-#828=VECTOR('',#827,5.E0);
+-#829=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1));
+-#830=LINE('',#829,#828);
+-#831=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#832=VECTOR('',#831,1.75E0);
+-#833=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1));
+-#834=LINE('',#833,#832);
+-#835=DIRECTION('',(0.E0,1.E0,0.E0));
+-#836=VECTOR('',#835,5.E0);
+-#837=CARTESIAN_POINT('',(2.2E1,1.5E0,1.E1));
+-#838=LINE('',#837,#836);
+-#839=DIRECTION('',(0.E0,1.E0,0.E0));
+-#840=VECTOR('',#839,1.E1);
+-#841=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1));
+-#842=LINE('',#841,#840);
+-#843=DIRECTION('',(1.E0,0.E0,0.E0));
+-#844=VECTOR('',#843,2.E0);
+-#845=CARTESIAN_POINT('',(1.9E1,1.15E1,1.E1));
+-#846=LINE('',#845,#844);
+-#847=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
+-#848=VECTOR('',#847,1.029563014099E1);
+-#849=CARTESIAN_POINT('',(2.1E1,1.15E1,1.E1));
+-#850=LINE('',#849,#848);
+-#851=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#852=VECTOR('',#851,1.E0);
+-#853=CARTESIAN_POINT('',(2.6E1,2.5E0,1.E1));
+-#854=LINE('',#853,#852);
+-#855=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#856=VECTOR('',#855,1.972007605460E-1);
+-#857=CARTESIAN_POINT('',(2.204720076055E1,7.E0,1.E1));
+-#858=LINE('',#857,#856);
+-#859=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
+-#860=VECTOR('',#859,2.059126028197E0);
+-#861=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,1.E1));
+-#862=LINE('',#861,#860);
+-#863=DIRECTION('',(1.E0,0.E0,0.E0));
+-#864=VECTOR('',#863,1.197200760546E0);
+-#865=CARTESIAN_POINT('',(1.985E1,9.5E0,1.E1));
+-#866=LINE('',#865,#864);
+-#867=DIRECTION('',(0.E0,1.E0,0.E0));
+-#868=VECTOR('',#867,6.8E0);
+-#869=CARTESIAN_POINT('',(1.95E1,2.35E0,1.E1));
+-#870=LINE('',#869,#868);
+-#871=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#872=VECTOR('',#871,1.3E0);
+-#873=CARTESIAN_POINT('',(2.115E1,2.E0,1.E1));
+-#874=LINE('',#873,#872);
+-#875=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#876=VECTOR('',#875,4.3E0);
+-#877=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1));
+-#878=LINE('',#877,#876);
+-#879=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
+-#880=VECTOR('',#879,5.773502691896E0);
+-#881=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1));
+-#882=LINE('',#881,#880);
+-#883=CARTESIAN_POINT('',(6.45E0,1.5E0,2.975E1));
+-#884=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#885=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#886=AXIS2_PLACEMENT_3D('',#883,#884,#885);
+-#888=CARTESIAN_POINT('',(6.45E0,1.5E0,2.975E1));
+-#889=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#890=DIRECTION('',(1.E0,0.E0,0.E0));
+-#891=AXIS2_PLACEMENT_3D('',#888,#889,#890);
+-#893=CARTESIAN_POINT('',(7.45E0,1.5E0,2.975E1));
+-#894=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#895=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#896=AXIS2_PLACEMENT_3D('',#893,#894,#895);
+-#898=CARTESIAN_POINT('',(7.45E0,1.5E0,2.975E1));
+-#899=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#900=DIRECTION('',(1.E0,0.E0,0.E0));
+-#901=AXIS2_PLACEMENT_3D('',#898,#899,#900);
+-#903=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#904=VECTOR('',#903,4.531373033403E0);
+-#905=CARTESIAN_POINT('',(2.5E1,1.5E0,8.E0));
+-#906=LINE('',#905,#904);
+-#907=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#908=VECTOR('',#907,9.E0);
+-#909=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0));
+-#910=LINE('',#909,#908);
+-#911=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#912=VECTOR('',#911,4.531373033403E0);
+-#913=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0));
+-#914=LINE('',#913,#912);
+-#915=DIRECTION('',(0.E0,0.E0,1.E0));
+-#916=VECTOR('',#915,3.E0);
+-#917=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0));
+-#918=LINE('',#917,#916);
+-#919=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#920=VECTOR('',#919,1.6E1);
+-#921=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0));
+-#922=LINE('',#921,#920);
+-#923=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#924=VECTOR('',#923,3.E0);
+-#925=CARTESIAN_POINT('',(2.4E1,1.5E0,7.E0));
+-#926=LINE('',#925,#924);
+-#927=CARTESIAN_POINT('',(1.755E1,1.5E0,2.975E1));
+-#928=DIRECTION('',(0.E0,1.E0,0.E0));
+-#929=DIRECTION('',(1.E0,0.E0,0.E0));
+-#930=AXIS2_PLACEMENT_3D('',#927,#928,#929);
+-#932=CARTESIAN_POINT('',(1.755E1,1.5E0,2.975E1));
+-#933=DIRECTION('',(0.E0,1.E0,0.E0));
+-#934=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#935=AXIS2_PLACEMENT_3D('',#932,#933,#934);
+-#937=CARTESIAN_POINT('',(1.655E1,1.5E0,2.975E1));
+-#938=DIRECTION('',(0.E0,1.E0,0.E0));
+-#939=DIRECTION('',(1.E0,0.E0,0.E0));
+-#940=AXIS2_PLACEMENT_3D('',#937,#938,#939);
+-#942=CARTESIAN_POINT('',(1.655E1,1.5E0,2.975E1));
+-#943=DIRECTION('',(0.E0,1.E0,0.E0));
+-#944=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#945=AXIS2_PLACEMENT_3D('',#942,#943,#944);
+-#947=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
+-#948=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#949=DIRECTION('',(1.E0,0.E0,0.E0));
+-#950=AXIS2_PLACEMENT_3D('',#947,#948,#949);
+-#952=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
+-#953=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#954=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#955=AXIS2_PLACEMENT_3D('',#952,#953,#954);
+-#957=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
+-#958=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#959=DIRECTION('',(1.E0,0.E0,0.E0));
+-#960=AXIS2_PLACEMENT_3D('',#957,#958,#959);
+-#962=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
+-#963=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#964=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#965=AXIS2_PLACEMENT_3D('',#962,#963,#964);
+-#967=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
+-#968=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#969=DIRECTION('',(1.E0,0.E0,0.E0));
+-#970=AXIS2_PLACEMENT_3D('',#967,#968,#969);
+-#972=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
+-#973=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#974=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#975=AXIS2_PLACEMENT_3D('',#972,#973,#974);
+-#977=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
+-#978=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#979=DIRECTION('',(1.E0,0.E0,0.E0));
+-#980=AXIS2_PLACEMENT_3D('',#977,#978,#979);
+-#982=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
+-#983=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#984=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#985=AXIS2_PLACEMENT_3D('',#982,#983,#984);
+-#987=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
+-#988=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#989=DIRECTION('',(1.E0,0.E0,0.E0));
+-#990=AXIS2_PLACEMENT_3D('',#987,#988,#989);
+-#992=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
+-#993=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#994=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#995=AXIS2_PLACEMENT_3D('',#992,#993,#994);
+-#997=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
+-#998=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#999=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1000=AXIS2_PLACEMENT_3D('',#997,#998,#999);
+-#1002=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
+-#1003=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1004=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1005=AXIS2_PLACEMENT_3D('',#1002,#1003,#1004);
+-#1007=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
+-#1008=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1009=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1010=AXIS2_PLACEMENT_3D('',#1007,#1008,#1009);
+-#1012=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
+-#1013=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1014=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1015=AXIS2_PLACEMENT_3D('',#1012,#1013,#1014);
+-#1017=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
+-#1018=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1019=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1020=AXIS2_PLACEMENT_3D('',#1017,#1018,#1019);
+-#1022=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
+-#1023=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1024=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1025=AXIS2_PLACEMENT_3D('',#1022,#1023,#1024);
+-#1027=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
+-#1028=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1029=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1030=AXIS2_PLACEMENT_3D('',#1027,#1028,#1029);
+-#1032=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
+-#1033=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1034=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1035=AXIS2_PLACEMENT_3D('',#1032,#1033,#1034);
+-#1037=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
+-#1038=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1039=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1040=AXIS2_PLACEMENT_3D('',#1037,#1038,#1039);
+-#1042=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
+-#1043=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1044=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1045=AXIS2_PLACEMENT_3D('',#1042,#1043,#1044);
+-#1047=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
+-#1048=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1049=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1050=AXIS2_PLACEMENT_3D('',#1047,#1048,#1049);
+-#1052=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
+-#1053=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1054=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1055=AXIS2_PLACEMENT_3D('',#1052,#1053,#1054);
+-#1057=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
+-#1058=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1059=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1060=AXIS2_PLACEMENT_3D('',#1057,#1058,#1059);
+-#1062=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
+-#1063=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1064=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1065=AXIS2_PLACEMENT_3D('',#1062,#1063,#1064);
+-#1067=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1068=VECTOR('',#1067,2.5625E0);
+-#1069=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1));
+-#1070=LINE('',#1069,#1068);
+-#1071=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1072=VECTOR('',#1071,1.3E1);
+-#1073=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1));
+-#1074=LINE('',#1073,#1072);
+-#1075=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1076=VECTOR('',#1075,2.5625E0);
+-#1077=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1));
+-#1078=LINE('',#1077,#1076);
+-#1079=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1080=VECTOR('',#1079,9.E0);
+-#1081=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1));
+-#1082=LINE('',#1081,#1080);
+-#1083=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1084=VECTOR('',#1083,1.3E1);
+-#1085=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1));
+-#1086=LINE('',#1085,#1084);
+-#1087=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1088=VECTOR('',#1087,8.125E-1);
+-#1089=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1));
+-#1090=LINE('',#1089,#1088);
+-#1091=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1092=VECTOR('',#1091,1.E0);
+-#1093=CARTESIAN_POINT('',(2.05E1,1.5E0,1.225E1));
+-#1094=LINE('',#1093,#1092);
+-#1095=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1096=VECTOR('',#1095,7.5E-1);
+-#1097=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
+-#1098=LINE('',#1097,#1096);
+-#1099=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1100=VECTOR('',#1099,7.5E-1);
+-#1101=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1));
+-#1102=LINE('',#1101,#1100);
+-#1103=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1104=VECTOR('',#1103,1.E0);
+-#1105=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1));
+-#1106=LINE('',#1105,#1104);
+-#1107=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1108=VECTOR('',#1107,8.125E-1);
+-#1109=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1));
+-#1110=LINE('',#1109,#1108);
+-#1111=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
+-#1112=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1113=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1114=AXIS2_PLACEMENT_3D('',#1111,#1112,#1113);
+-#1116=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
+-#1117=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1118=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1119=AXIS2_PLACEMENT_3D('',#1116,#1117,#1118);
+-#1121=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
+-#1122=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1123=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1124=AXIS2_PLACEMENT_3D('',#1121,#1122,#1123);
+-#1126=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
+-#1127=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1128=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1129=AXIS2_PLACEMENT_3D('',#1126,#1127,#1128);
+-#1131=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
+-#1132=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1133=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1134=AXIS2_PLACEMENT_3D('',#1131,#1132,#1133);
+-#1136=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
+-#1137=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1138=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1139=AXIS2_PLACEMENT_3D('',#1136,#1137,#1138);
+-#1141=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
+-#1142=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1143=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1144=AXIS2_PLACEMENT_3D('',#1141,#1142,#1143);
+-#1146=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
+-#1147=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1148=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1149=AXIS2_PLACEMENT_3D('',#1146,#1147,#1148);
+-#1151=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
+-#1152=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1153=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1154=AXIS2_PLACEMENT_3D('',#1151,#1152,#1153);
+-#1156=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
+-#1157=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1158=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1159=AXIS2_PLACEMENT_3D('',#1156,#1157,#1158);
+-#1161=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
+-#1162=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1163=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1164=AXIS2_PLACEMENT_3D('',#1161,#1162,#1163);
+-#1166=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
+-#1167=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1168=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1169=AXIS2_PLACEMENT_3D('',#1166,#1167,#1168);
+-#1171=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1172=VECTOR('',#1171,2.886751345948E0);
+-#1173=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1));
+-#1174=LINE('',#1173,#1172);
+-#1175=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1176=VECTOR('',#1175,2.25E0);
+-#1177=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1));
+-#1178=LINE('',#1177,#1176);
+-#1179=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1180=VECTOR('',#1179,1.75E0);
+-#1181=CARTESIAN_POINT('',(2.6E1,1.5E0,1.E1));
+-#1182=LINE('',#1181,#1180);
+-#1183=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1184=VECTOR('',#1183,5.E-1);
+-#1185=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
+-#1186=LINE('',#1185,#1184);
+-#1187=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1188=VECTOR('',#1187,1.475E1);
+-#1189=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1));
+-#1190=LINE('',#1189,#1188);
+-#1191=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1192=VECTOR('',#1191,1.6E1);
+-#1193=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1));
+-#1194=LINE('',#1193,#1192);
+-#1195=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1196=VECTOR('',#1195,1.475E1);
+-#1197=CARTESIAN_POINT('',(0.E0,1.5E0,1.325E1));
+-#1198=LINE('',#1197,#1196);
+-#1199=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1200=VECTOR('',#1199,5.E-1);
+-#1201=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1));
+-#1202=LINE('',#1201,#1200);
+-#1203=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1204=VECTOR('',#1203,1.75E0);
+-#1205=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1));
+-#1206=LINE('',#1205,#1204);
+-#1207=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1208=VECTOR('',#1207,2.25E0);
+-#1209=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1));
+-#1210=LINE('',#1209,#1208);
+-#1211=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1212=VECTOR('',#1211,2.886751345948E0);
+-#1213=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1));
+-#1214=LINE('',#1213,#1212);
+-#1215=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1216=VECTOR('',#1215,1.75E0);
+-#1217=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1));
+-#1218=LINE('',#1217,#1216);
+-#1219=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1220=VECTOR('',#1219,2.886751345948E0);
+-#1221=CARTESIAN_POINT('',(2.E0,1.5E0,1.288675134595E1));
+-#1222=LINE('',#1221,#1220);
+-#1223=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1224=VECTOR('',#1223,3.E0);
+-#1225=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1));
+-#1226=LINE('',#1225,#1224);
+-#1227=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1228=VECTOR('',#1227,1.4E1);
+-#1229=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
+-#1230=LINE('',#1229,#1228);
+-#1231=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1232=VECTOR('',#1231,3.E0);
+-#1233=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1));
+-#1234=LINE('',#1233,#1232);
+-#1235=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1236=VECTOR('',#1235,2.886751345948E0);
+-#1237=CARTESIAN_POINT('',(2.2E1,1.5E0,1.288675134595E1));
+-#1238=LINE('',#1237,#1236);
+-#1239=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1240=VECTOR('',#1239,1.75E0);
+-#1241=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1));
+-#1242=LINE('',#1241,#1240);
+-#1243=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1244=VECTOR('',#1243,2.5E-1);
+-#1245=CARTESIAN_POINT('',(6.35E0,1.25E0,2.975E1));
+-#1246=LINE('',#1245,#1244);
+-#1247=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1248=VECTOR('',#1247,2.5E-1);
+-#1249=CARTESIAN_POINT('',(6.55E0,1.25E0,2.975E1));
+-#1250=LINE('',#1249,#1248);
+-#1251=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0));
+-#1252=VECTOR('',#1251,1.154700538379E-1);
+-#1253=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1));
+-#1254=LINE('',#1253,#1252);
+-#1255=CARTESIAN_POINT('',(6.45E0,1.25E0,2.975E1));
+-#1256=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1257=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1258=AXIS2_PLACEMENT_3D('',#1255,#1256,#1257);
+-#1260=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0));
+-#1261=VECTOR('',#1260,1.154700538379E-1);
+-#1262=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1));
+-#1263=LINE('',#1262,#1261);
+-#1264=CARTESIAN_POINT('',(6.45E0,1.25E0,2.975E1));
+-#1265=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1266=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1267=AXIS2_PLACEMENT_3D('',#1264,#1265,#1266);
+-#1269=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1270=VECTOR('',#1269,2.5E-1);
+-#1271=CARTESIAN_POINT('',(7.35E0,1.25E0,2.975E1));
+-#1272=LINE('',#1271,#1270);
+-#1273=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1274=VECTOR('',#1273,2.5E-1);
+-#1275=CARTESIAN_POINT('',(7.55E0,1.25E0,2.975E1));
+-#1276=LINE('',#1275,#1274);
+-#1277=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0));
+-#1278=VECTOR('',#1277,1.154700538379E-1);
+-#1279=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1));
+-#1280=LINE('',#1279,#1278);
+-#1281=CARTESIAN_POINT('',(7.45E0,1.25E0,2.975E1));
+-#1282=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1283=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1284=AXIS2_PLACEMENT_3D('',#1281,#1282,#1283);
+-#1286=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0));
+-#1287=VECTOR('',#1286,1.154700538379E-1);
+-#1288=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1));
+-#1289=LINE('',#1288,#1287);
+-#1290=CARTESIAN_POINT('',(7.45E0,1.25E0,2.975E1));
+-#1291=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1292=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1293=AXIS2_PLACEMENT_3D('',#1290,#1291,#1292);
+-#1295=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1296=VECTOR('',#1295,1.5E0);
+-#1297=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0));
+-#1298=LINE('',#1297,#1296);
+-#1299=CARTESIAN_POINT('',(2.046862696660E1,0.E0,7.E0));
+-#1300=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1301=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1302=AXIS2_PLACEMENT_3D('',#1299,#1300,#1301);
+-#1304=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1305=VECTOR('',#1304,1.5E0);
+-#1306=CARTESIAN_POINT('',(2.146078370825E1,0.E0,6.875E0));
+-#1307=LINE('',#1306,#1305);
+-#1308=CARTESIAN_POINT('',(2.046862696660E1,1.5E0,7.E0));
+-#1309=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1310=DIRECTION('',(9.921567416492E-1,0.E0,-1.25E-1));
+-#1311=AXIS2_PLACEMENT_3D('',#1308,#1309,#1310);
+-#1313=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0));
+-#1314=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1315=DIRECTION('',(9.921567416492E-1,0.E0,-1.25E-1));
+-#1316=AXIS2_PLACEMENT_3D('',#1313,#1314,#1315);
+-#1318=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1319=VECTOR('',#1318,1.5E0);
+-#1320=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0));
+-#1321=LINE('',#1320,#1319);
+-#1322=CARTESIAN_POINT('',(1.65E1,1.5E0,7.5E0));
+-#1323=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1324=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1325=AXIS2_PLACEMENT_3D('',#1322,#1323,#1324);
+-#1327=CARTESIAN_POINT('',(7.5E0,1.5E0,7.5E0));
+-#1328=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1329=DIRECTION('',(-9.921567416492E-1,0.E0,-1.25E-1));
+-#1330=AXIS2_PLACEMENT_3D('',#1327,#1328,#1329);
+-#1332=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1333=VECTOR('',#1332,1.5E0);
+-#1334=CARTESIAN_POINT('',(7.5E0,1.5E0,2.5E0));
+-#1335=LINE('',#1334,#1333);
+-#1336=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0));
+-#1337=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1338=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1339=AXIS2_PLACEMENT_3D('',#1336,#1337,#1338);
+-#1341=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1342=VECTOR('',#1341,1.5E0);
+-#1343=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0));
+-#1344=LINE('',#1343,#1342);
+-#1345=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,7.E0));
+-#1346=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1347=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1348=AXIS2_PLACEMENT_3D('',#1345,#1346,#1347);
+-#1350=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1351=VECTOR('',#1350,1.5E0);
+-#1352=CARTESIAN_POINT('',(2.539216291754E0,1.5E0,6.875E0));
+-#1353=LINE('',#1352,#1351);
+-#1354=CARTESIAN_POINT('',(3.531373033403E0,0.E0,7.E0));
+-#1355=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1356=DIRECTION('',(-9.921567416492E-1,0.E0,-1.25E-1));
+-#1357=AXIS2_PLACEMENT_3D('',#1354,#1355,#1356);
+-#1359=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1360=VECTOR('',#1359,1.5E0);
+-#1361=CARTESIAN_POINT('',(0.E0,1.5E0,7.E0));
+-#1362=LINE('',#1361,#1360);
+-#1363=CARTESIAN_POINT('',(-1.E0,1.5E0,7.E0));
+-#1364=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1365=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1366=AXIS2_PLACEMENT_3D('',#1363,#1364,#1365);
+-#1368=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1369=VECTOR('',#1368,1.5E0);
+-#1370=CARTESIAN_POINT('',(-1.E0,1.5E0,8.E0));
+-#1371=LINE('',#1370,#1369);
+-#1372=CARTESIAN_POINT('',(-1.E0,0.E0,7.E0));
+-#1373=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1374=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1375=AXIS2_PLACEMENT_3D('',#1372,#1373,#1374);
+-#1377=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1378=VECTOR('',#1377,1.5E0);
+-#1379=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1));
+-#1380=LINE('',#1379,#1378);
+-#1381=CARTESIAN_POINT('',(-1.E0,0.E0,1.325E1));
+-#1382=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1383=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1384=AXIS2_PLACEMENT_3D('',#1381,#1382,#1383);
+-#1386=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1387=VECTOR('',#1386,1.5E0);
+-#1388=CARTESIAN_POINT('',(-1.E0,0.E0,1.225E1));
+-#1389=LINE('',#1388,#1387);
+-#1390=CARTESIAN_POINT('',(-1.E0,1.5E0,1.325E1));
+-#1391=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1392=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1393=AXIS2_PLACEMENT_3D('',#1390,#1391,#1392);
+-#1395=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1396=VECTOR('',#1395,1.5E0);
+-#1397=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1));
+-#1398=LINE('',#1397,#1396);
+-#1399=CARTESIAN_POINT('',(3.5E0,1.5E0,1.325E1));
+-#1400=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1401=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1402=AXIS2_PLACEMENT_3D('',#1399,#1400,#1401);
+-#1404=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1405=VECTOR('',#1404,1.5E0);
+-#1406=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1));
+-#1407=LINE('',#1406,#1405);
+-#1408=CARTESIAN_POINT('',(3.5E0,0.E0,1.325E1));
+-#1409=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1410=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1411=AXIS2_PLACEMENT_3D('',#1408,#1409,#1410);
+-#1413=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1414=VECTOR('',#1413,1.5E0);
+-#1415=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1));
+-#1416=LINE('',#1415,#1414);
+-#1417=CARTESIAN_POINT('',(5.5E0,1.5E0,2.19375E1));
+-#1418=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1419=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1420=AXIS2_PLACEMENT_3D('',#1417,#1418,#1419);
+-#1422=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1423=VECTOR('',#1422,1.5E0);
+-#1424=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1));
+-#1425=LINE('',#1424,#1423);
+-#1426=CARTESIAN_POINT('',(5.5E0,0.E0,2.19375E1));
+-#1427=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1428=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1429=AXIS2_PLACEMENT_3D('',#1426,#1427,#1428);
+-#1431=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1432=VECTOR('',#1431,1.5E0);
+-#1433=CARTESIAN_POINT('',(2.15E1,0.E0,2.19375E1));
+-#1434=LINE('',#1433,#1432);
+-#1435=CARTESIAN_POINT('',(1.85E1,0.E0,2.19375E1));
+-#1436=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1437=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1438=AXIS2_PLACEMENT_3D('',#1435,#1436,#1437);
+-#1440=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1441=VECTOR('',#1440,1.5E0);
+-#1442=CARTESIAN_POINT('',(1.85E1,0.E0,1.89375E1));
+-#1443=LINE('',#1442,#1441);
+-#1444=CARTESIAN_POINT('',(1.85E1,1.5E0,2.19375E1));
+-#1445=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1446=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1447=AXIS2_PLACEMENT_3D('',#1444,#1445,#1446);
+-#1449=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1450=VECTOR('',#1449,1.5E0);
+-#1451=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1));
+-#1452=LINE('',#1451,#1450);
+-#1453=CARTESIAN_POINT('',(1.65E1,1.5E0,2.45E1));
+-#1454=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1455=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1456=AXIS2_PLACEMENT_3D('',#1453,#1454,#1455);
+-#1458=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1459=VECTOR('',#1458,1.5E0);
+-#1460=CARTESIAN_POINT('',(1.65E1,1.5E0,2.95E1));
+-#1461=LINE('',#1460,#1459);
+-#1462=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1));
+-#1463=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1464=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1465=AXIS2_PLACEMENT_3D('',#1462,#1463,#1464);
+-#1467=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1468=VECTOR('',#1467,1.5E0);
+-#1469=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1));
+-#1470=LINE('',#1469,#1468);
+-#1471=CARTESIAN_POINT('',(7.5E0,1.5E0,2.45E1));
+-#1472=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1473=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1474=AXIS2_PLACEMENT_3D('',#1471,#1472,#1473);
+-#1476=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1477=VECTOR('',#1476,1.5E0);
+-#1478=CARTESIAN_POINT('',(2.5E0,1.5E0,2.45E1));
+-#1479=LINE('',#1478,#1477);
+-#1480=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1));
+-#1481=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1482=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1483=AXIS2_PLACEMENT_3D('',#1480,#1481,#1482);
+-#1485=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1486=VECTOR('',#1485,1.5E0);
+-#1487=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1));
+-#1488=LINE('',#1487,#1486);
+-#1489=CARTESIAN_POINT('',(1.85E1,1.5E0,1.40625E1));
+-#1490=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1491=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1492=AXIS2_PLACEMENT_3D('',#1489,#1490,#1491);
+-#1494=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1495=VECTOR('',#1494,1.5E0);
+-#1496=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1));
+-#1497=LINE('',#1496,#1495);
+-#1498=CARTESIAN_POINT('',(1.85E1,0.E0,1.40625E1));
+-#1499=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1500=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1501=AXIS2_PLACEMENT_3D('',#1498,#1499,#1500);
+-#1503=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1504=VECTOR('',#1503,1.5E0);
+-#1505=CARTESIAN_POINT('',(2.5E0,0.E0,1.40625E1));
+-#1506=LINE('',#1505,#1504);
+-#1507=CARTESIAN_POINT('',(5.5E0,0.E0,1.40625E1));
+-#1508=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1509=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1510=AXIS2_PLACEMENT_3D('',#1507,#1508,#1509);
+-#1512=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1513=VECTOR('',#1512,1.5E0);
+-#1514=CARTESIAN_POINT('',(5.5E0,0.E0,1.70625E1));
+-#1515=LINE('',#1514,#1513);
+-#1516=CARTESIAN_POINT('',(5.5E0,1.5E0,1.40625E1));
+-#1517=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1518=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1519=AXIS2_PLACEMENT_3D('',#1516,#1517,#1518);
+-#1521=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1522=VECTOR('',#1521,1.5E0);
+-#1523=CARTESIAN_POINT('',(2.15E1,0.E0,1.325E1));
+-#1524=LINE('',#1523,#1522);
+-#1525=CARTESIAN_POINT('',(2.05E1,0.E0,1.325E1));
+-#1526=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1527=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1528=AXIS2_PLACEMENT_3D('',#1525,#1526,#1527);
+-#1530=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1531=VECTOR('',#1530,1.5E0);
+-#1532=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1));
+-#1533=LINE('',#1532,#1531);
+-#1534=CARTESIAN_POINT('',(2.05E1,1.5E0,1.325E1));
+-#1535=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1536=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1537=AXIS2_PLACEMENT_3D('',#1534,#1535,#1536);
+-#1539=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1540=VECTOR('',#1539,1.5E0);
+-#1541=CARTESIAN_POINT('',(2.4E1,1.5E0,1.325E1));
+-#1542=LINE('',#1541,#1540);
+-#1543=CARTESIAN_POINT('',(2.5E1,1.5E0,1.325E1));
+-#1544=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1545=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1546=AXIS2_PLACEMENT_3D('',#1543,#1544,#1545);
+-#1548=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1549=VECTOR('',#1548,1.5E0);
+-#1550=CARTESIAN_POINT('',(2.5E1,1.5E0,1.225E1));
+-#1551=LINE('',#1550,#1549);
+-#1552=CARTESIAN_POINT('',(2.5E1,0.E0,1.325E1));
+-#1553=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1554=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1555=AXIS2_PLACEMENT_3D('',#1552,#1553,#1554);
+-#1557=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1558=VECTOR('',#1557,1.5E0);
+-#1559=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
+-#1560=LINE('',#1559,#1558);
+-#1561=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
+-#1562=VECTOR('',#1561,5.656854249492E0);
+-#1563=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
+-#1564=LINE('',#1563,#1562);
+-#1565=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1566=VECTOR('',#1565,1.5E0);
+-#1567=CARTESIAN_POINT('',(2.E1,0.E0,3.2E1));
+-#1568=LINE('',#1567,#1566);
+-#1569=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
+-#1570=VECTOR('',#1569,5.656854249492E0);
+-#1571=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1));
+-#1572=LINE('',#1571,#1570);
+-#1573=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1574=VECTOR('',#1573,1.5E0);
+-#1575=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
+-#1576=LINE('',#1575,#1574);
+-#1577=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#1578=VECTOR('',#1577,5.656854249492E0);
+-#1579=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
+-#1580=LINE('',#1579,#1578);
+-#1581=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1582=VECTOR('',#1581,1.5E0);
+-#1583=CARTESIAN_POINT('',(0.E0,0.E0,2.8E1));
+-#1584=LINE('',#1583,#1582);
+-#1585=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#1586=VECTOR('',#1585,5.656854249492E0);
+-#1587=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1));
+-#1588=LINE('',#1587,#1586);
+-#1589=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1590=VECTOR('',#1589,1.5E0);
+-#1591=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0));
+-#1592=LINE('',#1591,#1590);
+-#1593=CARTESIAN_POINT('',(2.5E1,0.E0,7.E0));
+-#1594=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1595=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1596=AXIS2_PLACEMENT_3D('',#1593,#1594,#1595);
+-#1598=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1599=VECTOR('',#1598,1.5E0);
+-#1600=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0));
+-#1601=LINE('',#1600,#1599);
+-#1602=CARTESIAN_POINT('',(2.5E1,1.5E0,7.E0));
+-#1603=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1604=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1605=AXIS2_PLACEMENT_3D('',#1602,#1603,#1604);
+-#1607=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1608=VECTOR('',#1607,1.5E0);
+-#1609=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
+-#1610=LINE('',#1609,#1608);
+-#1611=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
+-#1612=VECTOR('',#1611,5.656854249492E0);
+-#1613=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
+-#1614=LINE('',#1613,#1612);
+-#1615=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1616=VECTOR('',#1615,1.5E0);
+-#1617=CARTESIAN_POINT('',(2.4E1,0.E0,4.E0));
+-#1618=LINE('',#1617,#1616);
+-#1619=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
+-#1620=VECTOR('',#1619,5.656854249492E0);
+-#1621=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0));
+-#1622=LINE('',#1621,#1620);
+-#1623=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1624=VECTOR('',#1623,1.5E0);
+-#1625=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
+-#1626=LINE('',#1625,#1624);
+-#1627=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#1628=VECTOR('',#1627,5.656854249492E0);
+-#1629=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
+-#1630=LINE('',#1629,#1628);
+-#1631=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1632=VECTOR('',#1631,1.5E0);
+-#1633=CARTESIAN_POINT('',(4.E0,0.E0,0.E0));
+-#1634=LINE('',#1633,#1632);
+-#1635=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#1636=VECTOR('',#1635,5.656854249492E0);
+-#1637=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0));
+-#1638=LINE('',#1637,#1636);
+-#1639=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1640=VECTOR('',#1639,1.5E0);
+-#1641=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
+-#1642=LINE('',#1641,#1640);
+-#1643=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#1644=VECTOR('',#1643,7.071067811865E-1);
+-#1645=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
+-#1646=LINE('',#1645,#1644);
+-#1647=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1648=VECTOR('',#1647,1.5E0);
+-#1649=CARTESIAN_POINT('',(2.6E1,1.5E0,1.175E1));
+-#1650=LINE('',#1649,#1648);
+-#1651=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#1652=VECTOR('',#1651,7.071067811865E-1);
+-#1653=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1));
+-#1654=LINE('',#1653,#1652);
+-#1655=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1656=VECTOR('',#1655,2.5E0);
+-#1657=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0));
+-#1658=LINE('',#1657,#1656);
+-#1659=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1660=VECTOR('',#1659,2.E0);
+-#1661=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0));
+-#1662=LINE('',#1661,#1660);
+-#1663=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1664=VECTOR('',#1663,2.E0);
+-#1665=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
+-#1666=LINE('',#1665,#1664);
+-#1667=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1668=VECTOR('',#1667,2.E0);
+-#1669=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0));
+-#1670=LINE('',#1669,#1668);
+-#1671=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0));
+-#1672=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1673=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1674=AXIS2_PLACEMENT_3D('',#1671,#1672,#1673);
+-#1676=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0));
+-#1677=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1678=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1679=AXIS2_PLACEMENT_3D('',#1676,#1677,#1678);
+-#1681=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0));
+-#1682=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1683=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1684=AXIS2_PLACEMENT_3D('',#1681,#1682,#1683);
+-#1686=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0));
+-#1687=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1688=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1689=AXIS2_PLACEMENT_3D('',#1686,#1687,#1688);
+-#1691=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1692=VECTOR('',#1691,2.E0);
+-#1693=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
+-#1694=LINE('',#1693,#1692);
+-#1695=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1696=VECTOR('',#1695,1.E1);
+-#1697=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
+-#1698=LINE('',#1697,#1696);
+-#1699=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1700=VECTOR('',#1699,1.5E0);
+-#1701=CARTESIAN_POINT('',(1.9E1,0.E0,1.1E1));
+-#1702=LINE('',#1701,#1700);
+-#1703=CARTESIAN_POINT('',(1.8E1,0.E0,1.1E1));
+-#1704=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1705=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1706=AXIS2_PLACEMENT_3D('',#1703,#1704,#1705);
+-#1708=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1709=VECTOR('',#1708,1.5E0);
+-#1710=CARTESIAN_POINT('',(1.8E1,0.E0,1.E1));
+-#1711=LINE('',#1710,#1709);
+-#1712=CARTESIAN_POINT('',(1.8E1,1.5E0,1.1E1));
+-#1713=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1714=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1715=AXIS2_PLACEMENT_3D('',#1712,#1713,#1714);
+-#1717=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1718=VECTOR('',#1717,1.2E1);
+-#1719=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1));
+-#1720=LINE('',#1719,#1718);
+-#1721=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1722=VECTOR('',#1721,1.5E0);
+-#1723=CARTESIAN_POINT('',(5.E0,1.5E0,1.1E1));
+-#1724=LINE('',#1723,#1722);
+-#1725=CARTESIAN_POINT('',(6.E0,1.5E0,1.1E1));
+-#1726=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1727=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1728=AXIS2_PLACEMENT_3D('',#1725,#1726,#1727);
+-#1730=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1731=VECTOR('',#1730,1.5E0);
+-#1732=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1));
+-#1733=LINE('',#1732,#1731);
+-#1734=CARTESIAN_POINT('',(6.E0,0.E0,1.1E1));
+-#1735=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1736=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#1737=AXIS2_PLACEMENT_3D('',#1734,#1735,#1736);
+-#1739=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1740=VECTOR('',#1739,2.E0);
+-#1741=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
+-#1742=LINE('',#1741,#1740);
+-#1743=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1744=VECTOR('',#1743,1.E1);
+-#1745=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
+-#1746=LINE('',#1745,#1744);
+-#1747=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1748=VECTOR('',#1747,1.5E0);
+-#1749=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
+-#1750=LINE('',#1749,#1748);
+-#1751=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
+-#1752=VECTOR('',#1751,7.071067811865E-1);
+-#1753=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
+-#1754=LINE('',#1753,#1752);
+-#1755=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1756=VECTOR('',#1755,1.5E0);
+-#1757=CARTESIAN_POINT('',(4.5E0,0.E0,1.225E1));
+-#1758=LINE('',#1757,#1756);
+-#1759=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
+-#1760=VECTOR('',#1759,7.071067811865E-1);
+-#1761=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1));
+-#1762=LINE('',#1761,#1760);
+-#1763=CARTESIAN_POINT('',(4.25E0,1.05E1,1.E1));
+-#1764=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1765=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1766=AXIS2_PLACEMENT_3D('',#1763,#1764,#1765);
+-#1768=CARTESIAN_POINT('',(4.25E0,1.05E1,1.E1));
+-#1769=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1770=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1771=AXIS2_PLACEMENT_3D('',#1768,#1769,#1770);
+-#1773=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1774=VECTOR('',#1773,5.E0);
+-#1775=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.E1));
+-#1776=LINE('',#1775,#1774);
+-#1777=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1778=VECTOR('',#1777,1.E0);
+-#1779=CARTESIAN_POINT('',(-2.E0,2.5E0,1.E1));
+-#1780=LINE('',#1779,#1778);
+-#1781=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
+-#1782=VECTOR('',#1781,1.029563014099E1);
+-#1783=CARTESIAN_POINT('',(3.E0,1.15E1,1.E1));
+-#1784=LINE('',#1783,#1782);
+-#1785=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1786=VECTOR('',#1785,2.E0);
+-#1787=CARTESIAN_POINT('',(5.E0,1.15E1,1.E1));
+-#1788=LINE('',#1787,#1786);
+-#1789=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1790=VECTOR('',#1789,1.E1);
+-#1791=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1));
+-#1792=LINE('',#1791,#1790);
+-#1793=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1794=VECTOR('',#1793,5.E0);
+-#1795=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1));
+-#1796=LINE('',#1795,#1794);
+-#1797=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1798=VECTOR('',#1797,1.75E0);
+-#1799=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1));
+-#1800=LINE('',#1799,#1798);
+-#1801=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1802=VECTOR('',#1801,4.3E0);
+-#1803=CARTESIAN_POINT('',(2.5E0,6.65E0,1.E1));
+-#1804=LINE('',#1803,#1802);
+-#1805=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1806=VECTOR('',#1805,1.3E0);
+-#1807=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1));
+-#1808=LINE('',#1807,#1806);
+-#1809=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1810=VECTOR('',#1809,6.8E0);
+-#1811=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1));
+-#1812=LINE('',#1811,#1810);
+-#1813=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1814=VECTOR('',#1813,1.197200760546E0);
+-#1815=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1));
+-#1816=LINE('',#1815,#1814);
+-#1817=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
+-#1818=VECTOR('',#1817,2.059126028197E0);
+-#1819=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1));
+-#1820=LINE('',#1819,#1818);
+-#1821=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1822=VECTOR('',#1821,1.972007605460E-1);
+-#1823=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1));
+-#1824=LINE('',#1823,#1822);
+-#1825=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1826=VECTOR('',#1825,2.E0);
+-#1827=CARTESIAN_POINT('',(4.4125E0,1.05E1,8.E0));
+-#1828=LINE('',#1827,#1826);
+-#1829=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1830=VECTOR('',#1829,2.E0);
+-#1831=CARTESIAN_POINT('',(4.0875E0,1.05E1,8.E0));
+-#1832=LINE('',#1831,#1830);
+-#1833=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
+-#1834=VECTOR('',#1833,5.773502691896E0);
+-#1835=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1));
+-#1836=LINE('',#1835,#1834);
+-#1837=CARTESIAN_POINT('',(8.675E-1,3.035898384862E0,1.2E1));
+-#1838=CARTESIAN_POINT('',(8.675E-1,2.930774450068E0,1.206069333205E1));
+-#1839=CARTESIAN_POINT('',(9.058386382037E-1,2.745461691651E0,1.216768370301E1));
+-#1840=CARTESIAN_POINT('',(1.029862281194E0,2.608885438662E0,1.224653603944E1));
+-#1841=CARTESIAN_POINT('',(1.125E0,2.580400233539E0,1.226298198028E1));
+-#1842=CARTESIAN_POINT('',(1.220137718806E0,2.608885438662E0,1.224653603944E1));
+-#1843=CARTESIAN_POINT('',(1.344161361796E0,2.745461691651E0,1.216768370301E1));
+-#1844=CARTESIAN_POINT('',(1.3825E0,2.930774450068E0,1.206069333205E1));
+-#1845=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1));
+-#1847=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1));
+-#1848=CARTESIAN_POINT('',(1.3825E0,3.141022319657E0,1.193930666795E1));
+-#1849=CARTESIAN_POINT('',(1.344161361796E0,3.326335078073E0,1.183231629699E1));
+-#1850=CARTESIAN_POINT('',(1.220137718806E0,3.462911331062E0,1.175346396056E1));
+-#1851=CARTESIAN_POINT('',(1.125E0,3.491396536186E0,1.173701801972E1));
+-#1852=CARTESIAN_POINT('',(1.029862281194E0,3.462911331062E0,1.175346396056E1));
+-#1853=CARTESIAN_POINT('',(9.058386382037E-1,3.326335078073E0,1.183231629699E1));
+-#1854=CARTESIAN_POINT('',(8.675E-1,3.141022319657E0,1.193930666795E1));
+-#1855=CARTESIAN_POINT('',(8.675E-1,3.035898384862E0,1.2E1));
+-#1857=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
+-#1858=VECTOR('',#1857,5.773502691896E0);
+-#1859=CARTESIAN_POINT('',(2.E0,6.5E0,1.E1));
+-#1860=LINE('',#1859,#1858);
+-#1861=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1862=VECTOR('',#1861,2.035898384862E0);
+-#1863=CARTESIAN_POINT('',(8.675E-1,1.E0,1.2E1));
+-#1864=LINE('',#1863,#1862);
+-#1865=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1866=VECTOR('',#1865,2.035898384862E0);
+-#1867=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1));
+-#1868=LINE('',#1867,#1866);
+-#1869=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
+-#1870=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1871=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1872=AXIS2_PLACEMENT_3D('',#1869,#1870,#1871);
+-#1874=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
+-#1875=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1876=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1877=AXIS2_PLACEMENT_3D('',#1874,#1875,#1876);
+-#1879=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
+-#1880=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1881=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1882=AXIS2_PLACEMENT_3D('',#1879,#1880,#1881);
+-#1884=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
+-#1885=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1886=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1887=AXIS2_PLACEMENT_3D('',#1884,#1885,#1886);
+-#1889=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1890=VECTOR('',#1889,1.E0);
+-#1891=CARTESIAN_POINT('',(1.3175E0,1.E0,1.2E1));
+-#1892=LINE('',#1891,#1890);
+-#1893=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1894=VECTOR('',#1893,1.E0);
+-#1895=CARTESIAN_POINT('',(9.325E-1,1.E0,1.2E1));
+-#1896=LINE('',#1895,#1894);
+-#1897=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1898=VECTOR('',#1897,2.5E0);
+-#1899=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0));
+-#1900=LINE('',#1899,#1898);
+-#1901=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1902=VECTOR('',#1901,2.E0);
+-#1903=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0));
+-#1904=LINE('',#1903,#1902);
+-#1905=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1906=VECTOR('',#1905,1.5E0);
+-#1907=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
+-#1908=LINE('',#1907,#1906);
+-#1909=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#1910=VECTOR('',#1909,7.071067811865E-1);
+-#1911=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
+-#1912=LINE('',#1911,#1910);
+-#1913=DIRECTION('',(0.E0,1.E0,0.E0));
+-#1914=VECTOR('',#1913,1.5E0);
+-#1915=CARTESIAN_POINT('',(-2.E0,0.E0,1.175E1));
+-#1916=LINE('',#1915,#1914);
+-#1917=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#1918=VECTOR('',#1917,7.071067811865E-1);
+-#1919=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1));
+-#1920=LINE('',#1919,#1918);
+-#1921=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1922=VECTOR('',#1921,2.E0);
+-#1923=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0));
+-#1924=LINE('',#1923,#1922);
+-#1925=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1926=VECTOR('',#1925,2.E0);
+-#1927=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
+-#1928=LINE('',#1927,#1926);
+-#1929=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0));
+-#1930=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1931=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1932=AXIS2_PLACEMENT_3D('',#1929,#1930,#1931);
+-#1934=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0));
+-#1935=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1936=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1937=AXIS2_PLACEMENT_3D('',#1934,#1935,#1936);
+-#1939=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0));
+-#1940=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1941=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1942=AXIS2_PLACEMENT_3D('',#1939,#1940,#1941);
+-#1944=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0));
+-#1945=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1946=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1947=AXIS2_PLACEMENT_3D('',#1944,#1945,#1946);
+-#1949=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1950=VECTOR('',#1949,3.75E-1);
+-#1951=CARTESIAN_POINT('',(4.095E0,1.15E1,9.E0));
+-#1952=LINE('',#1951,#1950);
+-#1953=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1954=VECTOR('',#1953,3.75E-1);
+-#1955=CARTESIAN_POINT('',(3.905E0,1.15E1,9.E0));
+-#1956=LINE('',#1955,#1954);
+-#1957=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0));
+-#1958=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1959=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1960=AXIS2_PLACEMENT_3D('',#1957,#1958,#1959);
+-#1962=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0));
+-#1963=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1964=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1965=AXIS2_PLACEMENT_3D('',#1962,#1963,#1964);
+-#1967=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1968=VECTOR('',#1967,2.5E-1);
+-#1969=CARTESIAN_POINT('',(3.929917478528E0,1.15E1,9.132582521472E0));
+-#1970=LINE('',#1969,#1968);
+-#1971=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1972=VECTOR('',#1971,2.5E-1);
+-#1973=CARTESIAN_POINT('',(3.804917478528E0,1.15E1,9.132582521472E0));
+-#1974=LINE('',#1973,#1972);
+-#1975=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0));
+-#1976=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1977=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1978=AXIS2_PLACEMENT_3D('',#1975,#1976,#1977);
+-#1980=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0));
+-#1981=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#1982=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#1983=AXIS2_PLACEMENT_3D('',#1980,#1981,#1982);
+-#1985=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1986=VECTOR('',#1985,5.E-1);
+-#1987=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0));
+-#1988=LINE('',#1987,#1986);
+-#1989=CARTESIAN_POINT('',(2.15E0,6.65E0,1.E1));
+-#1990=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1991=DIRECTION('',(1.E0,0.E0,0.E0));
+-#1992=AXIS2_PLACEMENT_3D('',#1989,#1990,#1991);
+-#1994=DIRECTION('',(0.E0,0.E0,1.E0));
+-#1995=VECTOR('',#1994,5.E-1);
+-#1996=CARTESIAN_POINT('',(2.15E0,7.E0,9.5E0));
+-#1997=LINE('',#1996,#1995);
+-#1998=CARTESIAN_POINT('',(2.15E0,6.65E0,9.5E0));
+-#1999=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2000=DIRECTION('',(0.E0,1.E0,0.E0));
+-#2001=AXIS2_PLACEMENT_3D('',#1998,#1999,#2000);
+-#2003=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2004=VECTOR('',#2003,4.3E0);
+-#2005=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0));
+-#2006=LINE('',#2005,#2004);
+-#2007=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2008=VECTOR('',#2007,1.972007605460E-1);
+-#2009=CARTESIAN_POINT('',(1.952799239454E0,7.E0,9.5E0));
+-#2010=LINE('',#2009,#2008);
+-#2011=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
+-#2012=VECTOR('',#2011,2.059126028197E0);
+-#2013=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,9.5E0));
+-#2014=LINE('',#2013,#2012);
+-#2015=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2016=VECTOR('',#2015,1.197200760546E0);
+-#2017=CARTESIAN_POINT('',(4.15E0,9.5E0,9.5E0));
+-#2018=LINE('',#2017,#2016);
+-#2019=DIRECTION('',(0.E0,1.E0,0.E0));
+-#2020=VECTOR('',#2019,6.8E0);
+-#2021=CARTESIAN_POINT('',(4.5E0,2.35E0,9.5E0));
+-#2022=LINE('',#2021,#2020);
+-#2023=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2024=VECTOR('',#2023,1.3E0);
+-#2025=CARTESIAN_POINT('',(2.85E0,2.E0,9.5E0));
+-#2026=LINE('',#2025,#2024);
+-#2027=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2028=VECTOR('',#2027,5.E-1);
+-#2029=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1));
+-#2030=LINE('',#2029,#2028);
+-#2031=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,1.E1));
+-#2032=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2033=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2034=AXIS2_PLACEMENT_3D('',#2031,#2032,#2033);
+-#2036=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2037=VECTOR('',#2036,5.E-1);
+-#2038=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,1.E1));
+-#2039=LINE('',#2038,#2037);
+-#2040=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,9.5E0));
+-#2041=DIRECTION('',(0.E0,0.E0,1.E0));
+-#2042=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
+-#2043=AXIS2_PLACEMENT_3D('',#2040,#2041,#2042);
+-#2045=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2046=VECTOR('',#2045,5.E-1);
+-#2047=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1));
+-#2048=LINE('',#2047,#2046);
+-#2049=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,1.E1));
+-#2050=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2051=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
+-#2052=AXIS2_PLACEMENT_3D('',#2049,#2050,#2051);
+-#2054=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2055=VECTOR('',#2054,5.E-1);
+-#2056=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,1.E1));
+-#2057=LINE('',#2056,#2055);
+-#2058=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,9.5E0));
+-#2059=DIRECTION('',(0.E0,0.E0,1.E0));
+-#2060=DIRECTION('',(0.E0,1.E0,0.E0));
+-#2061=AXIS2_PLACEMENT_3D('',#2058,#2059,#2060);
+-#2063=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2064=VECTOR('',#2063,5.E-1);
+-#2065=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1));
+-#2066=LINE('',#2065,#2064);
+-#2067=CARTESIAN_POINT('',(4.15E0,9.15E0,1.E1));
+-#2068=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2069=DIRECTION('',(0.E0,1.E0,0.E0));
+-#2070=AXIS2_PLACEMENT_3D('',#2067,#2068,#2069);
+-#2072=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2073=VECTOR('',#2072,5.E-1);
+-#2074=CARTESIAN_POINT('',(4.5E0,9.15E0,1.E1));
+-#2075=LINE('',#2074,#2073);
+-#2076=CARTESIAN_POINT('',(4.15E0,9.15E0,9.5E0));
+-#2077=DIRECTION('',(0.E0,0.E0,1.E0));
+-#2078=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2079=AXIS2_PLACEMENT_3D('',#2076,#2077,#2078);
+-#2081=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2082=VECTOR('',#2081,5.E-1);
+-#2083=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1));
+-#2084=LINE('',#2083,#2082);
+-#2085=CARTESIAN_POINT('',(4.15E0,2.35E0,1.E1));
+-#2086=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2087=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2088=AXIS2_PLACEMENT_3D('',#2085,#2086,#2087);
+-#2090=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2091=VECTOR('',#2090,5.E-1);
+-#2092=CARTESIAN_POINT('',(4.15E0,2.E0,1.E1));
+-#2093=LINE('',#2092,#2091);
+-#2094=CARTESIAN_POINT('',(4.15E0,2.35E0,9.5E0));
+-#2095=DIRECTION('',(0.E0,0.E0,1.E0));
+-#2096=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2097=AXIS2_PLACEMENT_3D('',#2094,#2095,#2096);
+-#2099=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2100=VECTOR('',#2099,5.E-1);
+-#2101=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1));
+-#2102=LINE('',#2101,#2100);
+-#2103=CARTESIAN_POINT('',(2.85E0,2.35E0,1.E1));
+-#2104=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2105=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2106=AXIS2_PLACEMENT_3D('',#2103,#2104,#2105);
+-#2108=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2109=VECTOR('',#2108,5.E-1);
+-#2110=CARTESIAN_POINT('',(2.5E0,2.35E0,1.E1));
+-#2111=LINE('',#2110,#2109);
+-#2112=CARTESIAN_POINT('',(2.85E0,2.35E0,9.5E0));
+-#2113=DIRECTION('',(0.E0,0.E0,1.E0));
+-#2114=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2115=AXIS2_PLACEMENT_3D('',#2112,#2113,#2114);
+-#2117=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2118=VECTOR('',#2117,1.5E0);
+-#2119=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
+-#2120=LINE('',#2119,#2118);
+-#2121=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
+-#2122=VECTOR('',#2121,7.071067811865E-1);
+-#2123=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
+-#2124=LINE('',#2123,#2122);
+-#2125=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2126=VECTOR('',#2125,1.5E0);
+-#2127=CARTESIAN_POINT('',(1.95E1,1.5E0,1.225E1));
+-#2128=LINE('',#2127,#2126);
+-#2129=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
+-#2130=VECTOR('',#2129,7.071067811865E-1);
+-#2131=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1));
+-#2132=LINE('',#2131,#2130);
+-#2133=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2134=VECTOR('',#2133,3.75E-1);
+-#2135=CARTESIAN_POINT('',(1.9905E1,1.15E1,9.E0));
+-#2136=LINE('',#2135,#2134);
+-#2137=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2138=VECTOR('',#2137,3.75E-1);
+-#2139=CARTESIAN_POINT('',(2.0095E1,1.15E1,9.E0));
+-#2140=LINE('',#2139,#2138);
+-#2141=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0));
+-#2142=DIRECTION('',(0.E0,1.E0,0.E0));
+-#2143=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2144=AXIS2_PLACEMENT_3D('',#2141,#2142,#2143);
+-#2146=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0));
+-#2147=DIRECTION('',(0.E0,1.E0,0.E0));
+-#2148=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2149=AXIS2_PLACEMENT_3D('',#2146,#2147,#2148);
+-#2151=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2152=VECTOR('',#2151,2.5E-1);
+-#2153=CARTESIAN_POINT('',(2.007008252147E1,1.15E1,9.132582521472E0));
+-#2154=LINE('',#2153,#2152);
+-#2155=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2156=VECTOR('',#2155,2.5E-1);
+-#2157=CARTESIAN_POINT('',(2.019508252147E1,1.15E1,9.132582521472E0));
+-#2158=LINE('',#2157,#2156);
+-#2159=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0));
+-#2160=DIRECTION('',(0.E0,1.E0,0.E0));
+-#2161=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2162=AXIS2_PLACEMENT_3D('',#2159,#2160,#2161);
+-#2164=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0));
+-#2165=DIRECTION('',(0.E0,1.E0,0.E0));
+-#2166=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2167=AXIS2_PLACEMENT_3D('',#2164,#2165,#2166);
+-#2169=DIRECTION('',(1.421085471520E-14,1.E0,0.E0));
+-#2170=VECTOR('',#2169,2.5E-1);
+-#2171=CARTESIAN_POINT('',(1.745E1,1.25E0,2.975E1));
+-#2172=LINE('',#2171,#2170);
+-#2173=DIRECTION('',(-1.421085471520E-14,1.E0,0.E0));
+-#2174=VECTOR('',#2173,2.5E-1);
+-#2175=CARTESIAN_POINT('',(1.765E1,1.25E0,2.975E1));
+-#2176=LINE('',#2175,#2174);
+-#2177=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0));
+-#2178=VECTOR('',#2177,1.154700538379E-1);
+-#2179=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1));
+-#2180=LINE('',#2179,#2178);
+-#2181=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0));
+-#2182=VECTOR('',#2181,1.154700538379E-1);
+-#2183=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1));
+-#2184=LINE('',#2183,#2182);
+-#2185=CARTESIAN_POINT('',(1.755E1,1.25E0,2.975E1));
+-#2186=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2187=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2188=AXIS2_PLACEMENT_3D('',#2185,#2186,#2187);
+-#2190=CARTESIAN_POINT('',(1.755E1,1.25E0,2.975E1));
+-#2191=DIRECTION('',(0.E0,1.E0,0.E0));
+-#2192=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2193=AXIS2_PLACEMENT_3D('',#2190,#2191,#2192);
+-#2195=DIRECTION('',(1.421085471520E-14,1.E0,0.E0));
+-#2196=VECTOR('',#2195,2.5E-1);
+-#2197=CARTESIAN_POINT('',(1.645E1,1.25E0,2.975E1));
+-#2198=LINE('',#2197,#2196);
+-#2199=DIRECTION('',(-1.421085471520E-14,1.E0,0.E0));
+-#2200=VECTOR('',#2199,2.5E-1);
+-#2201=CARTESIAN_POINT('',(1.665E1,1.25E0,2.975E1));
+-#2202=LINE('',#2201,#2200);
+-#2203=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0));
+-#2204=VECTOR('',#2203,1.154700538379E-1);
+-#2205=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1));
+-#2206=LINE('',#2205,#2204);
+-#2207=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0));
+-#2208=VECTOR('',#2207,1.154700538379E-1);
+-#2209=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1));
+-#2210=LINE('',#2209,#2208);
+-#2211=CARTESIAN_POINT('',(1.655E1,1.25E0,2.975E1));
+-#2212=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2213=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2214=AXIS2_PLACEMENT_3D('',#2211,#2212,#2213);
+-#2216=CARTESIAN_POINT('',(1.655E1,1.25E0,2.975E1));
+-#2217=DIRECTION('',(0.E0,1.E0,0.E0));
+-#2218=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2219=AXIS2_PLACEMENT_3D('',#2216,#2217,#2218);
+-#2221=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2222=VECTOR('',#2221,5.E-1);
+-#2223=CARTESIAN_POINT('',(1.3825E0,1.5E0,6.E0));
+-#2224=LINE('',#2223,#2222);
+-#2225=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2226=VECTOR('',#2225,5.E-1);
+-#2227=CARTESIAN_POINT('',(8.675E-1,1.5E0,6.E0));
+-#2228=LINE('',#2227,#2226);
+-#2229=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
+-#2230=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2231=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2232=AXIS2_PLACEMENT_3D('',#2229,#2230,#2231);
+-#2234=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
+-#2235=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2236=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2237=AXIS2_PLACEMENT_3D('',#2234,#2235,#2236);
+-#2239=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
+-#2240=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2241=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2242=AXIS2_PLACEMENT_3D('',#2239,#2240,#2241);
+-#2244=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
+-#2245=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2246=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2247=AXIS2_PLACEMENT_3D('',#2244,#2245,#2246);
+-#2249=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2250=VECTOR('',#2249,1.E0);
+-#2251=CARTESIAN_POINT('',(1.3175E0,1.E0,6.E0));
+-#2252=LINE('',#2251,#2250);
+-#2253=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2254=VECTOR('',#2253,1.E0);
+-#2255=CARTESIAN_POINT('',(9.325E-1,1.E0,6.E0));
+-#2256=LINE('',#2255,#2254);
+-#2257=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2258=VECTOR('',#2257,5.E-1);
+-#2259=CARTESIAN_POINT('',(1.3825E0,1.5E0,1.8E1));
+-#2260=LINE('',#2259,#2258);
+-#2261=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2262=VECTOR('',#2261,5.E-1);
+-#2263=CARTESIAN_POINT('',(8.675E-1,1.5E0,1.8E1));
+-#2264=LINE('',#2263,#2262);
+-#2265=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
+-#2266=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2267=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2268=AXIS2_PLACEMENT_3D('',#2265,#2266,#2267);
+-#2270=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
+-#2271=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2272=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2273=AXIS2_PLACEMENT_3D('',#2270,#2271,#2272);
+-#2275=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
+-#2276=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2277=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2278=AXIS2_PLACEMENT_3D('',#2275,#2276,#2277);
+-#2280=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
+-#2281=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2282=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2283=AXIS2_PLACEMENT_3D('',#2280,#2281,#2282);
+-#2285=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2286=VECTOR('',#2285,1.E0);
+-#2287=CARTESIAN_POINT('',(1.3175E0,1.E0,1.8E1));
+-#2288=LINE('',#2287,#2286);
+-#2289=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2290=VECTOR('',#2289,1.E0);
+-#2291=CARTESIAN_POINT('',(9.325E-1,1.E0,1.8E1));
+-#2292=LINE('',#2291,#2290);
+-#2293=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2294=VECTOR('',#2293,5.E-1);
+-#2295=CARTESIAN_POINT('',(1.3825E0,1.5E0,2.4E1));
+-#2296=LINE('',#2295,#2294);
+-#2297=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2298=VECTOR('',#2297,5.E-1);
+-#2299=CARTESIAN_POINT('',(8.675E-1,1.5E0,2.4E1));
+-#2300=LINE('',#2299,#2298);
+-#2301=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
+-#2302=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2303=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2304=AXIS2_PLACEMENT_3D('',#2301,#2302,#2303);
+-#2306=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
+-#2307=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2308=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2309=AXIS2_PLACEMENT_3D('',#2306,#2307,#2308);
+-#2311=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
+-#2312=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2313=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2314=AXIS2_PLACEMENT_3D('',#2311,#2312,#2313);
+-#2316=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
+-#2317=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2318=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2319=AXIS2_PLACEMENT_3D('',#2316,#2317,#2318);
+-#2321=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2322=VECTOR('',#2321,1.E0);
+-#2323=CARTESIAN_POINT('',(1.3175E0,1.E0,2.4E1));
+-#2324=LINE('',#2323,#2322);
+-#2325=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2326=VECTOR('',#2325,1.E0);
+-#2327=CARTESIAN_POINT('',(9.325E-1,1.E0,2.4E1));
+-#2328=LINE('',#2327,#2326);
+-#2329=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2330=VECTOR('',#2329,5.E-1);
+-#2331=CARTESIAN_POINT('',(2.31325E1,1.5E0,6.E0));
+-#2332=LINE('',#2331,#2330);
+-#2333=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2334=VECTOR('',#2333,5.E-1);
+-#2335=CARTESIAN_POINT('',(2.26175E1,1.5E0,6.E0));
+-#2336=LINE('',#2335,#2334);
+-#2337=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
+-#2338=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2339=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2340=AXIS2_PLACEMENT_3D('',#2337,#2338,#2339);
+-#2342=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
+-#2343=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2344=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2345=AXIS2_PLACEMENT_3D('',#2342,#2343,#2344);
+-#2347=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
+-#2348=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2349=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2350=AXIS2_PLACEMENT_3D('',#2347,#2348,#2349);
+-#2352=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
+-#2353=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2354=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2355=AXIS2_PLACEMENT_3D('',#2352,#2353,#2354);
+-#2357=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2358=VECTOR('',#2357,1.E0);
+-#2359=CARTESIAN_POINT('',(2.30675E1,1.E0,6.E0));
+-#2360=LINE('',#2359,#2358);
+-#2361=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2362=VECTOR('',#2361,1.E0);
+-#2363=CARTESIAN_POINT('',(2.26825E1,1.E0,6.E0));
+-#2364=LINE('',#2363,#2362);
+-#2365=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2366=VECTOR('',#2365,5.E-1);
+-#2367=CARTESIAN_POINT('',(2.31325E1,1.5E0,1.8E1));
+-#2368=LINE('',#2367,#2366);
+-#2369=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2370=VECTOR('',#2369,5.E-1);
+-#2371=CARTESIAN_POINT('',(2.26175E1,1.5E0,1.8E1));
+-#2372=LINE('',#2371,#2370);
+-#2373=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
+-#2374=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2375=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2376=AXIS2_PLACEMENT_3D('',#2373,#2374,#2375);
+-#2378=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
+-#2379=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2380=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2381=AXIS2_PLACEMENT_3D('',#2378,#2379,#2380);
+-#2383=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
+-#2384=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2385=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2386=AXIS2_PLACEMENT_3D('',#2383,#2384,#2385);
+-#2388=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
+-#2389=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2390=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2391=AXIS2_PLACEMENT_3D('',#2388,#2389,#2390);
+-#2393=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2394=VECTOR('',#2393,1.E0);
+-#2395=CARTESIAN_POINT('',(2.30675E1,1.E0,1.8E1));
+-#2396=LINE('',#2395,#2394);
+-#2397=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2398=VECTOR('',#2397,1.E0);
+-#2399=CARTESIAN_POINT('',(2.26825E1,1.E0,1.8E1));
+-#2400=LINE('',#2399,#2398);
+-#2401=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2402=VECTOR('',#2401,5.E-1);
+-#2403=CARTESIAN_POINT('',(2.31325E1,1.5E0,2.4E1));
+-#2404=LINE('',#2403,#2402);
+-#2405=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2406=VECTOR('',#2405,5.E-1);
+-#2407=CARTESIAN_POINT('',(2.26175E1,1.5E0,2.4E1));
+-#2408=LINE('',#2407,#2406);
+-#2409=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
+-#2410=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2411=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2412=AXIS2_PLACEMENT_3D('',#2409,#2410,#2411);
+-#2414=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
+-#2415=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2416=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2417=AXIS2_PLACEMENT_3D('',#2414,#2415,#2416);
+-#2419=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
+-#2420=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2421=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2422=AXIS2_PLACEMENT_3D('',#2419,#2420,#2421);
+-#2424=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
+-#2425=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2426=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2427=AXIS2_PLACEMENT_3D('',#2424,#2425,#2426);
+-#2429=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2430=VECTOR('',#2429,1.E0);
+-#2431=CARTESIAN_POINT('',(2.30675E1,1.E0,2.4E1));
+-#2432=LINE('',#2431,#2430);
+-#2433=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2434=VECTOR('',#2433,1.E0);
+-#2435=CARTESIAN_POINT('',(2.26825E1,1.E0,2.4E1));
+-#2436=LINE('',#2435,#2434);
+-#2437=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2438=VECTOR('',#2437,5.E-1);
+-#2439=CARTESIAN_POINT('',(6.256E0,1.5E0,1.25E0));
+-#2440=LINE('',#2439,#2438);
+-#2441=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2442=VECTOR('',#2441,5.E-1);
+-#2443=CARTESIAN_POINT('',(5.744E0,1.5E0,1.25E0));
+-#2444=LINE('',#2443,#2442);
+-#2445=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
+-#2446=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2447=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2448=AXIS2_PLACEMENT_3D('',#2445,#2446,#2447);
+-#2450=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
+-#2451=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2452=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2453=AXIS2_PLACEMENT_3D('',#2450,#2451,#2452);
+-#2455=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
+-#2456=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2457=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2458=AXIS2_PLACEMENT_3D('',#2455,#2456,#2457);
+-#2460=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
+-#2461=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2462=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2463=AXIS2_PLACEMENT_3D('',#2460,#2461,#2462);
+-#2465=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2466=VECTOR('',#2465,1.E0);
+-#2467=CARTESIAN_POINT('',(6.1925E0,1.E0,1.25E0));
+-#2468=LINE('',#2467,#2466);
+-#2469=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2470=VECTOR('',#2469,1.E0);
+-#2471=CARTESIAN_POINT('',(5.8075E0,1.E0,1.25E0));
+-#2472=LINE('',#2471,#2470);
+-#2473=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2474=VECTOR('',#2473,5.E-1);
+-#2475=CARTESIAN_POINT('',(1.2256E1,1.5E0,1.25E0));
+-#2476=LINE('',#2475,#2474);
+-#2477=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2478=VECTOR('',#2477,5.E-1);
+-#2479=CARTESIAN_POINT('',(1.1744E1,1.5E0,1.25E0));
+-#2480=LINE('',#2479,#2478);
+-#2481=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
+-#2482=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2483=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2484=AXIS2_PLACEMENT_3D('',#2481,#2482,#2483);
+-#2486=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
+-#2487=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2488=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2489=AXIS2_PLACEMENT_3D('',#2486,#2487,#2488);
+-#2491=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
+-#2492=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2493=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2494=AXIS2_PLACEMENT_3D('',#2491,#2492,#2493);
+-#2496=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
+-#2497=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2498=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2499=AXIS2_PLACEMENT_3D('',#2496,#2497,#2498);
+-#2501=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2502=VECTOR('',#2501,1.E0);
+-#2503=CARTESIAN_POINT('',(1.21925E1,1.E0,1.25E0));
+-#2504=LINE('',#2503,#2502);
+-#2505=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2506=VECTOR('',#2505,1.E0);
+-#2507=CARTESIAN_POINT('',(1.18075E1,1.E0,1.25E0));
+-#2508=LINE('',#2507,#2506);
+-#2509=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2510=VECTOR('',#2509,5.E-1);
+-#2511=CARTESIAN_POINT('',(1.8256E1,1.5E0,1.25E0));
+-#2512=LINE('',#2511,#2510);
+-#2513=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2514=VECTOR('',#2513,5.E-1);
+-#2515=CARTESIAN_POINT('',(1.7744E1,1.5E0,1.25E0));
+-#2516=LINE('',#2515,#2514);
+-#2517=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
+-#2518=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2519=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2520=AXIS2_PLACEMENT_3D('',#2517,#2518,#2519);
+-#2522=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
+-#2523=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2524=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2525=AXIS2_PLACEMENT_3D('',#2522,#2523,#2524);
+-#2527=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
+-#2528=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2529=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2530=AXIS2_PLACEMENT_3D('',#2527,#2528,#2529);
+-#2532=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
+-#2533=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2534=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2535=AXIS2_PLACEMENT_3D('',#2532,#2533,#2534);
+-#2537=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2538=VECTOR('',#2537,1.E0);
+-#2539=CARTESIAN_POINT('',(1.81925E1,1.E0,1.25E0));
+-#2540=LINE('',#2539,#2538);
+-#2541=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2542=VECTOR('',#2541,1.E0);
+-#2543=CARTESIAN_POINT('',(1.78075E1,1.E0,1.25E0));
+-#2544=LINE('',#2543,#2542);
+-#2545=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2546=VECTOR('',#2545,5.E-1);
+-#2547=CARTESIAN_POINT('',(6.256E0,1.5E0,3.075E1));
+-#2548=LINE('',#2547,#2546);
+-#2549=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2550=VECTOR('',#2549,5.E-1);
+-#2551=CARTESIAN_POINT('',(5.744E0,1.5E0,3.075E1));
+-#2552=LINE('',#2551,#2550);
+-#2553=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
+-#2554=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2555=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2556=AXIS2_PLACEMENT_3D('',#2553,#2554,#2555);
+-#2558=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
+-#2559=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2560=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2561=AXIS2_PLACEMENT_3D('',#2558,#2559,#2560);
+-#2563=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
+-#2564=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2565=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2566=AXIS2_PLACEMENT_3D('',#2563,#2564,#2565);
+-#2568=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
+-#2569=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2570=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2571=AXIS2_PLACEMENT_3D('',#2568,#2569,#2570);
+-#2573=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2574=VECTOR('',#2573,1.E0);
+-#2575=CARTESIAN_POINT('',(6.1925E0,1.E0,3.075E1));
+-#2576=LINE('',#2575,#2574);
+-#2577=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2578=VECTOR('',#2577,1.E0);
+-#2579=CARTESIAN_POINT('',(5.8075E0,1.E0,3.075E1));
+-#2580=LINE('',#2579,#2578);
+-#2581=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2582=VECTOR('',#2581,5.E-1);
+-#2583=CARTESIAN_POINT('',(1.2256E1,1.5E0,3.075E1));
+-#2584=LINE('',#2583,#2582);
+-#2585=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2586=VECTOR('',#2585,5.E-1);
+-#2587=CARTESIAN_POINT('',(1.1744E1,1.5E0,3.075E1));
+-#2588=LINE('',#2587,#2586);
+-#2589=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
+-#2590=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2591=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2592=AXIS2_PLACEMENT_3D('',#2589,#2590,#2591);
+-#2594=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
+-#2595=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2596=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2597=AXIS2_PLACEMENT_3D('',#2594,#2595,#2596);
+-#2599=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
+-#2600=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2601=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2602=AXIS2_PLACEMENT_3D('',#2599,#2600,#2601);
+-#2604=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
+-#2605=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2606=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2607=AXIS2_PLACEMENT_3D('',#2604,#2605,#2606);
+-#2609=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2610=VECTOR('',#2609,1.E0);
+-#2611=CARTESIAN_POINT('',(1.21925E1,1.E0,3.075E1));
+-#2612=LINE('',#2611,#2610);
+-#2613=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2614=VECTOR('',#2613,1.E0);
+-#2615=CARTESIAN_POINT('',(1.18075E1,1.E0,3.075E1));
+-#2616=LINE('',#2615,#2614);
+-#2617=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2618=VECTOR('',#2617,5.E-1);
+-#2619=CARTESIAN_POINT('',(1.8256E1,1.5E0,3.075E1));
+-#2620=LINE('',#2619,#2618);
+-#2621=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2622=VECTOR('',#2621,5.E-1);
+-#2623=CARTESIAN_POINT('',(1.7744E1,1.5E0,3.075E1));
+-#2624=LINE('',#2623,#2622);
+-#2625=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
+-#2626=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2627=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2628=AXIS2_PLACEMENT_3D('',#2625,#2626,#2627);
+-#2630=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
+-#2631=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2632=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2633=AXIS2_PLACEMENT_3D('',#2630,#2631,#2632);
+-#2635=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
+-#2636=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2637=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2638=AXIS2_PLACEMENT_3D('',#2635,#2636,#2637);
+-#2640=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
+-#2641=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2642=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2643=AXIS2_PLACEMENT_3D('',#2640,#2641,#2642);
+-#2645=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2646=VECTOR('',#2645,1.E0);
+-#2647=CARTESIAN_POINT('',(1.81925E1,1.E0,3.075E1));
+-#2648=LINE('',#2647,#2646);
+-#2649=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2650=VECTOR('',#2649,1.E0);
+-#2651=CARTESIAN_POINT('',(1.78075E1,1.E0,3.075E1));
+-#2652=LINE('',#2651,#2650);
+-#2653=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2654=VECTOR('',#2653,5.E-1);
+-#2655=CARTESIAN_POINT('',(6.2575E0,1.5E0,9.E0));
+-#2656=LINE('',#2655,#2654);
+-#2657=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2658=VECTOR('',#2657,5.E-1);
+-#2659=CARTESIAN_POINT('',(5.7425E0,1.5E0,9.E0));
+-#2660=LINE('',#2659,#2658);
+-#2661=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
+-#2662=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2663=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2664=AXIS2_PLACEMENT_3D('',#2661,#2662,#2663);
+-#2666=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
+-#2667=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2668=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2669=AXIS2_PLACEMENT_3D('',#2666,#2667,#2668);
+-#2671=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
+-#2672=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2673=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2674=AXIS2_PLACEMENT_3D('',#2671,#2672,#2673);
+-#2676=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
+-#2677=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2678=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2679=AXIS2_PLACEMENT_3D('',#2676,#2677,#2678);
+-#2681=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2682=VECTOR('',#2681,1.E0);
+-#2683=CARTESIAN_POINT('',(6.1925E0,1.E0,9.E0));
+-#2684=LINE('',#2683,#2682);
+-#2685=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2686=VECTOR('',#2685,1.E0);
+-#2687=CARTESIAN_POINT('',(5.8075E0,1.E0,9.E0));
+-#2688=LINE('',#2687,#2686);
+-#2689=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2690=VECTOR('',#2689,5.E-1);
+-#2691=CARTESIAN_POINT('',(1.22575E1,1.5E0,9.E0));
+-#2692=LINE('',#2691,#2690);
+-#2693=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2694=VECTOR('',#2693,5.E-1);
+-#2695=CARTESIAN_POINT('',(1.17425E1,1.5E0,9.E0));
+-#2696=LINE('',#2695,#2694);
+-#2697=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
+-#2698=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2699=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2700=AXIS2_PLACEMENT_3D('',#2697,#2698,#2699);
+-#2702=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
+-#2703=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2704=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2705=AXIS2_PLACEMENT_3D('',#2702,#2703,#2704);
+-#2707=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
+-#2708=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2709=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2710=AXIS2_PLACEMENT_3D('',#2707,#2708,#2709);
+-#2712=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
+-#2713=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2714=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2715=AXIS2_PLACEMENT_3D('',#2712,#2713,#2714);
+-#2717=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2718=VECTOR('',#2717,1.E0);
+-#2719=CARTESIAN_POINT('',(1.21925E1,1.E0,9.E0));
+-#2720=LINE('',#2719,#2718);
+-#2721=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2722=VECTOR('',#2721,1.E0);
+-#2723=CARTESIAN_POINT('',(1.18075E1,1.E0,9.E0));
+-#2724=LINE('',#2723,#2722);
+-#2725=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2726=VECTOR('',#2725,5.E-1);
+-#2727=CARTESIAN_POINT('',(1.82575E1,1.5E0,9.E0));
+-#2728=LINE('',#2727,#2726);
+-#2729=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2730=VECTOR('',#2729,5.E-1);
+-#2731=CARTESIAN_POINT('',(1.77425E1,1.5E0,9.E0));
+-#2732=LINE('',#2731,#2730);
+-#2733=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
+-#2734=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2735=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2736=AXIS2_PLACEMENT_3D('',#2733,#2734,#2735);
+-#2738=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
+-#2739=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2740=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2741=AXIS2_PLACEMENT_3D('',#2738,#2739,#2740);
+-#2743=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
+-#2744=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2745=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2746=AXIS2_PLACEMENT_3D('',#2743,#2744,#2745);
+-#2748=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
+-#2749=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2750=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2751=AXIS2_PLACEMENT_3D('',#2748,#2749,#2750);
+-#2753=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2754=VECTOR('',#2753,1.E0);
+-#2755=CARTESIAN_POINT('',(1.81925E1,1.E0,9.E0));
+-#2756=LINE('',#2755,#2754);
+-#2757=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2758=VECTOR('',#2757,1.E0);
+-#2759=CARTESIAN_POINT('',(1.78075E1,1.E0,9.E0));
+-#2760=LINE('',#2759,#2758);
+-#2761=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2762=VECTOR('',#2761,5.E-1);
+-#2763=CARTESIAN_POINT('',(6.2575E0,1.5E0,1.8E1));
+-#2764=LINE('',#2763,#2762);
+-#2765=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2766=VECTOR('',#2765,5.E-1);
+-#2767=CARTESIAN_POINT('',(5.7425E0,1.5E0,1.8E1));
+-#2768=LINE('',#2767,#2766);
+-#2769=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
+-#2770=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2771=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2772=AXIS2_PLACEMENT_3D('',#2769,#2770,#2771);
+-#2774=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
+-#2775=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2776=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2777=AXIS2_PLACEMENT_3D('',#2774,#2775,#2776);
+-#2779=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
+-#2780=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2781=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2782=AXIS2_PLACEMENT_3D('',#2779,#2780,#2781);
+-#2784=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
+-#2785=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2786=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2787=AXIS2_PLACEMENT_3D('',#2784,#2785,#2786);
+-#2789=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2790=VECTOR('',#2789,1.E0);
+-#2791=CARTESIAN_POINT('',(6.1925E0,1.E0,1.8E1));
+-#2792=LINE('',#2791,#2790);
+-#2793=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2794=VECTOR('',#2793,1.E0);
+-#2795=CARTESIAN_POINT('',(5.8075E0,1.E0,1.8E1));
+-#2796=LINE('',#2795,#2794);
+-#2797=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2798=VECTOR('',#2797,5.E-1);
+-#2799=CARTESIAN_POINT('',(1.22575E1,1.5E0,1.8E1));
+-#2800=LINE('',#2799,#2798);
+-#2801=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2802=VECTOR('',#2801,5.E-1);
+-#2803=CARTESIAN_POINT('',(1.17425E1,1.5E0,1.8E1));
+-#2804=LINE('',#2803,#2802);
+-#2805=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
+-#2806=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2807=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2808=AXIS2_PLACEMENT_3D('',#2805,#2806,#2807);
+-#2810=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
+-#2811=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2812=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2813=AXIS2_PLACEMENT_3D('',#2810,#2811,#2812);
+-#2815=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
+-#2816=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2817=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2818=AXIS2_PLACEMENT_3D('',#2815,#2816,#2817);
+-#2820=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
+-#2821=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2822=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2823=AXIS2_PLACEMENT_3D('',#2820,#2821,#2822);
+-#2825=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2826=VECTOR('',#2825,1.E0);
+-#2827=CARTESIAN_POINT('',(1.21925E1,1.E0,1.8E1));
+-#2828=LINE('',#2827,#2826);
+-#2829=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2830=VECTOR('',#2829,1.E0);
+-#2831=CARTESIAN_POINT('',(1.18075E1,1.E0,1.8E1));
+-#2832=LINE('',#2831,#2830);
+-#2833=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2834=VECTOR('',#2833,5.E-1);
+-#2835=CARTESIAN_POINT('',(1.82575E1,1.5E0,1.8E1));
+-#2836=LINE('',#2835,#2834);
+-#2837=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2838=VECTOR('',#2837,5.E-1);
+-#2839=CARTESIAN_POINT('',(1.77425E1,1.5E0,1.8E1));
+-#2840=LINE('',#2839,#2838);
+-#2841=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
+-#2842=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2843=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2844=AXIS2_PLACEMENT_3D('',#2841,#2842,#2843);
+-#2846=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
+-#2847=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2848=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2849=AXIS2_PLACEMENT_3D('',#2846,#2847,#2848);
+-#2851=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
+-#2852=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2853=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2854=AXIS2_PLACEMENT_3D('',#2851,#2852,#2853);
+-#2856=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
+-#2857=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2858=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2859=AXIS2_PLACEMENT_3D('',#2856,#2857,#2858);
+-#2861=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2862=VECTOR('',#2861,1.E0);
+-#2863=CARTESIAN_POINT('',(1.81925E1,1.E0,1.8E1));
+-#2864=LINE('',#2863,#2862);
+-#2865=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2866=VECTOR('',#2865,1.E0);
+-#2867=CARTESIAN_POINT('',(1.78075E1,1.E0,1.8E1));
+-#2868=LINE('',#2867,#2866);
+-#2869=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
+-#2870=VECTOR('',#2869,5.773502691896E0);
+-#2871=CARTESIAN_POINT('',(2.2E1,6.5E0,1.E1));
+-#2872=LINE('',#2871,#2870);
+-#2873=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1));
+-#2874=CARTESIAN_POINT('',(2.31325E1,2.930774450068E0,1.206069333205E1));
+-#2875=CARTESIAN_POINT('',(2.309416136180E1,2.745461691651E0,1.216768370301E1));
+-#2876=CARTESIAN_POINT('',(2.297013771881E1,2.608885438662E0,1.224653603944E1));
+-#2877=CARTESIAN_POINT('',(2.2875E1,2.580400233539E0,1.226298198028E1));
+-#2878=CARTESIAN_POINT('',(2.277986228119E1,2.608885438662E0,1.224653603944E1));
+-#2879=CARTESIAN_POINT('',(2.265583863820E1,2.745461691651E0,1.216768370301E1));
+-#2880=CARTESIAN_POINT('',(2.26175E1,2.930774450068E0,1.206069333205E1));
+-#2881=CARTESIAN_POINT('',(2.26175E1,3.035898384862E0,1.2E1));
+-#2883=CARTESIAN_POINT('',(2.26175E1,3.035898384862E0,1.2E1));
+-#2884=CARTESIAN_POINT('',(2.26175E1,3.141022319657E0,1.193930666795E1));
+-#2885=CARTESIAN_POINT('',(2.265583863820E1,3.326335078073E0,1.183231629699E1));
+-#2886=CARTESIAN_POINT('',(2.277986228119E1,3.462911331062E0,1.175346396056E1));
+-#2887=CARTESIAN_POINT('',(2.2875E1,3.491396536186E0,1.173701801972E1));
+-#2888=CARTESIAN_POINT('',(2.297013771881E1,3.462911331062E0,1.175346396056E1));
+-#2889=CARTESIAN_POINT('',(2.309416136180E1,3.326335078073E0,1.183231629699E1));
+-#2890=CARTESIAN_POINT('',(2.31325E1,3.141022319657E0,1.193930666795E1));
+-#2891=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1));
+-#2893=DIRECTION('',(0.E0,1.E0,0.E0));
+-#2894=VECTOR('',#2893,2.035898384862E0);
+-#2895=CARTESIAN_POINT('',(2.26175E1,1.E0,1.2E1));
+-#2896=LINE('',#2895,#2894);
+-#2897=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2898=VECTOR('',#2897,2.035898384862E0);
+-#2899=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1));
+-#2900=LINE('',#2899,#2898);
+-#2901=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
+-#2902=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2903=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2904=AXIS2_PLACEMENT_3D('',#2901,#2902,#2903);
+-#2906=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
+-#2907=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2908=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2909=AXIS2_PLACEMENT_3D('',#2906,#2907,#2908);
+-#2911=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
+-#2912=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2913=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2914=AXIS2_PLACEMENT_3D('',#2911,#2912,#2913);
+-#2916=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
+-#2917=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2918=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2919=AXIS2_PLACEMENT_3D('',#2916,#2917,#2918);
+-#2921=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2922=VECTOR('',#2921,1.E0);
+-#2923=CARTESIAN_POINT('',(2.30675E1,1.E0,1.2E1));
+-#2924=LINE('',#2923,#2922);
+-#2925=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2926=VECTOR('',#2925,1.E0);
+-#2927=CARTESIAN_POINT('',(2.26825E1,1.E0,1.2E1));
+-#2928=LINE('',#2927,#2926);
+-#2929=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2930=VECTOR('',#2929,5.E-1);
+-#2931=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1));
+-#2932=LINE('',#2931,#2930);
+-#2933=CARTESIAN_POINT('',(2.185E1,6.65E0,9.5E0));
+-#2934=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2935=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2936=AXIS2_PLACEMENT_3D('',#2933,#2934,#2935);
+-#2938=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2939=VECTOR('',#2938,5.E-1);
+-#2940=CARTESIAN_POINT('',(2.185E1,7.E0,1.E1));
+-#2941=LINE('',#2940,#2939);
+-#2942=CARTESIAN_POINT('',(2.185E1,6.65E0,1.E1));
+-#2943=DIRECTION('',(0.E0,0.E0,1.E0));
+-#2944=DIRECTION('',(1.015061051086E-14,1.E0,0.E0));
+-#2945=AXIS2_PLACEMENT_3D('',#2942,#2943,#2944);
+-#2947=DIRECTION('',(0.E0,0.E0,1.E0));
+-#2948=VECTOR('',#2947,5.E-1);
+-#2949=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0));
+-#2950=LINE('',#2949,#2948);
+-#2951=CARTESIAN_POINT('',(2.115E1,2.35E0,9.5E0));
+-#2952=DIRECTION('',(0.E0,0.E0,1.E0));
+-#2953=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#2954=AXIS2_PLACEMENT_3D('',#2951,#2952,#2953);
+-#2956=DIRECTION('',(0.E0,0.E0,1.E0));
+-#2957=VECTOR('',#2956,5.E-1);
+-#2958=CARTESIAN_POINT('',(2.15E1,2.35E0,9.5E0));
+-#2959=LINE('',#2958,#2957);
+-#2960=CARTESIAN_POINT('',(2.115E1,2.35E0,1.E1));
+-#2961=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2962=DIRECTION('',(1.E0,0.E0,0.E0));
+-#2963=AXIS2_PLACEMENT_3D('',#2960,#2961,#2962);
+-#2965=DIRECTION('',(0.E0,0.E0,1.E0));
+-#2966=VECTOR('',#2965,5.E-1);
+-#2967=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0));
+-#2968=LINE('',#2967,#2966);
+-#2969=CARTESIAN_POINT('',(1.985E1,2.35E0,9.5E0));
+-#2970=DIRECTION('',(0.E0,0.E0,1.E0));
+-#2971=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2972=AXIS2_PLACEMENT_3D('',#2969,#2970,#2971);
+-#2974=DIRECTION('',(0.E0,0.E0,1.E0));
+-#2975=VECTOR('',#2974,5.E-1);
+-#2976=CARTESIAN_POINT('',(1.985E1,2.E0,9.5E0));
+-#2977=LINE('',#2976,#2975);
+-#2978=CARTESIAN_POINT('',(1.985E1,2.35E0,1.E1));
+-#2979=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2980=DIRECTION('',(1.015061051086E-14,-1.E0,0.E0));
+-#2981=AXIS2_PLACEMENT_3D('',#2978,#2979,#2980);
+-#2983=DIRECTION('',(0.E0,0.E0,1.E0));
+-#2984=VECTOR('',#2983,5.E-1);
+-#2985=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0));
+-#2986=LINE('',#2985,#2984);
+-#2987=CARTESIAN_POINT('',(1.985E1,9.15E0,9.5E0));
+-#2988=DIRECTION('',(0.E0,0.E0,1.E0));
+-#2989=DIRECTION('',(1.015061051086E-14,1.E0,0.E0));
+-#2990=AXIS2_PLACEMENT_3D('',#2987,#2988,#2989);
+-#2992=DIRECTION('',(0.E0,0.E0,1.E0));
+-#2993=VECTOR('',#2992,5.E-1);
+-#2994=CARTESIAN_POINT('',(1.95E1,9.15E0,9.5E0));
+-#2995=LINE('',#2994,#2993);
+-#2996=CARTESIAN_POINT('',(1.985E1,9.15E0,1.E1));
+-#2997=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#2998=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#2999=AXIS2_PLACEMENT_3D('',#2996,#2997,#2998);
+-#3001=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3002=VECTOR('',#3001,5.E-1);
+-#3003=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0));
+-#3004=LINE('',#3003,#3002);
+-#3005=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,9.5E0));
+-#3006=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3007=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
+-#3008=AXIS2_PLACEMENT_3D('',#3005,#3006,#3007);
+-#3010=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3011=VECTOR('',#3010,5.E-1);
+-#3012=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,9.5E0));
+-#3013=LINE('',#3012,#3011);
+-#3014=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,1.E1));
+-#3015=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3016=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3017=AXIS2_PLACEMENT_3D('',#3014,#3015,#3016);
+-#3019=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3020=VECTOR('',#3019,5.E-1);
+-#3021=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0));
+-#3022=LINE('',#3021,#3020);
+-#3023=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,9.5E0));
+-#3024=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3025=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3026=AXIS2_PLACEMENT_3D('',#3023,#3024,#3025);
+-#3028=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3029=VECTOR('',#3028,5.E-1);
+-#3030=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,9.5E0));
+-#3031=LINE('',#3030,#3029);
+-#3032=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,1.E1));
+-#3033=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3034=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
+-#3035=AXIS2_PLACEMENT_3D('',#3032,#3033,#3034);
+-#3037=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3038=VECTOR('',#3037,1.972007605460E-1);
+-#3039=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0));
+-#3040=LINE('',#3039,#3038);
+-#3041=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3042=VECTOR('',#3041,4.3E0);
+-#3043=CARTESIAN_POINT('',(2.15E1,6.65E0,9.5E0));
+-#3044=LINE('',#3043,#3042);
+-#3045=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3046=VECTOR('',#3045,1.3E0);
+-#3047=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0));
+-#3048=LINE('',#3047,#3046);
+-#3049=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3050=VECTOR('',#3049,6.8E0);
+-#3051=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0));
+-#3052=LINE('',#3051,#3050);
+-#3053=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3054=VECTOR('',#3053,1.197200760546E0);
+-#3055=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0));
+-#3056=LINE('',#3055,#3054);
+-#3057=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
+-#3058=VECTOR('',#3057,2.059126028197E0);
+-#3059=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0));
+-#3060=LINE('',#3059,#3058);
+-#3061=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3062=VECTOR('',#3061,2.5E-1);
+-#3063=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.E0));
+-#3064=LINE('',#3063,#3062);
+-#3065=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3066=VECTOR('',#3065,2.5E-1);
+-#3067=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.E0));
+-#3068=LINE('',#3067,#3066);
+-#3069=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0));
+-#3070=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3071=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3072=AXIS2_PLACEMENT_3D('',#3069,#3070,#3071);
+-#3074=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0));
+-#3075=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3076=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3077=AXIS2_PLACEMENT_3D('',#3074,#3075,#3076);
+-#3079=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3080=VECTOR('',#3079,2.5E-1);
+-#3081=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.E0));
+-#3082=LINE('',#3081,#3080);
+-#3083=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3084=VECTOR('',#3083,2.5E-1);
+-#3085=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.E0));
+-#3086=LINE('',#3085,#3084);
+-#3087=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0));
+-#3088=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3089=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3090=AXIS2_PLACEMENT_3D('',#3087,#3088,#3089);
+-#3092=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0));
+-#3093=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3094=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3095=AXIS2_PLACEMENT_3D('',#3092,#3093,#3094);
+-#3097=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3098=VECTOR('',#3097,2.5E-1);
+-#3099=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.E0));
+-#3100=LINE('',#3099,#3098);
+-#3101=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3102=VECTOR('',#3101,2.5E-1);
+-#3103=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.E0));
+-#3104=LINE('',#3103,#3102);
+-#3105=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0));
+-#3106=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3107=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3108=AXIS2_PLACEMENT_3D('',#3105,#3106,#3107);
+-#3110=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0));
+-#3111=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3112=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3113=AXIS2_PLACEMENT_3D('',#3110,#3111,#3112);
+-#3115=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3116=VECTOR('',#3115,2.5E-1);
+-#3117=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.E0));
+-#3118=LINE('',#3117,#3116);
+-#3119=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3120=VECTOR('',#3119,2.5E-1);
+-#3121=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.E0));
+-#3122=LINE('',#3121,#3120);
+-#3123=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0));
+-#3124=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3125=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3126=AXIS2_PLACEMENT_3D('',#3123,#3124,#3125);
+-#3128=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0));
+-#3129=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3130=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3131=AXIS2_PLACEMENT_3D('',#3128,#3129,#3130);
+-#3133=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3134=VECTOR('',#3133,2.5E-1);
+-#3135=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.E0));
+-#3136=LINE('',#3135,#3134);
+-#3137=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3138=VECTOR('',#3137,2.5E-1);
+-#3139=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.E0));
+-#3140=LINE('',#3139,#3138);
+-#3141=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0));
+-#3142=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3143=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3144=AXIS2_PLACEMENT_3D('',#3141,#3142,#3143);
+-#3146=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0));
+-#3147=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3148=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3149=AXIS2_PLACEMENT_3D('',#3146,#3147,#3148);
+-#3151=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3152=VECTOR('',#3151,5.E-1);
+-#3153=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0));
+-#3154=LINE('',#3153,#3152);
+-#3155=CARTESIAN_POINT('',(3.75E0,2.75E0,8.E0));
+-#3156=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3157=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3158=AXIS2_PLACEMENT_3D('',#3155,#3156,#3157);
+-#3160=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3161=VECTOR('',#3160,5.E-1);
+-#3162=CARTESIAN_POINT('',(4.5E0,2.75E0,8.E0));
+-#3163=LINE('',#3162,#3161);
+-#3164=CARTESIAN_POINT('',(3.75E0,2.75E0,8.5E0));
+-#3165=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3166=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3167=AXIS2_PLACEMENT_3D('',#3164,#3165,#3166);
+-#3169=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3170=VECTOR('',#3169,5.E-1);
+-#3171=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0));
+-#3172=LINE('',#3171,#3170);
+-#3173=CARTESIAN_POINT('',(3.75E0,8.75E0,8.E0));
+-#3174=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3175=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3176=AXIS2_PLACEMENT_3D('',#3173,#3174,#3175);
+-#3178=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3179=VECTOR('',#3178,5.E-1);
+-#3180=CARTESIAN_POINT('',(3.75E0,9.5E0,8.E0));
+-#3181=LINE('',#3180,#3179);
+-#3182=CARTESIAN_POINT('',(3.75E0,8.75E0,8.5E0));
+-#3183=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3184=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3185=AXIS2_PLACEMENT_3D('',#3182,#3183,#3184);
+-#3187=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3188=VECTOR('',#3187,5.E-1);
+-#3189=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0));
+-#3190=LINE('',#3189,#3188);
+-#3191=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,8.E0));
+-#3192=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3193=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3194=AXIS2_PLACEMENT_3D('',#3191,#3192,#3193);
+-#3196=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3197=VECTOR('',#3196,5.E-1);
+-#3198=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.E0));
+-#3199=LINE('',#3198,#3197);
+-#3200=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,8.5E0));
+-#3201=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3202=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
+-#3203=AXIS2_PLACEMENT_3D('',#3200,#3201,#3202);
+-#3205=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3206=VECTOR('',#3205,5.E-1);
+-#3207=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0));
+-#3208=LINE('',#3207,#3206);
+-#3209=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,8.E0));
+-#3210=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3211=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
+-#3212=AXIS2_PLACEMENT_3D('',#3209,#3210,#3211);
+-#3214=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3215=VECTOR('',#3214,5.E-1);
+-#3216=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.E0));
+-#3217=LINE('',#3216,#3215);
+-#3218=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,8.5E0));
+-#3219=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3220=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3221=AXIS2_PLACEMENT_3D('',#3218,#3219,#3220);
+-#3223=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3224=VECTOR('',#3223,6.E0);
+-#3225=CARTESIAN_POINT('',(4.5E0,8.75E0,8.5E0));
+-#3226=LINE('',#3225,#3224);
+-#3227=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3228=VECTOR('',#3227,5.618394209466E-1);
+-#3229=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.5E0));
+-#3230=LINE('',#3229,#3228);
+-#3231=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0));
+-#3232=VECTOR('',#3231,6.863753427325E0);
+-#3233=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.5E0));
+-#3234=LINE('',#3233,#3232);
+-#3235=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3236=VECTOR('',#3235,3.895172754280E0);
+-#3237=CARTESIAN_POINT('',(3.75E0,2.E0,8.5E0));
+-#3238=LINE('',#3237,#3236);
+-#3239=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3240=VECTOR('',#3239,5.E-1);
+-#3241=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0));
+-#3242=LINE('',#3241,#3240);
+-#3243=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.5E0));
+-#3244=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3245=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
+-#3246=AXIS2_PLACEMENT_3D('',#3243,#3244,#3245);
+-#3248=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3249=VECTOR('',#3248,5.E-1);
+-#3250=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.5E0));
+-#3251=LINE('',#3250,#3249);
+-#3252=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.E0));
+-#3253=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3254=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3255=AXIS2_PLACEMENT_3D('',#3252,#3253,#3254);
+-#3257=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3258=VECTOR('',#3257,3.895172754280E0);
+-#3259=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0));
+-#3260=LINE('',#3259,#3258);
+-#3261=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0));
+-#3262=VECTOR('',#3261,6.863753427325E0);
+-#3263=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0));
+-#3264=LINE('',#3263,#3262);
+-#3265=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3266=VECTOR('',#3265,5.618394209466E-1);
+-#3267=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0));
+-#3268=LINE('',#3267,#3266);
+-#3269=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3270=VECTOR('',#3269,6.E0);
+-#3271=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0));
+-#3272=LINE('',#3271,#3270);
+-#3273=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3274=VECTOR('',#3273,5.E-1);
+-#3275=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0));
+-#3276=LINE('',#3275,#3274);
+-#3277=CARTESIAN_POINT('',(2.025E1,2.75E0,8.5E0));
+-#3278=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3279=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3280=AXIS2_PLACEMENT_3D('',#3277,#3278,#3279);
+-#3282=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3283=VECTOR('',#3282,5.E-1);
+-#3284=CARTESIAN_POINT('',(1.95E1,2.75E0,8.5E0));
+-#3285=LINE('',#3284,#3283);
+-#3286=CARTESIAN_POINT('',(2.025E1,2.75E0,8.E0));
+-#3287=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3288=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3289=AXIS2_PLACEMENT_3D('',#3286,#3287,#3288);
+-#3291=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3292=VECTOR('',#3291,5.E-1);
+-#3293=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0));
+-#3294=LINE('',#3293,#3292);
+-#3295=CARTESIAN_POINT('',(2.025E1,8.75E0,8.5E0));
+-#3296=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3297=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3298=AXIS2_PLACEMENT_3D('',#3295,#3296,#3297);
+-#3300=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3301=VECTOR('',#3300,5.E-1);
+-#3302=CARTESIAN_POINT('',(2.025E1,9.5E0,8.5E0));
+-#3303=LINE('',#3302,#3301);
+-#3304=CARTESIAN_POINT('',(2.025E1,8.75E0,8.E0));
+-#3305=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3306=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3307=AXIS2_PLACEMENT_3D('',#3304,#3305,#3306);
+-#3309=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3310=VECTOR('',#3309,5.E-1);
+-#3311=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0));
+-#3312=LINE('',#3311,#3310);
+-#3313=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.5E0));
+-#3314=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3315=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3316=AXIS2_PLACEMENT_3D('',#3313,#3314,#3315);
+-#3318=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3319=VECTOR('',#3318,5.E-1);
+-#3320=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.5E0));
+-#3321=LINE('',#3320,#3319);
+-#3322=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.E0));
+-#3323=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3324=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
+-#3325=AXIS2_PLACEMENT_3D('',#3322,#3323,#3324);
+-#3327=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3328=VECTOR('',#3327,6.875E-1);
+-#3329=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1));
+-#3330=LINE('',#3329,#3328);
+-#3331=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3332=VECTOR('',#3331,6.875E-1);
+-#3333=CARTESIAN_POINT('',(7.5E0,0.E0,1.8125E0));
+-#3334=LINE('',#3333,#3332);
+-#3335=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3336=VECTOR('',#3335,6.875E-1);
+-#3337=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0));
+-#3338=LINE('',#3337,#3336);
+-#3339=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3340=VECTOR('',#3339,6.875E-1);
+-#3341=CARTESIAN_POINT('',(1.05E1,0.E0,6.875E-1));
+-#3342=LINE('',#3341,#3340);
+-#3343=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3344=VECTOR('',#3343,3.E0);
+-#3345=CARTESIAN_POINT('',(7.5E0,6.875E-1,6.875E-1));
+-#3346=LINE('',#3345,#3344);
+-#3347=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.25E0));
+-#3348=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3349=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3350=AXIS2_PLACEMENT_3D('',#3347,#3348,#3349);
+-#3352=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3353=VECTOR('',#3352,3.E0);
+-#3354=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8125E0));
+-#3355=LINE('',#3354,#3353);
+-#3356=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.25E0));
+-#3357=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3358=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3359=AXIS2_PLACEMENT_3D('',#3356,#3357,#3358);
+-#3361=CARTESIAN_POINT('',(1.61E0,6.875E-1,4.5E0));
+-#3362=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3363=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1));
+-#3364=AXIS2_PLACEMENT_3D('',#3361,#3362,#3363);
+-#3366=CARTESIAN_POINT('',(7.5E0,6.875E-1,7.5E0));
+-#3367=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3368=DIRECTION('',(-4.496088413988E-1,0.E0,-8.932255536739E-1));
+-#3369=AXIS2_PLACEMENT_3D('',#3366,#3367,#3368);
+-#3371=CARTESIAN_POINT('',(4.553039342392E0,6.875E-1,1.645354088550E0));
+-#3372=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3373=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#3374=AXIS2_PLACEMENT_3D('',#3371,#3372,#3373);
+-#3376=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#3377=VECTOR('',#3376,4.263248410977E0);
+-#3378=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,4.046865146430E0));
+-#3379=LINE('',#3378,#3377);
+-#3380=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3381=VECTOR('',#3380,6.875E-1);
+-#3382=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0));
+-#3383=LINE('',#3382,#3381);
+-#3384=CARTESIAN_POINT('',(1.455736763592E0,0.E0,4.577195232320E0));
+-#3385=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3386=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#3387=AXIS2_PLACEMENT_3D('',#3384,#3385,#3386);
+-#3389=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3390=VECTOR('',#3389,6.875E-1);
+-#3391=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,4.912826677187E0));
+-#3392=LINE('',#3391,#3390);
+-#3393=CARTESIAN_POINT('',(1.455736763592E0,6.875E-1,4.577195232320E0));
+-#3394=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3395=DIRECTION('',(-8.942796313519E-1,0.E0,4.475085931567E-1));
+-#3396=AXIS2_PLACEMENT_3D('',#3393,#3394,#3395);
+-#3398=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3399=VECTOR('',#3398,6.875E-1);
+-#3400=CARTESIAN_POINT('',(3.939978538987E0,0.E0,1.032293285145E0));
+-#3401=LINE('',#3400,#3399);
+-#3402=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3403=VECTOR('',#3402,6.875E-1);
+-#3404=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.419779663480E0));
+-#3405=LINE('',#3404,#3403);
+-#3406=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3407=VECTOR('',#3406,6.875E-1);
+-#3408=CARTESIAN_POINT('',(2.432015885023E0,0.E0,4.918683812405E0));
+-#3409=LINE('',#3408,#3407);
+-#3410=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3411=VECTOR('',#3410,6.875E-1);
+-#3412=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0));
+-#3413=LINE('',#3412,#3411);
+-#3414=CARTESIAN_POINT('',(-1.85E-1,0.E0,7.815E0));
+-#3415=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3416=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3417=AXIS2_PLACEMENT_3D('',#3414,#3415,#3416);
+-#3419=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3420=VECTOR('',#3419,6.875E-1);
+-#3421=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,8.69E0));
+-#3422=LINE('',#3421,#3420);
+-#3423=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,7.815E0));
+-#3424=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3425=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3426=AXIS2_PLACEMENT_3D('',#3423,#3424,#3425);
+-#3428=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3429=VECTOR('',#3428,7.5E-1);
+-#3430=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0));
+-#3431=LINE('',#3430,#3429);
+-#3432=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3433=VECTOR('',#3432,3.15E-1);
+-#3434=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.5E0));
+-#3435=LINE('',#3434,#3433);
+-#3436=CARTESIAN_POINT('',(1.25125E0,6.875E-1,7.5E0));
+-#3437=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3438=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3439=AXIS2_PLACEMENT_3D('',#3436,#3437,#3438);
+-#3441=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3442=VECTOR('',#3441,3.15E-1);
+-#3443=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0));
+-#3444=LINE('',#3443,#3442);
+-#3445=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3446=VECTOR('',#3445,2.525E-1);
+-#3447=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,8.69E0));
+-#3448=LINE('',#3447,#3446);
+-#3449=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3450=VECTOR('',#3449,8.1E-1);
+-#3451=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,1.0375E1));
+-#3452=LINE('',#3451,#3450);
+-#3453=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3454=VECTOR('',#3453,3.875E0);
+-#3455=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.125E1));
+-#3456=LINE('',#3455,#3454);
+-#3457=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3458=VECTOR('',#3457,8.1E-1);
+-#3459=CARTESIAN_POINT('',(4.3125E0,6.875E-1,9.565E0));
+-#3460=LINE('',#3459,#3458);
+-#3461=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3462=VECTOR('',#3461,6.875E-1);
+-#3463=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0));
+-#3464=LINE('',#3463,#3462);
+-#3465=CARTESIAN_POINT('',(2.6875E0,0.E0,7.815E0));
+-#3466=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3467=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3468=AXIS2_PLACEMENT_3D('',#3465,#3466,#3467);
+-#3470=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3471=VECTOR('',#3470,6.875E-1);
+-#3472=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.815E0));
+-#3473=LINE('',#3472,#3471);
+-#3474=CARTESIAN_POINT('',(2.6875E0,6.875E-1,7.815E0));
+-#3475=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3476=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3477=AXIS2_PLACEMENT_3D('',#3474,#3475,#3476);
+-#3479=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3480=VECTOR('',#3479,6.875E-1);
+-#3481=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0));
+-#3482=LINE('',#3481,#3480);
+-#3483=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3484=VECTOR('',#3483,6.875E-1);
+-#3485=CARTESIAN_POINT('',(6.9E-1,0.E0,7.5E0));
+-#3486=LINE('',#3485,#3484);
+-#3487=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3488=VECTOR('',#3487,6.875E-1);
+-#3489=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0));
+-#3490=LINE('',#3489,#3488);
+-#3491=CARTESIAN_POINT('',(3.4375E0,0.E0,9.565E0));
+-#3492=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3493=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3494=AXIS2_PLACEMENT_3D('',#3491,#3492,#3493);
+-#3496=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3497=VECTOR('',#3496,6.875E-1);
+-#3498=CARTESIAN_POINT('',(3.4375E0,0.E0,8.69E0));
+-#3499=LINE('',#3498,#3497);
+-#3500=CARTESIAN_POINT('',(3.4375E0,6.875E-1,9.565E0));
+-#3501=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3502=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3503=AXIS2_PLACEMENT_3D('',#3500,#3501,#3502);
+-#3505=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3506=VECTOR('',#3505,6.875E-1);
+-#3507=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1));
+-#3508=LINE('',#3507,#3506);
+-#3509=CARTESIAN_POINT('',(3.4375E0,0.E0,1.0375E1));
+-#3510=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3511=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3512=AXIS2_PLACEMENT_3D('',#3509,#3510,#3511);
+-#3514=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3515=VECTOR('',#3514,6.875E-1);
+-#3516=CARTESIAN_POINT('',(4.3125E0,0.E0,1.0375E1));
+-#3517=LINE('',#3516,#3515);
+-#3518=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.0375E1));
+-#3519=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3520=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3521=AXIS2_PLACEMENT_3D('',#3518,#3519,#3520);
+-#3523=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3524=VECTOR('',#3523,6.875E-1);
+-#3525=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1));
+-#3526=LINE('',#3525,#3524);
+-#3527=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.0375E1));
+-#3528=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3529=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3530=AXIS2_PLACEMENT_3D('',#3527,#3528,#3529);
+-#3532=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3533=VECTOR('',#3532,6.875E-1);
+-#3534=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.125E1));
+-#3535=LINE('',#3534,#3533);
+-#3536=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,1.0375E1));
+-#3537=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3538=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3539=AXIS2_PLACEMENT_3D('',#3536,#3537,#3538);
+-#3541=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3542=VECTOR('',#3541,6.875E-1);
+-#3543=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0));
+-#3544=LINE('',#3543,#3542);
+-#3545=CARTESIAN_POINT('',(-4.375E-1,0.E0,9.565E0));
+-#3546=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3547=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3548=AXIS2_PLACEMENT_3D('',#3545,#3546,#3547);
+-#3550=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3551=VECTOR('',#3550,6.875E-1);
+-#3552=CARTESIAN_POINT('',(-1.3125E0,0.E0,9.565E0));
+-#3553=LINE('',#3552,#3551);
+-#3554=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,9.565E0));
+-#3555=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3556=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3557=AXIS2_PLACEMENT_3D('',#3554,#3555,#3556);
+-#3559=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3560=VECTOR('',#3559,6.875E-1);
+-#3561=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1));
+-#3562=LINE('',#3561,#3560);
+-#3563=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3564=VECTOR('',#3563,6.875E-1);
+-#3565=CARTESIAN_POINT('',(1.8125E0,0.E0,1.65E1));
+-#3566=LINE('',#3565,#3564);
+-#3567=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3568=VECTOR('',#3567,6.875E-1);
+-#3569=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1));
+-#3570=LINE('',#3569,#3568);
+-#3571=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3572=VECTOR('',#3571,6.875E-1);
+-#3573=CARTESIAN_POINT('',(6.875E-1,0.E0,1.35E1));
+-#3574=LINE('',#3573,#3572);
+-#3575=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3576=VECTOR('',#3575,3.E0);
+-#3577=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.65E1));
+-#3578=LINE('',#3577,#3576);
+-#3579=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.65E1));
+-#3580=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3581=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3582=AXIS2_PLACEMENT_3D('',#3579,#3580,#3581);
+-#3584=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3585=VECTOR('',#3584,3.E0);
+-#3586=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.35E1));
+-#3587=LINE('',#3586,#3585);
+-#3588=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.35E1));
+-#3589=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3590=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3591=AXIS2_PLACEMENT_3D('',#3588,#3589,#3590);
+-#3593=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3594=VECTOR('',#3593,6.875E-1);
+-#3595=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1));
+-#3596=LINE('',#3595,#3594);
+-#3597=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3598=VECTOR('',#3597,6.875E-1);
+-#3599=CARTESIAN_POINT('',(1.8125E0,0.E0,2.25E1));
+-#3600=LINE('',#3599,#3598);
+-#3601=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3602=VECTOR('',#3601,6.875E-1);
+-#3603=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1));
+-#3604=LINE('',#3603,#3602);
+-#3605=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3606=VECTOR('',#3605,6.875E-1);
+-#3607=CARTESIAN_POINT('',(6.875E-1,0.E0,1.95E1));
+-#3608=LINE('',#3607,#3606);
+-#3609=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3610=VECTOR('',#3609,3.E0);
+-#3611=CARTESIAN_POINT('',(6.875E-1,6.875E-1,2.25E1));
+-#3612=LINE('',#3611,#3610);
+-#3613=CARTESIAN_POINT('',(1.25E0,6.875E-1,2.25E1));
+-#3614=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3615=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3616=AXIS2_PLACEMENT_3D('',#3613,#3614,#3615);
+-#3618=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3619=VECTOR('',#3618,3.E0);
+-#3620=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.95E1));
+-#3621=LINE('',#3620,#3619);
+-#3622=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.95E1));
+-#3623=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3624=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3625=AXIS2_PLACEMENT_3D('',#3622,#3623,#3624);
+-#3627=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3628=VECTOR('',#3627,6.875E-1);
+-#3629=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0));
+-#3630=LINE('',#3629,#3628);
+-#3631=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3632=VECTOR('',#3631,6.875E-1);
+-#3633=CARTESIAN_POINT('',(7.5E0,0.E0,9.5E0));
+-#3634=LINE('',#3633,#3632);
+-#3635=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3636=VECTOR('',#3635,6.875E-1);
+-#3637=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0));
+-#3638=LINE('',#3637,#3636);
+-#3639=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3640=VECTOR('',#3639,6.875E-1);
+-#3641=CARTESIAN_POINT('',(1.05E1,0.E0,8.5E0));
+-#3642=LINE('',#3641,#3640);
+-#3643=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3644=VECTOR('',#3643,3.E0);
+-#3645=CARTESIAN_POINT('',(7.5E0,6.875E-1,8.5E0));
+-#3646=LINE('',#3645,#3644);
+-#3647=CARTESIAN_POINT('',(7.5E0,6.875E-1,9.E0));
+-#3648=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3649=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3650=AXIS2_PLACEMENT_3D('',#3647,#3648,#3649);
+-#3652=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3653=VECTOR('',#3652,3.E0);
+-#3654=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.5E0));
+-#3655=LINE('',#3654,#3653);
+-#3656=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.E0));
+-#3657=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3658=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3659=AXIS2_PLACEMENT_3D('',#3656,#3657,#3658);
+-#3661=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3662=VECTOR('',#3661,6.875E-1);
+-#3663=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1));
+-#3664=LINE('',#3663,#3662);
+-#3665=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3666=VECTOR('',#3665,6.875E-1);
+-#3667=CARTESIAN_POINT('',(7.5E0,0.E0,1.84375E1));
+-#3668=LINE('',#3667,#3666);
+-#3669=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3670=VECTOR('',#3669,6.875E-1);
+-#3671=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1));
+-#3672=LINE('',#3671,#3670);
+-#3673=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3674=VECTOR('',#3673,6.875E-1);
+-#3675=CARTESIAN_POINT('',(1.05E1,0.E0,1.75625E1));
+-#3676=LINE('',#3675,#3674);
+-#3677=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3678=VECTOR('',#3677,3.E0);
+-#3679=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.75625E1));
+-#3680=LINE('',#3679,#3678);
+-#3681=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.8E1));
+-#3682=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3683=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3684=AXIS2_PLACEMENT_3D('',#3681,#3682,#3683);
+-#3686=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3687=VECTOR('',#3686,3.E0);
+-#3688=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.84375E1));
+-#3689=LINE('',#3688,#3687);
+-#3690=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8E1));
+-#3691=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3692=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3693=AXIS2_PLACEMENT_3D('',#3690,#3691,#3692);
+-#3695=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3696=VECTOR('',#3695,6.875E-1);
+-#3697=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1));
+-#3698=LINE('',#3697,#3696);
+-#3699=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3700=VECTOR('',#3699,6.875E-1);
+-#3701=CARTESIAN_POINT('',(1.05E1,0.E0,3.13125E1));
+-#3702=LINE('',#3701,#3700);
+-#3703=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3704=VECTOR('',#3703,6.875E-1);
+-#3705=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1));
+-#3706=LINE('',#3705,#3704);
+-#3707=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3708=VECTOR('',#3707,6.875E-1);
+-#3709=CARTESIAN_POINT('',(7.5E0,0.E0,3.01875E1));
+-#3710=LINE('',#3709,#3708);
+-#3711=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3712=VECTOR('',#3711,3.E0);
+-#3713=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.13125E1));
+-#3714=LINE('',#3713,#3712);
+-#3715=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.075E1));
+-#3716=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3717=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3718=AXIS2_PLACEMENT_3D('',#3715,#3716,#3717);
+-#3720=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3721=VECTOR('',#3720,3.E0);
+-#3722=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.01875E1));
+-#3723=LINE('',#3722,#3721);
+-#3724=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.075E1));
+-#3725=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3726=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3727=AXIS2_PLACEMENT_3D('',#3724,#3725,#3726);
+-#3729=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
+-#3730=VECTOR('',#3729,4.263248410977E0);
+-#3731=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,2.795313485357E1));
+-#3732=LINE('',#3731,#3730);
+-#3733=CARTESIAN_POINT('',(4.553039342392E0,6.875E-1,3.035464591145E1));
+-#3734=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3735=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
+-#3736=AXIS2_PLACEMENT_3D('',#3733,#3734,#3735);
+-#3738=CARTESIAN_POINT('',(7.5E0,6.875E-1,2.45E1));
+-#3739=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3740=DIRECTION('',(-4.496088413988E-1,0.E0,8.932255536739E-1));
+-#3741=AXIS2_PLACEMENT_3D('',#3738,#3739,#3740);
+-#3743=CARTESIAN_POINT('',(1.61E0,6.875E-1,2.75E1));
+-#3744=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3745=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1));
+-#3746=AXIS2_PLACEMENT_3D('',#3743,#3744,#3745);
+-#3748=DIRECTION('',(0.E0,1.E0,-1.033516706560E-14));
+-#3749=VECTOR('',#3748,6.875E-1);
+-#3750=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,2.708717332281E1));
+-#3751=LINE('',#3750,#3749);
+-#3752=CARTESIAN_POINT('',(1.455736763592E0,0.E0,2.742280476768E1));
+-#3753=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3754=DIRECTION('',(-8.942796313519E-1,0.E0,-4.475085931567E-1));
+-#3755=AXIS2_PLACEMENT_3D('',#3752,#3753,#3754);
+-#3757=DIRECTION('',(0.E0,1.E0,1.033516706560E-14));
+-#3758=VECTOR('',#3757,6.875E-1);
+-#3759=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1));
+-#3760=LINE('',#3759,#3758);
+-#3761=CARTESIAN_POINT('',(1.455736763592E0,6.875E-1,2.742280476768E1));
+-#3762=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3763=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811866E-1));
+-#3764=AXIS2_PLACEMENT_3D('',#3761,#3762,#3763);
+-#3766=DIRECTION('',(0.E0,1.E0,1.033516706560E-14));
+-#3767=VECTOR('',#3766,6.875E-1);
+-#3768=CARTESIAN_POINT('',(2.432015885023E0,0.E0,2.708131618759E1));
+-#3769=LINE('',#3768,#3767);
+-#3770=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3771=VECTOR('',#3770,6.875E-1);
+-#3772=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.958022033652E1));
+-#3773=LINE('',#3772,#3771);
+-#3774=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3775=VECTOR('',#3774,6.875E-1);
+-#3776=CARTESIAN_POINT('',(3.939978538987E0,0.E0,3.096770671486E1));
+-#3777=LINE('',#3776,#3775);
+-#3778=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3779=VECTOR('',#3778,6.875E-1);
+-#3780=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1));
+-#3781=LINE('',#3780,#3779);
+-#3782=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3783=VECTOR('',#3782,6.875E-1);
+-#3784=CARTESIAN_POINT('',(1.35E1,0.E0,6.875E-1));
+-#3785=LINE('',#3784,#3783);
+-#3786=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3787=VECTOR('',#3786,6.875E-1);
+-#3788=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0));
+-#3789=LINE('',#3788,#3787);
+-#3790=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3791=VECTOR('',#3790,6.875E-1);
+-#3792=CARTESIAN_POINT('',(1.65E1,0.E0,1.8125E0));
+-#3793=LINE('',#3792,#3791);
+-#3794=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3795=VECTOR('',#3794,3.E0);
+-#3796=CARTESIAN_POINT('',(1.65E1,6.875E-1,6.875E-1));
+-#3797=LINE('',#3796,#3795);
+-#3798=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.25E0));
+-#3799=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3800=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3801=AXIS2_PLACEMENT_3D('',#3798,#3799,#3800);
+-#3803=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3804=VECTOR('',#3803,3.E0);
+-#3805=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8125E0));
+-#3806=LINE('',#3805,#3804);
+-#3807=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.25E0));
+-#3808=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3809=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3810=AXIS2_PLACEMENT_3D('',#3807,#3808,#3809);
+-#3812=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#3813=VECTOR('',#3812,4.263248410977E0);
+-#3814=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,4.046865146430E0));
+-#3815=LINE('',#3814,#3813);
+-#3816=CARTESIAN_POINT('',(1.944696065761E1,6.875E-1,1.645354088550E0));
+-#3817=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3818=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#3819=AXIS2_PLACEMENT_3D('',#3816,#3817,#3818);
+-#3821=CARTESIAN_POINT('',(1.65E1,6.875E-1,7.5E0));
+-#3822=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3823=DIRECTION('',(4.496088413988E-1,0.E0,-8.932255536739E-1));
+-#3824=AXIS2_PLACEMENT_3D('',#3821,#3822,#3823);
+-#3826=CARTESIAN_POINT('',(2.239E1,6.875E-1,4.5E0));
+-#3827=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3828=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1));
+-#3829=AXIS2_PLACEMENT_3D('',#3826,#3827,#3828);
+-#3831=DIRECTION('',(-1.033516706560E-14,1.E0,2.583791766400E-14));
+-#3832=VECTOR('',#3831,6.875E-1);
+-#3833=CARTESIAN_POINT('',(2.321497295992E1,0.E0,4.912826677187E0));
+-#3834=LINE('',#3833,#3832);
+-#3835=CARTESIAN_POINT('',(2.254426323641E1,0.E0,4.577195232320E0));
+-#3836=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3837=DIRECTION('',(8.942796313519E-1,0.E0,4.475085931567E-1));
+-#3838=AXIS2_PLACEMENT_3D('',#3835,#3836,#3837);
+-#3840=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3841=VECTOR('',#3840,6.875E-1);
+-#3842=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0));
+-#3843=LINE('',#3842,#3841);
+-#3844=CARTESIAN_POINT('',(2.254426323641E1,6.875E-1,4.577195232320E0));
+-#3845=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#3846=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#3847=AXIS2_PLACEMENT_3D('',#3844,#3845,#3846);
+-#3849=DIRECTION('',(-1.550275059840E-14,1.E0,-2.067033413120E-14));
+-#3850=VECTOR('',#3849,6.875E-1);
+-#3851=CARTESIAN_POINT('',(2.156798411498E1,0.E0,4.918683812405E0));
+-#3852=LINE('',#3851,#3850);
+-#3853=DIRECTION('',(1.550275059840E-14,1.E0,0.E0));
+-#3854=VECTOR('',#3853,6.875E-1);
+-#3855=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.419779663480E0));
+-#3856=LINE('',#3855,#3854);
+-#3857=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3858=VECTOR('',#3857,6.875E-1);
+-#3859=CARTESIAN_POINT('',(2.006002146101E1,0.E0,1.032293285145E0));
+-#3860=LINE('',#3859,#3858);
+-#3861=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3862=VECTOR('',#3861,6.875E-1);
+-#3863=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1));
+-#3864=LINE('',#3863,#3862);
+-#3865=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3866=VECTOR('',#3865,6.875E-1);
+-#3867=CARTESIAN_POINT('',(2.33125E1,0.E0,1.35E1));
+-#3868=LINE('',#3867,#3866);
+-#3869=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3870=VECTOR('',#3869,6.875E-1);
+-#3871=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1));
+-#3872=LINE('',#3871,#3870);
+-#3873=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3874=VECTOR('',#3873,6.875E-1);
+-#3875=CARTESIAN_POINT('',(2.21875E1,0.E0,1.65E1));
+-#3876=LINE('',#3875,#3874);
+-#3877=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3878=VECTOR('',#3877,3.E0);
+-#3879=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.65E1));
+-#3880=LINE('',#3879,#3878);
+-#3881=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.35E1));
+-#3882=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3883=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3884=AXIS2_PLACEMENT_3D('',#3881,#3882,#3883);
+-#3886=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3887=VECTOR('',#3886,3.E0);
+-#3888=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.35E1));
+-#3889=LINE('',#3888,#3887);
+-#3890=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.65E1));
+-#3891=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3892=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3893=AXIS2_PLACEMENT_3D('',#3890,#3891,#3892);
+-#3895=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3896=VECTOR('',#3895,6.875E-1);
+-#3897=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1));
+-#3898=LINE('',#3897,#3896);
+-#3899=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3900=VECTOR('',#3899,6.875E-1);
+-#3901=CARTESIAN_POINT('',(2.33125E1,0.E0,1.95E1));
+-#3902=LINE('',#3901,#3900);
+-#3903=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3904=VECTOR('',#3903,6.875E-1);
+-#3905=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1));
+-#3906=LINE('',#3905,#3904);
+-#3907=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3908=VECTOR('',#3907,6.875E-1);
+-#3909=CARTESIAN_POINT('',(2.21875E1,0.E0,2.25E1));
+-#3910=LINE('',#3909,#3908);
+-#3911=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3912=VECTOR('',#3911,3.E0);
+-#3913=CARTESIAN_POINT('',(2.33125E1,6.875E-1,2.25E1));
+-#3914=LINE('',#3913,#3912);
+-#3915=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.95E1));
+-#3916=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3917=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3918=AXIS2_PLACEMENT_3D('',#3915,#3916,#3917);
+-#3920=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3921=VECTOR('',#3920,3.E0);
+-#3922=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.95E1));
+-#3923=LINE('',#3922,#3921);
+-#3924=CARTESIAN_POINT('',(2.275E1,6.875E-1,2.25E1));
+-#3925=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3926=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3927=AXIS2_PLACEMENT_3D('',#3924,#3925,#3926);
+-#3929=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3930=VECTOR('',#3929,6.875E-1);
+-#3931=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0));
+-#3932=LINE('',#3931,#3930);
+-#3933=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3934=VECTOR('',#3933,6.875E-1);
+-#3935=CARTESIAN_POINT('',(1.35E1,0.E0,8.5E0));
+-#3936=LINE('',#3935,#3934);
+-#3937=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3938=VECTOR('',#3937,6.875E-1);
+-#3939=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0));
+-#3940=LINE('',#3939,#3938);
+-#3941=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3942=VECTOR('',#3941,6.875E-1);
+-#3943=CARTESIAN_POINT('',(1.65E1,0.E0,9.5E0));
+-#3944=LINE('',#3943,#3942);
+-#3945=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3946=VECTOR('',#3945,3.E0);
+-#3947=CARTESIAN_POINT('',(1.65E1,6.875E-1,8.5E0));
+-#3948=LINE('',#3947,#3946);
+-#3949=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.E0));
+-#3950=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3951=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3952=AXIS2_PLACEMENT_3D('',#3949,#3950,#3951);
+-#3954=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3955=VECTOR('',#3954,3.E0);
+-#3956=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.5E0));
+-#3957=LINE('',#3956,#3955);
+-#3958=CARTESIAN_POINT('',(1.65E1,6.875E-1,9.E0));
+-#3959=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3960=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3961=AXIS2_PLACEMENT_3D('',#3958,#3959,#3960);
+-#3963=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3964=VECTOR('',#3963,6.875E-1);
+-#3965=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1));
+-#3966=LINE('',#3965,#3964);
+-#3967=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3968=VECTOR('',#3967,6.875E-1);
+-#3969=CARTESIAN_POINT('',(1.35E1,0.E0,1.75625E1));
+-#3970=LINE('',#3969,#3968);
+-#3971=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3972=VECTOR('',#3971,6.875E-1);
+-#3973=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1));
+-#3974=LINE('',#3973,#3972);
+-#3975=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3976=VECTOR('',#3975,6.875E-1);
+-#3977=CARTESIAN_POINT('',(1.65E1,0.E0,1.84375E1));
+-#3978=LINE('',#3977,#3976);
+-#3979=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#3980=VECTOR('',#3979,3.E0);
+-#3981=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.75625E1));
+-#3982=LINE('',#3981,#3980);
+-#3983=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8E1));
+-#3984=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3985=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#3986=AXIS2_PLACEMENT_3D('',#3983,#3984,#3985);
+-#3988=DIRECTION('',(1.E0,0.E0,0.E0));
+-#3989=VECTOR('',#3988,3.E0);
+-#3990=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.84375E1));
+-#3991=LINE('',#3990,#3989);
+-#3992=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.8E1));
+-#3993=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3994=DIRECTION('',(0.E0,0.E0,1.E0));
+-#3995=AXIS2_PLACEMENT_3D('',#3992,#3993,#3994);
+-#3997=DIRECTION('',(0.E0,1.E0,0.E0));
+-#3998=VECTOR('',#3997,6.875E-1);
+-#3999=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1));
+-#4000=LINE('',#3999,#3998);
+-#4001=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4002=VECTOR('',#4001,6.875E-1);
+-#4003=CARTESIAN_POINT('',(1.65E1,0.E0,3.01875E1));
+-#4004=LINE('',#4003,#4002);
+-#4005=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4006=VECTOR('',#4005,6.875E-1);
+-#4007=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1));
+-#4008=LINE('',#4007,#4006);
+-#4009=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4010=VECTOR('',#4009,6.875E-1);
+-#4011=CARTESIAN_POINT('',(1.35E1,0.E0,3.13125E1));
+-#4012=LINE('',#4011,#4010);
+-#4013=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#4014=VECTOR('',#4013,3.E0);
+-#4015=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.13125E1));
+-#4016=LINE('',#4015,#4014);
+-#4017=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.075E1));
+-#4018=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4019=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#4020=AXIS2_PLACEMENT_3D('',#4017,#4018,#4019);
+-#4022=DIRECTION('',(1.E0,0.E0,0.E0));
+-#4023=VECTOR('',#4022,3.E0);
+-#4024=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.01875E1));
+-#4025=LINE('',#4024,#4023);
+-#4026=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.075E1));
+-#4027=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4028=DIRECTION('',(0.E0,0.E0,1.E0));
+-#4029=AXIS2_PLACEMENT_3D('',#4026,#4027,#4028);
+-#4031=CARTESIAN_POINT('',(2.239E1,6.875E-1,2.75E1));
+-#4032=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4033=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1));
+-#4034=AXIS2_PLACEMENT_3D('',#4031,#4032,#4033);
+-#4036=CARTESIAN_POINT('',(1.65E1,6.875E-1,2.45E1));
+-#4037=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4038=DIRECTION('',(4.496088413988E-1,0.E0,8.932255536739E-1));
+-#4039=AXIS2_PLACEMENT_3D('',#4036,#4037,#4038);
+-#4041=CARTESIAN_POINT('',(1.944696065761E1,6.875E-1,3.035464591145E1));
+-#4042=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4043=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
+-#4044=AXIS2_PLACEMENT_3D('',#4041,#4042,#4043);
+-#4046=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
+-#4047=VECTOR('',#4046,4.263248410977E0);
+-#4048=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,2.795313485357E1));
+-#4049=LINE('',#4048,#4047);
+-#4050=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4051=VECTOR('',#4050,6.875E-1);
+-#4052=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1));
+-#4053=LINE('',#4052,#4051);
+-#4054=CARTESIAN_POINT('',(2.254426323641E1,0.E0,2.742280476768E1));
+-#4055=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4056=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
+-#4057=AXIS2_PLACEMENT_3D('',#4054,#4055,#4056);
+-#4059=DIRECTION('',(0.E0,1.E0,2.067033413120E-14));
+-#4060=VECTOR('',#4059,6.875E-1);
+-#4061=CARTESIAN_POINT('',(2.321497295992E1,0.E0,2.708717332281E1));
+-#4062=LINE('',#4061,#4060);
+-#4063=CARTESIAN_POINT('',(2.254426323641E1,6.875E-1,2.742280476768E1));
+-#4064=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4065=DIRECTION('',(8.942796313519E-1,0.E0,-4.475085931567E-1));
+-#4066=AXIS2_PLACEMENT_3D('',#4063,#4064,#4065);
+-#4068=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4069=VECTOR('',#4068,6.875E-1);
+-#4070=CARTESIAN_POINT('',(2.006002146101E1,0.E0,3.096770671486E1));
+-#4071=LINE('',#4070,#4069);
+-#4072=DIRECTION('',(1.033516706560E-14,1.E0,0.E0));
+-#4073=VECTOR('',#4072,6.875E-1);
+-#4074=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.958022033652E1));
+-#4075=LINE('',#4074,#4073);
+-#4076=DIRECTION('',(-2.067033413120E-14,1.E0,3.100550119680E-14));
+-#4077=VECTOR('',#4076,6.875E-1);
+-#4078=CARTESIAN_POINT('',(2.156798411498E1,0.E0,2.708131618759E1));
+-#4079=LINE('',#4078,#4077);
+-#4080=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4081=VECTOR('',#4080,6.875E-1);
+-#4082=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0));
+-#4083=LINE('',#4082,#4081);
+-#4084=CARTESIAN_POINT('',(2.13075E1,6.875E-1,7.81E0));
+-#4085=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4086=DIRECTION('',(0.E0,0.E0,1.E0));
+-#4087=AXIS2_PLACEMENT_3D('',#4084,#4085,#4086);
+-#4089=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4090=VECTOR('',#4089,6.875E-1);
+-#4091=CARTESIAN_POINT('',(2.21875E1,0.E0,7.81E0));
+-#4092=LINE('',#4091,#4090);
+-#4093=CARTESIAN_POINT('',(2.13075E1,0.E0,7.81E0));
+-#4094=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4095=DIRECTION('',(1.E0,0.E0,0.E0));
+-#4096=AXIS2_PLACEMENT_3D('',#4093,#4094,#4095);
+-#4098=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4099=VECTOR('',#4098,6.875E-1);
+-#4100=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0));
+-#4101=LINE('',#4100,#4099);
+-#4102=CARTESIAN_POINT('',(2.05675E1,6.875E-1,9.57E0));
+-#4103=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4104=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#4105=AXIS2_PLACEMENT_3D('',#4102,#4103,#4104);
+-#4107=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4108=VECTOR('',#4107,6.875E-1);
+-#4109=CARTESIAN_POINT('',(2.05675E1,6.875E-1,8.69E0));
+-#4110=LINE('',#4109,#4108);
+-#4111=CARTESIAN_POINT('',(2.05675E1,0.E0,9.57E0));
+-#4112=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4113=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#4114=AXIS2_PLACEMENT_3D('',#4111,#4112,#4113);
+-#4116=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4117=VECTOR('',#4116,6.875E-1);
+-#4118=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1));
+-#4119=LINE('',#4118,#4117);
+-#4120=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.037E1));
+-#4121=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4122=DIRECTION('',(0.E0,0.E0,1.E0));
+-#4123=AXIS2_PLACEMENT_3D('',#4120,#4121,#4122);
+-#4125=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4126=VECTOR('',#4125,6.875E-1);
+-#4127=CARTESIAN_POINT('',(1.96875E1,6.875E-1,1.037E1));
+-#4128=LINE('',#4127,#4126);
+-#4129=CARTESIAN_POINT('',(2.05675E1,0.E0,1.037E1));
+-#4130=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4131=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#4132=AXIS2_PLACEMENT_3D('',#4129,#4130,#4131);
+-#4134=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4135=VECTOR('',#4134,6.875E-1);
+-#4136=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1));
+-#4137=LINE('',#4136,#4135);
+-#4138=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.037E1));
+-#4139=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4140=DIRECTION('',(1.E0,0.E0,0.E0));
+-#4141=AXIS2_PLACEMENT_3D('',#4138,#4139,#4140);
+-#4143=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4144=VECTOR('',#4143,6.875E-1);
+-#4145=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.125E1));
+-#4146=LINE('',#4145,#4144);
+-#4147=CARTESIAN_POINT('',(2.44325E1,0.E0,1.037E1));
+-#4148=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4149=DIRECTION('',(0.E0,0.E0,1.E0));
+-#4150=AXIS2_PLACEMENT_3D('',#4147,#4148,#4149);
+-#4152=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4153=VECTOR('',#4152,6.875E-1);
+-#4154=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0));
+-#4155=LINE('',#4154,#4153);
+-#4156=CARTESIAN_POINT('',(2.44325E1,6.875E-1,9.57E0));
+-#4157=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4158=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#4159=AXIS2_PLACEMENT_3D('',#4156,#4157,#4158);
+-#4161=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4162=VECTOR('',#4161,6.875E-1);
+-#4163=CARTESIAN_POINT('',(2.53125E1,6.875E-1,9.57E0));
+-#4164=LINE('',#4163,#4162);
+-#4165=CARTESIAN_POINT('',(2.44325E1,0.E0,9.57E0));
+-#4166=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4167=DIRECTION('',(1.E0,0.E0,0.E0));
+-#4168=AXIS2_PLACEMENT_3D('',#4165,#4166,#4167);
+-#4170=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4171=VECTOR('',#4170,6.875E-1);
+-#4172=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0));
+-#4173=LINE('',#4172,#4171);
+-#4174=CARTESIAN_POINT('',(2.419E1,6.875E-1,7.81E0));
+-#4175=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4176=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#4177=AXIS2_PLACEMENT_3D('',#4174,#4175,#4176);
+-#4179=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4180=VECTOR('',#4179,6.875E-1);
+-#4181=CARTESIAN_POINT('',(2.419E1,0.E0,8.69E0));
+-#4182=LINE('',#4181,#4180);
+-#4183=CARTESIAN_POINT('',(2.419E1,0.E0,7.81E0));
+-#4184=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#4185=DIRECTION('',(0.E0,0.E0,1.E0));
+-#4186=AXIS2_PLACEMENT_3D('',#4183,#4184,#4185);
+-#4188=DIRECTION('',(0.E0,1.E0,1.033516706560E-14));
+-#4189=VECTOR('',#4188,6.875E-1);
+-#4190=CARTESIAN_POINT('',(2.331E1,0.E0,7.5E0));
+-#4191=LINE('',#4190,#4189);
+-#4192=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4193=VECTOR('',#4192,6.875E-1);
+-#4194=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0));
+-#4195=LINE('',#4194,#4193);
+-#4196=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#4197=VECTOR('',#4196,2.425E-1);
+-#4198=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0));
+-#4199=LINE('',#4198,#4197);
+-#4200=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#4201=VECTOR('',#4200,3.1E-1);
+-#4202=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.81E0));
+-#4203=LINE('',#4202,#4201);
+-#4204=CARTESIAN_POINT('',(2.274875E1,6.875E-1,7.5E0));
+-#4205=DIRECTION('',(0.E0,1.E0,0.E0));
+-#4206=DIRECTION('',(1.E0,0.E0,0.E0));
+-#4207=AXIS2_PLACEMENT_3D('',#4204,#4205,#4206);
+-#4209=DIRECTION('',(0.E0,0.E0,1.E0));
+-#4210=VECTOR('',#4209,3.1E-1);
+-#4211=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.5E0));
+-#4212=LINE('',#4211,#4210);
+-#4213=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#4214=VECTOR('',#4213,7.4E-1);
+-#4215=CARTESIAN_POINT('',(2.13075E1,6.875E-1,8.69E0));
+-#4216=LINE('',#4215,#4214);
+-#4217=DIRECTION('',(0.E0,0.E0,1.E0));
+-#4218=VECTOR('',#4217,8.E-1);
+-#4219=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0));
+-#4220=LINE('',#4219,#4218);
+-#4221=DIRECTION('',(1.E0,0.E0,0.E0));
+-#4222=VECTOR('',#4221,3.865E0);
+-#4223=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1));
+-#4224=LINE('',#4223,#4222);
+-#4225=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#4226=VECTOR('',#4225,8.E-1);
+-#4227=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1));
+-#4228=LINE('',#4227,#4226);
+-#4229=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
+-#4230=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1));
+-#4231=VERTEX_POINT('',#4229);
+-#4232=VERTEX_POINT('',#4230);
+-#4233=CARTESIAN_POINT('',(2.E1,0.E0,3.2E1));
+-#4234=CARTESIAN_POINT('',(2.E1,1.5E0,3.2E1));
+-#4235=VERTEX_POINT('',#4233);
+-#4236=VERTEX_POINT('',#4234);
+-#4237=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
+-#4238=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0));
+-#4239=VERTEX_POINT('',#4237);
+-#4240=VERTEX_POINT('',#4238);
+-#4241=CARTESIAN_POINT('',(2.4E1,0.E0,4.E0));
+-#4242=CARTESIAN_POINT('',(2.4E1,1.5E0,4.E0));
+-#4243=VERTEX_POINT('',#4241);
+-#4244=VERTEX_POINT('',#4242);
+-#4245=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
+-#4246=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1));
+-#4247=VERTEX_POINT('',#4245);
+-#4248=VERTEX_POINT('',#4246);
+-#4249=CARTESIAN_POINT('',(0.E0,0.E0,2.8E1));
+-#4250=CARTESIAN_POINT('',(0.E0,1.5E0,2.8E1));
+-#4251=VERTEX_POINT('',#4249);
+-#4252=VERTEX_POINT('',#4250);
+-#4253=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
+-#4254=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0));
+-#4255=VERTEX_POINT('',#4253);
+-#4256=VERTEX_POINT('',#4254);
+-#4257=CARTESIAN_POINT('',(4.E0,0.E0,0.E0));
+-#4258=CARTESIAN_POINT('',(4.E0,1.5E0,0.E0));
+-#4259=VERTEX_POINT('',#4257);
+-#4260=VERTEX_POINT('',#4258);
+-#4261=CARTESIAN_POINT('',(7.5E0,1.5E0,2.5E0));
+-#4262=CARTESIAN_POINT('',(7.5E0,0.E0,2.5E0));
+-#4263=VERTEX_POINT('',#4261);
+-#4264=VERTEX_POINT('',#4262);
+-#4265=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0));
+-#4266=CARTESIAN_POINT('',(1.65E1,0.E0,2.5E0));
+-#4267=VERTEX_POINT('',#4265);
+-#4268=VERTEX_POINT('',#4266);
+-#4269=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1));
+-#4270=CARTESIAN_POINT('',(7.5E0,0.E0,2.95E1));
+-#4271=VERTEX_POINT('',#4269);
+-#4272=VERTEX_POINT('',#4270);
+-#4273=CARTESIAN_POINT('',(2.5E0,1.5E0,2.45E1));
+-#4274=CARTESIAN_POINT('',(2.5E0,0.E0,2.45E1));
+-#4275=VERTEX_POINT('',#4273);
+-#4276=VERTEX_POINT('',#4274);
+-#4277=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1));
+-#4278=CARTESIAN_POINT('',(2.15E1,0.E0,2.45E1));
+-#4279=VERTEX_POINT('',#4277);
+-#4280=VERTEX_POINT('',#4278);
+-#4281=CARTESIAN_POINT('',(1.65E1,1.5E0,2.95E1));
+-#4282=CARTESIAN_POINT('',(1.65E1,0.E0,2.95E1));
+-#4283=VERTEX_POINT('',#4281);
+-#4284=VERTEX_POINT('',#4282);
+-#4285=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
+-#4286=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0));
+-#4287=VERTEX_POINT('',#4285);
+-#4288=VERTEX_POINT('',#4286);
+-#4289=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0));
+-#4290=VERTEX_POINT('',#4289);
+-#4291=CARTESIAN_POINT('',(5.E0,1.15E1,1.E1));
+-#4292=CARTESIAN_POINT('',(3.E0,1.15E1,1.E1));
+-#4293=VERTEX_POINT('',#4291);
+-#4294=VERTEX_POINT('',#4292);
+-#4295=CARTESIAN_POINT('',(-2.E0,2.5E0,1.E1));
+-#4296=VERTEX_POINT('',#4295);
+-#4297=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1));
+-#4298=VERTEX_POINT('',#4297);
+-#4299=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0));
+-#4300=VERTEX_POINT('',#4299);
+-#4301=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1));
+-#4302=CARTESIAN_POINT('',(2.5E0,0.E0,1.325E1));
+-#4303=VERTEX_POINT('',#4301);
+-#4304=VERTEX_POINT('',#4302);
+-#4305=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1));
+-#4306=CARTESIAN_POINT('',(3.5E0,0.E0,1.225E1));
+-#4307=VERTEX_POINT('',#4305);
+-#4308=VERTEX_POINT('',#4306);
+-#4309=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1));
+-#4310=CARTESIAN_POINT('',(0.E0,1.5E0,1.325E1));
+-#4311=VERTEX_POINT('',#4309);
+-#4312=VERTEX_POINT('',#4310);
+-#4313=CARTESIAN_POINT('',(-1.E0,0.E0,1.225E1));
+-#4314=CARTESIAN_POINT('',(-1.E0,1.5E0,1.225E1));
+-#4315=VERTEX_POINT('',#4313);
+-#4316=VERTEX_POINT('',#4314);
+-#4317=CARTESIAN_POINT('',(0.E0,1.5E0,7.E0));
+-#4318=CARTESIAN_POINT('',(0.E0,0.E0,7.E0));
+-#4319=VERTEX_POINT('',#4317);
+-#4320=VERTEX_POINT('',#4318);
+-#4321=CARTESIAN_POINT('',(-1.E0,1.5E0,8.E0));
+-#4322=CARTESIAN_POINT('',(-1.E0,0.E0,8.E0));
+-#4323=VERTEX_POINT('',#4321);
+-#4324=VERTEX_POINT('',#4322);
+-#4325=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0));
+-#4326=CARTESIAN_POINT('',(3.531373033403E0,0.E0,8.E0));
+-#4327=VERTEX_POINT('',#4325);
+-#4328=VERTEX_POINT('',#4326);
+-#4329=CARTESIAN_POINT('',(2.539216291754E0,1.5E0,6.875E0));
+-#4330=CARTESIAN_POINT('',(2.539216291754E0,0.E0,6.875E0));
+-#4331=VERTEX_POINT('',#4329);
+-#4332=VERTEX_POINT('',#4330);
+-#4333=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
+-#4334=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1));
+-#4335=VERTEX_POINT('',#4333);
+-#4336=VERTEX_POINT('',#4334);
+-#4337=CARTESIAN_POINT('',(4.5E0,0.E0,1.225E1));
+-#4338=CARTESIAN_POINT('',(4.5E0,1.5E0,1.225E1));
+-#4339=VERTEX_POINT('',#4337);
+-#4340=VERTEX_POINT('',#4338);
+-#4341=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
+-#4342=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1));
+-#4343=VERTEX_POINT('',#4341);
+-#4344=VERTEX_POINT('',#4342);
+-#4345=CARTESIAN_POINT('',(-2.E0,0.E0,1.175E1));
+-#4346=CARTESIAN_POINT('',(-2.E0,1.5E0,1.175E1));
+-#4347=VERTEX_POINT('',#4345);
+-#4348=VERTEX_POINT('',#4346);
+-#4349=CARTESIAN_POINT('',(4.095E0,1.1125E1,9.E0));
+-#4350=CARTESIAN_POINT('',(3.905E0,1.1125E1,9.E0));
+-#4351=VERTEX_POINT('',#4349);
+-#4352=VERTEX_POINT('',#4350);
+-#4353=CARTESIAN_POINT('',(4.095E0,1.15E1,9.E0));
+-#4354=CARTESIAN_POINT('',(3.905E0,1.15E1,9.E0));
+-#4355=VERTEX_POINT('',#4353);
+-#4356=VERTEX_POINT('',#4354);
+-#4357=CARTESIAN_POINT('',(3.929917478528E0,1.125E1,9.132582521472E0));
+-#4358=CARTESIAN_POINT('',(3.804917478528E0,1.125E1,9.132582521472E0));
+-#4359=VERTEX_POINT('',#4357);
+-#4360=VERTEX_POINT('',#4358);
+-#4361=CARTESIAN_POINT('',(3.929917478528E0,1.15E1,9.132582521472E0));
+-#4362=CARTESIAN_POINT('',(3.804917478528E0,1.15E1,9.132582521472E0));
+-#4363=VERTEX_POINT('',#4361);
+-#4364=VERTEX_POINT('',#4362);
+-#4365=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1));
+-#4366=CARTESIAN_POINT('',(6.55E0,1.25E0,2.975E1));
+-#4367=VERTEX_POINT('',#4365);
+-#4368=VERTEX_POINT('',#4366);
+-#4369=CARTESIAN_POINT('',(6.35E0,1.25E0,2.975E1));
+-#4370=VERTEX_POINT('',#4369);
+-#4371=CARTESIAN_POINT('',(6.35E0,1.5E0,2.975E1));
+-#4372=CARTESIAN_POINT('',(6.55E0,1.5E0,2.975E1));
+-#4373=VERTEX_POINT('',#4371);
+-#4374=VERTEX_POINT('',#4372);
+-#4375=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1));
+-#4376=CARTESIAN_POINT('',(7.55E0,1.25E0,2.975E1));
+-#4377=VERTEX_POINT('',#4375);
+-#4378=VERTEX_POINT('',#4376);
+-#4379=CARTESIAN_POINT('',(7.35E0,1.25E0,2.975E1));
+-#4380=VERTEX_POINT('',#4379);
+-#4381=CARTESIAN_POINT('',(7.35E0,1.5E0,2.975E1));
+-#4382=CARTESIAN_POINT('',(7.55E0,1.5E0,2.975E1));
+-#4383=VERTEX_POINT('',#4381);
+-#4384=VERTEX_POINT('',#4382);
+-#4385=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
+-#4386=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0));
+-#4387=VERTEX_POINT('',#4385);
+-#4388=VERTEX_POINT('',#4386);
+-#4389=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0));
+-#4390=VERTEX_POINT('',#4389);
+-#4391=CARTESIAN_POINT('',(1.9E1,1.15E1,1.E1));
+-#4392=CARTESIAN_POINT('',(2.1E1,1.15E1,1.E1));
+-#4393=VERTEX_POINT('',#4391);
+-#4394=VERTEX_POINT('',#4392);
+-#4395=CARTESIAN_POINT('',(2.6E1,2.5E0,1.E1));
+-#4396=VERTEX_POINT('',#4395);
+-#4397=CARTESIAN_POINT('',(2.6E1,1.5E0,1.E1));
+-#4398=VERTEX_POINT('',#4397);
+-#4399=CARTESIAN_POINT('',(2.6E1,0.E0,8.E0));
+-#4400=VERTEX_POINT('',#4399);
+-#4401=CARTESIAN_POINT('',(2.4E1,1.5E0,1.325E1));
+-#4402=CARTESIAN_POINT('',(2.4E1,0.E0,1.325E1));
+-#4403=VERTEX_POINT('',#4401);
+-#4404=VERTEX_POINT('',#4402);
+-#4405=CARTESIAN_POINT('',(2.5E1,1.5E0,1.225E1));
+-#4406=CARTESIAN_POINT('',(2.5E1,0.E0,1.225E1));
+-#4407=VERTEX_POINT('',#4405);
+-#4408=VERTEX_POINT('',#4406);
+-#4409=CARTESIAN_POINT('',(2.15E1,0.E0,1.325E1));
+-#4410=CARTESIAN_POINT('',(2.15E1,1.5E0,1.325E1));
+-#4411=VERTEX_POINT('',#4409);
+-#4412=VERTEX_POINT('',#4410);
+-#4413=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1));
+-#4414=CARTESIAN_POINT('',(2.05E1,1.5E0,1.225E1));
+-#4415=VERTEX_POINT('',#4413);
+-#4416=VERTEX_POINT('',#4414);
+-#4417=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0));
+-#4418=CARTESIAN_POINT('',(2.4E1,1.5E0,7.E0));
+-#4419=VERTEX_POINT('',#4417);
+-#4420=VERTEX_POINT('',#4418);
+-#4421=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0));
+-#4422=CARTESIAN_POINT('',(2.5E1,1.5E0,8.E0));
+-#4423=VERTEX_POINT('',#4421);
+-#4424=VERTEX_POINT('',#4422);
+-#4425=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0));
+-#4426=CARTESIAN_POINT('',(2.046862696660E1,1.5E0,8.E0));
+-#4427=VERTEX_POINT('',#4425);
+-#4428=VERTEX_POINT('',#4426);
+-#4429=CARTESIAN_POINT('',(2.146078370825E1,0.E0,6.875E0));
+-#4430=CARTESIAN_POINT('',(2.146078370825E1,1.5E0,6.875E0));
+-#4431=VERTEX_POINT('',#4429);
+-#4432=VERTEX_POINT('',#4430);
+-#4433=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
+-#4434=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1));
+-#4435=VERTEX_POINT('',#4433);
+-#4436=VERTEX_POINT('',#4434);
+-#4437=CARTESIAN_POINT('',(1.95E1,1.5E0,1.225E1));
+-#4438=CARTESIAN_POINT('',(1.95E1,0.E0,1.225E1));
+-#4439=VERTEX_POINT('',#4437);
+-#4440=VERTEX_POINT('',#4438);
+-#4441=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
+-#4442=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1));
+-#4443=VERTEX_POINT('',#4441);
+-#4444=VERTEX_POINT('',#4442);
+-#4445=CARTESIAN_POINT('',(2.6E1,1.5E0,1.175E1));
+-#4446=CARTESIAN_POINT('',(2.6E1,0.E0,1.175E1));
+-#4447=VERTEX_POINT('',#4445);
+-#4448=VERTEX_POINT('',#4446);
+-#4449=CARTESIAN_POINT('',(1.9905E1,1.1125E1,9.E0));
+-#4450=CARTESIAN_POINT('',(2.0095E1,1.1125E1,9.E0));
+-#4451=VERTEX_POINT('',#4449);
+-#4452=VERTEX_POINT('',#4450);
+-#4453=CARTESIAN_POINT('',(1.9905E1,1.15E1,9.E0));
+-#4454=CARTESIAN_POINT('',(2.0095E1,1.15E1,9.E0));
+-#4455=VERTEX_POINT('',#4453);
+-#4456=VERTEX_POINT('',#4454);
+-#4457=CARTESIAN_POINT('',(2.007008252147E1,1.125E1,9.132582521472E0));
+-#4458=CARTESIAN_POINT('',(2.019508252147E1,1.125E1,9.132582521472E0));
+-#4459=VERTEX_POINT('',#4457);
+-#4460=VERTEX_POINT('',#4458);
+-#4461=CARTESIAN_POINT('',(2.007008252147E1,1.15E1,9.132582521472E0));
+-#4462=CARTESIAN_POINT('',(2.019508252147E1,1.15E1,9.132582521472E0));
+-#4463=VERTEX_POINT('',#4461);
+-#4464=VERTEX_POINT('',#4462);
+-#4465=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1));
+-#4466=CARTESIAN_POINT('',(1.745E1,1.25E0,2.975E1));
+-#4467=VERTEX_POINT('',#4465);
+-#4468=VERTEX_POINT('',#4466);
+-#4469=CARTESIAN_POINT('',(1.765E1,1.25E0,2.975E1));
+-#4470=VERTEX_POINT('',#4469);
+-#4471=CARTESIAN_POINT('',(1.765E1,1.5E0,2.975E1));
+-#4472=CARTESIAN_POINT('',(1.745E1,1.5E0,2.975E1));
+-#4473=VERTEX_POINT('',#4471);
+-#4474=VERTEX_POINT('',#4472);
+-#4475=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1));
+-#4476=CARTESIAN_POINT('',(1.645E1,1.25E0,2.975E1));
+-#4477=VERTEX_POINT('',#4475);
+-#4478=VERTEX_POINT('',#4476);
+-#4479=CARTESIAN_POINT('',(1.665E1,1.25E0,2.975E1));
+-#4480=VERTEX_POINT('',#4479);
+-#4481=CARTESIAN_POINT('',(1.665E1,1.5E0,2.975E1));
+-#4482=CARTESIAN_POINT('',(1.645E1,1.5E0,2.975E1));
+-#4483=VERTEX_POINT('',#4481);
+-#4484=VERTEX_POINT('',#4482);
+-#4485=CARTESIAN_POINT('',(1.3175E0,0.E0,6.E0));
+-#4486=CARTESIAN_POINT('',(9.325E-1,0.E0,6.E0));
+-#4487=VERTEX_POINT('',#4485);
+-#4488=VERTEX_POINT('',#4486);
+-#4489=CARTESIAN_POINT('',(1.3825E0,1.E0,6.E0));
+-#4490=CARTESIAN_POINT('',(8.675E-1,1.E0,6.E0));
+-#4491=VERTEX_POINT('',#4489);
+-#4492=VERTEX_POINT('',#4490);
+-#4493=CARTESIAN_POINT('',(1.3825E0,1.5E0,6.E0));
+-#4494=CARTESIAN_POINT('',(8.675E-1,1.5E0,6.E0));
+-#4495=VERTEX_POINT('',#4493);
+-#4496=VERTEX_POINT('',#4494);
+-#4497=CARTESIAN_POINT('',(1.3175E0,1.E0,6.E0));
+-#4498=CARTESIAN_POINT('',(9.325E-1,1.E0,6.E0));
+-#4499=VERTEX_POINT('',#4497);
+-#4500=VERTEX_POINT('',#4498);
+-#4501=CARTESIAN_POINT('',(1.3175E0,0.E0,1.2E1));
+-#4502=CARTESIAN_POINT('',(9.325E-1,0.E0,1.2E1));
+-#4503=VERTEX_POINT('',#4501);
+-#4504=VERTEX_POINT('',#4502);
+-#4505=CARTESIAN_POINT('',(1.3175E0,0.E0,1.8E1));
+-#4506=CARTESIAN_POINT('',(9.325E-1,0.E0,1.8E1));
+-#4507=VERTEX_POINT('',#4505);
+-#4508=VERTEX_POINT('',#4506);
+-#4509=CARTESIAN_POINT('',(1.3175E0,0.E0,2.4E1));
+-#4510=CARTESIAN_POINT('',(9.325E-1,0.E0,2.4E1));
+-#4511=VERTEX_POINT('',#4509);
+-#4512=VERTEX_POINT('',#4510);
+-#4513=CARTESIAN_POINT('',(2.30675E1,0.E0,6.E0));
+-#4514=CARTESIAN_POINT('',(2.26825E1,0.E0,6.E0));
+-#4515=VERTEX_POINT('',#4513);
+-#4516=VERTEX_POINT('',#4514);
+-#4517=CARTESIAN_POINT('',(2.30675E1,0.E0,1.2E1));
+-#4518=CARTESIAN_POINT('',(2.26825E1,0.E0,1.2E1));
+-#4519=VERTEX_POINT('',#4517);
+-#4520=VERTEX_POINT('',#4518);
+-#4521=CARTESIAN_POINT('',(2.30675E1,0.E0,1.8E1));
+-#4522=CARTESIAN_POINT('',(2.26825E1,0.E0,1.8E1));
+-#4523=VERTEX_POINT('',#4521);
+-#4524=VERTEX_POINT('',#4522);
+-#4525=CARTESIAN_POINT('',(2.30675E1,0.E0,2.4E1));
+-#4526=CARTESIAN_POINT('',(2.26825E1,0.E0,2.4E1));
+-#4527=VERTEX_POINT('',#4525);
+-#4528=VERTEX_POINT('',#4526);
+-#4529=CARTESIAN_POINT('',(1.3825E0,1.E0,1.2E1));
+-#4530=CARTESIAN_POINT('',(8.675E-1,1.E0,1.2E1));
+-#4531=VERTEX_POINT('',#4529);
+-#4532=VERTEX_POINT('',#4530);
+-#4533=CARTESIAN_POINT('',(1.3175E0,1.E0,1.2E1));
+-#4534=CARTESIAN_POINT('',(9.325E-1,1.E0,1.2E1));
+-#4535=VERTEX_POINT('',#4533);
+-#4536=VERTEX_POINT('',#4534);
+-#4537=CARTESIAN_POINT('',(1.3825E0,1.E0,1.8E1));
+-#4538=CARTESIAN_POINT('',(8.675E-1,1.E0,1.8E1));
+-#4539=VERTEX_POINT('',#4537);
+-#4540=VERTEX_POINT('',#4538);
+-#4541=CARTESIAN_POINT('',(1.3825E0,1.5E0,1.8E1));
+-#4542=CARTESIAN_POINT('',(8.675E-1,1.5E0,1.8E1));
+-#4543=VERTEX_POINT('',#4541);
+-#4544=VERTEX_POINT('',#4542);
+-#4545=CARTESIAN_POINT('',(1.3175E0,1.E0,1.8E1));
+-#4546=CARTESIAN_POINT('',(9.325E-1,1.E0,1.8E1));
+-#4547=VERTEX_POINT('',#4545);
+-#4548=VERTEX_POINT('',#4546);
+-#4549=CARTESIAN_POINT('',(1.3825E0,1.E0,2.4E1));
+-#4550=CARTESIAN_POINT('',(8.675E-1,1.E0,2.4E1));
+-#4551=VERTEX_POINT('',#4549);
+-#4552=VERTEX_POINT('',#4550);
+-#4553=CARTESIAN_POINT('',(1.3825E0,1.5E0,2.4E1));
+-#4554=CARTESIAN_POINT('',(8.675E-1,1.5E0,2.4E1));
+-#4555=VERTEX_POINT('',#4553);
+-#4556=VERTEX_POINT('',#4554);
+-#4557=CARTESIAN_POINT('',(1.3175E0,1.E0,2.4E1));
+-#4558=CARTESIAN_POINT('',(9.325E-1,1.E0,2.4E1));
+-#4559=VERTEX_POINT('',#4557);
+-#4560=VERTEX_POINT('',#4558);
+-#4561=CARTESIAN_POINT('',(2.31325E1,1.E0,6.E0));
+-#4562=CARTESIAN_POINT('',(2.26175E1,1.E0,6.E0));
+-#4563=VERTEX_POINT('',#4561);
+-#4564=VERTEX_POINT('',#4562);
+-#4565=CARTESIAN_POINT('',(2.31325E1,1.5E0,6.E0));
+-#4566=CARTESIAN_POINT('',(2.26175E1,1.5E0,6.E0));
+-#4567=VERTEX_POINT('',#4565);
+-#4568=VERTEX_POINT('',#4566);
+-#4569=CARTESIAN_POINT('',(2.30675E1,1.E0,6.E0));
+-#4570=CARTESIAN_POINT('',(2.26825E1,1.E0,6.E0));
+-#4571=VERTEX_POINT('',#4569);
+-#4572=VERTEX_POINT('',#4570);
+-#4573=CARTESIAN_POINT('',(2.31325E1,1.E0,1.2E1));
+-#4574=CARTESIAN_POINT('',(2.26175E1,1.E0,1.2E1));
+-#4575=VERTEX_POINT('',#4573);
+-#4576=VERTEX_POINT('',#4574);
+-#4577=CARTESIAN_POINT('',(2.30675E1,1.E0,1.2E1));
+-#4578=CARTESIAN_POINT('',(2.26825E1,1.E0,1.2E1));
+-#4579=VERTEX_POINT('',#4577);
+-#4580=VERTEX_POINT('',#4578);
+-#4581=CARTESIAN_POINT('',(2.31325E1,1.E0,1.8E1));
+-#4582=CARTESIAN_POINT('',(2.26175E1,1.E0,1.8E1));
+-#4583=VERTEX_POINT('',#4581);
+-#4584=VERTEX_POINT('',#4582);
+-#4585=CARTESIAN_POINT('',(2.31325E1,1.5E0,1.8E1));
+-#4586=CARTESIAN_POINT('',(2.26175E1,1.5E0,1.8E1));
+-#4587=VERTEX_POINT('',#4585);
+-#4588=VERTEX_POINT('',#4586);
+-#4589=CARTESIAN_POINT('',(2.30675E1,1.E0,1.8E1));
+-#4590=CARTESIAN_POINT('',(2.26825E1,1.E0,1.8E1));
+-#4591=VERTEX_POINT('',#4589);
+-#4592=VERTEX_POINT('',#4590);
+-#4593=CARTESIAN_POINT('',(2.31325E1,1.E0,2.4E1));
+-#4594=CARTESIAN_POINT('',(2.26175E1,1.E0,2.4E1));
+-#4595=VERTEX_POINT('',#4593);
+-#4596=VERTEX_POINT('',#4594);
+-#4597=CARTESIAN_POINT('',(2.31325E1,1.5E0,2.4E1));
+-#4598=CARTESIAN_POINT('',(2.26175E1,1.5E0,2.4E1));
+-#4599=VERTEX_POINT('',#4597);
+-#4600=VERTEX_POINT('',#4598);
+-#4601=CARTESIAN_POINT('',(2.30675E1,1.E0,2.4E1));
+-#4602=CARTESIAN_POINT('',(2.26825E1,1.E0,2.4E1));
+-#4603=VERTEX_POINT('',#4601);
+-#4604=VERTEX_POINT('',#4602);
+-#4605=CARTESIAN_POINT('',(6.1925E0,0.E0,1.25E0));
+-#4606=CARTESIAN_POINT('',(5.8075E0,0.E0,1.25E0));
+-#4607=VERTEX_POINT('',#4605);
+-#4608=VERTEX_POINT('',#4606);
+-#4609=CARTESIAN_POINT('',(6.256E0,1.E0,1.25E0));
+-#4610=CARTESIAN_POINT('',(5.744E0,1.E0,1.25E0));
+-#4611=VERTEX_POINT('',#4609);
+-#4612=VERTEX_POINT('',#4610);
+-#4613=CARTESIAN_POINT('',(6.256E0,1.5E0,1.25E0));
+-#4614=CARTESIAN_POINT('',(5.744E0,1.5E0,1.25E0));
+-#4615=VERTEX_POINT('',#4613);
+-#4616=VERTEX_POINT('',#4614);
+-#4617=CARTESIAN_POINT('',(6.1925E0,1.E0,1.25E0));
+-#4618=CARTESIAN_POINT('',(5.8075E0,1.E0,1.25E0));
+-#4619=VERTEX_POINT('',#4617);
+-#4620=VERTEX_POINT('',#4618);
+-#4621=CARTESIAN_POINT('',(1.21925E1,0.E0,1.25E0));
+-#4622=CARTESIAN_POINT('',(1.18075E1,0.E0,1.25E0));
+-#4623=VERTEX_POINT('',#4621);
+-#4624=VERTEX_POINT('',#4622);
+-#4625=CARTESIAN_POINT('',(6.1925E0,0.E0,3.075E1));
+-#4626=CARTESIAN_POINT('',(5.8075E0,0.E0,3.075E1));
+-#4627=VERTEX_POINT('',#4625);
+-#4628=VERTEX_POINT('',#4626);
+-#4629=CARTESIAN_POINT('',(1.21925E1,0.E0,3.075E1));
+-#4630=CARTESIAN_POINT('',(1.18075E1,0.E0,3.075E1));
+-#4631=VERTEX_POINT('',#4629);
+-#4632=VERTEX_POINT('',#4630);
+-#4633=CARTESIAN_POINT('',(1.81925E1,0.E0,1.25E0));
+-#4634=CARTESIAN_POINT('',(1.78075E1,0.E0,1.25E0));
+-#4635=VERTEX_POINT('',#4633);
+-#4636=VERTEX_POINT('',#4634);
+-#4637=CARTESIAN_POINT('',(1.81925E1,0.E0,3.075E1));
+-#4638=CARTESIAN_POINT('',(1.78075E1,0.E0,3.075E1));
+-#4639=VERTEX_POINT('',#4637);
+-#4640=VERTEX_POINT('',#4638);
+-#4641=CARTESIAN_POINT('',(1.2256E1,1.E0,1.25E0));
+-#4642=CARTESIAN_POINT('',(1.1744E1,1.E0,1.25E0));
+-#4643=VERTEX_POINT('',#4641);
+-#4644=VERTEX_POINT('',#4642);
+-#4645=CARTESIAN_POINT('',(1.2256E1,1.5E0,1.25E0));
+-#4646=CARTESIAN_POINT('',(1.1744E1,1.5E0,1.25E0));
+-#4647=VERTEX_POINT('',#4645);
+-#4648=VERTEX_POINT('',#4646);
+-#4649=CARTESIAN_POINT('',(1.21925E1,1.E0,1.25E0));
+-#4650=CARTESIAN_POINT('',(1.18075E1,1.E0,1.25E0));
+-#4651=VERTEX_POINT('',#4649);
+-#4652=VERTEX_POINT('',#4650);
+-#4653=CARTESIAN_POINT('',(1.8256E1,1.E0,1.25E0));
+-#4654=CARTESIAN_POINT('',(1.7744E1,1.E0,1.25E0));
+-#4655=VERTEX_POINT('',#4653);
+-#4656=VERTEX_POINT('',#4654);
+-#4657=CARTESIAN_POINT('',(1.8256E1,1.5E0,1.25E0));
+-#4658=CARTESIAN_POINT('',(1.7744E1,1.5E0,1.25E0));
+-#4659=VERTEX_POINT('',#4657);
+-#4660=VERTEX_POINT('',#4658);
+-#4661=CARTESIAN_POINT('',(1.81925E1,1.E0,1.25E0));
+-#4662=CARTESIAN_POINT('',(1.78075E1,1.E0,1.25E0));
+-#4663=VERTEX_POINT('',#4661);
+-#4664=VERTEX_POINT('',#4662);
+-#4665=CARTESIAN_POINT('',(6.256E0,1.E0,3.075E1));
+-#4666=CARTESIAN_POINT('',(5.744E0,1.E0,3.075E1));
+-#4667=VERTEX_POINT('',#4665);
+-#4668=VERTEX_POINT('',#4666);
+-#4669=CARTESIAN_POINT('',(6.256E0,1.5E0,3.075E1));
+-#4670=CARTESIAN_POINT('',(5.744E0,1.5E0,3.075E1));
+-#4671=VERTEX_POINT('',#4669);
+-#4672=VERTEX_POINT('',#4670);
+-#4673=CARTESIAN_POINT('',(6.1925E0,1.E0,3.075E1));
+-#4674=CARTESIAN_POINT('',(5.8075E0,1.E0,3.075E1));
+-#4675=VERTEX_POINT('',#4673);
+-#4676=VERTEX_POINT('',#4674);
+-#4677=CARTESIAN_POINT('',(1.2256E1,1.E0,3.075E1));
+-#4678=CARTESIAN_POINT('',(1.1744E1,1.E0,3.075E1));
+-#4679=VERTEX_POINT('',#4677);
+-#4680=VERTEX_POINT('',#4678);
+-#4681=CARTESIAN_POINT('',(1.2256E1,1.5E0,3.075E1));
+-#4682=CARTESIAN_POINT('',(1.1744E1,1.5E0,3.075E1));
+-#4683=VERTEX_POINT('',#4681);
+-#4684=VERTEX_POINT('',#4682);
+-#4685=CARTESIAN_POINT('',(1.21925E1,1.E0,3.075E1));
+-#4686=CARTESIAN_POINT('',(1.18075E1,1.E0,3.075E1));
+-#4687=VERTEX_POINT('',#4685);
+-#4688=VERTEX_POINT('',#4686);
+-#4689=CARTESIAN_POINT('',(1.8256E1,1.E0,3.075E1));
+-#4690=CARTESIAN_POINT('',(1.7744E1,1.E0,3.075E1));
+-#4691=VERTEX_POINT('',#4689);
+-#4692=VERTEX_POINT('',#4690);
+-#4693=CARTESIAN_POINT('',(1.8256E1,1.5E0,3.075E1));
+-#4694=CARTESIAN_POINT('',(1.7744E1,1.5E0,3.075E1));
+-#4695=VERTEX_POINT('',#4693);
+-#4696=VERTEX_POINT('',#4694);
+-#4697=CARTESIAN_POINT('',(1.81925E1,1.E0,3.075E1));
+-#4698=CARTESIAN_POINT('',(1.78075E1,1.E0,3.075E1));
+-#4699=VERTEX_POINT('',#4697);
+-#4700=VERTEX_POINT('',#4698);
+-#4701=CARTESIAN_POINT('',(4.4125E0,1.05E1,8.E0));
+-#4702=CARTESIAN_POINT('',(4.0875E0,1.05E1,8.E0));
+-#4703=VERTEX_POINT('',#4701);
+-#4704=VERTEX_POINT('',#4702);
+-#4705=CARTESIAN_POINT('',(4.4125E0,1.05E1,1.E1));
+-#4706=CARTESIAN_POINT('',(4.0875E0,1.05E1,1.E1));
+-#4707=VERTEX_POINT('',#4705);
+-#4708=VERTEX_POINT('',#4706);
+-#4709=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.25E0));
+-#4710=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.25E0));
+-#4711=VERTEX_POINT('',#4709);
+-#4712=VERTEX_POINT('',#4710);
+-#4713=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.E0));
+-#4714=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.E0));
+-#4715=VERTEX_POINT('',#4713);
+-#4716=VERTEX_POINT('',#4714);
+-#4717=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.25E0));
+-#4718=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.25E0));
+-#4719=VERTEX_POINT('',#4717);
+-#4720=VERTEX_POINT('',#4718);
+-#4721=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.E0));
+-#4722=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.E0));
+-#4723=VERTEX_POINT('',#4721);
+-#4724=VERTEX_POINT('',#4722);
+-#4725=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.25E0));
+-#4726=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.25E0));
+-#4727=VERTEX_POINT('',#4725);
+-#4728=VERTEX_POINT('',#4726);
+-#4729=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.E0));
+-#4730=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.E0));
+-#4731=VERTEX_POINT('',#4729);
+-#4732=VERTEX_POINT('',#4730);
+-#4733=CARTESIAN_POINT('',(1.95875E1,1.05E1,8.E0));
+-#4734=CARTESIAN_POINT('',(1.99125E1,1.05E1,8.E0));
+-#4735=VERTEX_POINT('',#4733);
+-#4736=VERTEX_POINT('',#4734);
+-#4737=CARTESIAN_POINT('',(1.95875E1,1.05E1,1.E1));
+-#4738=CARTESIAN_POINT('',(1.99125E1,1.05E1,1.E1));
+-#4739=VERTEX_POINT('',#4737);
+-#4740=VERTEX_POINT('',#4738);
+-#4741=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.25E0));
+-#4742=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.25E0));
+-#4743=VERTEX_POINT('',#4741);
+-#4744=VERTEX_POINT('',#4742);
+-#4745=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.E0));
+-#4746=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.E0));
+-#4747=VERTEX_POINT('',#4745);
+-#4748=VERTEX_POINT('',#4746);
+-#4749=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.25E0));
+-#4750=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.25E0));
+-#4751=VERTEX_POINT('',#4749);
+-#4752=VERTEX_POINT('',#4750);
+-#4753=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.E0));
+-#4754=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.E0));
+-#4755=VERTEX_POINT('',#4753);
+-#4756=VERTEX_POINT('',#4754);
+-#4757=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.25E0));
+-#4758=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.25E0));
+-#4759=VERTEX_POINT('',#4757);
+-#4760=VERTEX_POINT('',#4758);
+-#4761=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.E0));
+-#4762=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.E0));
+-#4763=VERTEX_POINT('',#4761);
+-#4764=VERTEX_POINT('',#4762);
+-#4765=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
+-#4766=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
+-#4767=VERTEX_POINT('',#4765);
+-#4768=VERTEX_POINT('',#4766);
+-#4769=CARTESIAN_POINT('',(5.E0,1.5E0,1.1E1));
+-#4770=CARTESIAN_POINT('',(5.E0,0.E0,1.1E1));
+-#4771=VERTEX_POINT('',#4769);
+-#4772=VERTEX_POINT('',#4770);
+-#4773=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1));
+-#4774=CARTESIAN_POINT('',(6.E0,0.E0,1.E1));
+-#4775=VERTEX_POINT('',#4773);
+-#4776=VERTEX_POINT('',#4774);
+-#4777=CARTESIAN_POINT('',(1.9E1,0.E0,1.1E1));
+-#4778=CARTESIAN_POINT('',(1.9E1,1.5E0,1.1E1));
+-#4779=VERTEX_POINT('',#4777);
+-#4780=VERTEX_POINT('',#4778);
+-#4781=CARTESIAN_POINT('',(1.8E1,0.E0,1.E1));
+-#4782=CARTESIAN_POINT('',(1.8E1,1.5E0,1.E1));
+-#4783=VERTEX_POINT('',#4781);
+-#4784=VERTEX_POINT('',#4782);
+-#4785=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1));
+-#4786=VERTEX_POINT('',#4785);
+-#4787=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1));
+-#4788=VERTEX_POINT('',#4787);
+-#4789=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1));
+-#4790=CARTESIAN_POINT('',(2.5E0,0.E0,2.19375E1));
+-#4791=VERTEX_POINT('',#4789);
+-#4792=VERTEX_POINT('',#4790);
+-#4793=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1));
+-#4794=CARTESIAN_POINT('',(5.5E0,0.E0,1.89375E1));
+-#4795=VERTEX_POINT('',#4793);
+-#4796=VERTEX_POINT('',#4794);
+-#4797=CARTESIAN_POINT('',(2.15E1,0.E0,2.19375E1));
+-#4798=CARTESIAN_POINT('',(2.15E1,1.5E0,2.19375E1));
+-#4799=VERTEX_POINT('',#4797);
+-#4800=VERTEX_POINT('',#4798);
+-#4801=CARTESIAN_POINT('',(1.85E1,0.E0,1.89375E1));
+-#4802=CARTESIAN_POINT('',(1.85E1,1.5E0,1.89375E1));
+-#4803=VERTEX_POINT('',#4801);
+-#4804=VERTEX_POINT('',#4802);
+-#4805=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1));
+-#4806=CARTESIAN_POINT('',(2.15E1,0.E0,1.40625E1));
+-#4807=VERTEX_POINT('',#4805);
+-#4808=VERTEX_POINT('',#4806);
+-#4809=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1));
+-#4810=CARTESIAN_POINT('',(1.85E1,0.E0,1.70625E1));
+-#4811=VERTEX_POINT('',#4809);
+-#4812=VERTEX_POINT('',#4810);
+-#4813=CARTESIAN_POINT('',(2.5E0,0.E0,1.40625E1));
+-#4814=CARTESIAN_POINT('',(2.5E0,1.5E0,1.40625E1));
+-#4815=VERTEX_POINT('',#4813);
+-#4816=VERTEX_POINT('',#4814);
+-#4817=CARTESIAN_POINT('',(5.5E0,0.E0,1.70625E1));
+-#4818=CARTESIAN_POINT('',(5.5E0,1.5E0,1.70625E1));
+-#4819=VERTEX_POINT('',#4817);
+-#4820=VERTEX_POINT('',#4818);
+-#4821=CARTESIAN_POINT('',(6.1925E0,0.E0,9.E0));
+-#4822=CARTESIAN_POINT('',(5.8075E0,0.E0,9.E0));
+-#4823=VERTEX_POINT('',#4821);
+-#4824=VERTEX_POINT('',#4822);
+-#4825=CARTESIAN_POINT('',(6.2575E0,1.E0,9.E0));
+-#4826=CARTESIAN_POINT('',(5.7425E0,1.E0,9.E0));
+-#4827=VERTEX_POINT('',#4825);
+-#4828=VERTEX_POINT('',#4826);
+-#4829=CARTESIAN_POINT('',(6.2575E0,1.5E0,9.E0));
+-#4830=CARTESIAN_POINT('',(5.7425E0,1.5E0,9.E0));
+-#4831=VERTEX_POINT('',#4829);
+-#4832=VERTEX_POINT('',#4830);
+-#4833=CARTESIAN_POINT('',(6.1925E0,1.E0,9.E0));
+-#4834=CARTESIAN_POINT('',(5.8075E0,1.E0,9.E0));
+-#4835=VERTEX_POINT('',#4833);
+-#4836=VERTEX_POINT('',#4834);
+-#4837=CARTESIAN_POINT('',(1.21925E1,0.E0,9.E0));
+-#4838=CARTESIAN_POINT('',(1.18075E1,0.E0,9.E0));
+-#4839=VERTEX_POINT('',#4837);
+-#4840=VERTEX_POINT('',#4838);
+-#4841=CARTESIAN_POINT('',(1.81925E1,0.E0,9.E0));
+-#4842=CARTESIAN_POINT('',(1.78075E1,0.E0,9.E0));
+-#4843=VERTEX_POINT('',#4841);
+-#4844=VERTEX_POINT('',#4842);
+-#4845=CARTESIAN_POINT('',(6.1925E0,0.E0,1.8E1));
+-#4846=CARTESIAN_POINT('',(5.8075E0,0.E0,1.8E1));
+-#4847=VERTEX_POINT('',#4845);
+-#4848=VERTEX_POINT('',#4846);
+-#4849=CARTESIAN_POINT('',(1.21925E1,0.E0,1.8E1));
+-#4850=CARTESIAN_POINT('',(1.18075E1,0.E0,1.8E1));
+-#4851=VERTEX_POINT('',#4849);
+-#4852=VERTEX_POINT('',#4850);
+-#4853=CARTESIAN_POINT('',(1.81925E1,0.E0,1.8E1));
+-#4854=CARTESIAN_POINT('',(1.78075E1,0.E0,1.8E1));
+-#4855=VERTEX_POINT('',#4853);
+-#4856=VERTEX_POINT('',#4854);
+-#4857=CARTESIAN_POINT('',(1.22575E1,1.E0,9.E0));
+-#4858=CARTESIAN_POINT('',(1.17425E1,1.E0,9.E0));
+-#4859=VERTEX_POINT('',#4857);
+-#4860=VERTEX_POINT('',#4858);
+-#4861=CARTESIAN_POINT('',(1.22575E1,1.5E0,9.E0));
+-#4862=CARTESIAN_POINT('',(1.17425E1,1.5E0,9.E0));
+-#4863=VERTEX_POINT('',#4861);
+-#4864=VERTEX_POINT('',#4862);
+-#4865=CARTESIAN_POINT('',(1.21925E1,1.E0,9.E0));
+-#4866=CARTESIAN_POINT('',(1.18075E1,1.E0,9.E0));
+-#4867=VERTEX_POINT('',#4865);
+-#4868=VERTEX_POINT('',#4866);
+-#4869=CARTESIAN_POINT('',(1.82575E1,1.E0,9.E0));
+-#4870=CARTESIAN_POINT('',(1.77425E1,1.E0,9.E0));
+-#4871=VERTEX_POINT('',#4869);
+-#4872=VERTEX_POINT('',#4870);
+-#4873=CARTESIAN_POINT('',(1.82575E1,1.5E0,9.E0));
+-#4874=CARTESIAN_POINT('',(1.77425E1,1.5E0,9.E0));
+-#4875=VERTEX_POINT('',#4873);
+-#4876=VERTEX_POINT('',#4874);
+-#4877=CARTESIAN_POINT('',(1.81925E1,1.E0,9.E0));
+-#4878=CARTESIAN_POINT('',(1.78075E1,1.E0,9.E0));
+-#4879=VERTEX_POINT('',#4877);
+-#4880=VERTEX_POINT('',#4878);
+-#4881=CARTESIAN_POINT('',(6.2575E0,1.E0,1.8E1));
+-#4882=CARTESIAN_POINT('',(5.7425E0,1.E0,1.8E1));
+-#4883=VERTEX_POINT('',#4881);
+-#4884=VERTEX_POINT('',#4882);
+-#4885=CARTESIAN_POINT('',(6.2575E0,1.5E0,1.8E1));
+-#4886=CARTESIAN_POINT('',(5.7425E0,1.5E0,1.8E1));
+-#4887=VERTEX_POINT('',#4885);
+-#4888=VERTEX_POINT('',#4886);
+-#4889=CARTESIAN_POINT('',(6.1925E0,1.E0,1.8E1));
+-#4890=CARTESIAN_POINT('',(5.8075E0,1.E0,1.8E1));
+-#4891=VERTEX_POINT('',#4889);
+-#4892=VERTEX_POINT('',#4890);
+-#4893=CARTESIAN_POINT('',(1.22575E1,1.E0,1.8E1));
+-#4894=CARTESIAN_POINT('',(1.17425E1,1.E0,1.8E1));
+-#4895=VERTEX_POINT('',#4893);
+-#4896=VERTEX_POINT('',#4894);
+-#4897=CARTESIAN_POINT('',(1.22575E1,1.5E0,1.8E1));
+-#4898=CARTESIAN_POINT('',(1.17425E1,1.5E0,1.8E1));
+-#4899=VERTEX_POINT('',#4897);
+-#4900=VERTEX_POINT('',#4898);
+-#4901=CARTESIAN_POINT('',(1.21925E1,1.E0,1.8E1));
+-#4902=CARTESIAN_POINT('',(1.18075E1,1.E0,1.8E1));
+-#4903=VERTEX_POINT('',#4901);
+-#4904=VERTEX_POINT('',#4902);
+-#4905=CARTESIAN_POINT('',(1.82575E1,1.E0,1.8E1));
+-#4906=CARTESIAN_POINT('',(1.77425E1,1.E0,1.8E1));
+-#4907=VERTEX_POINT('',#4905);
+-#4908=VERTEX_POINT('',#4906);
+-#4909=CARTESIAN_POINT('',(1.82575E1,1.5E0,1.8E1));
+-#4910=CARTESIAN_POINT('',(1.77425E1,1.5E0,1.8E1));
+-#4911=VERTEX_POINT('',#4909);
+-#4912=VERTEX_POINT('',#4910);
+-#4913=CARTESIAN_POINT('',(1.81925E1,1.E0,1.8E1));
+-#4914=CARTESIAN_POINT('',(1.78075E1,1.E0,1.8E1));
+-#4915=VERTEX_POINT('',#4913);
+-#4916=VERTEX_POINT('',#4914);
+-#4917=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1));
+-#4918=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.E1));
+-#4919=VERTEX_POINT('',#4917);
+-#4920=VERTEX_POINT('',#4918);
+-#4921=CARTESIAN_POINT('',(2.E0,1.5E0,1.288675134595E1));
+-#4922=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1));
+-#4923=VERTEX_POINT('',#4921);
+-#4924=VERTEX_POINT('',#4922);
+-#4925=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1));
+-#4926=VERTEX_POINT('',#4925);
+-#4927=CARTESIAN_POINT('',(2.E0,6.5E0,1.E1));
+-#4928=VERTEX_POINT('',#4927);
+-#4929=VERTEX_POINT('',#1837);
+-#4930=VERTEX_POINT('',#1845);
+-#4931=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1));
+-#4932=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1));
+-#4933=VERTEX_POINT('',#4931);
+-#4934=VERTEX_POINT('',#4932);
+-#4935=CARTESIAN_POINT('',(2.2E1,1.5E0,1.288675134595E1));
+-#4936=CARTESIAN_POINT('',(2.2E1,1.5E0,1.E1));
+-#4937=VERTEX_POINT('',#4935);
+-#4938=VERTEX_POINT('',#4936);
+-#4939=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1));
+-#4940=VERTEX_POINT('',#4939);
+-#4941=CARTESIAN_POINT('',(2.2E1,6.5E0,1.E1));
+-#4942=VERTEX_POINT('',#4941);
+-#4943=VERTEX_POINT('',#2873);
+-#4944=VERTEX_POINT('',#2881);
+-#4945=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0));
+-#4946=CARTESIAN_POINT('',(3.75E0,2.E0,8.5E0));
+-#4947=VERTEX_POINT('',#4945);
+-#4948=VERTEX_POINT('',#4946);
+-#4949=CARTESIAN_POINT('',(4.5E0,2.75E0,8.E0));
+-#4950=CARTESIAN_POINT('',(4.5E0,2.75E0,8.5E0));
+-#4951=VERTEX_POINT('',#4949);
+-#4952=VERTEX_POINT('',#4950);
+-#4953=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0));
+-#4954=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.5E0));
+-#4955=VERTEX_POINT('',#4953);
+-#4956=VERTEX_POINT('',#4954);
+-#4957=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.E0));
+-#4958=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.5E0));
+-#4959=VERTEX_POINT('',#4957);
+-#4960=VERTEX_POINT('',#4958);
+-#4961=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0));
+-#4962=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.5E0));
+-#4963=VERTEX_POINT('',#4961);
+-#4964=VERTEX_POINT('',#4962);
+-#4965=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.E0));
+-#4966=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.5E0));
+-#4967=VERTEX_POINT('',#4965);
+-#4968=VERTEX_POINT('',#4966);
+-#4969=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0));
+-#4970=CARTESIAN_POINT('',(4.5E0,8.75E0,8.5E0));
+-#4971=VERTEX_POINT('',#4969);
+-#4972=VERTEX_POINT('',#4970);
+-#4973=CARTESIAN_POINT('',(3.75E0,9.5E0,8.E0));
+-#4974=CARTESIAN_POINT('',(3.75E0,9.5E0,8.5E0));
+-#4975=VERTEX_POINT('',#4973);
+-#4976=VERTEX_POINT('',#4974);
+-#4977=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1));
+-#4978=CARTESIAN_POINT('',(2.85E0,2.E0,9.5E0));
+-#4979=VERTEX_POINT('',#4977);
+-#4980=VERTEX_POINT('',#4978);
+-#4981=CARTESIAN_POINT('',(2.5E0,2.35E0,1.E1));
+-#4982=CARTESIAN_POINT('',(2.5E0,2.35E0,9.5E0));
+-#4983=VERTEX_POINT('',#4981);
+-#4984=VERTEX_POINT('',#4982);
+-#4985=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1));
+-#4986=CARTESIAN_POINT('',(4.5E0,2.35E0,9.5E0));
+-#4987=VERTEX_POINT('',#4985);
+-#4988=VERTEX_POINT('',#4986);
+-#4989=CARTESIAN_POINT('',(4.15E0,2.E0,1.E1));
+-#4990=CARTESIAN_POINT('',(4.15E0,2.E0,9.5E0));
+-#4991=VERTEX_POINT('',#4989);
+-#4992=VERTEX_POINT('',#4990);
+-#4993=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1));
+-#4994=CARTESIAN_POINT('',(1.952799239454E0,7.E0,9.5E0));
+-#4995=VERTEX_POINT('',#4993);
+-#4996=VERTEX_POINT('',#4994);
+-#4997=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,1.E1));
+-#4998=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,9.5E0));
+-#4999=VERTEX_POINT('',#4997);
+-#5000=VERTEX_POINT('',#4998);
+-#5001=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1));
+-#5002=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,9.5E0));
+-#5003=VERTEX_POINT('',#5001);
+-#5004=VERTEX_POINT('',#5002);
+-#5005=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,1.E1));
+-#5006=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,9.5E0));
+-#5007=VERTEX_POINT('',#5005);
+-#5008=VERTEX_POINT('',#5006);
+-#5009=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1));
+-#5010=CARTESIAN_POINT('',(4.15E0,9.5E0,9.5E0));
+-#5011=VERTEX_POINT('',#5009);
+-#5012=VERTEX_POINT('',#5010);
+-#5013=CARTESIAN_POINT('',(4.5E0,9.15E0,1.E1));
+-#5014=CARTESIAN_POINT('',(4.5E0,9.15E0,9.5E0));
+-#5015=VERTEX_POINT('',#5013);
+-#5016=VERTEX_POINT('',#5014);
+-#5017=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0));
+-#5018=CARTESIAN_POINT('',(2.5E0,6.65E0,1.E1));
+-#5019=VERTEX_POINT('',#5017);
+-#5020=VERTEX_POINT('',#5018);
+-#5021=CARTESIAN_POINT('',(2.15E0,7.E0,1.E1));
+-#5022=VERTEX_POINT('',#5021);
+-#5023=CARTESIAN_POINT('',(2.15E0,7.E0,9.5E0));
+-#5024=VERTEX_POINT('',#5023);
+-#5025=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0));
+-#5026=CARTESIAN_POINT('',(2.025E1,2.E0,8.E0));
+-#5027=VERTEX_POINT('',#5025);
+-#5028=VERTEX_POINT('',#5026);
+-#5029=CARTESIAN_POINT('',(1.95E1,2.75E0,8.5E0));
+-#5030=VERTEX_POINT('',#5029);
+-#5031=CARTESIAN_POINT('',(1.95E1,2.75E0,8.E0));
+-#5032=VERTEX_POINT('',#5031);
+-#5033=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0));
+-#5034=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.E0));
+-#5035=VERTEX_POINT('',#5033);
+-#5036=VERTEX_POINT('',#5034);
+-#5037=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.5E0));
+-#5038=VERTEX_POINT('',#5037);
+-#5039=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.E0));
+-#5040=VERTEX_POINT('',#5039);
+-#5041=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0));
+-#5042=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.E0));
+-#5043=VERTEX_POINT('',#5041);
+-#5044=VERTEX_POINT('',#5042);
+-#5045=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.5E0));
+-#5046=VERTEX_POINT('',#5045);
+-#5047=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.E0));
+-#5048=VERTEX_POINT('',#5047);
+-#5049=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0));
+-#5050=CARTESIAN_POINT('',(1.95E1,8.75E0,8.E0));
+-#5051=VERTEX_POINT('',#5049);
+-#5052=VERTEX_POINT('',#5050);
+-#5053=CARTESIAN_POINT('',(2.025E1,9.5E0,8.5E0));
+-#5054=VERTEX_POINT('',#5053);
+-#5055=CARTESIAN_POINT('',(2.025E1,9.5E0,8.E0));
+-#5056=VERTEX_POINT('',#5055);
+-#5057=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0));
+-#5058=CARTESIAN_POINT('',(2.115E1,2.E0,1.E1));
+-#5059=VERTEX_POINT('',#5057);
+-#5060=VERTEX_POINT('',#5058);
+-#5061=CARTESIAN_POINT('',(2.15E1,2.35E0,9.5E0));
+-#5062=VERTEX_POINT('',#5061);
+-#5063=CARTESIAN_POINT('',(2.15E1,2.35E0,1.E1));
+-#5064=VERTEX_POINT('',#5063);
+-#5065=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0));
+-#5066=CARTESIAN_POINT('',(1.95E1,2.35E0,1.E1));
+-#5067=VERTEX_POINT('',#5065);
+-#5068=VERTEX_POINT('',#5066);
+-#5069=CARTESIAN_POINT('',(1.985E1,2.E0,9.5E0));
+-#5070=VERTEX_POINT('',#5069);
+-#5071=CARTESIAN_POINT('',(1.985E1,2.E0,1.E1));
+-#5072=VERTEX_POINT('',#5071);
+-#5073=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0));
+-#5074=CARTESIAN_POINT('',(2.204720076055E1,7.E0,1.E1));
+-#5075=VERTEX_POINT('',#5073);
+-#5076=VERTEX_POINT('',#5074);
+-#5077=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,9.5E0));
+-#5078=VERTEX_POINT('',#5077);
+-#5079=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,1.E1));
+-#5080=VERTEX_POINT('',#5079);
+-#5081=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0));
+-#5082=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,1.E1));
+-#5083=VERTEX_POINT('',#5081);
+-#5084=VERTEX_POINT('',#5082);
+-#5085=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,9.5E0));
+-#5086=VERTEX_POINT('',#5085);
+-#5087=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,1.E1));
+-#5088=VERTEX_POINT('',#5087);
+-#5089=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0));
+-#5090=CARTESIAN_POINT('',(1.985E1,9.5E0,1.E1));
+-#5091=VERTEX_POINT('',#5089);
+-#5092=VERTEX_POINT('',#5090);
+-#5093=CARTESIAN_POINT('',(1.95E1,9.15E0,9.5E0));
+-#5094=VERTEX_POINT('',#5093);
+-#5095=CARTESIAN_POINT('',(1.95E1,9.15E0,1.E1));
+-#5096=VERTEX_POINT('',#5095);
+-#5097=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1));
+-#5098=CARTESIAN_POINT('',(2.15E1,6.65E0,9.5E0));
+-#5099=VERTEX_POINT('',#5097);
+-#5100=VERTEX_POINT('',#5098);
+-#5101=CARTESIAN_POINT('',(2.185E1,7.E0,1.E1));
+-#5102=CARTESIAN_POINT('',(2.185E1,7.E0,9.5E0));
+-#5103=VERTEX_POINT('',#5101);
+-#5104=VERTEX_POINT('',#5102);
+-#5105=CARTESIAN_POINT('',(7.5E0,6.875E-1,6.875E-1));
+-#5106=CARTESIAN_POINT('',(1.05E1,6.875E-1,6.875E-1));
+-#5107=VERTEX_POINT('',#5105);
+-#5108=VERTEX_POINT('',#5106);
+-#5109=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8125E0));
+-#5110=VERTEX_POINT('',#5109);
+-#5111=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.8125E0));
+-#5112=VERTEX_POINT('',#5111);
+-#5113=CARTESIAN_POINT('',(3.939978538987E0,6.875E-1,1.032293285145E0));
+-#5114=CARTESIAN_POINT('',(4.942849714544E0,6.875E-1,2.419779663480E0));
+-#5115=VERTEX_POINT('',#5113);
+-#5116=VERTEX_POINT('',#5114);
+-#5117=CARTESIAN_POINT('',(2.432015885023E0,6.875E-1,4.918683812405E0));
+-#5118=VERTEX_POINT('',#5117);
+-#5119=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1));
+-#5120=CARTESIAN_POINT('',(1.05E1,0.E0,6.875E-1));
+-#5121=VERTEX_POINT('',#5119);
+-#5122=VERTEX_POINT('',#5120);
+-#5123=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0));
+-#5124=VERTEX_POINT('',#5123);
+-#5125=CARTESIAN_POINT('',(7.5E0,0.E0,1.8125E0));
+-#5126=VERTEX_POINT('',#5125);
+-#5127=CARTESIAN_POINT('',(3.939978538987E0,0.E0,1.032293285145E0));
+-#5128=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.419779663480E0));
+-#5129=VERTEX_POINT('',#5127);
+-#5130=VERTEX_POINT('',#5128);
+-#5131=CARTESIAN_POINT('',(2.432015885023E0,0.E0,4.918683812405E0));
+-#5132=VERTEX_POINT('',#5131);
+-#5133=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0));
+-#5134=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,4.046865146430E0));
+-#5135=VERTEX_POINT('',#5133);
+-#5136=VERTEX_POINT('',#5134);
+-#5137=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,4.912826677187E0));
+-#5138=CARTESIAN_POINT('',(7.850270400779E-1,6.875E-1,4.912826677187E0));
+-#5139=VERTEX_POINT('',#5137);
+-#5140=VERTEX_POINT('',#5138);
+-#5141=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.5E0));
+-#5142=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.5E0));
+-#5143=VERTEX_POINT('',#5141);
+-#5144=VERTEX_POINT('',#5142);
+-#5145=CARTESIAN_POINT('',(6.9E-1,0.E0,7.5E0));
+-#5146=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0));
+-#5147=VERTEX_POINT('',#5145);
+-#5148=VERTEX_POINT('',#5146);
+-#5149=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1));
+-#5150=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,1.0375E1));
+-#5151=VERTEX_POINT('',#5149);
+-#5152=VERTEX_POINT('',#5150);
+-#5153=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.125E1));
+-#5154=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,1.125E1));
+-#5155=VERTEX_POINT('',#5153);
+-#5156=VERTEX_POINT('',#5154);
+-#5157=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0));
+-#5158=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,8.69E0));
+-#5159=VERTEX_POINT('',#5157);
+-#5160=VERTEX_POINT('',#5158);
+-#5161=CARTESIAN_POINT('',(-1.3125E0,0.E0,9.565E0));
+-#5162=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,9.565E0));
+-#5163=VERTEX_POINT('',#5161);
+-#5164=VERTEX_POINT('',#5162);
+-#5165=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0));
+-#5166=CARTESIAN_POINT('',(4.3125E0,6.875E-1,9.565E0));
+-#5167=VERTEX_POINT('',#5165);
+-#5168=VERTEX_POINT('',#5166);
+-#5169=CARTESIAN_POINT('',(3.4375E0,0.E0,8.69E0));
+-#5170=CARTESIAN_POINT('',(3.4375E0,6.875E-1,8.69E0));
+-#5171=VERTEX_POINT('',#5169);
+-#5172=VERTEX_POINT('',#5170);
+-#5173=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1));
+-#5174=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.125E1));
+-#5175=VERTEX_POINT('',#5173);
+-#5176=VERTEX_POINT('',#5174);
+-#5177=CARTESIAN_POINT('',(4.3125E0,0.E0,1.0375E1));
+-#5178=CARTESIAN_POINT('',(4.3125E0,6.875E-1,1.0375E1));
+-#5179=VERTEX_POINT('',#5177);
+-#5180=VERTEX_POINT('',#5178);
+-#5181=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0));
+-#5182=CARTESIAN_POINT('',(6.9E-1,0.E0,7.815E0));
+-#5183=VERTEX_POINT('',#5181);
+-#5184=VERTEX_POINT('',#5182);
+-#5185=CARTESIAN_POINT('',(-1.85E-1,0.E0,8.69E0));
+-#5186=VERTEX_POINT('',#5185);
+-#5187=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,8.69E0));
+-#5188=VERTEX_POINT('',#5187);
+-#5189=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0));
+-#5190=CARTESIAN_POINT('',(2.6875E0,0.E0,8.69E0));
+-#5191=VERTEX_POINT('',#5189);
+-#5192=VERTEX_POINT('',#5190);
+-#5193=CARTESIAN_POINT('',(1.8125E0,0.E0,7.815E0));
+-#5194=VERTEX_POINT('',#5193);
+-#5195=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.815E0));
+-#5196=VERTEX_POINT('',#5195);
+-#5197=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.65E1));
+-#5198=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.35E1));
+-#5199=VERTEX_POINT('',#5197);
+-#5200=VERTEX_POINT('',#5198);
+-#5201=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.35E1));
+-#5202=VERTEX_POINT('',#5201);
+-#5203=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.65E1));
+-#5204=VERTEX_POINT('',#5203);
+-#5205=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1));
+-#5206=CARTESIAN_POINT('',(6.875E-1,0.E0,1.35E1));
+-#5207=VERTEX_POINT('',#5205);
+-#5208=VERTEX_POINT('',#5206);
+-#5209=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1));
+-#5210=VERTEX_POINT('',#5209);
+-#5211=CARTESIAN_POINT('',(1.8125E0,0.E0,1.65E1));
+-#5212=VERTEX_POINT('',#5211);
+-#5213=CARTESIAN_POINT('',(6.875E-1,6.875E-1,2.25E1));
+-#5214=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.95E1));
+-#5215=VERTEX_POINT('',#5213);
+-#5216=VERTEX_POINT('',#5214);
+-#5217=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.95E1));
+-#5218=VERTEX_POINT('',#5217);
+-#5219=CARTESIAN_POINT('',(1.8125E0,6.875E-1,2.25E1));
+-#5220=VERTEX_POINT('',#5219);
+-#5221=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1));
+-#5222=CARTESIAN_POINT('',(6.875E-1,0.E0,1.95E1));
+-#5223=VERTEX_POINT('',#5221);
+-#5224=VERTEX_POINT('',#5222);
+-#5225=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1));
+-#5226=VERTEX_POINT('',#5225);
+-#5227=CARTESIAN_POINT('',(1.8125E0,0.E0,2.25E1));
+-#5228=VERTEX_POINT('',#5227);
+-#5229=CARTESIAN_POINT('',(7.5E0,6.875E-1,8.5E0));
+-#5230=CARTESIAN_POINT('',(1.05E1,6.875E-1,8.5E0));
+-#5231=VERTEX_POINT('',#5229);
+-#5232=VERTEX_POINT('',#5230);
+-#5233=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.5E0));
+-#5234=VERTEX_POINT('',#5233);
+-#5235=CARTESIAN_POINT('',(7.5E0,6.875E-1,9.5E0));
+-#5236=VERTEX_POINT('',#5235);
+-#5237=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0));
+-#5238=CARTESIAN_POINT('',(1.05E1,0.E0,8.5E0));
+-#5239=VERTEX_POINT('',#5237);
+-#5240=VERTEX_POINT('',#5238);
+-#5241=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0));
+-#5242=VERTEX_POINT('',#5241);
+-#5243=CARTESIAN_POINT('',(7.5E0,0.E0,9.5E0));
+-#5244=VERTEX_POINT('',#5243);
+-#5245=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.75625E1));
+-#5246=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.75625E1));
+-#5247=VERTEX_POINT('',#5245);
+-#5248=VERTEX_POINT('',#5246);
+-#5249=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.84375E1));
+-#5250=VERTEX_POINT('',#5249);
+-#5251=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.84375E1));
+-#5252=VERTEX_POINT('',#5251);
+-#5253=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1));
+-#5254=CARTESIAN_POINT('',(1.05E1,0.E0,1.75625E1));
+-#5255=VERTEX_POINT('',#5253);
+-#5256=VERTEX_POINT('',#5254);
+-#5257=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1));
+-#5258=VERTEX_POINT('',#5257);
+-#5259=CARTESIAN_POINT('',(7.5E0,0.E0,1.84375E1));
+-#5260=VERTEX_POINT('',#5259);
+-#5261=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.13125E1));
+-#5262=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.13125E1));
+-#5263=VERTEX_POINT('',#5261);
+-#5264=VERTEX_POINT('',#5262);
+-#5265=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.01875E1));
+-#5266=VERTEX_POINT('',#5265);
+-#5267=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.01875E1));
+-#5268=VERTEX_POINT('',#5267);
+-#5269=CARTESIAN_POINT('',(3.939978538987E0,6.875E-1,3.096770671486E1));
+-#5270=CARTESIAN_POINT('',(4.942849714544E0,6.875E-1,2.958022033652E1));
+-#5271=VERTEX_POINT('',#5269);
+-#5272=VERTEX_POINT('',#5270);
+-#5273=CARTESIAN_POINT('',(2.432015885023E0,6.875E-1,2.708131618759E1));
+-#5274=VERTEX_POINT('',#5273);
+-#5275=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1));
+-#5276=CARTESIAN_POINT('',(1.05E1,0.E0,3.13125E1));
+-#5277=VERTEX_POINT('',#5275);
+-#5278=VERTEX_POINT('',#5276);
+-#5279=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1));
+-#5280=VERTEX_POINT('',#5279);
+-#5281=CARTESIAN_POINT('',(7.5E0,0.E0,3.01875E1));
+-#5282=VERTEX_POINT('',#5281);
+-#5283=CARTESIAN_POINT('',(3.939978538987E0,0.E0,3.096770671486E1));
+-#5284=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.958022033652E1));
+-#5285=VERTEX_POINT('',#5283);
+-#5286=VERTEX_POINT('',#5284);
+-#5287=CARTESIAN_POINT('',(2.432015885023E0,0.E0,2.708131618759E1));
+-#5288=VERTEX_POINT('',#5287);
+-#5289=CARTESIAN_POINT('',(1.65E1,6.875E-1,6.875E-1));
+-#5290=CARTESIAN_POINT('',(1.35E1,6.875E-1,6.875E-1));
+-#5291=VERTEX_POINT('',#5289);
+-#5292=VERTEX_POINT('',#5290);
+-#5293=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8125E0));
+-#5294=VERTEX_POINT('',#5293);
+-#5295=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.8125E0));
+-#5296=VERTEX_POINT('',#5295);
+-#5297=CARTESIAN_POINT('',(2.006002146101E1,6.875E-1,1.032293285145E0));
+-#5298=CARTESIAN_POINT('',(1.905715028546E1,6.875E-1,2.419779663480E0));
+-#5299=VERTEX_POINT('',#5297);
+-#5300=VERTEX_POINT('',#5298);
+-#5301=CARTESIAN_POINT('',(2.156798411498E1,6.875E-1,4.918683812405E0));
+-#5302=VERTEX_POINT('',#5301);
+-#5303=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1));
+-#5304=CARTESIAN_POINT('',(1.35E1,0.E0,6.875E-1));
+-#5305=VERTEX_POINT('',#5303);
+-#5306=VERTEX_POINT('',#5304);
+-#5307=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0));
+-#5308=VERTEX_POINT('',#5307);
+-#5309=CARTESIAN_POINT('',(1.65E1,0.E0,1.8125E0));
+-#5310=VERTEX_POINT('',#5309);
+-#5311=CARTESIAN_POINT('',(2.006002146101E1,0.E0,1.032293285145E0));
+-#5312=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.419779663480E0));
+-#5313=VERTEX_POINT('',#5311);
+-#5314=VERTEX_POINT('',#5312);
+-#5315=CARTESIAN_POINT('',(2.156798411498E1,0.E0,4.918683812405E0));
+-#5316=VERTEX_POINT('',#5315);
+-#5317=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.5E0));
+-#5318=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.5E0));
+-#5319=VERTEX_POINT('',#5317);
+-#5320=VERTEX_POINT('',#5318);
+-#5321=CARTESIAN_POINT('',(2.331E1,0.E0,7.5E0));
+-#5322=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0));
+-#5323=VERTEX_POINT('',#5321);
+-#5324=VERTEX_POINT('',#5322);
+-#5325=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.65E1));
+-#5326=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.35E1));
+-#5327=VERTEX_POINT('',#5325);
+-#5328=VERTEX_POINT('',#5326);
+-#5329=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.35E1));
+-#5330=VERTEX_POINT('',#5329);
+-#5331=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.65E1));
+-#5332=VERTEX_POINT('',#5331);
+-#5333=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1));
+-#5334=CARTESIAN_POINT('',(2.33125E1,0.E0,1.35E1));
+-#5335=VERTEX_POINT('',#5333);
+-#5336=VERTEX_POINT('',#5334);
+-#5337=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1));
+-#5338=VERTEX_POINT('',#5337);
+-#5339=CARTESIAN_POINT('',(2.21875E1,0.E0,1.65E1));
+-#5340=VERTEX_POINT('',#5339);
+-#5341=CARTESIAN_POINT('',(2.33125E1,6.875E-1,2.25E1));
+-#5342=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.95E1));
+-#5343=VERTEX_POINT('',#5341);
+-#5344=VERTEX_POINT('',#5342);
+-#5345=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.95E1));
+-#5346=VERTEX_POINT('',#5345);
+-#5347=CARTESIAN_POINT('',(2.21875E1,6.875E-1,2.25E1));
+-#5348=VERTEX_POINT('',#5347);
+-#5349=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1));
+-#5350=CARTESIAN_POINT('',(2.33125E1,0.E0,1.95E1));
+-#5351=VERTEX_POINT('',#5349);
+-#5352=VERTEX_POINT('',#5350);
+-#5353=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1));
+-#5354=VERTEX_POINT('',#5353);
+-#5355=CARTESIAN_POINT('',(2.21875E1,0.E0,2.25E1));
+-#5356=VERTEX_POINT('',#5355);
+-#5357=CARTESIAN_POINT('',(1.65E1,6.875E-1,8.5E0));
+-#5358=CARTESIAN_POINT('',(1.35E1,6.875E-1,8.5E0));
+-#5359=VERTEX_POINT('',#5357);
+-#5360=VERTEX_POINT('',#5358);
+-#5361=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.5E0));
+-#5362=VERTEX_POINT('',#5361);
+-#5363=CARTESIAN_POINT('',(1.65E1,6.875E-1,9.5E0));
+-#5364=VERTEX_POINT('',#5363);
+-#5365=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0));
+-#5366=CARTESIAN_POINT('',(1.35E1,0.E0,8.5E0));
+-#5367=VERTEX_POINT('',#5365);
+-#5368=VERTEX_POINT('',#5366);
+-#5369=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0));
+-#5370=VERTEX_POINT('',#5369);
+-#5371=CARTESIAN_POINT('',(1.65E1,0.E0,9.5E0));
+-#5372=VERTEX_POINT('',#5371);
+-#5373=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.75625E1));
+-#5374=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.75625E1));
+-#5375=VERTEX_POINT('',#5373);
+-#5376=VERTEX_POINT('',#5374);
+-#5377=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.84375E1));
+-#5378=VERTEX_POINT('',#5377);
+-#5379=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.84375E1));
+-#5380=VERTEX_POINT('',#5379);
+-#5381=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1));
+-#5382=CARTESIAN_POINT('',(1.35E1,0.E0,1.75625E1));
+-#5383=VERTEX_POINT('',#5381);
+-#5384=VERTEX_POINT('',#5382);
+-#5385=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1));
+-#5386=VERTEX_POINT('',#5385);
+-#5387=CARTESIAN_POINT('',(1.65E1,0.E0,1.84375E1));
+-#5388=VERTEX_POINT('',#5387);
+-#5389=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.13125E1));
+-#5390=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.13125E1));
+-#5391=VERTEX_POINT('',#5389);
+-#5392=VERTEX_POINT('',#5390);
+-#5393=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.01875E1));
+-#5394=VERTEX_POINT('',#5393);
+-#5395=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.01875E1));
+-#5396=VERTEX_POINT('',#5395);
+-#5397=CARTESIAN_POINT('',(2.006002146101E1,6.875E-1,3.096770671486E1));
+-#5398=CARTESIAN_POINT('',(1.905715028546E1,6.875E-1,2.958022033652E1));
+-#5399=VERTEX_POINT('',#5397);
+-#5400=VERTEX_POINT('',#5398);
+-#5401=CARTESIAN_POINT('',(2.156798411498E1,6.875E-1,2.708131618759E1));
+-#5402=VERTEX_POINT('',#5401);
+-#5403=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1));
+-#5404=CARTESIAN_POINT('',(1.35E1,0.E0,3.13125E1));
+-#5405=VERTEX_POINT('',#5403);
+-#5406=VERTEX_POINT('',#5404);
+-#5407=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1));
+-#5408=VERTEX_POINT('',#5407);
+-#5409=CARTESIAN_POINT('',(1.65E1,0.E0,3.01875E1));
+-#5410=VERTEX_POINT('',#5409);
+-#5411=CARTESIAN_POINT('',(2.006002146101E1,0.E0,3.096770671486E1));
+-#5412=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.958022033652E1));
+-#5413=VERTEX_POINT('',#5411);
+-#5414=VERTEX_POINT('',#5412);
+-#5415=CARTESIAN_POINT('',(2.156798411498E1,0.E0,2.708131618759E1));
+-#5416=VERTEX_POINT('',#5415);
+-#5417=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0));
+-#5418=CARTESIAN_POINT('',(1.96875E1,0.E0,9.57E0));
+-#5419=VERTEX_POINT('',#5417);
+-#5420=VERTEX_POINT('',#5418);
+-#5421=CARTESIAN_POINT('',(2.05675E1,6.875E-1,8.69E0));
+-#5422=VERTEX_POINT('',#5421);
+-#5423=CARTESIAN_POINT('',(2.05675E1,0.E0,8.69E0));
+-#5424=VERTEX_POINT('',#5423);
+-#5425=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1));
+-#5426=CARTESIAN_POINT('',(2.05675E1,0.E0,1.125E1));
+-#5427=VERTEX_POINT('',#5425);
+-#5428=VERTEX_POINT('',#5426);
+-#5429=CARTESIAN_POINT('',(1.96875E1,6.875E-1,1.037E1));
+-#5430=VERTEX_POINT('',#5429);
+-#5431=CARTESIAN_POINT('',(1.96875E1,0.E0,1.037E1));
+-#5432=VERTEX_POINT('',#5431);
+-#5433=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0));
+-#5434=CARTESIAN_POINT('',(2.44325E1,0.E0,8.69E0));
+-#5435=VERTEX_POINT('',#5433);
+-#5436=VERTEX_POINT('',#5434);
+-#5437=CARTESIAN_POINT('',(2.53125E1,6.875E-1,9.57E0));
+-#5438=VERTEX_POINT('',#5437);
+-#5439=CARTESIAN_POINT('',(2.53125E1,0.E0,9.57E0));
+-#5440=VERTEX_POINT('',#5439);
+-#5441=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1));
+-#5442=CARTESIAN_POINT('',(2.53125E1,0.E0,1.037E1));
+-#5443=VERTEX_POINT('',#5441);
+-#5444=VERTEX_POINT('',#5442);
+-#5445=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.125E1));
+-#5446=VERTEX_POINT('',#5445);
+-#5447=CARTESIAN_POINT('',(2.44325E1,0.E0,1.125E1));
+-#5448=VERTEX_POINT('',#5447);
+-#5449=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0));
+-#5450=CARTESIAN_POINT('',(2.13075E1,6.875E-1,8.69E0));
+-#5451=VERTEX_POINT('',#5449);
+-#5452=VERTEX_POINT('',#5450);
+-#5453=CARTESIAN_POINT('',(2.21875E1,0.E0,7.81E0));
+-#5454=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.81E0));
+-#5455=VERTEX_POINT('',#5453);
+-#5456=VERTEX_POINT('',#5454);
+-#5457=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0));
+-#5458=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.81E0));
+-#5459=VERTEX_POINT('',#5457);
+-#5460=VERTEX_POINT('',#5458);
+-#5461=CARTESIAN_POINT('',(2.419E1,0.E0,8.69E0));
+-#5462=CARTESIAN_POINT('',(2.419E1,6.875E-1,8.69E0));
+-#5463=VERTEX_POINT('',#5461);
+-#5464=VERTEX_POINT('',#5462);
+-#5465=CARTESIAN_POINT('',(2.321497295992E1,0.E0,4.912826677187E0));
+-#5466=CARTESIAN_POINT('',(2.321497295992E1,6.875E-1,4.912826677187E0));
+-#5467=VERTEX_POINT('',#5465);
+-#5468=VERTEX_POINT('',#5466);
+-#5469=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0));
+-#5470=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,4.046865146430E0));
+-#5471=VERTEX_POINT('',#5469);
+-#5472=VERTEX_POINT('',#5470);
+-#5473=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,2.708717332281E1));
+-#5474=CARTESIAN_POINT('',(7.850270400779E-1,6.875E-1,2.708717332281E1));
+-#5475=VERTEX_POINT('',#5473);
+-#5476=VERTEX_POINT('',#5474);
+-#5477=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1));
+-#5478=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,2.795313485357E1));
+-#5479=VERTEX_POINT('',#5477);
+-#5480=VERTEX_POINT('',#5478);
+-#5481=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1));
+-#5482=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,2.795313485357E1));
+-#5483=VERTEX_POINT('',#5481);
+-#5484=VERTEX_POINT('',#5482);
+-#5485=CARTESIAN_POINT('',(2.321497295992E1,0.E0,2.708717332281E1));
+-#5486=CARTESIAN_POINT('',(2.321497295992E1,6.875E-1,2.708717332281E1));
+-#5487=VERTEX_POINT('',#5485);
+-#5488=VERTEX_POINT('',#5486);
+-#5489=CARTESIAN_POINT('',(0.E0,0.E0,0.E0));
+-#5490=DIRECTION('',(0.E0,1.E0,0.E0));
+-#5491=DIRECTION('',(1.E0,0.E0,0.E0));
+-#5492=AXIS2_PLACEMENT_3D('',#5489,#5490,#5491);
+-#5493=PLANE('',#5492);
+-#5495=ORIENTED_EDGE('',*,*,#5494,.F.);
+-#5497=ORIENTED_EDGE('',*,*,#5496,.F.);
+-#5499=ORIENTED_EDGE('',*,*,#5498,.T.);
+-#5501=ORIENTED_EDGE('',*,*,#5500,.F.);
+-#5503=ORIENTED_EDGE('',*,*,#5502,.T.);
+-#5505=ORIENTED_EDGE('',*,*,#5504,.F.);
+-#5507=ORIENTED_EDGE('',*,*,#5506,.T.);
+-#5509=ORIENTED_EDGE('',*,*,#5508,.F.);
+-#5511=ORIENTED_EDGE('',*,*,#5510,.T.);
+-#5513=ORIENTED_EDGE('',*,*,#5512,.T.);
+-#5515=ORIENTED_EDGE('',*,*,#5514,.F.);
+-#5517=ORIENTED_EDGE('',*,*,#5516,.T.);
+-#5519=ORIENTED_EDGE('',*,*,#5518,.F.);
+-#5521=ORIENTED_EDGE('',*,*,#5520,.T.);
+-#5523=ORIENTED_EDGE('',*,*,#5522,.F.);
+-#5525=ORIENTED_EDGE('',*,*,#5524,.T.);
+-#5527=ORIENTED_EDGE('',*,*,#5526,.F.);
+-#5529=ORIENTED_EDGE('',*,*,#5528,.T.);
+-#5531=ORIENTED_EDGE('',*,*,#5530,.F.);
+-#5533=ORIENTED_EDGE('',*,*,#5532,.F.);
+-#5535=ORIENTED_EDGE('',*,*,#5534,.T.);
+-#5537=ORIENTED_EDGE('',*,*,#5536,.F.);
+-#5538=EDGE_LOOP('',(#5495,#5497,#5499,#5501,#5503,#5505,#5507,#5509,#5511,#5513,
+-#5515,#5517,#5519,#5521,#5523,#5525,#5527,#5529,#5531,#5533,#5535,#5537));
+-#5539=FACE_OUTER_BOUND('',#5538,.F.);
+-#5541=ORIENTED_EDGE('',*,*,#5540,.T.);
+-#5543=ORIENTED_EDGE('',*,*,#5542,.F.);
+-#5545=ORIENTED_EDGE('',*,*,#5544,.F.);
+-#5547=ORIENTED_EDGE('',*,*,#5546,.F.);
+-#5549=ORIENTED_EDGE('',*,*,#5548,.F.);
+-#5551=ORIENTED_EDGE('',*,*,#5550,.F.);
+-#5552=EDGE_LOOP('',(#5541,#5543,#5545,#5547,#5549,#5551));
+-#5553=FACE_BOUND('',#5552,.F.);
+-#5555=ORIENTED_EDGE('',*,*,#5554,.T.);
+-#5557=ORIENTED_EDGE('',*,*,#5556,.T.);
+-#5558=EDGE_LOOP('',(#5555,#5557));
+-#5559=FACE_BOUND('',#5558,.F.);
+-#5561=ORIENTED_EDGE('',*,*,#5560,.T.);
+-#5563=ORIENTED_EDGE('',*,*,#5562,.T.);
+-#5564=EDGE_LOOP('',(#5561,#5563));
+-#5565=FACE_BOUND('',#5564,.F.);
+-#5567=ORIENTED_EDGE('',*,*,#5566,.T.);
+-#5569=ORIENTED_EDGE('',*,*,#5568,.T.);
+-#5570=EDGE_LOOP('',(#5567,#5569));
+-#5571=FACE_BOUND('',#5570,.F.);
+-#5573=ORIENTED_EDGE('',*,*,#5572,.T.);
+-#5575=ORIENTED_EDGE('',*,*,#5574,.T.);
+-#5576=EDGE_LOOP('',(#5573,#5575));
+-#5577=FACE_BOUND('',#5576,.F.);
+-#5579=ORIENTED_EDGE('',*,*,#5578,.T.);
+-#5581=ORIENTED_EDGE('',*,*,#5580,.T.);
+-#5582=EDGE_LOOP('',(#5579,#5581));
+-#5583=FACE_BOUND('',#5582,.F.);
+-#5585=ORIENTED_EDGE('',*,*,#5584,.T.);
+-#5587=ORIENTED_EDGE('',*,*,#5586,.T.);
+-#5588=EDGE_LOOP('',(#5585,#5587));
+-#5589=FACE_BOUND('',#5588,.F.);
+-#5591=ORIENTED_EDGE('',*,*,#5590,.T.);
+-#5593=ORIENTED_EDGE('',*,*,#5592,.T.);
+-#5594=EDGE_LOOP('',(#5591,#5593));
+-#5595=FACE_BOUND('',#5594,.F.);
+-#5597=ORIENTED_EDGE('',*,*,#5596,.T.);
+-#5599=ORIENTED_EDGE('',*,*,#5598,.T.);
+-#5600=EDGE_LOOP('',(#5597,#5599));
+-#5601=FACE_BOUND('',#5600,.F.);
+-#5603=ORIENTED_EDGE('',*,*,#5602,.T.);
+-#5605=ORIENTED_EDGE('',*,*,#5604,.T.);
+-#5606=EDGE_LOOP('',(#5603,#5605));
+-#5607=FACE_BOUND('',#5606,.F.);
+-#5609=ORIENTED_EDGE('',*,*,#5608,.T.);
+-#5611=ORIENTED_EDGE('',*,*,#5610,.T.);
+-#5612=EDGE_LOOP('',(#5609,#5611));
+-#5613=FACE_BOUND('',#5612,.F.);
+-#5615=ORIENTED_EDGE('',*,*,#5614,.T.);
+-#5617=ORIENTED_EDGE('',*,*,#5616,.T.);
+-#5618=EDGE_LOOP('',(#5615,#5617));
+-#5619=FACE_BOUND('',#5618,.F.);
+-#5621=ORIENTED_EDGE('',*,*,#5620,.T.);
+-#5623=ORIENTED_EDGE('',*,*,#5622,.T.);
+-#5624=EDGE_LOOP('',(#5621,#5623));
+-#5625=FACE_BOUND('',#5624,.F.);
+-#5627=ORIENTED_EDGE('',*,*,#5626,.T.);
+-#5629=ORIENTED_EDGE('',*,*,#5628,.T.);
+-#5630=EDGE_LOOP('',(#5627,#5629));
+-#5631=FACE_BOUND('',#5630,.F.);
+-#5633=ORIENTED_EDGE('',*,*,#5632,.T.);
+-#5635=ORIENTED_EDGE('',*,*,#5634,.T.);
+-#5636=EDGE_LOOP('',(#5633,#5635));
+-#5637=FACE_BOUND('',#5636,.F.);
+-#5639=ORIENTED_EDGE('',*,*,#5638,.T.);
+-#5641=ORIENTED_EDGE('',*,*,#5640,.F.);
+-#5643=ORIENTED_EDGE('',*,*,#5642,.F.);
+-#5645=ORIENTED_EDGE('',*,*,#5644,.F.);
+-#5647=ORIENTED_EDGE('',*,*,#5646,.F.);
+-#5649=ORIENTED_EDGE('',*,*,#5648,.F.);
+-#5651=ORIENTED_EDGE('',*,*,#5650,.F.);
+-#5653=ORIENTED_EDGE('',*,*,#5652,.F.);
+-#5654=EDGE_LOOP('',(#5639,#5641,#5643,#5645,#5647,#5649,#5651,#5653));
+-#5655=FACE_BOUND('',#5654,.F.);
+-#5657=ORIENTED_EDGE('',*,*,#5656,.F.);
+-#5659=ORIENTED_EDGE('',*,*,#5658,.F.);
+-#5661=ORIENTED_EDGE('',*,*,#5660,.T.);
+-#5663=ORIENTED_EDGE('',*,*,#5662,.F.);
+-#5665=ORIENTED_EDGE('',*,*,#5664,.F.);
+-#5667=ORIENTED_EDGE('',*,*,#5666,.F.);
+-#5669=ORIENTED_EDGE('',*,*,#5668,.T.);
+-#5671=ORIENTED_EDGE('',*,*,#5670,.F.);
+-#5673=ORIENTED_EDGE('',*,*,#5672,.T.);
+-#5675=ORIENTED_EDGE('',*,*,#5674,.F.);
+-#5677=ORIENTED_EDGE('',*,*,#5676,.T.);
+-#5679=ORIENTED_EDGE('',*,*,#5678,.F.);
+-#5681=ORIENTED_EDGE('',*,*,#5680,.F.);
+-#5683=ORIENTED_EDGE('',*,*,#5682,.T.);
+-#5685=ORIENTED_EDGE('',*,*,#5684,.F.);
+-#5687=ORIENTED_EDGE('',*,*,#5686,.F.);
+-#5688=EDGE_LOOP('',(#5657,#5659,#5661,#5663,#5665,#5667,#5669,#5671,#5673,#5675,
+-#5677,#5679,#5681,#5683,#5685,#5687));
+-#5689=FACE_BOUND('',#5688,.F.);
+-#5691=ORIENTED_EDGE('',*,*,#5690,.T.);
+-#5693=ORIENTED_EDGE('',*,*,#5692,.T.);
+-#5694=EDGE_LOOP('',(#5691,#5693));
+-#5695=FACE_BOUND('',#5694,.F.);
+-#5697=ORIENTED_EDGE('',*,*,#5696,.T.);
+-#5699=ORIENTED_EDGE('',*,*,#5698,.T.);
+-#5700=EDGE_LOOP('',(#5697,#5699));
+-#5701=FACE_BOUND('',#5700,.F.);
+-#5703=ORIENTED_EDGE('',*,*,#5702,.T.);
+-#5705=ORIENTED_EDGE('',*,*,#5704,.T.);
+-#5706=EDGE_LOOP('',(#5703,#5705));
+-#5707=FACE_BOUND('',#5706,.F.);
+-#5709=ORIENTED_EDGE('',*,*,#5708,.T.);
+-#5711=ORIENTED_EDGE('',*,*,#5710,.T.);
+-#5712=EDGE_LOOP('',(#5709,#5711));
+-#5713=FACE_BOUND('',#5712,.F.);
+-#5715=ORIENTED_EDGE('',*,*,#5714,.T.);
+-#5717=ORIENTED_EDGE('',*,*,#5716,.T.);
+-#5718=EDGE_LOOP('',(#5715,#5717));
+-#5719=FACE_BOUND('',#5718,.F.);
+-#5721=ORIENTED_EDGE('',*,*,#5720,.T.);
+-#5723=ORIENTED_EDGE('',*,*,#5722,.T.);
+-#5724=EDGE_LOOP('',(#5721,#5723));
+-#5725=FACE_BOUND('',#5724,.F.);
+-#5727=ORIENTED_EDGE('',*,*,#5726,.T.);
+-#5729=ORIENTED_EDGE('',*,*,#5728,.T.);
+-#5731=ORIENTED_EDGE('',*,*,#5730,.T.);
+-#5733=ORIENTED_EDGE('',*,*,#5732,.T.);
+-#5734=EDGE_LOOP('',(#5727,#5729,#5731,#5733));
+-#5735=FACE_BOUND('',#5734,.F.);
+-#5737=ORIENTED_EDGE('',*,*,#5736,.T.);
+-#5739=ORIENTED_EDGE('',*,*,#5738,.F.);
+-#5741=ORIENTED_EDGE('',*,*,#5740,.T.);
+-#5743=ORIENTED_EDGE('',*,*,#5742,.T.);
+-#5745=ORIENTED_EDGE('',*,*,#5744,.F.);
+-#5746=EDGE_LOOP('',(#5737,#5739,#5741,#5743,#5745));
+-#5747=FACE_BOUND('',#5746,.F.);
+-#5749=ORIENTED_EDGE('',*,*,#5748,.F.);
+-#5751=ORIENTED_EDGE('',*,*,#5750,.T.);
+-#5753=ORIENTED_EDGE('',*,*,#5752,.T.);
+-#5755=ORIENTED_EDGE('',*,*,#5754,.T.);
+-#5757=ORIENTED_EDGE('',*,*,#5756,.F.);
+-#5759=ORIENTED_EDGE('',*,*,#5758,.T.);
+-#5761=ORIENTED_EDGE('',*,*,#5760,.F.);
+-#5763=ORIENTED_EDGE('',*,*,#5762,.T.);
+-#5765=ORIENTED_EDGE('',*,*,#5764,.F.);
+-#5767=ORIENTED_EDGE('',*,*,#5766,.T.);
+-#5769=ORIENTED_EDGE('',*,*,#5768,.F.);
+-#5771=ORIENTED_EDGE('',*,*,#5770,.T.);
+-#5773=ORIENTED_EDGE('',*,*,#5772,.F.);
+-#5775=ORIENTED_EDGE('',*,*,#5774,.T.);
+-#5776=EDGE_LOOP('',(#5749,#5751,#5753,#5755,#5757,#5759,#5761,#5763,#5765,#5767,
+-#5769,#5771,#5773,#5775));
+-#5777=FACE_BOUND('',#5776,.F.);
+-#5779=ORIENTED_EDGE('',*,*,#5778,.T.);
+-#5781=ORIENTED_EDGE('',*,*,#5780,.T.);
+-#5783=ORIENTED_EDGE('',*,*,#5782,.T.);
+-#5785=ORIENTED_EDGE('',*,*,#5784,.T.);
+-#5786=EDGE_LOOP('',(#5779,#5781,#5783,#5785));
+-#5787=FACE_BOUND('',#5786,.F.);
+-#5789=ORIENTED_EDGE('',*,*,#5788,.T.);
+-#5791=ORIENTED_EDGE('',*,*,#5790,.T.);
+-#5793=ORIENTED_EDGE('',*,*,#5792,.T.);
+-#5795=ORIENTED_EDGE('',*,*,#5794,.T.);
+-#5796=EDGE_LOOP('',(#5789,#5791,#5793,#5795));
+-#5797=FACE_BOUND('',#5796,.F.);
+-#5799=ORIENTED_EDGE('',*,*,#5798,.T.);
+-#5801=ORIENTED_EDGE('',*,*,#5800,.T.);
+-#5803=ORIENTED_EDGE('',*,*,#5802,.T.);
+-#5805=ORIENTED_EDGE('',*,*,#5804,.T.);
+-#5806=EDGE_LOOP('',(#5799,#5801,#5803,#5805));
+-#5807=FACE_BOUND('',#5806,.F.);
+-#5809=ORIENTED_EDGE('',*,*,#5808,.T.);
+-#5811=ORIENTED_EDGE('',*,*,#5810,.T.);
+-#5813=ORIENTED_EDGE('',*,*,#5812,.T.);
+-#5815=ORIENTED_EDGE('',*,*,#5814,.T.);
+-#5816=EDGE_LOOP('',(#5809,#5811,#5813,#5815));
+-#5817=FACE_BOUND('',#5816,.F.);
+-#5819=ORIENTED_EDGE('',*,*,#5818,.F.);
+-#5821=ORIENTED_EDGE('',*,*,#5820,.F.);
+-#5823=ORIENTED_EDGE('',*,*,#5822,.F.);
+-#5825=ORIENTED_EDGE('',*,*,#5824,.F.);
+-#5826=EDGE_LOOP('',(#5819,#5821,#5823,#5825));
+-#5827=FACE_BOUND('',#5826,.F.);
+-#5829=ORIENTED_EDGE('',*,*,#5828,.F.);
+-#5831=ORIENTED_EDGE('',*,*,#5830,.F.);
+-#5833=ORIENTED_EDGE('',*,*,#5832,.F.);
+-#5835=ORIENTED_EDGE('',*,*,#5834,.F.);
+-#5836=EDGE_LOOP('',(#5829,#5831,#5833,#5835));
+-#5837=FACE_BOUND('',#5836,.F.);
+-#5839=ORIENTED_EDGE('',*,*,#5838,.F.);
+-#5841=ORIENTED_EDGE('',*,*,#5840,.F.);
+-#5843=ORIENTED_EDGE('',*,*,#5842,.F.);
+-#5845=ORIENTED_EDGE('',*,*,#5844,.F.);
+-#5846=EDGE_LOOP('',(#5839,#5841,#5843,#5845));
+-#5847=FACE_BOUND('',#5846,.F.);
+-#5849=ORIENTED_EDGE('',*,*,#5848,.F.);
+-#5851=ORIENTED_EDGE('',*,*,#5850,.F.);
+-#5853=ORIENTED_EDGE('',*,*,#5852,.F.);
+-#5855=ORIENTED_EDGE('',*,*,#5854,.F.);
+-#5856=EDGE_LOOP('',(#5849,#5851,#5853,#5855));
+-#5857=FACE_BOUND('',#5856,.F.);
+-#5859=ORIENTED_EDGE('',*,*,#5858,.F.);
+-#5861=ORIENTED_EDGE('',*,*,#5860,.F.);
+-#5863=ORIENTED_EDGE('',*,*,#5862,.F.);
+-#5865=ORIENTED_EDGE('',*,*,#5864,.F.);
+-#5866=EDGE_LOOP('',(#5859,#5861,#5863,#5865));
+-#5867=FACE_BOUND('',#5866,.F.);
+-#5869=ORIENTED_EDGE('',*,*,#5868,.F.);
+-#5871=ORIENTED_EDGE('',*,*,#5870,.F.);
+-#5873=ORIENTED_EDGE('',*,*,#5872,.F.);
+-#5875=ORIENTED_EDGE('',*,*,#5874,.F.);
+-#5876=EDGE_LOOP('',(#5869,#5871,#5873,#5875));
+-#5877=FACE_BOUND('',#5876,.F.);
+-#5879=ORIENTED_EDGE('',*,*,#5878,.T.);
+-#5881=ORIENTED_EDGE('',*,*,#5880,.T.);
+-#5883=ORIENTED_EDGE('',*,*,#5882,.T.);
+-#5885=ORIENTED_EDGE('',*,*,#5884,.T.);
+-#5886=EDGE_LOOP('',(#5879,#5881,#5883,#5885));
+-#5887=FACE_BOUND('',#5886,.F.);
+-#5889=ORIENTED_EDGE('',*,*,#5888,.F.);
+-#5891=ORIENTED_EDGE('',*,*,#5890,.F.);
+-#5893=ORIENTED_EDGE('',*,*,#5892,.F.);
+-#5895=ORIENTED_EDGE('',*,*,#5894,.F.);
+-#5897=ORIENTED_EDGE('',*,*,#5896,.F.);
+-#5899=ORIENTED_EDGE('',*,*,#5898,.F.);
+-#5901=ORIENTED_EDGE('',*,*,#5900,.F.);
+-#5903=ORIENTED_EDGE('',*,*,#5902,.F.);
+-#5905=ORIENTED_EDGE('',*,*,#5904,.F.);
+-#5907=ORIENTED_EDGE('',*,*,#5906,.F.);
+-#5909=ORIENTED_EDGE('',*,*,#5908,.F.);
+-#5911=ORIENTED_EDGE('',*,*,#5910,.F.);
+-#5913=ORIENTED_EDGE('',*,*,#5912,.F.);
+-#5915=ORIENTED_EDGE('',*,*,#5914,.F.);
+-#5916=EDGE_LOOP('',(#5889,#5891,#5893,#5895,#5897,#5899,#5901,#5903,#5905,#5907,
+-#5909,#5911,#5913,#5915));
+-#5917=FACE_BOUND('',#5916,.F.);
+-#5919=ORIENTED_EDGE('',*,*,#5918,.F.);
+-#5921=ORIENTED_EDGE('',*,*,#5920,.F.);
+-#5923=ORIENTED_EDGE('',*,*,#5922,.F.);
+-#5925=ORIENTED_EDGE('',*,*,#5924,.T.);
+-#5927=ORIENTED_EDGE('',*,*,#5926,.F.);
+-#5928=EDGE_LOOP('',(#5919,#5921,#5923,#5925,#5927));
+-#5929=FACE_BOUND('',#5928,.F.);
+-#5931=ORIENTED_EDGE('',*,*,#5930,.F.);
+-#5933=ORIENTED_EDGE('',*,*,#5932,.F.);
+-#5935=ORIENTED_EDGE('',*,*,#5934,.F.);
+-#5937=ORIENTED_EDGE('',*,*,#5936,.T.);
+-#5939=ORIENTED_EDGE('',*,*,#5938,.F.);
+-#5940=EDGE_LOOP('',(#5931,#5933,#5935,#5937,#5939));
+-#5941=FACE_BOUND('',#5940,.F.);
+-#5943=ORIENTED_EDGE('',*,*,#5942,.T.);
+-#5945=ORIENTED_EDGE('',*,*,#5944,.F.);
+-#5947=ORIENTED_EDGE('',*,*,#5946,.T.);
+-#5949=ORIENTED_EDGE('',*,*,#5948,.T.);
+-#5951=ORIENTED_EDGE('',*,*,#5950,.F.);
+-#5952=EDGE_LOOP('',(#5943,#5945,#5947,#5949,#5951));
+-#5953=FACE_BOUND('',#5952,.F.);
+-#5954=ADVANCED_FACE('',(#5539,#5553,#5559,#5565,#5571,#5577,#5583,#5589,#5595,
+-#5601,#5607,#5613,#5619,#5625,#5631,#5637,#5655,#5689,#5695,#5701,#5707,#5713,
+-#5719,#5725,#5735,#5747,#5777,#5787,#5797,#5807,#5817,#5827,#5837,#5847,#5857,
+-#5867,#5877,#5887,#5917,#5929,#5941,#5953),#5493,.F.);
+-#5955=CARTESIAN_POINT('',(0.E0,0.E0,8.E0));
+-#5956=DIRECTION('',(0.E0,0.E0,1.E0));
+-#5957=DIRECTION('',(1.E0,0.E0,0.E0));
+-#5958=AXIS2_PLACEMENT_3D('',#5955,#5956,#5957);
+-#5959=PLANE('',#5958);
+-#5960=ORIENTED_EDGE('',*,*,#5540,.F.);
+-#5962=ORIENTED_EDGE('',*,*,#5961,.T.);
+-#5964=ORIENTED_EDGE('',*,*,#5963,.F.);
+-#5966=ORIENTED_EDGE('',*,*,#5965,.F.);
+-#5967=ORIENTED_EDGE('',*,*,#5494,.T.);
+-#5969=ORIENTED_EDGE('',*,*,#5968,.F.);
+-#5971=ORIENTED_EDGE('',*,*,#5970,.F.);
+-#5973=ORIENTED_EDGE('',*,*,#5972,.T.);
+-#5975=ORIENTED_EDGE('',*,*,#5974,.F.);
+-#5977=ORIENTED_EDGE('',*,*,#5976,.F.);
+-#5979=ORIENTED_EDGE('',*,*,#5978,.F.);
+-#5981=ORIENTED_EDGE('',*,*,#5980,.T.);
+-#5983=ORIENTED_EDGE('',*,*,#5982,.T.);
+-#5985=ORIENTED_EDGE('',*,*,#5984,.F.);
+-#5986=ORIENTED_EDGE('',*,*,#5510,.F.);
+-#5988=ORIENTED_EDGE('',*,*,#5987,.F.);
+-#5990=ORIENTED_EDGE('',*,*,#5989,.F.);
+-#5992=ORIENTED_EDGE('',*,*,#5991,.T.);
+-#5993=EDGE_LOOP('',(#5960,#5962,#5964,#5966,#5967,#5969,#5971,#5973,#5975,#5977,
+-#5979,#5981,#5983,#5985,#5986,#5988,#5990,#5992));
+-#5994=FACE_OUTER_BOUND('',#5993,.F.);
+-#5996=ORIENTED_EDGE('',*,*,#5995,.T.);
+-#5998=ORIENTED_EDGE('',*,*,#5997,.T.);
+-#5999=EDGE_LOOP('',(#5996,#5998));
+-#6000=FACE_BOUND('',#5999,.F.);
+-#6002=ORIENTED_EDGE('',*,*,#6001,.T.);
+-#6004=ORIENTED_EDGE('',*,*,#6003,.T.);
+-#6005=EDGE_LOOP('',(#6002,#6004));
+-#6006=FACE_BOUND('',#6005,.F.);
+-#6008=ORIENTED_EDGE('',*,*,#6007,.T.);
+-#6010=ORIENTED_EDGE('',*,*,#6009,.T.);
+-#6011=EDGE_LOOP('',(#6008,#6010));
+-#6012=FACE_BOUND('',#6011,.F.);
+-#6014=ORIENTED_EDGE('',*,*,#6013,.T.);
+-#6016=ORIENTED_EDGE('',*,*,#6015,.T.);
+-#6017=EDGE_LOOP('',(#6014,#6016));
+-#6018=FACE_BOUND('',#6017,.F.);
+-#6020=ORIENTED_EDGE('',*,*,#6019,.F.);
+-#6022=ORIENTED_EDGE('',*,*,#6021,.F.);
+-#6023=EDGE_LOOP('',(#6020,#6022));
+-#6024=FACE_BOUND('',#6023,.F.);
+-#6026=ORIENTED_EDGE('',*,*,#6025,.F.);
+-#6028=ORIENTED_EDGE('',*,*,#6027,.F.);
+-#6029=EDGE_LOOP('',(#6026,#6028));
+-#6030=FACE_BOUND('',#6029,.F.);
+-#6032=ORIENTED_EDGE('',*,*,#6031,.F.);
+-#6034=ORIENTED_EDGE('',*,*,#6033,.F.);
+-#6035=EDGE_LOOP('',(#6032,#6034));
+-#6036=FACE_BOUND('',#6035,.F.);
+-#6038=ORIENTED_EDGE('',*,*,#6037,.F.);
+-#6040=ORIENTED_EDGE('',*,*,#6039,.F.);
+-#6041=EDGE_LOOP('',(#6038,#6040));
+-#6042=FACE_BOUND('',#6041,.F.);
+-#6044=ORIENTED_EDGE('',*,*,#6043,.T.);
+-#6046=ORIENTED_EDGE('',*,*,#6045,.F.);
+-#6048=ORIENTED_EDGE('',*,*,#6047,.T.);
+-#6050=ORIENTED_EDGE('',*,*,#6049,.F.);
+-#6052=ORIENTED_EDGE('',*,*,#6051,.T.);
+-#6054=ORIENTED_EDGE('',*,*,#6053,.F.);
+-#6056=ORIENTED_EDGE('',*,*,#6055,.T.);
+-#6058=ORIENTED_EDGE('',*,*,#6057,.F.);
+-#6059=EDGE_LOOP('',(#6044,#6046,#6048,#6050,#6052,#6054,#6056,#6058));
+-#6060=FACE_BOUND('',#6059,.F.);
+-#6062=ORIENTED_EDGE('',*,*,#6061,.F.);
+-#6064=ORIENTED_EDGE('',*,*,#6063,.F.);
+-#6066=ORIENTED_EDGE('',*,*,#6065,.F.);
+-#6068=ORIENTED_EDGE('',*,*,#6067,.F.);
+-#6070=ORIENTED_EDGE('',*,*,#6069,.F.);
+-#6072=ORIENTED_EDGE('',*,*,#6071,.F.);
+-#6074=ORIENTED_EDGE('',*,*,#6073,.F.);
+-#6076=ORIENTED_EDGE('',*,*,#6075,.F.);
+-#6077=EDGE_LOOP('',(#6062,#6064,#6066,#6068,#6070,#6072,#6074,#6076));
+-#6078=FACE_BOUND('',#6077,.F.);
+-#6079=ADVANCED_FACE('',(#5994,#6000,#6006,#6012,#6018,#6024,#6030,#6036,#6042,
+-#6060,#6078),#5959,.F.);
+-#6080=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0));
+-#6081=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#6082=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6083=AXIS2_PLACEMENT_3D('',#6080,#6081,#6082);
+-#6084=CYLINDRICAL_SURFACE('',#6083,9.5E-2);
+-#6085=ORIENTED_EDGE('',*,*,#5995,.F.);
+-#6087=ORIENTED_EDGE('',*,*,#6086,.T.);
+-#6089=ORIENTED_EDGE('',*,*,#6088,.T.);
+-#6091=ORIENTED_EDGE('',*,*,#6090,.F.);
+-#6092=EDGE_LOOP('',(#6085,#6087,#6089,#6091));
+-#6093=FACE_OUTER_BOUND('',#6092,.F.);
+-#6094=ADVANCED_FACE('',(#6093),#6084,.F.);
+-#6095=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0));
+-#6096=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#6097=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6098=AXIS2_PLACEMENT_3D('',#6095,#6096,#6097);
+-#6099=CYLINDRICAL_SURFACE('',#6098,9.5E-2);
+-#6100=ORIENTED_EDGE('',*,*,#5997,.F.);
+-#6101=ORIENTED_EDGE('',*,*,#6090,.T.);
+-#6103=ORIENTED_EDGE('',*,*,#6102,.T.);
+-#6104=ORIENTED_EDGE('',*,*,#6086,.F.);
+-#6105=EDGE_LOOP('',(#6100,#6101,#6103,#6104));
+-#6106=FACE_OUTER_BOUND('',#6105,.F.);
+-#6107=ADVANCED_FACE('',(#6106),#6099,.F.);
+-#6108=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0));
+-#6109=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#6110=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6111=AXIS2_PLACEMENT_3D('',#6108,#6109,#6110);
+-#6112=PLANE('',#6111);
+-#6113=ORIENTED_EDGE('',*,*,#6088,.F.);
+-#6114=ORIENTED_EDGE('',*,*,#6102,.F.);
+-#6115=EDGE_LOOP('',(#6113,#6114));
+-#6116=FACE_OUTER_BOUND('',#6115,.F.);
+-#6117=ADVANCED_FACE('',(#6116),#6112,.T.);
+-#6118=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0));
+-#6119=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#6120=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6121=AXIS2_PLACEMENT_3D('',#6118,#6119,#6120);
+-#6122=CYLINDRICAL_SURFACE('',#6121,1.625E-1);
+-#6123=ORIENTED_EDGE('',*,*,#6001,.F.);
+-#6125=ORIENTED_EDGE('',*,*,#6124,.T.);
+-#6127=ORIENTED_EDGE('',*,*,#6126,.T.);
+-#6129=ORIENTED_EDGE('',*,*,#6128,.F.);
+-#6130=EDGE_LOOP('',(#6123,#6125,#6127,#6129));
+-#6131=FACE_OUTER_BOUND('',#6130,.F.);
+-#6132=ADVANCED_FACE('',(#6131),#6122,.F.);
+-#6133=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0));
+-#6134=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#6135=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6136=AXIS2_PLACEMENT_3D('',#6133,#6134,#6135);
+-#6137=CYLINDRICAL_SURFACE('',#6136,1.625E-1);
+-#6138=ORIENTED_EDGE('',*,*,#6003,.F.);
+-#6139=ORIENTED_EDGE('',*,*,#6128,.T.);
+-#6141=ORIENTED_EDGE('',*,*,#6140,.T.);
+-#6142=ORIENTED_EDGE('',*,*,#6124,.F.);
+-#6143=EDGE_LOOP('',(#6138,#6139,#6141,#6142));
+-#6144=FACE_OUTER_BOUND('',#6143,.F.);
+-#6145=ADVANCED_FACE('',(#6144),#6137,.F.);
+-#6146=CARTESIAN_POINT('',(2.4E1,0.E0,1.E1));
+-#6147=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#6148=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6149=AXIS2_PLACEMENT_3D('',#6146,#6147,#6148);
+-#6150=PLANE('',#6149);
+-#6152=ORIENTED_EDGE('',*,*,#6151,.T.);
+-#6154=ORIENTED_EDGE('',*,*,#6153,.T.);
+-#6156=ORIENTED_EDGE('',*,*,#6155,.F.);
+-#6158=ORIENTED_EDGE('',*,*,#6157,.F.);
+-#6160=ORIENTED_EDGE('',*,*,#6159,.T.);
+-#6162=ORIENTED_EDGE('',*,*,#6161,.T.);
+-#6164=ORIENTED_EDGE('',*,*,#6163,.T.);
+-#6166=ORIENTED_EDGE('',*,*,#6165,.T.);
+-#6168=ORIENTED_EDGE('',*,*,#6167,.F.);
+-#6169=EDGE_LOOP('',(#6152,#6154,#6156,#6158,#6160,#6162,#6164,#6166,#6168));
+-#6170=FACE_OUTER_BOUND('',#6169,.F.);
+-#6171=ORIENTED_EDGE('',*,*,#6126,.F.);
+-#6172=ORIENTED_EDGE('',*,*,#6140,.F.);
+-#6173=EDGE_LOOP('',(#6171,#6172));
+-#6174=FACE_BOUND('',#6173,.F.);
+-#6176=ORIENTED_EDGE('',*,*,#6175,.F.);
+-#6178=ORIENTED_EDGE('',*,*,#6177,.F.);
+-#6180=ORIENTED_EDGE('',*,*,#6179,.F.);
+-#6182=ORIENTED_EDGE('',*,*,#6181,.F.);
+-#6184=ORIENTED_EDGE('',*,*,#6183,.F.);
+-#6186=ORIENTED_EDGE('',*,*,#6185,.F.);
+-#6188=ORIENTED_EDGE('',*,*,#6187,.F.);
+-#6190=ORIENTED_EDGE('',*,*,#6189,.F.);
+-#6192=ORIENTED_EDGE('',*,*,#6191,.F.);
+-#6194=ORIENTED_EDGE('',*,*,#6193,.F.);
+-#6196=ORIENTED_EDGE('',*,*,#6195,.F.);
+-#6198=ORIENTED_EDGE('',*,*,#6197,.F.);
+-#6199=EDGE_LOOP('',(#6176,#6178,#6180,#6182,#6184,#6186,#6188,#6190,#6192,#6194,
+-#6196,#6198));
+-#6200=FACE_BOUND('',#6199,.F.);
+-#6201=ADVANCED_FACE('',(#6170,#6174,#6200),#6150,.F.);
+-#6202=CARTESIAN_POINT('',(2.375E1,1.5E0,1.2E1));
+-#6203=DIRECTION('',(1.E0,0.E0,0.E0));
+-#6204=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#6205=AXIS2_PLACEMENT_3D('',#6202,#6203,#6204);
+-#6206=PLANE('',#6205);
+-#6208=ORIENTED_EDGE('',*,*,#6207,.F.);
+-#6210=ORIENTED_EDGE('',*,*,#6209,.F.);
+-#6211=ORIENTED_EDGE('',*,*,#6151,.F.);
+-#6212=EDGE_LOOP('',(#6208,#6210,#6211));
+-#6213=FACE_OUTER_BOUND('',#6212,.F.);
+-#6214=ADVANCED_FACE('',(#6213),#6206,.T.);
+-#6215=CARTESIAN_POINT('',(0.E0,1.5E0,0.E0));
+-#6216=DIRECTION('',(0.E0,1.E0,0.E0));
+-#6217=DIRECTION('',(1.E0,0.E0,0.E0));
+-#6218=AXIS2_PLACEMENT_3D('',#6215,#6216,#6217);
+-#6219=PLANE('',#6218);
+-#6220=ORIENTED_EDGE('',*,*,#5963,.T.);
+-#6222=ORIENTED_EDGE('',*,*,#6221,.F.);
+-#6224=ORIENTED_EDGE('',*,*,#6223,.F.);
+-#6226=ORIENTED_EDGE('',*,*,#6225,.T.);
+-#6228=ORIENTED_EDGE('',*,*,#6227,.F.);
+-#6230=ORIENTED_EDGE('',*,*,#6229,.F.);
+-#6231=ORIENTED_EDGE('',*,*,#5989,.T.);
+-#6233=ORIENTED_EDGE('',*,*,#6232,.F.);
+-#6235=ORIENTED_EDGE('',*,*,#6234,.F.);
+-#6237=ORIENTED_EDGE('',*,*,#6236,.T.);
+-#6239=ORIENTED_EDGE('',*,*,#6238,.F.);
+-#6241=ORIENTED_EDGE('',*,*,#6240,.T.);
+-#6243=ORIENTED_EDGE('',*,*,#6242,.F.);
+-#6245=ORIENTED_EDGE('',*,*,#6244,.F.);
+-#6246=EDGE_LOOP('',(#6220,#6222,#6224,#6226,#6228,#6230,#6231,#6233,#6235,#6237,
+-#6239,#6241,#6243,#6245));
+-#6247=FACE_OUTER_BOUND('',#6246,.F.);
+-#6249=ORIENTED_EDGE('',*,*,#6248,.F.);
+-#6251=ORIENTED_EDGE('',*,*,#6250,.F.);
+-#6252=EDGE_LOOP('',(#6249,#6251));
+-#6253=FACE_BOUND('',#6252,.F.);
+-#6255=ORIENTED_EDGE('',*,*,#6254,.F.);
+-#6257=ORIENTED_EDGE('',*,*,#6256,.F.);
+-#6258=EDGE_LOOP('',(#6255,#6257));
+-#6259=FACE_BOUND('',#6258,.F.);
+-#6261=ORIENTED_EDGE('',*,*,#6260,.F.);
+-#6263=ORIENTED_EDGE('',*,*,#6262,.F.);
+-#6264=EDGE_LOOP('',(#6261,#6263));
+-#6265=FACE_BOUND('',#6264,.F.);
+-#6267=ORIENTED_EDGE('',*,*,#6266,.F.);
+-#6269=ORIENTED_EDGE('',*,*,#6268,.F.);
+-#6270=EDGE_LOOP('',(#6267,#6269));
+-#6271=FACE_BOUND('',#6270,.F.);
+-#6273=ORIENTED_EDGE('',*,*,#6272,.F.);
+-#6275=ORIENTED_EDGE('',*,*,#6274,.F.);
+-#6276=EDGE_LOOP('',(#6273,#6275));
+-#6277=FACE_BOUND('',#6276,.F.);
+-#6278=ADVANCED_FACE('',(#6247,#6253,#6259,#6265,#6271,#6277),#6219,.T.);
+-#6279=CARTESIAN_POINT('',(0.E0,1.5E0,0.E0));
+-#6280=DIRECTION('',(0.E0,1.E0,0.E0));
+-#6281=DIRECTION('',(1.E0,0.E0,0.E0));
+-#6282=AXIS2_PLACEMENT_3D('',#6279,#6280,#6281);
+-#6283=PLANE('',#6282);
+-#6284=ORIENTED_EDGE('',*,*,#6207,.T.);
+-#6285=ORIENTED_EDGE('',*,*,#6167,.T.);
+-#6287=ORIENTED_EDGE('',*,*,#6286,.T.);
+-#6289=ORIENTED_EDGE('',*,*,#6288,.F.);
+-#6291=ORIENTED_EDGE('',*,*,#6290,.T.);
+-#6293=ORIENTED_EDGE('',*,*,#6292,.F.);
+-#6295=ORIENTED_EDGE('',*,*,#6294,.F.);
+-#6297=ORIENTED_EDGE('',*,*,#6296,.T.);
+-#6299=ORIENTED_EDGE('',*,*,#6298,.F.);
+-#6301=ORIENTED_EDGE('',*,*,#6300,.T.);
+-#6303=ORIENTED_EDGE('',*,*,#6302,.F.);
+-#6305=ORIENTED_EDGE('',*,*,#6304,.F.);
+-#6307=ORIENTED_EDGE('',*,*,#6306,.F.);
+-#6309=ORIENTED_EDGE('',*,*,#6308,.T.);
+-#6311=ORIENTED_EDGE('',*,*,#6310,.F.);
+-#6313=ORIENTED_EDGE('',*,*,#6312,.T.);
+-#6315=ORIENTED_EDGE('',*,*,#6314,.F.);
+-#6317=ORIENTED_EDGE('',*,*,#6316,.T.);
+-#6319=ORIENTED_EDGE('',*,*,#6318,.T.);
+-#6321=ORIENTED_EDGE('',*,*,#6320,.T.);
+-#6323=ORIENTED_EDGE('',*,*,#6322,.F.);
+-#6324=ORIENTED_EDGE('',*,*,#5976,.T.);
+-#6326=ORIENTED_EDGE('',*,*,#6325,.T.);
+-#6327=ORIENTED_EDGE('',*,*,#6157,.T.);
+-#6329=ORIENTED_EDGE('',*,*,#6328,.F.);
+-#6331=ORIENTED_EDGE('',*,*,#6330,.F.);
+-#6332=EDGE_LOOP('',(#6284,#6285,#6287,#6289,#6291,#6293,#6295,#6297,#6299,#6301,
+-#6303,#6305,#6307,#6309,#6311,#6313,#6315,#6317,#6319,#6321,#6323,#6324,#6326,
+-#6327,#6329,#6331));
+-#6333=FACE_OUTER_BOUND('',#6332,.F.);
+-#6335=ORIENTED_EDGE('',*,*,#6334,.F.);
+-#6337=ORIENTED_EDGE('',*,*,#6336,.F.);
+-#6338=EDGE_LOOP('',(#6335,#6337));
+-#6339=FACE_BOUND('',#6338,.F.);
+-#6341=ORIENTED_EDGE('',*,*,#6340,.F.);
+-#6343=ORIENTED_EDGE('',*,*,#6342,.F.);
+-#6344=EDGE_LOOP('',(#6341,#6343));
+-#6345=FACE_BOUND('',#6344,.F.);
+-#6347=ORIENTED_EDGE('',*,*,#6346,.T.);
+-#6349=ORIENTED_EDGE('',*,*,#6348,.T.);
+-#6350=EDGE_LOOP('',(#6347,#6349));
+-#6351=FACE_BOUND('',#6350,.F.);
+-#6353=ORIENTED_EDGE('',*,*,#6352,.T.);
+-#6355=ORIENTED_EDGE('',*,*,#6354,.T.);
+-#6356=EDGE_LOOP('',(#6353,#6355));
+-#6357=FACE_BOUND('',#6356,.F.);
+-#6359=ORIENTED_EDGE('',*,*,#6358,.F.);
+-#6361=ORIENTED_EDGE('',*,*,#6360,.F.);
+-#6362=EDGE_LOOP('',(#6359,#6361));
+-#6363=FACE_BOUND('',#6362,.F.);
+-#6365=ORIENTED_EDGE('',*,*,#6364,.F.);
+-#6367=ORIENTED_EDGE('',*,*,#6366,.F.);
+-#6368=EDGE_LOOP('',(#6365,#6367));
+-#6369=FACE_BOUND('',#6368,.F.);
+-#6371=ORIENTED_EDGE('',*,*,#6370,.F.);
+-#6373=ORIENTED_EDGE('',*,*,#6372,.F.);
+-#6374=EDGE_LOOP('',(#6371,#6373));
+-#6375=FACE_BOUND('',#6374,.F.);
+-#6377=ORIENTED_EDGE('',*,*,#6376,.F.);
+-#6379=ORIENTED_EDGE('',*,*,#6378,.F.);
+-#6380=EDGE_LOOP('',(#6377,#6379));
+-#6381=FACE_BOUND('',#6380,.F.);
+-#6383=ORIENTED_EDGE('',*,*,#6382,.F.);
+-#6385=ORIENTED_EDGE('',*,*,#6384,.F.);
+-#6386=EDGE_LOOP('',(#6383,#6385));
+-#6387=FACE_BOUND('',#6386,.F.);
+-#6389=ORIENTED_EDGE('',*,*,#6388,.F.);
+-#6391=ORIENTED_EDGE('',*,*,#6390,.F.);
+-#6392=EDGE_LOOP('',(#6389,#6391));
+-#6393=FACE_BOUND('',#6392,.F.);
+-#6395=ORIENTED_EDGE('',*,*,#6394,.F.);
+-#6397=ORIENTED_EDGE('',*,*,#6396,.F.);
+-#6398=EDGE_LOOP('',(#6395,#6397));
+-#6399=FACE_BOUND('',#6398,.F.);
+-#6401=ORIENTED_EDGE('',*,*,#6400,.T.);
+-#6403=ORIENTED_EDGE('',*,*,#6402,.F.);
+-#6405=ORIENTED_EDGE('',*,*,#6404,.F.);
+-#6407=ORIENTED_EDGE('',*,*,#6406,.F.);
+-#6409=ORIENTED_EDGE('',*,*,#6408,.T.);
+-#6411=ORIENTED_EDGE('',*,*,#6410,.F.);
+-#6413=ORIENTED_EDGE('',*,*,#6412,.T.);
+-#6415=ORIENTED_EDGE('',*,*,#6414,.F.);
+-#6416=EDGE_LOOP('',(#6401,#6403,#6405,#6407,#6409,#6411,#6413,#6415));
+-#6417=FACE_BOUND('',#6416,.F.);
+-#6419=ORIENTED_EDGE('',*,*,#6418,.F.);
+-#6421=ORIENTED_EDGE('',*,*,#6420,.F.);
+-#6423=ORIENTED_EDGE('',*,*,#6422,.T.);
+-#6425=ORIENTED_EDGE('',*,*,#6424,.F.);
+-#6427=ORIENTED_EDGE('',*,*,#6426,.T.);
+-#6429=ORIENTED_EDGE('',*,*,#6428,.F.);
+-#6431=ORIENTED_EDGE('',*,*,#6430,.T.);
+-#6433=ORIENTED_EDGE('',*,*,#6432,.F.);
+-#6435=ORIENTED_EDGE('',*,*,#6434,.F.);
+-#6437=ORIENTED_EDGE('',*,*,#6436,.F.);
+-#6439=ORIENTED_EDGE('',*,*,#6438,.F.);
+-#6441=ORIENTED_EDGE('',*,*,#6440,.T.);
+-#6443=ORIENTED_EDGE('',*,*,#6442,.F.);
+-#6445=ORIENTED_EDGE('',*,*,#6444,.F.);
+-#6447=ORIENTED_EDGE('',*,*,#6446,.T.);
+-#6449=ORIENTED_EDGE('',*,*,#6448,.F.);
+-#6450=EDGE_LOOP('',(#6419,#6421,#6423,#6425,#6427,#6429,#6431,#6433,#6435,#6437,
+-#6439,#6441,#6443,#6445,#6447,#6449));
+-#6451=FACE_BOUND('',#6450,.F.);
+-#6453=ORIENTED_EDGE('',*,*,#6452,.F.);
+-#6455=ORIENTED_EDGE('',*,*,#6454,.F.);
+-#6456=EDGE_LOOP('',(#6453,#6455));
+-#6457=FACE_BOUND('',#6456,.F.);
+-#6459=ORIENTED_EDGE('',*,*,#6458,.F.);
+-#6461=ORIENTED_EDGE('',*,*,#6460,.F.);
+-#6462=EDGE_LOOP('',(#6459,#6461));
+-#6463=FACE_BOUND('',#6462,.F.);
+-#6465=ORIENTED_EDGE('',*,*,#6464,.F.);
+-#6467=ORIENTED_EDGE('',*,*,#6466,.F.);
+-#6468=EDGE_LOOP('',(#6465,#6467));
+-#6469=FACE_BOUND('',#6468,.F.);
+-#6471=ORIENTED_EDGE('',*,*,#6470,.F.);
+-#6473=ORIENTED_EDGE('',*,*,#6472,.F.);
+-#6474=EDGE_LOOP('',(#6471,#6473));
+-#6475=FACE_BOUND('',#6474,.F.);
+-#6477=ORIENTED_EDGE('',*,*,#6476,.F.);
+-#6479=ORIENTED_EDGE('',*,*,#6478,.F.);
+-#6480=EDGE_LOOP('',(#6477,#6479));
+-#6481=FACE_BOUND('',#6480,.F.);
+-#6483=ORIENTED_EDGE('',*,*,#6482,.F.);
+-#6485=ORIENTED_EDGE('',*,*,#6484,.F.);
+-#6486=EDGE_LOOP('',(#6483,#6485));
+-#6487=FACE_BOUND('',#6486,.F.);
+-#6488=ADVANCED_FACE('',(#6333,#6339,#6345,#6351,#6357,#6363,#6369,#6375,#6381,
+-#6387,#6393,#6399,#6417,#6451,#6457,#6463,#6469,#6475,#6481,#6487),#6283,.T.);
+-#6489=CARTESIAN_POINT('',(6.45E0,1.176878221735E0,2.975E1));
+-#6490=DIRECTION('',(0.E0,1.E0,0.E0));
+-#6491=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6492=AXIS2_PLACEMENT_3D('',#6489,#6490,#6491);
+-#6493=CYLINDRICAL_SURFACE('',#6492,1.E-1);
+-#6494=ORIENTED_EDGE('',*,*,#6334,.T.);
+-#6496=ORIENTED_EDGE('',*,*,#6495,.F.);
+-#6498=ORIENTED_EDGE('',*,*,#6497,.F.);
+-#6500=ORIENTED_EDGE('',*,*,#6499,.T.);
+-#6501=EDGE_LOOP('',(#6494,#6496,#6498,#6500));
+-#6502=FACE_OUTER_BOUND('',#6501,.F.);
+-#6503=ADVANCED_FACE('',(#6502),#6493,.F.);
+-#6504=CARTESIAN_POINT('',(6.45E0,1.176878221735E0,2.975E1));
+-#6505=DIRECTION('',(0.E0,1.E0,0.E0));
+-#6506=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6507=AXIS2_PLACEMENT_3D('',#6504,#6505,#6506);
+-#6508=CYLINDRICAL_SURFACE('',#6507,1.E-1);
+-#6509=ORIENTED_EDGE('',*,*,#6336,.T.);
+-#6510=ORIENTED_EDGE('',*,*,#6499,.F.);
+-#6512=ORIENTED_EDGE('',*,*,#6511,.T.);
+-#6513=ORIENTED_EDGE('',*,*,#6495,.T.);
+-#6514=EDGE_LOOP('',(#6509,#6510,#6512,#6513));
+-#6515=FACE_OUTER_BOUND('',#6514,.F.);
+-#6516=ADVANCED_FACE('',(#6515),#6508,.F.);
+-#6517=CARTESIAN_POINT('',(6.45E0,1.234346967234E0,2.975E1));
+-#6518=DIRECTION('',(0.E0,1.E0,0.E0));
+-#6519=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6520=AXIS2_PLACEMENT_3D('',#6517,#6518,#6519);
+-#6521=CONICAL_SURFACE('',#6520,7.288815195685E-2,6.E1);
+-#6523=ORIENTED_EDGE('',*,*,#6522,.T.);
+-#6524=ORIENTED_EDGE('',*,*,#6511,.F.);
+-#6526=ORIENTED_EDGE('',*,*,#6525,.F.);
+-#6527=EDGE_LOOP('',(#6523,#6524,#6526));
+-#6528=FACE_OUTER_BOUND('',#6527,.F.);
+-#6529=ADVANCED_FACE('',(#6528),#6521,.F.);
+-#6530=CARTESIAN_POINT('',(6.45E0,1.234346967234E0,2.975E1));
+-#6531=DIRECTION('',(0.E0,1.E0,0.E0));
+-#6532=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6533=AXIS2_PLACEMENT_3D('',#6530,#6531,#6532);
+-#6534=CONICAL_SURFACE('',#6533,7.288815195685E-2,6.E1);
+-#6535=ORIENTED_EDGE('',*,*,#6522,.F.);
+-#6536=ORIENTED_EDGE('',*,*,#6525,.T.);
+-#6537=ORIENTED_EDGE('',*,*,#6497,.T.);
+-#6538=EDGE_LOOP('',(#6535,#6536,#6537));
+-#6539=FACE_OUTER_BOUND('',#6538,.F.);
+-#6540=ADVANCED_FACE('',(#6539),#6534,.F.);
+-#6541=CARTESIAN_POINT('',(7.45E0,1.176878221735E0,2.975E1));
+-#6542=DIRECTION('',(0.E0,1.E0,0.E0));
+-#6543=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6544=AXIS2_PLACEMENT_3D('',#6541,#6542,#6543);
+-#6545=CYLINDRICAL_SURFACE('',#6544,1.E-1);
+-#6546=ORIENTED_EDGE('',*,*,#6340,.T.);
+-#6548=ORIENTED_EDGE('',*,*,#6547,.F.);
+-#6550=ORIENTED_EDGE('',*,*,#6549,.F.);
+-#6552=ORIENTED_EDGE('',*,*,#6551,.T.);
+-#6553=EDGE_LOOP('',(#6546,#6548,#6550,#6552));
+-#6554=FACE_OUTER_BOUND('',#6553,.F.);
+-#6555=ADVANCED_FACE('',(#6554),#6545,.F.);
+-#6556=CARTESIAN_POINT('',(7.45E0,1.176878221735E0,2.975E1));
+-#6557=DIRECTION('',(0.E0,1.E0,0.E0));
+-#6558=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6559=AXIS2_PLACEMENT_3D('',#6556,#6557,#6558);
+-#6560=CYLINDRICAL_SURFACE('',#6559,1.E-1);
+-#6561=ORIENTED_EDGE('',*,*,#6342,.T.);
+-#6562=ORIENTED_EDGE('',*,*,#6551,.F.);
+-#6564=ORIENTED_EDGE('',*,*,#6563,.T.);
+-#6565=ORIENTED_EDGE('',*,*,#6547,.T.);
+-#6566=EDGE_LOOP('',(#6561,#6562,#6564,#6565));
+-#6567=FACE_OUTER_BOUND('',#6566,.F.);
+-#6568=ADVANCED_FACE('',(#6567),#6560,.F.);
+-#6569=CARTESIAN_POINT('',(7.45E0,1.234346967234E0,2.975E1));
+-#6570=DIRECTION('',(0.E0,1.E0,0.E0));
+-#6571=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6572=AXIS2_PLACEMENT_3D('',#6569,#6570,#6571);
+-#6573=CONICAL_SURFACE('',#6572,7.288815195685E-2,6.E1);
+-#6575=ORIENTED_EDGE('',*,*,#6574,.T.);
+-#6576=ORIENTED_EDGE('',*,*,#6563,.F.);
+-#6578=ORIENTED_EDGE('',*,*,#6577,.F.);
+-#6579=EDGE_LOOP('',(#6575,#6576,#6578));
+-#6580=FACE_OUTER_BOUND('',#6579,.F.);
+-#6581=ADVANCED_FACE('',(#6580),#6573,.F.);
+-#6582=CARTESIAN_POINT('',(7.45E0,1.234346967234E0,2.975E1));
+-#6583=DIRECTION('',(0.E0,1.E0,0.E0));
+-#6584=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6585=AXIS2_PLACEMENT_3D('',#6582,#6583,#6584);
+-#6586=CONICAL_SURFACE('',#6585,7.288815195685E-2,6.E1);
+-#6587=ORIENTED_EDGE('',*,*,#6574,.F.);
+-#6588=ORIENTED_EDGE('',*,*,#6577,.T.);
+-#6589=ORIENTED_EDGE('',*,*,#6549,.T.);
+-#6590=EDGE_LOOP('',(#6587,#6588,#6589));
+-#6591=FACE_OUTER_BOUND('',#6590,.F.);
+-#6592=ADVANCED_FACE('',(#6591),#6586,.F.);
+-#6593=CARTESIAN_POINT('',(2.046862696660E1,-7.805924235695E-2,7.E0));
+-#6594=DIRECTION('',(0.E0,1.E0,0.E0));
+-#6595=DIRECTION('',(0.E0,0.E0,1.E0));
+-#6596=AXIS2_PLACEMENT_3D('',#6593,#6594,#6595);
+-#6597=CYLINDRICAL_SURFACE('',#6596,1.E0);
+-#6598=ORIENTED_EDGE('',*,*,#5961,.F.);
+-#6599=ORIENTED_EDGE('',*,*,#5550,.T.);
+-#6601=ORIENTED_EDGE('',*,*,#6600,.T.);
+-#6602=ORIENTED_EDGE('',*,*,#6221,.T.);
+-#6603=EDGE_LOOP('',(#6598,#6599,#6601,#6602));
+-#6604=FACE_OUTER_BOUND('',#6603,.F.);
+-#6605=ADVANCED_FACE('',(#6604),#6597,.F.);
+-#6606=CARTESIAN_POINT('',(1.65E1,1.562633489099E0,7.5E0));
+-#6607=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#6608=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#6609=AXIS2_PLACEMENT_3D('',#6606,#6607,#6608);
+-#6610=CYLINDRICAL_SURFACE('',#6609,5.E0);
+-#6611=ORIENTED_EDGE('',*,*,#6600,.F.);
+-#6612=ORIENTED_EDGE('',*,*,#5548,.T.);
+-#6614=ORIENTED_EDGE('',*,*,#6613,.F.);
+-#6615=ORIENTED_EDGE('',*,*,#6223,.T.);
+-#6616=EDGE_LOOP('',(#6611,#6612,#6614,#6615));
+-#6617=FACE_OUTER_BOUND('',#6616,.F.);
+-#6618=ADVANCED_FACE('',(#6617),#6610,.F.);
+-#6619=CARTESIAN_POINT('',(2.15E1,1.5E0,2.5E0));
+-#6620=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#6621=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6622=AXIS2_PLACEMENT_3D('',#6619,#6620,#6621);
+-#6623=PLANE('',#6622);
+-#6625=ORIENTED_EDGE('',*,*,#6624,.F.);
+-#6626=ORIENTED_EDGE('',*,*,#6225,.F.);
+-#6627=ORIENTED_EDGE('',*,*,#6613,.T.);
+-#6628=ORIENTED_EDGE('',*,*,#5546,.T.);
+-#6629=EDGE_LOOP('',(#6625,#6626,#6627,#6628));
+-#6630=FACE_OUTER_BOUND('',#6629,.F.);
+-#6631=ADVANCED_FACE('',(#6630),#6623,.F.);
+-#6632=CARTESIAN_POINT('',(7.5E0,1.562633489099E0,7.5E0));
+-#6633=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#6634=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6635=AXIS2_PLACEMENT_3D('',#6632,#6633,#6634);
+-#6636=CYLINDRICAL_SURFACE('',#6635,5.E0);
+-#6638=ORIENTED_EDGE('',*,*,#6637,.F.);
+-#6639=ORIENTED_EDGE('',*,*,#6227,.T.);
+-#6640=ORIENTED_EDGE('',*,*,#6624,.T.);
+-#6641=ORIENTED_EDGE('',*,*,#5544,.T.);
+-#6642=EDGE_LOOP('',(#6638,#6639,#6640,#6641));
+-#6643=FACE_OUTER_BOUND('',#6642,.F.);
+-#6644=ADVANCED_FACE('',(#6643),#6636,.F.);
+-#6645=CARTESIAN_POINT('',(3.531373033403E0,1.157860978230E1,7.E0));
+-#6646=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#6647=DIRECTION('',(0.E0,0.E0,1.E0));
+-#6648=AXIS2_PLACEMENT_3D('',#6645,#6646,#6647);
+-#6649=CYLINDRICAL_SURFACE('',#6648,1.E0);
+-#6650=ORIENTED_EDGE('',*,*,#5991,.F.);
+-#6651=ORIENTED_EDGE('',*,*,#6229,.T.);
+-#6652=ORIENTED_EDGE('',*,*,#6637,.T.);
+-#6653=ORIENTED_EDGE('',*,*,#5542,.T.);
+-#6654=EDGE_LOOP('',(#6650,#6651,#6652,#6653));
+-#6655=FACE_OUTER_BOUND('',#6654,.F.);
+-#6656=ADVANCED_FACE('',(#6655),#6649,.F.);
+-#6657=CARTESIAN_POINT('',(-1.E0,1.161044894892E1,7.E0));
+-#6658=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#6659=DIRECTION('',(1.E0,0.E0,0.E0));
+-#6660=AXIS2_PLACEMENT_3D('',#6657,#6658,#6659);
+-#6661=CYLINDRICAL_SURFACE('',#6660,1.E0);
+-#6663=ORIENTED_EDGE('',*,*,#6662,.F.);
+-#6664=ORIENTED_EDGE('',*,*,#6232,.T.);
+-#6665=ORIENTED_EDGE('',*,*,#5987,.T.);
+-#6666=ORIENTED_EDGE('',*,*,#5508,.T.);
+-#6667=EDGE_LOOP('',(#6663,#6664,#6665,#6666));
+-#6668=FACE_OUTER_BOUND('',#6667,.F.);
+-#6669=ADVANCED_FACE('',(#6668),#6661,.F.);
+-#6670=CARTESIAN_POINT('',(0.E0,0.E0,0.E0));
+-#6671=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6672=DIRECTION('',(0.E0,0.E0,1.E0));
+-#6673=AXIS2_PLACEMENT_3D('',#6670,#6671,#6672);
+-#6674=PLANE('',#6673);
+-#6676=ORIENTED_EDGE('',*,*,#6675,.T.);
+-#6677=ORIENTED_EDGE('',*,*,#6302,.T.);
+-#6679=ORIENTED_EDGE('',*,*,#6678,.F.);
+-#6680=ORIENTED_EDGE('',*,*,#5520,.F.);
+-#6681=EDGE_LOOP('',(#6676,#6677,#6679,#6680));
+-#6682=FACE_OUTER_BOUND('',#6681,.F.);
+-#6683=ADVANCED_FACE('',(#6682),#6674,.T.);
+-#6684=CARTESIAN_POINT('',(0.E0,0.E0,0.E0));
+-#6685=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6686=DIRECTION('',(0.E0,0.E0,1.E0));
+-#6687=AXIS2_PLACEMENT_3D('',#6684,#6685,#6686);
+-#6688=PLANE('',#6687);
+-#6689=ORIENTED_EDGE('',*,*,#6662,.T.);
+-#6690=ORIENTED_EDGE('',*,*,#5506,.F.);
+-#6692=ORIENTED_EDGE('',*,*,#6691,.T.);
+-#6693=ORIENTED_EDGE('',*,*,#6234,.T.);
+-#6694=EDGE_LOOP('',(#6689,#6690,#6692,#6693));
+-#6695=FACE_OUTER_BOUND('',#6694,.F.);
+-#6696=ADVANCED_FACE('',(#6695),#6688,.T.);
+-#6697=CARTESIAN_POINT('',(-1.E0,-5.722942641981E-2,1.325E1));
+-#6698=DIRECTION('',(0.E0,1.E0,0.E0));
+-#6699=DIRECTION('',(1.E0,0.E0,0.E0));
+-#6700=AXIS2_PLACEMENT_3D('',#6697,#6698,#6699);
+-#6701=CYLINDRICAL_SURFACE('',#6700,1.E0);
+-#6702=ORIENTED_EDGE('',*,*,#6675,.F.);
+-#6703=ORIENTED_EDGE('',*,*,#5518,.T.);
+-#6705=ORIENTED_EDGE('',*,*,#6704,.T.);
+-#6706=ORIENTED_EDGE('',*,*,#6304,.T.);
+-#6707=EDGE_LOOP('',(#6702,#6703,#6705,#6706));
+-#6708=FACE_OUTER_BOUND('',#6707,.F.);
+-#6709=ADVANCED_FACE('',(#6708),#6701,.F.);
+-#6710=CARTESIAN_POINT('',(-2.E0,0.E0,1.225E1));
+-#6711=DIRECTION('',(0.E0,0.E0,1.E0));
+-#6712=DIRECTION('',(1.E0,0.E0,0.E0));
+-#6713=AXIS2_PLACEMENT_3D('',#6710,#6711,#6712);
+-#6714=PLANE('',#6713);
+-#6716=ORIENTED_EDGE('',*,*,#6715,.F.);
+-#6717=ORIENTED_EDGE('',*,*,#6442,.T.);
+-#6719=ORIENTED_EDGE('',*,*,#6718,.F.);
+-#6720=ORIENTED_EDGE('',*,*,#5668,.F.);
+-#6721=EDGE_LOOP('',(#6716,#6717,#6719,#6720));
+-#6722=FACE_OUTER_BOUND('',#6721,.F.);
+-#6723=ADVANCED_FACE('',(#6722),#6714,.T.);
+-#6724=CARTESIAN_POINT('',(-2.E0,0.E0,1.225E1));
+-#6725=DIRECTION('',(0.E0,0.E0,1.E0));
+-#6726=DIRECTION('',(1.E0,0.E0,0.E0));
+-#6727=AXIS2_PLACEMENT_3D('',#6724,#6725,#6726);
+-#6728=PLANE('',#6727);
+-#6729=ORIENTED_EDGE('',*,*,#6704,.F.);
+-#6730=ORIENTED_EDGE('',*,*,#5516,.F.);
+-#6732=ORIENTED_EDGE('',*,*,#6731,.T.);
+-#6733=ORIENTED_EDGE('',*,*,#6306,.T.);
+-#6734=EDGE_LOOP('',(#6729,#6730,#6732,#6733));
+-#6735=FACE_OUTER_BOUND('',#6734,.F.);
+-#6736=ADVANCED_FACE('',(#6735),#6728,.T.);
+-#6737=CARTESIAN_POINT('',(3.5E0,1.566978255297E0,1.325E1));
+-#6738=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#6739=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6740=AXIS2_PLACEMENT_3D('',#6737,#6738,#6739);
+-#6741=CYLINDRICAL_SURFACE('',#6740,1.E0);
+-#6743=ORIENTED_EDGE('',*,*,#6742,.F.);
+-#6744=ORIENTED_EDGE('',*,*,#6444,.T.);
+-#6745=ORIENTED_EDGE('',*,*,#6715,.T.);
+-#6746=ORIENTED_EDGE('',*,*,#5666,.T.);
+-#6747=EDGE_LOOP('',(#6743,#6744,#6745,#6746));
+-#6748=FACE_OUTER_BOUND('',#6747,.F.);
+-#6749=ADVANCED_FACE('',(#6748),#6741,.F.);
+-#6750=CARTESIAN_POINT('',(2.5E0,1.5E0,2.5E0));
+-#6751=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6752=DIRECTION('',(0.E0,0.E0,1.E0));
+-#6753=AXIS2_PLACEMENT_3D('',#6750,#6751,#6752);
+-#6754=PLANE('',#6753);
+-#6756=ORIENTED_EDGE('',*,*,#6755,.T.);
+-#6757=ORIENTED_EDGE('',*,*,#5650,.T.);
+-#6759=ORIENTED_EDGE('',*,*,#6758,.F.);
+-#6760=ORIENTED_EDGE('',*,*,#6408,.F.);
+-#6761=EDGE_LOOP('',(#6756,#6757,#6759,#6760));
+-#6762=FACE_OUTER_BOUND('',#6761,.F.);
+-#6763=ADVANCED_FACE('',(#6762),#6754,.F.);
+-#6764=CARTESIAN_POINT('',(2.5E0,1.5E0,2.5E0));
+-#6765=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6766=DIRECTION('',(0.E0,0.E0,1.E0));
+-#6767=AXIS2_PLACEMENT_3D('',#6764,#6765,#6766);
+-#6768=PLANE('',#6767);
+-#6770=ORIENTED_EDGE('',*,*,#6769,.T.);
+-#6771=ORIENTED_EDGE('',*,*,#6446,.F.);
+-#6772=ORIENTED_EDGE('',*,*,#6742,.T.);
+-#6773=ORIENTED_EDGE('',*,*,#5664,.T.);
+-#6774=EDGE_LOOP('',(#6770,#6771,#6772,#6773));
+-#6775=FACE_OUTER_BOUND('',#6774,.F.);
+-#6776=ADVANCED_FACE('',(#6775),#6768,.F.);
+-#6777=CARTESIAN_POINT('',(5.5E0,1.568923974228E0,2.19375E1));
+-#6778=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#6779=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6780=AXIS2_PLACEMENT_3D('',#6777,#6778,#6779);
+-#6781=CYLINDRICAL_SURFACE('',#6780,3.E0);
+-#6782=ORIENTED_EDGE('',*,*,#6755,.F.);
+-#6783=ORIENTED_EDGE('',*,*,#6406,.T.);
+-#6785=ORIENTED_EDGE('',*,*,#6784,.T.);
+-#6786=ORIENTED_EDGE('',*,*,#5652,.T.);
+-#6787=EDGE_LOOP('',(#6782,#6783,#6785,#6786));
+-#6788=FACE_OUTER_BOUND('',#6787,.F.);
+-#6789=ADVANCED_FACE('',(#6788),#6781,.F.);
+-#6790=CARTESIAN_POINT('',(2.5E0,0.E0,1.89375E1));
+-#6791=DIRECTION('',(0.E0,0.E0,1.E0));
+-#6792=DIRECTION('',(1.E0,0.E0,0.E0));
+-#6793=AXIS2_PLACEMENT_3D('',#6790,#6791,#6792);
+-#6794=PLANE('',#6793);
+-#6795=ORIENTED_EDGE('',*,*,#6784,.F.);
+-#6796=ORIENTED_EDGE('',*,*,#6404,.T.);
+-#6798=ORIENTED_EDGE('',*,*,#6797,.F.);
+-#6799=ORIENTED_EDGE('',*,*,#5638,.F.);
+-#6800=EDGE_LOOP('',(#6795,#6796,#6798,#6799));
+-#6801=FACE_OUTER_BOUND('',#6800,.F.);
+-#6802=ADVANCED_FACE('',(#6801),#6794,.T.);
+-#6803=CARTESIAN_POINT('',(1.85E1,-5.889194178308E-2,2.19375E1));
+-#6804=DIRECTION('',(0.E0,1.E0,0.E0));
+-#6805=DIRECTION('',(1.E0,0.E0,0.E0));
+-#6806=AXIS2_PLACEMENT_3D('',#6803,#6804,#6805);
+-#6807=CYLINDRICAL_SURFACE('',#6806,3.E0);
+-#6809=ORIENTED_EDGE('',*,*,#6808,.F.);
+-#6810=ORIENTED_EDGE('',*,*,#5640,.T.);
+-#6811=ORIENTED_EDGE('',*,*,#6797,.T.);
+-#6812=ORIENTED_EDGE('',*,*,#6402,.T.);
+-#6813=EDGE_LOOP('',(#6809,#6810,#6811,#6812));
+-#6814=FACE_OUTER_BOUND('',#6813,.F.);
+-#6815=ADVANCED_FACE('',(#6814),#6807,.F.);
+-#6816=CARTESIAN_POINT('',(2.15E1,1.5E0,2.95E1));
+-#6817=DIRECTION('',(1.E0,0.E0,0.E0));
+-#6818=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#6819=AXIS2_PLACEMENT_3D('',#6816,#6817,#6818);
+-#6820=PLANE('',#6819);
+-#6821=ORIENTED_EDGE('',*,*,#6808,.T.);
+-#6822=ORIENTED_EDGE('',*,*,#6400,.F.);
+-#6824=ORIENTED_EDGE('',*,*,#6823,.T.);
+-#6825=ORIENTED_EDGE('',*,*,#5642,.T.);
+-#6826=EDGE_LOOP('',(#6821,#6822,#6824,#6825));
+-#6827=FACE_OUTER_BOUND('',#6826,.F.);
+-#6828=ADVANCED_FACE('',(#6827),#6820,.F.);
+-#6829=CARTESIAN_POINT('',(2.15E1,1.5E0,2.95E1));
+-#6830=DIRECTION('',(1.E0,0.E0,0.E0));
+-#6831=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#6832=AXIS2_PLACEMENT_3D('',#6829,#6830,#6831);
+-#6833=PLANE('',#6832);
+-#6835=ORIENTED_EDGE('',*,*,#6834,.T.);
+-#6836=ORIENTED_EDGE('',*,*,#5656,.T.);
+-#6838=ORIENTED_EDGE('',*,*,#6837,.T.);
+-#6839=ORIENTED_EDGE('',*,*,#6422,.F.);
+-#6840=EDGE_LOOP('',(#6835,#6836,#6838,#6839));
+-#6841=FACE_OUTER_BOUND('',#6840,.F.);
+-#6842=ADVANCED_FACE('',(#6841),#6833,.F.);
+-#6843=CARTESIAN_POINT('',(1.65E1,1.562633489099E0,2.45E1));
+-#6844=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#6845=DIRECTION('',(1.E0,0.E0,0.E0));
+-#6846=AXIS2_PLACEMENT_3D('',#6843,#6844,#6845);
+-#6847=CYLINDRICAL_SURFACE('',#6846,5.E0);
+-#6848=ORIENTED_EDGE('',*,*,#6823,.F.);
+-#6849=ORIENTED_EDGE('',*,*,#6414,.T.);
+-#6851=ORIENTED_EDGE('',*,*,#6850,.T.);
+-#6852=ORIENTED_EDGE('',*,*,#5644,.T.);
+-#6853=EDGE_LOOP('',(#6848,#6849,#6851,#6852));
+-#6854=FACE_OUTER_BOUND('',#6853,.F.);
+-#6855=ADVANCED_FACE('',(#6854),#6847,.F.);
+-#6856=CARTESIAN_POINT('',(2.5E0,1.5E0,2.95E1));
+-#6857=DIRECTION('',(0.E0,0.E0,1.E0));
+-#6858=DIRECTION('',(1.E0,0.E0,0.E0));
+-#6859=AXIS2_PLACEMENT_3D('',#6856,#6857,#6858);
+-#6860=PLANE('',#6859);
+-#6862=ORIENTED_EDGE('',*,*,#6861,.T.);
+-#6863=ORIENTED_EDGE('',*,*,#5646,.T.);
+-#6864=ORIENTED_EDGE('',*,*,#6850,.F.);
+-#6865=ORIENTED_EDGE('',*,*,#6412,.F.);
+-#6866=EDGE_LOOP('',(#6862,#6863,#6864,#6865));
+-#6867=FACE_OUTER_BOUND('',#6866,.F.);
+-#6868=ADVANCED_FACE('',(#6867),#6860,.F.);
+-#6869=CARTESIAN_POINT('',(7.5E0,1.562633489099E0,2.45E1));
+-#6870=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#6871=DIRECTION('',(0.E0,0.E0,1.E0));
+-#6872=AXIS2_PLACEMENT_3D('',#6869,#6870,#6871);
+-#6873=CYLINDRICAL_SURFACE('',#6872,5.E0);
+-#6874=ORIENTED_EDGE('',*,*,#6861,.F.);
+-#6875=ORIENTED_EDGE('',*,*,#6410,.T.);
+-#6876=ORIENTED_EDGE('',*,*,#6758,.T.);
+-#6877=ORIENTED_EDGE('',*,*,#5648,.T.);
+-#6878=EDGE_LOOP('',(#6874,#6875,#6876,#6877));
+-#6879=FACE_OUTER_BOUND('',#6878,.F.);
+-#6880=ADVANCED_FACE('',(#6879),#6873,.F.);
+-#6881=CARTESIAN_POINT('',(1.85E1,1.568923974228E0,1.40625E1));
+-#6882=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#6883=DIRECTION('',(1.E0,0.E0,0.E0));
+-#6884=AXIS2_PLACEMENT_3D('',#6881,#6882,#6883);
+-#6885=CYLINDRICAL_SURFACE('',#6884,3.E0);
+-#6886=ORIENTED_EDGE('',*,*,#6834,.F.);
+-#6887=ORIENTED_EDGE('',*,*,#6420,.T.);
+-#6889=ORIENTED_EDGE('',*,*,#6888,.T.);
+-#6890=ORIENTED_EDGE('',*,*,#5658,.T.);
+-#6891=EDGE_LOOP('',(#6886,#6887,#6889,#6890));
+-#6892=FACE_OUTER_BOUND('',#6891,.F.);
+-#6893=ADVANCED_FACE('',(#6892),#6885,.F.);
+-#6894=CARTESIAN_POINT('',(2.15E1,0.E0,1.70625E1));
+-#6895=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#6896=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6897=AXIS2_PLACEMENT_3D('',#6894,#6895,#6896);
+-#6898=PLANE('',#6897);
+-#6899=ORIENTED_EDGE('',*,*,#6888,.F.);
+-#6900=ORIENTED_EDGE('',*,*,#6418,.T.);
+-#6902=ORIENTED_EDGE('',*,*,#6901,.F.);
+-#6903=ORIENTED_EDGE('',*,*,#5660,.F.);
+-#6904=EDGE_LOOP('',(#6899,#6900,#6902,#6903));
+-#6905=FACE_OUTER_BOUND('',#6904,.F.);
+-#6906=ADVANCED_FACE('',(#6905),#6898,.T.);
+-#6907=CARTESIAN_POINT('',(5.5E0,-5.889194178308E-2,1.40625E1));
+-#6908=DIRECTION('',(0.E0,1.E0,0.E0));
+-#6909=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6910=AXIS2_PLACEMENT_3D('',#6907,#6908,#6909);
+-#6911=CYLINDRICAL_SURFACE('',#6910,3.E0);
+-#6912=ORIENTED_EDGE('',*,*,#6769,.F.);
+-#6913=ORIENTED_EDGE('',*,*,#5662,.T.);
+-#6914=ORIENTED_EDGE('',*,*,#6901,.T.);
+-#6915=ORIENTED_EDGE('',*,*,#6448,.T.);
+-#6916=EDGE_LOOP('',(#6912,#6913,#6914,#6915));
+-#6917=FACE_OUTER_BOUND('',#6916,.F.);
+-#6918=ADVANCED_FACE('',(#6917),#6911,.F.);
+-#6919=CARTESIAN_POINT('',(2.05E1,-5.889194178308E-2,1.325E1));
+-#6920=DIRECTION('',(0.E0,1.E0,0.E0));
+-#6921=DIRECTION('',(1.E0,0.E0,0.E0));
+-#6922=AXIS2_PLACEMENT_3D('',#6919,#6920,#6921);
+-#6923=CYLINDRICAL_SURFACE('',#6922,1.E0);
+-#6924=ORIENTED_EDGE('',*,*,#6837,.F.);
+-#6925=ORIENTED_EDGE('',*,*,#5686,.T.);
+-#6927=ORIENTED_EDGE('',*,*,#6926,.T.);
+-#6928=ORIENTED_EDGE('',*,*,#6424,.T.);
+-#6929=EDGE_LOOP('',(#6924,#6925,#6927,#6928));
+-#6930=FACE_OUTER_BOUND('',#6929,.F.);
+-#6931=ADVANCED_FACE('',(#6930),#6923,.F.);
+-#6932=CARTESIAN_POINT('',(2.6E1,0.E0,1.225E1));
+-#6933=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#6934=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6935=AXIS2_PLACEMENT_3D('',#6932,#6933,#6934);
+-#6936=PLANE('',#6935);
+-#6938=ORIENTED_EDGE('',*,*,#6937,.F.);
+-#6939=ORIENTED_EDGE('',*,*,#6290,.F.);
+-#6941=ORIENTED_EDGE('',*,*,#6940,.T.);
+-#6942=ORIENTED_EDGE('',*,*,#5532,.T.);
+-#6943=EDGE_LOOP('',(#6938,#6939,#6941,#6942));
+-#6944=FACE_OUTER_BOUND('',#6943,.F.);
+-#6945=ADVANCED_FACE('',(#6944),#6936,.F.);
+-#6946=CARTESIAN_POINT('',(2.6E1,0.E0,1.225E1));
+-#6947=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#6948=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6949=AXIS2_PLACEMENT_3D('',#6946,#6947,#6948);
+-#6950=PLANE('',#6949);
+-#6951=ORIENTED_EDGE('',*,*,#6926,.F.);
+-#6952=ORIENTED_EDGE('',*,*,#5684,.T.);
+-#6954=ORIENTED_EDGE('',*,*,#6953,.F.);
+-#6955=ORIENTED_EDGE('',*,*,#6426,.F.);
+-#6956=EDGE_LOOP('',(#6951,#6952,#6954,#6955));
+-#6957=FACE_OUTER_BOUND('',#6956,.F.);
+-#6958=ADVANCED_FACE('',(#6957),#6950,.F.);
+-#6959=CARTESIAN_POINT('',(2.5E1,1.568923974228E0,1.325E1));
+-#6960=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#6961=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#6962=AXIS2_PLACEMENT_3D('',#6959,#6960,#6961);
+-#6963=CYLINDRICAL_SURFACE('',#6962,1.E0);
+-#6965=ORIENTED_EDGE('',*,*,#6964,.F.);
+-#6966=ORIENTED_EDGE('',*,*,#6292,.T.);
+-#6967=ORIENTED_EDGE('',*,*,#6937,.T.);
+-#6968=ORIENTED_EDGE('',*,*,#5530,.T.);
+-#6969=EDGE_LOOP('',(#6965,#6966,#6967,#6968));
+-#6970=FACE_OUTER_BOUND('',#6969,.F.);
+-#6971=ADVANCED_FACE('',(#6970),#6963,.F.);
+-#6972=CARTESIAN_POINT('',(2.4E1,0.E0,3.2E1));
+-#6973=DIRECTION('',(1.E0,0.E0,0.E0));
+-#6974=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#6975=AXIS2_PLACEMENT_3D('',#6972,#6973,#6974);
+-#6976=PLANE('',#6975);
+-#6977=ORIENTED_EDGE('',*,*,#6964,.T.);
+-#6978=ORIENTED_EDGE('',*,*,#5528,.F.);
+-#6980=ORIENTED_EDGE('',*,*,#6979,.T.);
+-#6981=ORIENTED_EDGE('',*,*,#6294,.T.);
+-#6982=EDGE_LOOP('',(#6977,#6978,#6980,#6981));
+-#6983=FACE_OUTER_BOUND('',#6982,.F.);
+-#6984=ADVANCED_FACE('',(#6983),#6976,.T.);
+-#6985=CARTESIAN_POINT('',(2.4E1,0.E0,3.2E1));
+-#6986=DIRECTION('',(1.E0,0.E0,0.E0));
+-#6987=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#6988=AXIS2_PLACEMENT_3D('',#6985,#6986,#6987);
+-#6989=PLANE('',#6988);
+-#6991=ORIENTED_EDGE('',*,*,#6990,.T.);
+-#6992=ORIENTED_EDGE('',*,*,#6242,.T.);
+-#6994=ORIENTED_EDGE('',*,*,#6993,.F.);
+-#6995=ORIENTED_EDGE('',*,*,#5498,.F.);
+-#6996=EDGE_LOOP('',(#6991,#6992,#6994,#6995));
+-#6997=FACE_OUTER_BOUND('',#6996,.F.);
+-#6998=ADVANCED_FACE('',(#6997),#6989,.T.);
+-#6999=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
+-#7000=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
+-#7001=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7002=AXIS2_PLACEMENT_3D('',#6999,#7000,#7001);
+-#7003=PLANE('',#7002);
+-#7004=ORIENTED_EDGE('',*,*,#6979,.F.);
+-#7005=ORIENTED_EDGE('',*,*,#5526,.T.);
+-#7007=ORIENTED_EDGE('',*,*,#7006,.T.);
+-#7008=ORIENTED_EDGE('',*,*,#6296,.F.);
+-#7009=EDGE_LOOP('',(#7004,#7005,#7007,#7008));
+-#7010=FACE_OUTER_BOUND('',#7009,.F.);
+-#7011=ADVANCED_FACE('',(#7010),#7003,.T.);
+-#7012=CARTESIAN_POINT('',(0.E0,0.E0,3.2E1));
+-#7013=DIRECTION('',(0.E0,0.E0,1.E0));
+-#7014=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7015=AXIS2_PLACEMENT_3D('',#7012,#7013,#7014);
+-#7016=PLANE('',#7015);
+-#7017=ORIENTED_EDGE('',*,*,#5524,.F.);
+-#7019=ORIENTED_EDGE('',*,*,#7018,.T.);
+-#7020=ORIENTED_EDGE('',*,*,#6298,.T.);
+-#7021=ORIENTED_EDGE('',*,*,#7006,.F.);
+-#7022=EDGE_LOOP('',(#7017,#7019,#7020,#7021));
+-#7023=FACE_OUTER_BOUND('',#7022,.F.);
+-#7024=ADVANCED_FACE('',(#7023),#7016,.T.);
+-#7025=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
+-#7026=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
+-#7027=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7028=AXIS2_PLACEMENT_3D('',#7025,#7026,#7027);
+-#7029=PLANE('',#7028);
+-#7030=ORIENTED_EDGE('',*,*,#7018,.F.);
+-#7031=ORIENTED_EDGE('',*,*,#5522,.T.);
+-#7032=ORIENTED_EDGE('',*,*,#6678,.T.);
+-#7033=ORIENTED_EDGE('',*,*,#6300,.F.);
+-#7034=EDGE_LOOP('',(#7030,#7031,#7032,#7033));
+-#7035=FACE_OUTER_BOUND('',#7034,.F.);
+-#7036=ADVANCED_FACE('',(#7035),#7029,.T.);
+-#7037=CARTESIAN_POINT('',(2.5E1,-7.055249658685E-2,7.E0));
+-#7038=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7039=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7040=AXIS2_PLACEMENT_3D('',#7037,#7038,#7039);
+-#7041=CYLINDRICAL_SURFACE('',#7040,1.E0);
+-#7042=ORIENTED_EDGE('',*,*,#6990,.F.);
+-#7043=ORIENTED_EDGE('',*,*,#5496,.T.);
+-#7044=ORIENTED_EDGE('',*,*,#5965,.T.);
+-#7045=ORIENTED_EDGE('',*,*,#6244,.T.);
+-#7046=EDGE_LOOP('',(#7042,#7043,#7044,#7045));
+-#7047=FACE_OUTER_BOUND('',#7046,.F.);
+-#7048=ADVANCED_FACE('',(#7047),#7041,.F.);
+-#7049=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
+-#7050=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#7051=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7052=AXIS2_PLACEMENT_3D('',#7049,#7050,#7051);
+-#7053=PLANE('',#7052);
+-#7055=ORIENTED_EDGE('',*,*,#7054,.F.);
+-#7056=ORIENTED_EDGE('',*,*,#5500,.T.);
+-#7057=ORIENTED_EDGE('',*,*,#6993,.T.);
+-#7058=ORIENTED_EDGE('',*,*,#6240,.F.);
+-#7059=EDGE_LOOP('',(#7055,#7056,#7057,#7058));
+-#7060=FACE_OUTER_BOUND('',#7059,.F.);
+-#7061=ADVANCED_FACE('',(#7060),#7053,.T.);
+-#7062=CARTESIAN_POINT('',(2.4E1,0.E0,0.E0));
+-#7063=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#7064=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7065=AXIS2_PLACEMENT_3D('',#7062,#7063,#7064);
+-#7066=PLANE('',#7065);
+-#7067=ORIENTED_EDGE('',*,*,#5502,.F.);
+-#7068=ORIENTED_EDGE('',*,*,#7054,.T.);
+-#7069=ORIENTED_EDGE('',*,*,#6238,.T.);
+-#7071=ORIENTED_EDGE('',*,*,#7070,.F.);
+-#7072=EDGE_LOOP('',(#7067,#7068,#7069,#7071));
+-#7073=FACE_OUTER_BOUND('',#7072,.F.);
+-#7074=ADVANCED_FACE('',(#7073),#7066,.T.);
+-#7075=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
+-#7076=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#7077=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7078=AXIS2_PLACEMENT_3D('',#7075,#7076,#7077);
+-#7079=PLANE('',#7078);
+-#7080=ORIENTED_EDGE('',*,*,#6691,.F.);
+-#7081=ORIENTED_EDGE('',*,*,#5504,.T.);
+-#7082=ORIENTED_EDGE('',*,*,#7070,.T.);
+-#7083=ORIENTED_EDGE('',*,*,#6236,.F.);
+-#7084=EDGE_LOOP('',(#7080,#7081,#7082,#7083));
+-#7085=FACE_OUTER_BOUND('',#7084,.F.);
+-#7086=ADVANCED_FACE('',(#7085),#7079,.T.);
+-#7087=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
+-#7088=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
+-#7089=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7090=AXIS2_PLACEMENT_3D('',#7087,#7088,#7089);
+-#7091=PLANE('',#7090);
+-#7092=ORIENTED_EDGE('',*,*,#6940,.F.);
+-#7093=ORIENTED_EDGE('',*,*,#6288,.T.);
+-#7095=ORIENTED_EDGE('',*,*,#7094,.T.);
+-#7096=ORIENTED_EDGE('',*,*,#5534,.F.);
+-#7097=EDGE_LOOP('',(#7092,#7093,#7095,#7096));
+-#7098=FACE_OUTER_BOUND('',#7097,.F.);
+-#7099=ADVANCED_FACE('',(#7098),#7091,.T.);
+-#7100=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0));
+-#7101=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7102=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7103=AXIS2_PLACEMENT_3D('',#7100,#7101,#7102);
+-#7104=PLANE('',#7103);
+-#7105=ORIENTED_EDGE('',*,*,#5968,.T.);
+-#7106=ORIENTED_EDGE('',*,*,#5536,.T.);
+-#7107=ORIENTED_EDGE('',*,*,#7094,.F.);
+-#7108=ORIENTED_EDGE('',*,*,#6286,.F.);
+-#7109=ORIENTED_EDGE('',*,*,#6165,.F.);
+-#7111=ORIENTED_EDGE('',*,*,#7110,.F.);
+-#7112=EDGE_LOOP('',(#7105,#7106,#7107,#7108,#7109,#7111));
+-#7113=FACE_OUTER_BOUND('',#7112,.F.);
+-#7114=ADVANCED_FACE('',(#7113),#7104,.F.);
+-#7115=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
+-#7116=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0));
+-#7117=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
+-#7118=AXIS2_PLACEMENT_3D('',#7115,#7116,#7117);
+-#7119=PLANE('',#7118);
+-#7120=ORIENTED_EDGE('',*,*,#5970,.T.);
+-#7121=ORIENTED_EDGE('',*,*,#7110,.T.);
+-#7122=ORIENTED_EDGE('',*,*,#6163,.F.);
+-#7124=ORIENTED_EDGE('',*,*,#7123,.F.);
+-#7125=EDGE_LOOP('',(#7120,#7121,#7122,#7124));
+-#7126=FACE_OUTER_BOUND('',#7125,.F.);
+-#7127=ADVANCED_FACE('',(#7126),#7119,.F.);
+-#7128=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0));
+-#7129=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7130=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7131=AXIS2_PLACEMENT_3D('',#7128,#7129,#7130);
+-#7132=PLANE('',#7131);
+-#7133=ORIENTED_EDGE('',*,*,#5972,.F.);
+-#7134=ORIENTED_EDGE('',*,*,#7123,.T.);
+-#7135=ORIENTED_EDGE('',*,*,#6161,.F.);
+-#7137=ORIENTED_EDGE('',*,*,#7136,.F.);
+-#7138=EDGE_LOOP('',(#7133,#7134,#7135,#7137));
+-#7139=FACE_OUTER_BOUND('',#7138,.F.);
+-#7141=ORIENTED_EDGE('',*,*,#7140,.T.);
+-#7143=ORIENTED_EDGE('',*,*,#7142,.T.);
+-#7144=EDGE_LOOP('',(#7141,#7143));
+-#7145=FACE_BOUND('',#7144,.F.);
+-#7147=ORIENTED_EDGE('',*,*,#7146,.T.);
+-#7149=ORIENTED_EDGE('',*,*,#7148,.T.);
+-#7150=EDGE_LOOP('',(#7147,#7149));
+-#7151=FACE_BOUND('',#7150,.F.);
+-#7152=ADVANCED_FACE('',(#7139,#7145,#7151),#7132,.F.);
+-#7153=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
+-#7154=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7155=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7156=AXIS2_PLACEMENT_3D('',#7153,#7154,#7155);
+-#7157=PLANE('',#7156);
+-#7159=ORIENTED_EDGE('',*,*,#7158,.T.);
+-#7160=ORIENTED_EDGE('',*,*,#6430,.F.);
+-#7162=ORIENTED_EDGE('',*,*,#7161,.T.);
+-#7163=ORIENTED_EDGE('',*,*,#5680,.T.);
+-#7164=EDGE_LOOP('',(#7159,#7160,#7162,#7163));
+-#7165=FACE_OUTER_BOUND('',#7164,.F.);
+-#7166=ADVANCED_FACE('',(#7165),#7157,.F.);
+-#7167=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
+-#7168=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7169=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7170=AXIS2_PLACEMENT_3D('',#7167,#7168,#7169);
+-#7171=PLANE('',#7170);
+-#7172=ORIENTED_EDGE('',*,*,#6325,.F.);
+-#7173=ORIENTED_EDGE('',*,*,#5974,.T.);
+-#7174=ORIENTED_EDGE('',*,*,#7136,.T.);
+-#7175=ORIENTED_EDGE('',*,*,#6159,.F.);
+-#7176=EDGE_LOOP('',(#7172,#7173,#7174,#7175));
+-#7177=FACE_OUTER_BOUND('',#7176,.F.);
+-#7178=ADVANCED_FACE('',(#7177),#7171,.F.);
+-#7179=CARTESIAN_POINT('',(1.8E1,-7.099592191979E-2,1.1E1));
+-#7180=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7181=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7182=AXIS2_PLACEMENT_3D('',#7179,#7180,#7181);
+-#7183=CYLINDRICAL_SURFACE('',#7182,1.E0);
+-#7184=ORIENTED_EDGE('',*,*,#7158,.F.);
+-#7185=ORIENTED_EDGE('',*,*,#5678,.T.);
+-#7187=ORIENTED_EDGE('',*,*,#7186,.T.);
+-#7188=ORIENTED_EDGE('',*,*,#6432,.T.);
+-#7189=EDGE_LOOP('',(#7184,#7185,#7187,#7188));
+-#7190=FACE_OUTER_BOUND('',#7189,.F.);
+-#7191=ADVANCED_FACE('',(#7190),#7183,.F.);
+-#7192=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1));
+-#7193=DIRECTION('',(0.E0,0.E0,1.E0));
+-#7194=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7195=AXIS2_PLACEMENT_3D('',#7192,#7193,#7194);
+-#7196=PLANE('',#7195);
+-#7198=ORIENTED_EDGE('',*,*,#7197,.F.);
+-#7199=ORIENTED_EDGE('',*,*,#6434,.T.);
+-#7200=ORIENTED_EDGE('',*,*,#7186,.F.);
+-#7201=ORIENTED_EDGE('',*,*,#5676,.F.);
+-#7202=EDGE_LOOP('',(#7198,#7199,#7200,#7201));
+-#7203=FACE_OUTER_BOUND('',#7202,.F.);
+-#7204=ADVANCED_FACE('',(#7203),#7196,.T.);
+-#7205=CARTESIAN_POINT('',(6.E0,1.567729432957E0,1.1E1));
+-#7206=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7207=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7208=AXIS2_PLACEMENT_3D('',#7205,#7206,#7207);
+-#7209=CYLINDRICAL_SURFACE('',#7208,1.E0);
+-#7211=ORIENTED_EDGE('',*,*,#7210,.F.);
+-#7212=ORIENTED_EDGE('',*,*,#6436,.T.);
+-#7213=ORIENTED_EDGE('',*,*,#7197,.T.);
+-#7214=ORIENTED_EDGE('',*,*,#5674,.T.);
+-#7215=EDGE_LOOP('',(#7211,#7212,#7213,#7214));
+-#7216=FACE_OUTER_BOUND('',#7215,.F.);
+-#7217=ADVANCED_FACE('',(#7216),#7209,.F.);
+-#7218=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
+-#7219=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7220=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7221=AXIS2_PLACEMENT_3D('',#7218,#7219,#7220);
+-#7222=PLANE('',#7221);
+-#7223=ORIENTED_EDGE('',*,*,#7210,.T.);
+-#7224=ORIENTED_EDGE('',*,*,#5672,.F.);
+-#7226=ORIENTED_EDGE('',*,*,#7225,.T.);
+-#7227=ORIENTED_EDGE('',*,*,#6438,.T.);
+-#7228=EDGE_LOOP('',(#7223,#7224,#7226,#7227));
+-#7229=FACE_OUTER_BOUND('',#7228,.F.);
+-#7230=ADVANCED_FACE('',(#7229),#7222,.T.);
+-#7231=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
+-#7232=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7233=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7234=AXIS2_PLACEMENT_3D('',#7231,#7232,#7233);
+-#7235=PLANE('',#7234);
+-#7236=ORIENTED_EDGE('',*,*,#6322,.T.);
+-#7238=ORIENTED_EDGE('',*,*,#7237,.T.);
+-#7240=ORIENTED_EDGE('',*,*,#7239,.F.);
+-#7241=ORIENTED_EDGE('',*,*,#5978,.T.);
+-#7242=EDGE_LOOP('',(#7236,#7238,#7240,#7241));
+-#7243=FACE_OUTER_BOUND('',#7242,.F.);
+-#7244=ADVANCED_FACE('',(#7243),#7235,.T.);
+-#7245=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
+-#7246=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
+-#7247=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7248=AXIS2_PLACEMENT_3D('',#7245,#7246,#7247);
+-#7249=PLANE('',#7248);
+-#7250=ORIENTED_EDGE('',*,*,#7225,.F.);
+-#7251=ORIENTED_EDGE('',*,*,#5670,.T.);
+-#7252=ORIENTED_EDGE('',*,*,#6718,.T.);
+-#7253=ORIENTED_EDGE('',*,*,#6440,.F.);
+-#7254=EDGE_LOOP('',(#7250,#7251,#7252,#7253));
+-#7255=FACE_OUTER_BOUND('',#7254,.F.);
+-#7256=ADVANCED_FACE('',(#7255),#7249,.T.);
+-#7257=CARTESIAN_POINT('',(0.E0,0.E0,1.E1));
+-#7258=DIRECTION('',(0.E0,0.E0,1.E0));
+-#7259=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7260=AXIS2_PLACEMENT_3D('',#7257,#7258,#7259);
+-#7261=PLANE('',#7260);
+-#7263=ORIENTED_EDGE('',*,*,#7262,.F.);
+-#7264=ORIENTED_EDGE('',*,*,#6312,.F.);
+-#7266=ORIENTED_EDGE('',*,*,#7265,.F.);
+-#7268=ORIENTED_EDGE('',*,*,#7267,.F.);
+-#7270=ORIENTED_EDGE('',*,*,#7269,.F.);
+-#7271=ORIENTED_EDGE('',*,*,#7237,.F.);
+-#7272=ORIENTED_EDGE('',*,*,#6320,.F.);
+-#7274=ORIENTED_EDGE('',*,*,#7273,.T.);
+-#7276=ORIENTED_EDGE('',*,*,#7275,.F.);
+-#7277=EDGE_LOOP('',(#7263,#7264,#7266,#7268,#7270,#7271,#7272,#7274,#7276));
+-#7278=FACE_OUTER_BOUND('',#7277,.F.);
+-#7280=ORIENTED_EDGE('',*,*,#7279,.T.);
+-#7282=ORIENTED_EDGE('',*,*,#7281,.T.);
+-#7283=EDGE_LOOP('',(#7280,#7282));
+-#7284=FACE_BOUND('',#7283,.F.);
+-#7286=ORIENTED_EDGE('',*,*,#7285,.F.);
+-#7288=ORIENTED_EDGE('',*,*,#7287,.T.);
+-#7290=ORIENTED_EDGE('',*,*,#7289,.F.);
+-#7292=ORIENTED_EDGE('',*,*,#7291,.T.);
+-#7294=ORIENTED_EDGE('',*,*,#7293,.F.);
+-#7296=ORIENTED_EDGE('',*,*,#7295,.T.);
+-#7298=ORIENTED_EDGE('',*,*,#7297,.F.);
+-#7300=ORIENTED_EDGE('',*,*,#7299,.T.);
+-#7302=ORIENTED_EDGE('',*,*,#7301,.F.);
+-#7304=ORIENTED_EDGE('',*,*,#7303,.T.);
+-#7306=ORIENTED_EDGE('',*,*,#7305,.F.);
+-#7308=ORIENTED_EDGE('',*,*,#7307,.T.);
+-#7309=EDGE_LOOP('',(#7286,#7288,#7290,#7292,#7294,#7296,#7298,#7300,#7302,#7304,
+-#7306,#7308));
+-#7310=FACE_BOUND('',#7309,.F.);
+-#7311=ADVANCED_FACE('',(#7278,#7284,#7310),#7261,.T.);
+-#7312=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0));
+-#7313=DIRECTION('',(0.E0,0.E0,1.E0));
+-#7314=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7315=AXIS2_PLACEMENT_3D('',#7312,#7313,#7314);
+-#7316=CYLINDRICAL_SURFACE('',#7315,1.625E-1);
+-#7317=ORIENTED_EDGE('',*,*,#6031,.T.);
+-#7319=ORIENTED_EDGE('',*,*,#7318,.T.);
+-#7320=ORIENTED_EDGE('',*,*,#7279,.F.);
+-#7322=ORIENTED_EDGE('',*,*,#7321,.F.);
+-#7323=EDGE_LOOP('',(#7317,#7319,#7320,#7322));
+-#7324=FACE_OUTER_BOUND('',#7323,.F.);
+-#7325=ADVANCED_FACE('',(#7324),#7316,.F.);
+-#7326=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0));
+-#7327=DIRECTION('',(0.E0,0.E0,1.E0));
+-#7328=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7329=AXIS2_PLACEMENT_3D('',#7326,#7327,#7328);
+-#7330=CYLINDRICAL_SURFACE('',#7329,1.625E-1);
+-#7331=ORIENTED_EDGE('',*,*,#6033,.T.);
+-#7332=ORIENTED_EDGE('',*,*,#7321,.T.);
+-#7333=ORIENTED_EDGE('',*,*,#7281,.F.);
+-#7334=ORIENTED_EDGE('',*,*,#7318,.F.);
+-#7335=EDGE_LOOP('',(#7331,#7332,#7333,#7334));
+-#7336=FACE_OUTER_BOUND('',#7335,.F.);
+-#7337=ADVANCED_FACE('',(#7336),#7330,.F.);
+-#7338=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.2E1));
+-#7339=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7340=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7341=AXIS2_PLACEMENT_3D('',#7338,#7339,#7340);
+-#7342=PLANE('',#7341);
+-#7343=ORIENTED_EDGE('',*,*,#6314,.T.);
+-#7344=ORIENTED_EDGE('',*,*,#7262,.T.);
+-#7346=ORIENTED_EDGE('',*,*,#7345,.T.);
+-#7347=EDGE_LOOP('',(#7343,#7344,#7346));
+-#7348=FACE_OUTER_BOUND('',#7347,.F.);
+-#7349=ADVANCED_FACE('',(#7348),#7342,.F.);
+-#7350=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1));
+-#7351=DIRECTION('',(0.E0,5.E-1,8.660254037844E-1));
+-#7352=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
+-#7353=AXIS2_PLACEMENT_3D('',#7350,#7351,#7352);
+-#7354=PLANE('',#7353);
+-#7355=ORIENTED_EDGE('',*,*,#6316,.F.);
+-#7356=ORIENTED_EDGE('',*,*,#7345,.F.);
+-#7357=ORIENTED_EDGE('',*,*,#7275,.T.);
+-#7359=ORIENTED_EDGE('',*,*,#7358,.T.);
+-#7360=EDGE_LOOP('',(#7355,#7356,#7357,#7359));
+-#7361=FACE_OUTER_BOUND('',#7360,.F.);
+-#7363=ORIENTED_EDGE('',*,*,#7362,.T.);
+-#7365=ORIENTED_EDGE('',*,*,#7364,.T.);
+-#7366=EDGE_LOOP('',(#7363,#7365));
+-#7367=FACE_BOUND('',#7366,.F.);
+-#7368=ADVANCED_FACE('',(#7361,#7367),#7354,.T.);
+-#7369=CARTESIAN_POINT('',(2.E0,1.5E0,1.2E1));
+-#7370=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7371=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7372=AXIS2_PLACEMENT_3D('',#7369,#7370,#7371);
+-#7373=PLANE('',#7372);
+-#7374=ORIENTED_EDGE('',*,*,#6318,.F.);
+-#7375=ORIENTED_EDGE('',*,*,#7358,.F.);
+-#7376=ORIENTED_EDGE('',*,*,#7273,.F.);
+-#7377=EDGE_LOOP('',(#7374,#7375,#7376));
+-#7378=FACE_OUTER_BOUND('',#7377,.F.);
+-#7379=ADVANCED_FACE('',(#7378),#7373,.T.);
+-#7380=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1));
+-#7381=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7382=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7383=AXIS2_PLACEMENT_3D('',#7380,#7381,#7382);
+-#7384=CYLINDRICAL_SURFACE('',#7383,2.575E-1);
+-#7386=ORIENTED_EDGE('',*,*,#7385,.F.);
+-#7387=ORIENTED_EDGE('',*,*,#7362,.F.);
+-#7389=ORIENTED_EDGE('',*,*,#7388,.F.);
+-#7391=ORIENTED_EDGE('',*,*,#7390,.F.);
+-#7392=EDGE_LOOP('',(#7386,#7387,#7389,#7391));
+-#7393=FACE_OUTER_BOUND('',#7392,.F.);
+-#7394=ADVANCED_FACE('',(#7393),#7384,.F.);
+-#7395=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1));
+-#7396=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7397=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7398=AXIS2_PLACEMENT_3D('',#7395,#7396,#7397);
+-#7399=CYLINDRICAL_SURFACE('',#7398,2.575E-1);
+-#7400=ORIENTED_EDGE('',*,*,#7388,.T.);
+-#7401=ORIENTED_EDGE('',*,*,#7364,.F.);
+-#7402=ORIENTED_EDGE('',*,*,#7385,.T.);
+-#7404=ORIENTED_EDGE('',*,*,#7403,.F.);
+-#7405=EDGE_LOOP('',(#7400,#7401,#7402,#7404));
+-#7406=FACE_OUTER_BOUND('',#7405,.F.);
+-#7407=ADVANCED_FACE('',(#7406),#7399,.F.);
+-#7408=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
+-#7409=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7410=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7411=AXIS2_PLACEMENT_3D('',#7408,#7409,#7410);
+-#7412=PLANE('',#7411);
+-#7413=ORIENTED_EDGE('',*,*,#7390,.T.);
+-#7414=ORIENTED_EDGE('',*,*,#7403,.T.);
+-#7415=EDGE_LOOP('',(#7413,#7414));
+-#7416=FACE_OUTER_BOUND('',#7415,.F.);
+-#7418=ORIENTED_EDGE('',*,*,#7417,.F.);
+-#7420=ORIENTED_EDGE('',*,*,#7419,.F.);
+-#7421=EDGE_LOOP('',(#7418,#7420));
+-#7422=FACE_BOUND('',#7421,.F.);
+-#7423=ADVANCED_FACE('',(#7416,#7422),#7412,.F.);
+-#7424=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1));
+-#7425=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7426=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7427=AXIS2_PLACEMENT_3D('',#7424,#7425,#7426);
+-#7428=CYLINDRICAL_SURFACE('',#7427,1.925E-1);
+-#7429=ORIENTED_EDGE('',*,*,#7417,.T.);
+-#7431=ORIENTED_EDGE('',*,*,#7430,.T.);
+-#7432=ORIENTED_EDGE('',*,*,#5620,.F.);
+-#7434=ORIENTED_EDGE('',*,*,#7433,.F.);
+-#7435=EDGE_LOOP('',(#7429,#7431,#7432,#7434));
+-#7436=FACE_OUTER_BOUND('',#7435,.F.);
+-#7437=ADVANCED_FACE('',(#7436),#7428,.F.);
+-#7438=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1));
+-#7439=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7440=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7441=AXIS2_PLACEMENT_3D('',#7438,#7439,#7440);
+-#7442=CYLINDRICAL_SURFACE('',#7441,1.925E-1);
+-#7443=ORIENTED_EDGE('',*,*,#7419,.T.);
+-#7444=ORIENTED_EDGE('',*,*,#7433,.T.);
+-#7445=ORIENTED_EDGE('',*,*,#5622,.F.);
+-#7446=ORIENTED_EDGE('',*,*,#7430,.F.);
+-#7447=EDGE_LOOP('',(#7443,#7444,#7445,#7446));
+-#7448=FACE_OUTER_BOUND('',#7447,.F.);
+-#7449=ADVANCED_FACE('',(#7448),#7442,.F.);
+-#7450=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0));
+-#7451=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7452=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7453=AXIS2_PLACEMENT_3D('',#7450,#7451,#7452);
+-#7454=PLANE('',#7453);
+-#7455=ORIENTED_EDGE('',*,*,#7265,.T.);
+-#7456=ORIENTED_EDGE('',*,*,#6310,.T.);
+-#7458=ORIENTED_EDGE('',*,*,#7457,.F.);
+-#7459=ORIENTED_EDGE('',*,*,#5512,.F.);
+-#7460=ORIENTED_EDGE('',*,*,#5984,.T.);
+-#7462=ORIENTED_EDGE('',*,*,#7461,.T.);
+-#7463=EDGE_LOOP('',(#7455,#7456,#7458,#7459,#7460,#7462));
+-#7464=FACE_OUTER_BOUND('',#7463,.F.);
+-#7465=ADVANCED_FACE('',(#7464),#7454,.T.);
+-#7466=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
+-#7467=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
+-#7468=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7469=AXIS2_PLACEMENT_3D('',#7466,#7467,#7468);
+-#7470=PLANE('',#7469);
+-#7471=ORIENTED_EDGE('',*,*,#6731,.F.);
+-#7472=ORIENTED_EDGE('',*,*,#5514,.T.);
+-#7473=ORIENTED_EDGE('',*,*,#7457,.T.);
+-#7474=ORIENTED_EDGE('',*,*,#6308,.F.);
+-#7475=EDGE_LOOP('',(#7471,#7472,#7473,#7474));
+-#7476=FACE_OUTER_BOUND('',#7475,.F.);
+-#7477=ADVANCED_FACE('',(#7476),#7470,.T.);
+-#7478=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0));
+-#7479=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
+-#7480=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
+-#7481=AXIS2_PLACEMENT_3D('',#7478,#7479,#7480);
+-#7482=PLANE('',#7481);
+-#7483=ORIENTED_EDGE('',*,*,#5982,.F.);
+-#7485=ORIENTED_EDGE('',*,*,#7484,.T.);
+-#7486=ORIENTED_EDGE('',*,*,#7267,.T.);
+-#7487=ORIENTED_EDGE('',*,*,#7461,.F.);
+-#7488=EDGE_LOOP('',(#7483,#7485,#7486,#7487));
+-#7489=FACE_OUTER_BOUND('',#7488,.F.);
+-#7490=ADVANCED_FACE('',(#7489),#7482,.T.);
+-#7491=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
+-#7492=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7493=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7494=AXIS2_PLACEMENT_3D('',#7491,#7492,#7493);
+-#7495=PLANE('',#7494);
+-#7496=ORIENTED_EDGE('',*,*,#5980,.F.);
+-#7497=ORIENTED_EDGE('',*,*,#7239,.T.);
+-#7498=ORIENTED_EDGE('',*,*,#7269,.T.);
+-#7499=ORIENTED_EDGE('',*,*,#7484,.F.);
+-#7500=EDGE_LOOP('',(#7496,#7497,#7498,#7499));
+-#7501=FACE_OUTER_BOUND('',#7500,.F.);
+-#7503=ORIENTED_EDGE('',*,*,#7502,.F.);
+-#7505=ORIENTED_EDGE('',*,*,#7504,.F.);
+-#7506=EDGE_LOOP('',(#7503,#7505));
+-#7507=FACE_BOUND('',#7506,.F.);
+-#7509=ORIENTED_EDGE('',*,*,#7508,.F.);
+-#7511=ORIENTED_EDGE('',*,*,#7510,.F.);
+-#7512=EDGE_LOOP('',(#7509,#7511));
+-#7513=FACE_BOUND('',#7512,.F.);
+-#7514=ADVANCED_FACE('',(#7501,#7507,#7513),#7495,.T.);
+-#7515=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0));
+-#7516=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7517=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7518=AXIS2_PLACEMENT_3D('',#7515,#7516,#7517);
+-#7519=CYLINDRICAL_SURFACE('',#7518,9.5E-2);
+-#7520=ORIENTED_EDGE('',*,*,#7502,.T.);
+-#7522=ORIENTED_EDGE('',*,*,#7521,.T.);
+-#7524=ORIENTED_EDGE('',*,*,#7523,.F.);
+-#7526=ORIENTED_EDGE('',*,*,#7525,.F.);
+-#7527=EDGE_LOOP('',(#7520,#7522,#7524,#7526));
+-#7528=FACE_OUTER_BOUND('',#7527,.F.);
+-#7529=ADVANCED_FACE('',(#7528),#7519,.F.);
+-#7530=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0));
+-#7531=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7532=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7533=AXIS2_PLACEMENT_3D('',#7530,#7531,#7532);
+-#7534=CYLINDRICAL_SURFACE('',#7533,9.5E-2);
+-#7535=ORIENTED_EDGE('',*,*,#7504,.T.);
+-#7536=ORIENTED_EDGE('',*,*,#7525,.T.);
+-#7538=ORIENTED_EDGE('',*,*,#7537,.F.);
+-#7539=ORIENTED_EDGE('',*,*,#7521,.F.);
+-#7540=EDGE_LOOP('',(#7535,#7536,#7538,#7539));
+-#7541=FACE_OUTER_BOUND('',#7540,.F.);
+-#7542=ADVANCED_FACE('',(#7541),#7534,.F.);
+-#7543=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0));
+-#7544=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7545=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7546=AXIS2_PLACEMENT_3D('',#7543,#7544,#7545);
+-#7547=PLANE('',#7546);
+-#7548=ORIENTED_EDGE('',*,*,#7523,.T.);
+-#7549=ORIENTED_EDGE('',*,*,#7537,.T.);
+-#7550=EDGE_LOOP('',(#7548,#7549));
+-#7551=FACE_OUTER_BOUND('',#7550,.F.);
+-#7552=ADVANCED_FACE('',(#7551),#7547,.F.);
+-#7553=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0));
+-#7554=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7555=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7556=AXIS2_PLACEMENT_3D('',#7553,#7554,#7555);
+-#7557=CYLINDRICAL_SURFACE('',#7556,6.25E-2);
+-#7558=ORIENTED_EDGE('',*,*,#7508,.T.);
+-#7560=ORIENTED_EDGE('',*,*,#7559,.T.);
+-#7562=ORIENTED_EDGE('',*,*,#7561,.F.);
+-#7564=ORIENTED_EDGE('',*,*,#7563,.F.);
+-#7565=EDGE_LOOP('',(#7558,#7560,#7562,#7564));
+-#7566=FACE_OUTER_BOUND('',#7565,.F.);
+-#7567=ADVANCED_FACE('',(#7566),#7557,.F.);
+-#7568=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0));
+-#7569=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7570=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7571=AXIS2_PLACEMENT_3D('',#7568,#7569,#7570);
+-#7572=CYLINDRICAL_SURFACE('',#7571,6.25E-2);
+-#7573=ORIENTED_EDGE('',*,*,#7510,.T.);
+-#7574=ORIENTED_EDGE('',*,*,#7563,.T.);
+-#7576=ORIENTED_EDGE('',*,*,#7575,.F.);
+-#7577=ORIENTED_EDGE('',*,*,#7559,.F.);
+-#7578=EDGE_LOOP('',(#7573,#7574,#7576,#7577));
+-#7579=FACE_OUTER_BOUND('',#7578,.F.);
+-#7580=ADVANCED_FACE('',(#7579),#7572,.F.);
+-#7581=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0));
+-#7582=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7583=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7584=AXIS2_PLACEMENT_3D('',#7581,#7582,#7583);
+-#7585=PLANE('',#7584);
+-#7586=ORIENTED_EDGE('',*,*,#7561,.T.);
+-#7587=ORIENTED_EDGE('',*,*,#7575,.T.);
+-#7588=EDGE_LOOP('',(#7586,#7587));
+-#7589=FACE_OUTER_BOUND('',#7588,.F.);
+-#7590=ADVANCED_FACE('',(#7589),#7585,.F.);
+-#7591=CARTESIAN_POINT('',(2.15E0,6.65E0,9.441108058217E0));
+-#7592=DIRECTION('',(0.E0,0.E0,1.E0));
+-#7593=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7594=AXIS2_PLACEMENT_3D('',#7591,#7592,#7593);
+-#7595=CYLINDRICAL_SURFACE('',#7594,3.5E-1);
+-#7597=ORIENTED_EDGE('',*,*,#7596,.T.);
+-#7598=ORIENTED_EDGE('',*,*,#7285,.T.);
+-#7600=ORIENTED_EDGE('',*,*,#7599,.F.);
+-#7602=ORIENTED_EDGE('',*,*,#7601,.T.);
+-#7603=EDGE_LOOP('',(#7597,#7598,#7600,#7602));
+-#7604=FACE_OUTER_BOUND('',#7603,.F.);
+-#7605=ADVANCED_FACE('',(#7604),#7595,.T.);
+-#7606=CARTESIAN_POINT('',(2.5E0,7.E0,1.E1));
+-#7607=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7608=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7609=AXIS2_PLACEMENT_3D('',#7606,#7607,#7608);
+-#7610=PLANE('',#7609);
+-#7611=ORIENTED_EDGE('',*,*,#7596,.F.);
+-#7613=ORIENTED_EDGE('',*,*,#7612,.T.);
+-#7615=ORIENTED_EDGE('',*,*,#7614,.F.);
+-#7616=ORIENTED_EDGE('',*,*,#7287,.F.);
+-#7617=EDGE_LOOP('',(#7611,#7613,#7615,#7616));
+-#7618=FACE_OUTER_BOUND('',#7617,.F.);
+-#7619=ADVANCED_FACE('',(#7618),#7610,.F.);
+-#7620=CARTESIAN_POINT('',(0.E0,0.E0,9.5E0));
+-#7621=DIRECTION('',(0.E0,0.E0,1.E0));
+-#7622=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7623=AXIS2_PLACEMENT_3D('',#7620,#7621,#7622);
+-#7624=PLANE('',#7623);
+-#7625=ORIENTED_EDGE('',*,*,#7612,.F.);
+-#7626=ORIENTED_EDGE('',*,*,#7601,.F.);
+-#7628=ORIENTED_EDGE('',*,*,#7627,.F.);
+-#7630=ORIENTED_EDGE('',*,*,#7629,.F.);
+-#7632=ORIENTED_EDGE('',*,*,#7631,.F.);
+-#7634=ORIENTED_EDGE('',*,*,#7633,.F.);
+-#7636=ORIENTED_EDGE('',*,*,#7635,.F.);
+-#7638=ORIENTED_EDGE('',*,*,#7637,.F.);
+-#7640=ORIENTED_EDGE('',*,*,#7639,.F.);
+-#7642=ORIENTED_EDGE('',*,*,#7641,.F.);
+-#7644=ORIENTED_EDGE('',*,*,#7643,.F.);
+-#7646=ORIENTED_EDGE('',*,*,#7645,.F.);
+-#7647=EDGE_LOOP('',(#7625,#7626,#7628,#7630,#7632,#7634,#7636,#7638,#7640,#7642,
+-#7644,#7646));
+-#7648=FACE_OUTER_BOUND('',#7647,.F.);
+-#7649=ADVANCED_FACE('',(#7648),#7624,.T.);
+-#7650=CARTESIAN_POINT('',(1.357969178416E0,7.E0,1.E1));
+-#7651=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7652=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7653=AXIS2_PLACEMENT_3D('',#7650,#7651,#7652);
+-#7654=PLANE('',#7653);
+-#7655=ORIENTED_EDGE('',*,*,#7599,.T.);
+-#7656=ORIENTED_EDGE('',*,*,#7307,.F.);
+-#7658=ORIENTED_EDGE('',*,*,#7657,.T.);
+-#7659=ORIENTED_EDGE('',*,*,#7627,.T.);
+-#7660=EDGE_LOOP('',(#7655,#7656,#7658,#7659));
+-#7661=FACE_OUTER_BOUND('',#7660,.F.);
+-#7662=ADVANCED_FACE('',(#7661),#7654,.F.);
+-#7663=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,1.006892397423E1));
+-#7664=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#7665=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7666=AXIS2_PLACEMENT_3D('',#7663,#7664,#7665);
+-#7667=CYLINDRICAL_SURFACE('',#7666,3.5E-1);
+-#7668=ORIENTED_EDGE('',*,*,#7657,.F.);
+-#7669=ORIENTED_EDGE('',*,*,#7305,.T.);
+-#7671=ORIENTED_EDGE('',*,*,#7670,.T.);
+-#7672=ORIENTED_EDGE('',*,*,#7629,.T.);
+-#7673=EDGE_LOOP('',(#7668,#7669,#7671,#7672));
+-#7674=FACE_OUTER_BOUND('',#7673,.F.);
+-#7675=ADVANCED_FACE('',(#7674),#7667,.F.);
+-#7676=CARTESIAN_POINT('',(2.746858067304E0,9.5E0,1.E1));
+-#7677=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
+-#7678=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
+-#7679=AXIS2_PLACEMENT_3D('',#7676,#7677,#7678);
+-#7680=PLANE('',#7679);
+-#7681=ORIENTED_EDGE('',*,*,#7670,.F.);
+-#7682=ORIENTED_EDGE('',*,*,#7303,.F.);
+-#7684=ORIENTED_EDGE('',*,*,#7683,.T.);
+-#7685=ORIENTED_EDGE('',*,*,#7631,.T.);
+-#7686=EDGE_LOOP('',(#7681,#7682,#7684,#7685));
+-#7687=FACE_OUTER_BOUND('',#7686,.F.);
+-#7688=ADVANCED_FACE('',(#7687),#7680,.F.);
+-#7689=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,1.006892397423E1));
+-#7690=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#7691=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
+-#7692=AXIS2_PLACEMENT_3D('',#7689,#7690,#7691);
+-#7693=CYLINDRICAL_SURFACE('',#7692,3.5E-1);
+-#7694=ORIENTED_EDGE('',*,*,#7683,.F.);
+-#7695=ORIENTED_EDGE('',*,*,#7301,.T.);
+-#7697=ORIENTED_EDGE('',*,*,#7696,.T.);
+-#7698=ORIENTED_EDGE('',*,*,#7633,.T.);
+-#7699=EDGE_LOOP('',(#7694,#7695,#7697,#7698));
+-#7700=FACE_OUTER_BOUND('',#7699,.F.);
+-#7701=ADVANCED_FACE('',(#7700),#7693,.F.);
+-#7702=CARTESIAN_POINT('',(4.5E0,9.5E0,1.E1));
+-#7703=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7704=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7705=AXIS2_PLACEMENT_3D('',#7702,#7703,#7704);
+-#7706=PLANE('',#7705);
+-#7707=ORIENTED_EDGE('',*,*,#7696,.F.);
+-#7708=ORIENTED_EDGE('',*,*,#7299,.F.);
+-#7710=ORIENTED_EDGE('',*,*,#7709,.T.);
+-#7711=ORIENTED_EDGE('',*,*,#7635,.T.);
+-#7712=EDGE_LOOP('',(#7707,#7708,#7710,#7711));
+-#7713=FACE_OUTER_BOUND('',#7712,.F.);
+-#7714=ADVANCED_FACE('',(#7713),#7706,.F.);
+-#7715=CARTESIAN_POINT('',(4.15E0,9.15E0,1.006892397423E1));
+-#7716=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#7717=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7718=AXIS2_PLACEMENT_3D('',#7715,#7716,#7717);
+-#7719=CYLINDRICAL_SURFACE('',#7718,3.5E-1);
+-#7720=ORIENTED_EDGE('',*,*,#7709,.F.);
+-#7721=ORIENTED_EDGE('',*,*,#7297,.T.);
+-#7723=ORIENTED_EDGE('',*,*,#7722,.T.);
+-#7724=ORIENTED_EDGE('',*,*,#7637,.T.);
+-#7725=EDGE_LOOP('',(#7720,#7721,#7723,#7724));
+-#7726=FACE_OUTER_BOUND('',#7725,.F.);
+-#7727=ADVANCED_FACE('',(#7726),#7719,.F.);
+-#7728=CARTESIAN_POINT('',(4.5E0,2.E0,1.E1));
+-#7729=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7730=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7731=AXIS2_PLACEMENT_3D('',#7728,#7729,#7730);
+-#7732=PLANE('',#7731);
+-#7734=ORIENTED_EDGE('',*,*,#7733,.T.);
+-#7735=ORIENTED_EDGE('',*,*,#7639,.T.);
+-#7736=ORIENTED_EDGE('',*,*,#7722,.F.);
+-#7737=ORIENTED_EDGE('',*,*,#7295,.F.);
+-#7738=EDGE_LOOP('',(#7734,#7735,#7736,#7737));
+-#7739=FACE_OUTER_BOUND('',#7738,.F.);
+-#7740=ADVANCED_FACE('',(#7739),#7732,.F.);
+-#7741=CARTESIAN_POINT('',(4.15E0,2.35E0,1.006892397423E1));
+-#7742=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#7743=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7744=AXIS2_PLACEMENT_3D('',#7741,#7742,#7743);
+-#7745=CYLINDRICAL_SURFACE('',#7744,3.5E-1);
+-#7746=ORIENTED_EDGE('',*,*,#7733,.F.);
+-#7747=ORIENTED_EDGE('',*,*,#7293,.T.);
+-#7749=ORIENTED_EDGE('',*,*,#7748,.T.);
+-#7750=ORIENTED_EDGE('',*,*,#7641,.T.);
+-#7751=EDGE_LOOP('',(#7746,#7747,#7749,#7750));
+-#7752=FACE_OUTER_BOUND('',#7751,.F.);
+-#7753=ADVANCED_FACE('',(#7752),#7745,.F.);
+-#7754=CARTESIAN_POINT('',(2.5E0,2.E0,1.E1));
+-#7755=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7756=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7757=AXIS2_PLACEMENT_3D('',#7754,#7755,#7756);
+-#7758=PLANE('',#7757);
+-#7760=ORIENTED_EDGE('',*,*,#7759,.T.);
+-#7761=ORIENTED_EDGE('',*,*,#7643,.T.);
+-#7762=ORIENTED_EDGE('',*,*,#7748,.F.);
+-#7763=ORIENTED_EDGE('',*,*,#7291,.F.);
+-#7764=EDGE_LOOP('',(#7760,#7761,#7762,#7763));
+-#7765=FACE_OUTER_BOUND('',#7764,.F.);
+-#7766=ADVANCED_FACE('',(#7765),#7758,.F.);
+-#7767=CARTESIAN_POINT('',(2.85E0,2.35E0,1.006892397423E1));
+-#7768=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#7769=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7770=AXIS2_PLACEMENT_3D('',#7767,#7768,#7769);
+-#7771=CYLINDRICAL_SURFACE('',#7770,3.5E-1);
+-#7772=ORIENTED_EDGE('',*,*,#7759,.F.);
+-#7773=ORIENTED_EDGE('',*,*,#7289,.T.);
+-#7774=ORIENTED_EDGE('',*,*,#7614,.T.);
+-#7775=ORIENTED_EDGE('',*,*,#7645,.T.);
+-#7776=EDGE_LOOP('',(#7772,#7773,#7774,#7775));
+-#7777=FACE_OUTER_BOUND('',#7776,.F.);
+-#7778=ADVANCED_FACE('',(#7777),#7771,.F.);
+-#7779=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
+-#7780=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
+-#7781=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7782=AXIS2_PLACEMENT_3D('',#7779,#7780,#7781);
+-#7783=PLANE('',#7782);
+-#7784=ORIENTED_EDGE('',*,*,#7161,.F.);
+-#7785=ORIENTED_EDGE('',*,*,#6428,.T.);
+-#7786=ORIENTED_EDGE('',*,*,#6953,.T.);
+-#7787=ORIENTED_EDGE('',*,*,#5682,.F.);
+-#7788=EDGE_LOOP('',(#7784,#7785,#7786,#7787));
+-#7789=FACE_OUTER_BOUND('',#7788,.F.);
+-#7790=ADVANCED_FACE('',(#7789),#7783,.T.);
+-#7791=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0));
+-#7792=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7793=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7794=AXIS2_PLACEMENT_3D('',#7791,#7792,#7793);
+-#7795=CYLINDRICAL_SURFACE('',#7794,9.5E-2);
+-#7796=ORIENTED_EDGE('',*,*,#7140,.F.);
+-#7798=ORIENTED_EDGE('',*,*,#7797,.T.);
+-#7800=ORIENTED_EDGE('',*,*,#7799,.T.);
+-#7802=ORIENTED_EDGE('',*,*,#7801,.F.);
+-#7803=EDGE_LOOP('',(#7796,#7798,#7800,#7802));
+-#7804=FACE_OUTER_BOUND('',#7803,.F.);
+-#7805=ADVANCED_FACE('',(#7804),#7795,.F.);
+-#7806=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0));
+-#7807=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7808=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7809=AXIS2_PLACEMENT_3D('',#7806,#7807,#7808);
+-#7810=CYLINDRICAL_SURFACE('',#7809,9.5E-2);
+-#7811=ORIENTED_EDGE('',*,*,#7142,.F.);
+-#7812=ORIENTED_EDGE('',*,*,#7801,.T.);
+-#7814=ORIENTED_EDGE('',*,*,#7813,.T.);
+-#7815=ORIENTED_EDGE('',*,*,#7797,.F.);
+-#7816=EDGE_LOOP('',(#7811,#7812,#7814,#7815));
+-#7817=FACE_OUTER_BOUND('',#7816,.F.);
+-#7818=ADVANCED_FACE('',(#7817),#7810,.F.);
+-#7819=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0));
+-#7820=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7821=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7822=AXIS2_PLACEMENT_3D('',#7819,#7820,#7821);
+-#7823=PLANE('',#7822);
+-#7824=ORIENTED_EDGE('',*,*,#7799,.F.);
+-#7825=ORIENTED_EDGE('',*,*,#7813,.F.);
+-#7826=EDGE_LOOP('',(#7824,#7825));
+-#7827=FACE_OUTER_BOUND('',#7826,.F.);
+-#7828=ADVANCED_FACE('',(#7827),#7823,.T.);
+-#7829=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0));
+-#7830=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7831=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7832=AXIS2_PLACEMENT_3D('',#7829,#7830,#7831);
+-#7833=CYLINDRICAL_SURFACE('',#7832,6.25E-2);
+-#7834=ORIENTED_EDGE('',*,*,#7146,.F.);
+-#7836=ORIENTED_EDGE('',*,*,#7835,.T.);
+-#7838=ORIENTED_EDGE('',*,*,#7837,.T.);
+-#7840=ORIENTED_EDGE('',*,*,#7839,.F.);
+-#7841=EDGE_LOOP('',(#7834,#7836,#7838,#7840));
+-#7842=FACE_OUTER_BOUND('',#7841,.F.);
+-#7843=ADVANCED_FACE('',(#7842),#7833,.F.);
+-#7844=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0));
+-#7845=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7846=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7847=AXIS2_PLACEMENT_3D('',#7844,#7845,#7846);
+-#7848=CYLINDRICAL_SURFACE('',#7847,6.25E-2);
+-#7849=ORIENTED_EDGE('',*,*,#7148,.F.);
+-#7850=ORIENTED_EDGE('',*,*,#7839,.T.);
+-#7852=ORIENTED_EDGE('',*,*,#7851,.T.);
+-#7853=ORIENTED_EDGE('',*,*,#7835,.F.);
+-#7854=EDGE_LOOP('',(#7849,#7850,#7852,#7853));
+-#7855=FACE_OUTER_BOUND('',#7854,.F.);
+-#7856=ADVANCED_FACE('',(#7855),#7848,.F.);
+-#7857=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0));
+-#7858=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7859=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7860=AXIS2_PLACEMENT_3D('',#7857,#7858,#7859);
+-#7861=PLANE('',#7860);
+-#7862=ORIENTED_EDGE('',*,*,#7837,.F.);
+-#7863=ORIENTED_EDGE('',*,*,#7851,.F.);
+-#7864=EDGE_LOOP('',(#7862,#7863));
+-#7865=FACE_OUTER_BOUND('',#7864,.F.);
+-#7866=ADVANCED_FACE('',(#7865),#7861,.T.);
+-#7867=CARTESIAN_POINT('',(1.755E1,1.176878221735E0,2.975E1));
+-#7868=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7869=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7870=AXIS2_PLACEMENT_3D('',#7867,#7868,#7869);
+-#7871=CYLINDRICAL_SURFACE('',#7870,1.E-1);
+-#7872=ORIENTED_EDGE('',*,*,#6346,.F.);
+-#7874=ORIENTED_EDGE('',*,*,#7873,.F.);
+-#7876=ORIENTED_EDGE('',*,*,#7875,.T.);
+-#7878=ORIENTED_EDGE('',*,*,#7877,.T.);
+-#7879=EDGE_LOOP('',(#7872,#7874,#7876,#7878));
+-#7880=FACE_OUTER_BOUND('',#7879,.F.);
+-#7881=ADVANCED_FACE('',(#7880),#7871,.F.);
+-#7882=CARTESIAN_POINT('',(1.755E1,1.176878221735E0,2.975E1));
+-#7883=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7884=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7885=AXIS2_PLACEMENT_3D('',#7882,#7883,#7884);
+-#7886=CYLINDRICAL_SURFACE('',#7885,1.E-1);
+-#7887=ORIENTED_EDGE('',*,*,#6348,.F.);
+-#7888=ORIENTED_EDGE('',*,*,#7877,.F.);
+-#7890=ORIENTED_EDGE('',*,*,#7889,.F.);
+-#7891=ORIENTED_EDGE('',*,*,#7873,.T.);
+-#7892=EDGE_LOOP('',(#7887,#7888,#7890,#7891));
+-#7893=FACE_OUTER_BOUND('',#7892,.F.);
+-#7894=ADVANCED_FACE('',(#7893),#7886,.F.);
+-#7895=CARTESIAN_POINT('',(1.755E1,1.234346967234E0,2.975E1));
+-#7896=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7897=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7898=AXIS2_PLACEMENT_3D('',#7895,#7896,#7897);
+-#7899=CONICAL_SURFACE('',#7898,7.288815195685E-2,6.E1);
+-#7901=ORIENTED_EDGE('',*,*,#7900,.F.);
+-#7903=ORIENTED_EDGE('',*,*,#7902,.T.);
+-#7904=ORIENTED_EDGE('',*,*,#7889,.T.);
+-#7905=EDGE_LOOP('',(#7901,#7903,#7904));
+-#7906=FACE_OUTER_BOUND('',#7905,.F.);
+-#7907=ADVANCED_FACE('',(#7906),#7899,.F.);
+-#7908=CARTESIAN_POINT('',(1.755E1,1.234346967234E0,2.975E1));
+-#7909=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7910=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7911=AXIS2_PLACEMENT_3D('',#7908,#7909,#7910);
+-#7912=CONICAL_SURFACE('',#7911,7.288815195685E-2,6.E1);
+-#7913=ORIENTED_EDGE('',*,*,#7900,.T.);
+-#7914=ORIENTED_EDGE('',*,*,#7875,.F.);
+-#7915=ORIENTED_EDGE('',*,*,#7902,.F.);
+-#7916=EDGE_LOOP('',(#7913,#7914,#7915));
+-#7917=FACE_OUTER_BOUND('',#7916,.F.);
+-#7918=ADVANCED_FACE('',(#7917),#7912,.F.);
+-#7919=CARTESIAN_POINT('',(1.655E1,1.176878221735E0,2.975E1));
+-#7920=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7921=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7922=AXIS2_PLACEMENT_3D('',#7919,#7920,#7921);
+-#7923=CYLINDRICAL_SURFACE('',#7922,1.E-1);
+-#7924=ORIENTED_EDGE('',*,*,#6352,.F.);
+-#7926=ORIENTED_EDGE('',*,*,#7925,.F.);
+-#7928=ORIENTED_EDGE('',*,*,#7927,.T.);
+-#7930=ORIENTED_EDGE('',*,*,#7929,.T.);
+-#7931=EDGE_LOOP('',(#7924,#7926,#7928,#7930));
+-#7932=FACE_OUTER_BOUND('',#7931,.F.);
+-#7933=ADVANCED_FACE('',(#7932),#7923,.F.);
+-#7934=CARTESIAN_POINT('',(1.655E1,1.176878221735E0,2.975E1));
+-#7935=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7936=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7937=AXIS2_PLACEMENT_3D('',#7934,#7935,#7936);
+-#7938=CYLINDRICAL_SURFACE('',#7937,1.E-1);
+-#7939=ORIENTED_EDGE('',*,*,#6354,.F.);
+-#7940=ORIENTED_EDGE('',*,*,#7929,.F.);
+-#7942=ORIENTED_EDGE('',*,*,#7941,.F.);
+-#7943=ORIENTED_EDGE('',*,*,#7925,.T.);
+-#7944=EDGE_LOOP('',(#7939,#7940,#7942,#7943));
+-#7945=FACE_OUTER_BOUND('',#7944,.F.);
+-#7946=ADVANCED_FACE('',(#7945),#7938,.F.);
+-#7947=CARTESIAN_POINT('',(1.655E1,1.234346967234E0,2.975E1));
+-#7948=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7949=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7950=AXIS2_PLACEMENT_3D('',#7947,#7948,#7949);
+-#7951=CONICAL_SURFACE('',#7950,7.288815195685E-2,6.E1);
+-#7953=ORIENTED_EDGE('',*,*,#7952,.F.);
+-#7955=ORIENTED_EDGE('',*,*,#7954,.T.);
+-#7956=ORIENTED_EDGE('',*,*,#7941,.T.);
+-#7957=EDGE_LOOP('',(#7953,#7955,#7956));
+-#7958=FACE_OUTER_BOUND('',#7957,.F.);
+-#7959=ADVANCED_FACE('',(#7958),#7951,.F.);
+-#7960=CARTESIAN_POINT('',(1.655E1,1.234346967234E0,2.975E1));
+-#7961=DIRECTION('',(0.E0,1.E0,0.E0));
+-#7962=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#7963=AXIS2_PLACEMENT_3D('',#7960,#7961,#7962);
+-#7964=CONICAL_SURFACE('',#7963,7.288815195685E-2,6.E1);
+-#7965=ORIENTED_EDGE('',*,*,#7952,.T.);
+-#7966=ORIENTED_EDGE('',*,*,#7927,.F.);
+-#7967=ORIENTED_EDGE('',*,*,#7954,.F.);
+-#7968=EDGE_LOOP('',(#7965,#7966,#7967));
+-#7969=FACE_OUTER_BOUND('',#7968,.F.);
+-#7970=ADVANCED_FACE('',(#7969),#7964,.F.);
+-#7971=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
+-#7972=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7973=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7974=AXIS2_PLACEMENT_3D('',#7971,#7972,#7973);
+-#7975=CYLINDRICAL_SURFACE('',#7974,2.575E-1);
+-#7976=ORIENTED_EDGE('',*,*,#6248,.T.);
+-#7978=ORIENTED_EDGE('',*,*,#7977,.T.);
+-#7980=ORIENTED_EDGE('',*,*,#7979,.F.);
+-#7982=ORIENTED_EDGE('',*,*,#7981,.F.);
+-#7983=EDGE_LOOP('',(#7976,#7978,#7980,#7982));
+-#7984=FACE_OUTER_BOUND('',#7983,.F.);
+-#7985=ADVANCED_FACE('',(#7984),#7975,.F.);
+-#7986=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
+-#7987=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#7988=DIRECTION('',(1.E0,0.E0,0.E0));
+-#7989=AXIS2_PLACEMENT_3D('',#7986,#7987,#7988);
+-#7990=CYLINDRICAL_SURFACE('',#7989,2.575E-1);
+-#7991=ORIENTED_EDGE('',*,*,#6250,.T.);
+-#7992=ORIENTED_EDGE('',*,*,#7981,.T.);
+-#7994=ORIENTED_EDGE('',*,*,#7993,.F.);
+-#7995=ORIENTED_EDGE('',*,*,#7977,.F.);
+-#7996=EDGE_LOOP('',(#7991,#7992,#7994,#7995));
+-#7997=FACE_OUTER_BOUND('',#7996,.F.);
+-#7998=ADVANCED_FACE('',(#7997),#7990,.F.);
+-#7999=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
+-#8000=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8001=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8002=AXIS2_PLACEMENT_3D('',#7999,#8000,#8001);
+-#8003=PLANE('',#8002);
+-#8004=ORIENTED_EDGE('',*,*,#7979,.T.);
+-#8005=ORIENTED_EDGE('',*,*,#7993,.T.);
+-#8006=EDGE_LOOP('',(#8004,#8005));
+-#8007=FACE_OUTER_BOUND('',#8006,.F.);
+-#8009=ORIENTED_EDGE('',*,*,#8008,.F.);
+-#8011=ORIENTED_EDGE('',*,*,#8010,.F.);
+-#8012=EDGE_LOOP('',(#8009,#8011));
+-#8013=FACE_BOUND('',#8012,.F.);
+-#8014=ADVANCED_FACE('',(#8007,#8013),#8003,.F.);
+-#8015=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
+-#8016=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8017=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8018=AXIS2_PLACEMENT_3D('',#8015,#8016,#8017);
+-#8019=CYLINDRICAL_SURFACE('',#8018,1.925E-1);
+-#8020=ORIENTED_EDGE('',*,*,#8008,.T.);
+-#8022=ORIENTED_EDGE('',*,*,#8021,.T.);
+-#8023=ORIENTED_EDGE('',*,*,#5626,.F.);
+-#8025=ORIENTED_EDGE('',*,*,#8024,.F.);
+-#8026=EDGE_LOOP('',(#8020,#8022,#8023,#8025));
+-#8027=FACE_OUTER_BOUND('',#8026,.F.);
+-#8028=ADVANCED_FACE('',(#8027),#8019,.F.);
+-#8029=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
+-#8030=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8031=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8032=AXIS2_PLACEMENT_3D('',#8029,#8030,#8031);
+-#8033=CYLINDRICAL_SURFACE('',#8032,1.925E-1);
+-#8034=ORIENTED_EDGE('',*,*,#8010,.T.);
+-#8035=ORIENTED_EDGE('',*,*,#8024,.T.);
+-#8036=ORIENTED_EDGE('',*,*,#5628,.F.);
+-#8037=ORIENTED_EDGE('',*,*,#8021,.F.);
+-#8038=EDGE_LOOP('',(#8034,#8035,#8036,#8037));
+-#8039=FACE_OUTER_BOUND('',#8038,.F.);
+-#8040=ADVANCED_FACE('',(#8039),#8033,.F.);
+-#8041=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
+-#8042=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8043=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8044=AXIS2_PLACEMENT_3D('',#8041,#8042,#8043);
+-#8045=CYLINDRICAL_SURFACE('',#8044,2.575E-1);
+-#8046=ORIENTED_EDGE('',*,*,#6358,.T.);
+-#8048=ORIENTED_EDGE('',*,*,#8047,.T.);
+-#8050=ORIENTED_EDGE('',*,*,#8049,.F.);
+-#8052=ORIENTED_EDGE('',*,*,#8051,.F.);
+-#8053=EDGE_LOOP('',(#8046,#8048,#8050,#8052));
+-#8054=FACE_OUTER_BOUND('',#8053,.F.);
+-#8055=ADVANCED_FACE('',(#8054),#8045,.F.);
+-#8056=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
+-#8057=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8058=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8059=AXIS2_PLACEMENT_3D('',#8056,#8057,#8058);
+-#8060=CYLINDRICAL_SURFACE('',#8059,2.575E-1);
+-#8061=ORIENTED_EDGE('',*,*,#6360,.T.);
+-#8062=ORIENTED_EDGE('',*,*,#8051,.T.);
+-#8064=ORIENTED_EDGE('',*,*,#8063,.F.);
+-#8065=ORIENTED_EDGE('',*,*,#8047,.F.);
+-#8066=EDGE_LOOP('',(#8061,#8062,#8064,#8065));
+-#8067=FACE_OUTER_BOUND('',#8066,.F.);
+-#8068=ADVANCED_FACE('',(#8067),#8060,.F.);
+-#8069=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
+-#8070=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8071=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8072=AXIS2_PLACEMENT_3D('',#8069,#8070,#8071);
+-#8073=PLANE('',#8072);
+-#8074=ORIENTED_EDGE('',*,*,#8049,.T.);
+-#8075=ORIENTED_EDGE('',*,*,#8063,.T.);
+-#8076=EDGE_LOOP('',(#8074,#8075));
+-#8077=FACE_OUTER_BOUND('',#8076,.F.);
+-#8079=ORIENTED_EDGE('',*,*,#8078,.F.);
+-#8081=ORIENTED_EDGE('',*,*,#8080,.F.);
+-#8082=EDGE_LOOP('',(#8079,#8081));
+-#8083=FACE_BOUND('',#8082,.F.);
+-#8084=ADVANCED_FACE('',(#8077,#8083),#8073,.F.);
+-#8085=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
+-#8086=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8087=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8088=AXIS2_PLACEMENT_3D('',#8085,#8086,#8087);
+-#8089=CYLINDRICAL_SURFACE('',#8088,1.925E-1);
+-#8090=ORIENTED_EDGE('',*,*,#8078,.T.);
+-#8092=ORIENTED_EDGE('',*,*,#8091,.T.);
+-#8093=ORIENTED_EDGE('',*,*,#5614,.F.);
+-#8095=ORIENTED_EDGE('',*,*,#8094,.F.);
+-#8096=EDGE_LOOP('',(#8090,#8092,#8093,#8095));
+-#8097=FACE_OUTER_BOUND('',#8096,.F.);
+-#8098=ADVANCED_FACE('',(#8097),#8089,.F.);
+-#8099=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
+-#8100=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8101=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8102=AXIS2_PLACEMENT_3D('',#8099,#8100,#8101);
+-#8103=CYLINDRICAL_SURFACE('',#8102,1.925E-1);
+-#8104=ORIENTED_EDGE('',*,*,#8080,.T.);
+-#8105=ORIENTED_EDGE('',*,*,#8094,.T.);
+-#8106=ORIENTED_EDGE('',*,*,#5616,.F.);
+-#8107=ORIENTED_EDGE('',*,*,#8091,.F.);
+-#8108=EDGE_LOOP('',(#8104,#8105,#8106,#8107));
+-#8109=FACE_OUTER_BOUND('',#8108,.F.);
+-#8110=ADVANCED_FACE('',(#8109),#8103,.F.);
+-#8111=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
+-#8112=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8113=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8114=AXIS2_PLACEMENT_3D('',#8111,#8112,#8113);
+-#8115=CYLINDRICAL_SURFACE('',#8114,2.575E-1);
+-#8116=ORIENTED_EDGE('',*,*,#6364,.T.);
+-#8118=ORIENTED_EDGE('',*,*,#8117,.T.);
+-#8120=ORIENTED_EDGE('',*,*,#8119,.F.);
+-#8122=ORIENTED_EDGE('',*,*,#8121,.F.);
+-#8123=EDGE_LOOP('',(#8116,#8118,#8120,#8122));
+-#8124=FACE_OUTER_BOUND('',#8123,.F.);
+-#8125=ADVANCED_FACE('',(#8124),#8115,.F.);
+-#8126=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
+-#8127=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8128=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8129=AXIS2_PLACEMENT_3D('',#8126,#8127,#8128);
+-#8130=CYLINDRICAL_SURFACE('',#8129,2.575E-1);
+-#8131=ORIENTED_EDGE('',*,*,#6366,.T.);
+-#8132=ORIENTED_EDGE('',*,*,#8121,.T.);
+-#8134=ORIENTED_EDGE('',*,*,#8133,.F.);
+-#8135=ORIENTED_EDGE('',*,*,#8117,.F.);
+-#8136=EDGE_LOOP('',(#8131,#8132,#8134,#8135));
+-#8137=FACE_OUTER_BOUND('',#8136,.F.);
+-#8138=ADVANCED_FACE('',(#8137),#8130,.F.);
+-#8139=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
+-#8140=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8141=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8142=AXIS2_PLACEMENT_3D('',#8139,#8140,#8141);
+-#8143=PLANE('',#8142);
+-#8144=ORIENTED_EDGE('',*,*,#8119,.T.);
+-#8145=ORIENTED_EDGE('',*,*,#8133,.T.);
+-#8146=EDGE_LOOP('',(#8144,#8145));
+-#8147=FACE_OUTER_BOUND('',#8146,.F.);
+-#8149=ORIENTED_EDGE('',*,*,#8148,.F.);
+-#8151=ORIENTED_EDGE('',*,*,#8150,.F.);
+-#8152=EDGE_LOOP('',(#8149,#8151));
+-#8153=FACE_BOUND('',#8152,.F.);
+-#8154=ADVANCED_FACE('',(#8147,#8153),#8143,.F.);
+-#8155=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
+-#8156=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8157=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8158=AXIS2_PLACEMENT_3D('',#8155,#8156,#8157);
+-#8159=CYLINDRICAL_SURFACE('',#8158,1.925E-1);
+-#8160=ORIENTED_EDGE('',*,*,#8148,.T.);
+-#8162=ORIENTED_EDGE('',*,*,#8161,.T.);
+-#8163=ORIENTED_EDGE('',*,*,#5608,.F.);
+-#8165=ORIENTED_EDGE('',*,*,#8164,.F.);
+-#8166=EDGE_LOOP('',(#8160,#8162,#8163,#8165));
+-#8167=FACE_OUTER_BOUND('',#8166,.F.);
+-#8168=ADVANCED_FACE('',(#8167),#8159,.F.);
+-#8169=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
+-#8170=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8171=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8172=AXIS2_PLACEMENT_3D('',#8169,#8170,#8171);
+-#8173=CYLINDRICAL_SURFACE('',#8172,1.925E-1);
+-#8174=ORIENTED_EDGE('',*,*,#8150,.T.);
+-#8175=ORIENTED_EDGE('',*,*,#8164,.T.);
+-#8176=ORIENTED_EDGE('',*,*,#5610,.F.);
+-#8177=ORIENTED_EDGE('',*,*,#8161,.F.);
+-#8178=EDGE_LOOP('',(#8174,#8175,#8176,#8177));
+-#8179=FACE_OUTER_BOUND('',#8178,.F.);
+-#8180=ADVANCED_FACE('',(#8179),#8173,.F.);
+-#8181=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
+-#8182=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8183=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8184=AXIS2_PLACEMENT_3D('',#8181,#8182,#8183);
+-#8185=CYLINDRICAL_SURFACE('',#8184,2.575E-1);
+-#8186=ORIENTED_EDGE('',*,*,#6254,.T.);
+-#8188=ORIENTED_EDGE('',*,*,#8187,.T.);
+-#8190=ORIENTED_EDGE('',*,*,#8189,.F.);
+-#8192=ORIENTED_EDGE('',*,*,#8191,.F.);
+-#8193=EDGE_LOOP('',(#8186,#8188,#8190,#8192));
+-#8194=FACE_OUTER_BOUND('',#8193,.F.);
+-#8195=ADVANCED_FACE('',(#8194),#8185,.F.);
+-#8196=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
+-#8197=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8198=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8199=AXIS2_PLACEMENT_3D('',#8196,#8197,#8198);
+-#8200=CYLINDRICAL_SURFACE('',#8199,2.575E-1);
+-#8201=ORIENTED_EDGE('',*,*,#6256,.T.);
+-#8202=ORIENTED_EDGE('',*,*,#8191,.T.);
+-#8204=ORIENTED_EDGE('',*,*,#8203,.F.);
+-#8205=ORIENTED_EDGE('',*,*,#8187,.F.);
+-#8206=EDGE_LOOP('',(#8201,#8202,#8204,#8205));
+-#8207=FACE_OUTER_BOUND('',#8206,.F.);
+-#8208=ADVANCED_FACE('',(#8207),#8200,.F.);
+-#8209=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
+-#8210=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8211=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8212=AXIS2_PLACEMENT_3D('',#8209,#8210,#8211);
+-#8213=PLANE('',#8212);
+-#8214=ORIENTED_EDGE('',*,*,#8189,.T.);
+-#8215=ORIENTED_EDGE('',*,*,#8203,.T.);
+-#8216=EDGE_LOOP('',(#8214,#8215));
+-#8217=FACE_OUTER_BOUND('',#8216,.F.);
+-#8219=ORIENTED_EDGE('',*,*,#8218,.F.);
+-#8221=ORIENTED_EDGE('',*,*,#8220,.F.);
+-#8222=EDGE_LOOP('',(#8219,#8221));
+-#8223=FACE_BOUND('',#8222,.F.);
+-#8224=ADVANCED_FACE('',(#8217,#8223),#8213,.F.);
+-#8225=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
+-#8226=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8227=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8228=AXIS2_PLACEMENT_3D('',#8225,#8226,#8227);
+-#8229=CYLINDRICAL_SURFACE('',#8228,1.925E-1);
+-#8230=ORIENTED_EDGE('',*,*,#8218,.T.);
+-#8232=ORIENTED_EDGE('',*,*,#8231,.T.);
+-#8233=ORIENTED_EDGE('',*,*,#5602,.F.);
+-#8235=ORIENTED_EDGE('',*,*,#8234,.F.);
+-#8236=EDGE_LOOP('',(#8230,#8232,#8233,#8235));
+-#8237=FACE_OUTER_BOUND('',#8236,.F.);
+-#8238=ADVANCED_FACE('',(#8237),#8229,.F.);
+-#8239=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
+-#8240=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8241=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8242=AXIS2_PLACEMENT_3D('',#8239,#8240,#8241);
+-#8243=CYLINDRICAL_SURFACE('',#8242,1.925E-1);
+-#8244=ORIENTED_EDGE('',*,*,#8220,.T.);
+-#8245=ORIENTED_EDGE('',*,*,#8234,.T.);
+-#8246=ORIENTED_EDGE('',*,*,#5604,.F.);
+-#8247=ORIENTED_EDGE('',*,*,#8231,.F.);
+-#8248=EDGE_LOOP('',(#8244,#8245,#8246,#8247));
+-#8249=FACE_OUTER_BOUND('',#8248,.F.);
+-#8250=ADVANCED_FACE('',(#8249),#8243,.F.);
+-#8251=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
+-#8252=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8253=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8254=AXIS2_PLACEMENT_3D('',#8251,#8252,#8253);
+-#8255=CYLINDRICAL_SURFACE('',#8254,2.575E-1);
+-#8256=ORIENTED_EDGE('',*,*,#6370,.T.);
+-#8258=ORIENTED_EDGE('',*,*,#8257,.T.);
+-#8260=ORIENTED_EDGE('',*,*,#8259,.F.);
+-#8262=ORIENTED_EDGE('',*,*,#8261,.F.);
+-#8263=EDGE_LOOP('',(#8256,#8258,#8260,#8262));
+-#8264=FACE_OUTER_BOUND('',#8263,.F.);
+-#8265=ADVANCED_FACE('',(#8264),#8255,.F.);
+-#8266=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
+-#8267=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8268=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8269=AXIS2_PLACEMENT_3D('',#8266,#8267,#8268);
+-#8270=CYLINDRICAL_SURFACE('',#8269,2.575E-1);
+-#8271=ORIENTED_EDGE('',*,*,#6372,.T.);
+-#8272=ORIENTED_EDGE('',*,*,#8261,.T.);
+-#8274=ORIENTED_EDGE('',*,*,#8273,.F.);
+-#8275=ORIENTED_EDGE('',*,*,#8257,.F.);
+-#8276=EDGE_LOOP('',(#8271,#8272,#8274,#8275));
+-#8277=FACE_OUTER_BOUND('',#8276,.F.);
+-#8278=ADVANCED_FACE('',(#8277),#8270,.F.);
+-#8279=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
+-#8280=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8281=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8282=AXIS2_PLACEMENT_3D('',#8279,#8280,#8281);
+-#8283=PLANE('',#8282);
+-#8284=ORIENTED_EDGE('',*,*,#8259,.T.);
+-#8285=ORIENTED_EDGE('',*,*,#8273,.T.);
+-#8286=EDGE_LOOP('',(#8284,#8285));
+-#8287=FACE_OUTER_BOUND('',#8286,.F.);
+-#8289=ORIENTED_EDGE('',*,*,#8288,.F.);
+-#8291=ORIENTED_EDGE('',*,*,#8290,.F.);
+-#8292=EDGE_LOOP('',(#8289,#8291));
+-#8293=FACE_BOUND('',#8292,.F.);
+-#8294=ADVANCED_FACE('',(#8287,#8293),#8283,.F.);
+-#8295=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
+-#8296=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8297=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8298=AXIS2_PLACEMENT_3D('',#8295,#8296,#8297);
+-#8299=CYLINDRICAL_SURFACE('',#8298,1.925E-1);
+-#8300=ORIENTED_EDGE('',*,*,#8288,.T.);
+-#8302=ORIENTED_EDGE('',*,*,#8301,.T.);
+-#8303=ORIENTED_EDGE('',*,*,#5590,.F.);
+-#8305=ORIENTED_EDGE('',*,*,#8304,.F.);
+-#8306=EDGE_LOOP('',(#8300,#8302,#8303,#8305));
+-#8307=FACE_OUTER_BOUND('',#8306,.F.);
+-#8308=ADVANCED_FACE('',(#8307),#8299,.F.);
+-#8309=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
+-#8310=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8311=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8312=AXIS2_PLACEMENT_3D('',#8309,#8310,#8311);
+-#8313=CYLINDRICAL_SURFACE('',#8312,1.925E-1);
+-#8314=ORIENTED_EDGE('',*,*,#8290,.T.);
+-#8315=ORIENTED_EDGE('',*,*,#8304,.T.);
+-#8316=ORIENTED_EDGE('',*,*,#5592,.F.);
+-#8317=ORIENTED_EDGE('',*,*,#8301,.F.);
+-#8318=EDGE_LOOP('',(#8314,#8315,#8316,#8317));
+-#8319=FACE_OUTER_BOUND('',#8318,.F.);
+-#8320=ADVANCED_FACE('',(#8319),#8313,.F.);
+-#8321=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
+-#8322=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8323=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8324=AXIS2_PLACEMENT_3D('',#8321,#8322,#8323);
+-#8325=CYLINDRICAL_SURFACE('',#8324,2.575E-1);
+-#8326=ORIENTED_EDGE('',*,*,#6376,.T.);
+-#8328=ORIENTED_EDGE('',*,*,#8327,.T.);
+-#8330=ORIENTED_EDGE('',*,*,#8329,.F.);
+-#8332=ORIENTED_EDGE('',*,*,#8331,.F.);
+-#8333=EDGE_LOOP('',(#8326,#8328,#8330,#8332));
+-#8334=FACE_OUTER_BOUND('',#8333,.F.);
+-#8335=ADVANCED_FACE('',(#8334),#8325,.F.);
+-#8336=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
+-#8337=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8338=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8339=AXIS2_PLACEMENT_3D('',#8336,#8337,#8338);
+-#8340=CYLINDRICAL_SURFACE('',#8339,2.575E-1);
+-#8341=ORIENTED_EDGE('',*,*,#6378,.T.);
+-#8342=ORIENTED_EDGE('',*,*,#8331,.T.);
+-#8344=ORIENTED_EDGE('',*,*,#8343,.F.);
+-#8345=ORIENTED_EDGE('',*,*,#8327,.F.);
+-#8346=EDGE_LOOP('',(#8341,#8342,#8344,#8345));
+-#8347=FACE_OUTER_BOUND('',#8346,.F.);
+-#8348=ADVANCED_FACE('',(#8347),#8340,.F.);
+-#8349=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
+-#8350=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8351=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8352=AXIS2_PLACEMENT_3D('',#8349,#8350,#8351);
+-#8353=PLANE('',#8352);
+-#8354=ORIENTED_EDGE('',*,*,#8329,.T.);
+-#8355=ORIENTED_EDGE('',*,*,#8343,.T.);
+-#8356=EDGE_LOOP('',(#8354,#8355));
+-#8357=FACE_OUTER_BOUND('',#8356,.F.);
+-#8359=ORIENTED_EDGE('',*,*,#8358,.F.);
+-#8361=ORIENTED_EDGE('',*,*,#8360,.F.);
+-#8362=EDGE_LOOP('',(#8359,#8361));
+-#8363=FACE_BOUND('',#8362,.F.);
+-#8364=ADVANCED_FACE('',(#8357,#8363),#8353,.F.);
+-#8365=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
+-#8366=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8367=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8368=AXIS2_PLACEMENT_3D('',#8365,#8366,#8367);
+-#8369=CYLINDRICAL_SURFACE('',#8368,1.925E-1);
+-#8370=ORIENTED_EDGE('',*,*,#8358,.T.);
+-#8372=ORIENTED_EDGE('',*,*,#8371,.T.);
+-#8373=ORIENTED_EDGE('',*,*,#5584,.F.);
+-#8375=ORIENTED_EDGE('',*,*,#8374,.F.);
+-#8376=EDGE_LOOP('',(#8370,#8372,#8373,#8375));
+-#8377=FACE_OUTER_BOUND('',#8376,.F.);
+-#8378=ADVANCED_FACE('',(#8377),#8369,.F.);
+-#8379=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
+-#8380=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8381=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8382=AXIS2_PLACEMENT_3D('',#8379,#8380,#8381);
+-#8383=CYLINDRICAL_SURFACE('',#8382,1.925E-1);
+-#8384=ORIENTED_EDGE('',*,*,#8360,.T.);
+-#8385=ORIENTED_EDGE('',*,*,#8374,.T.);
+-#8386=ORIENTED_EDGE('',*,*,#5586,.F.);
+-#8387=ORIENTED_EDGE('',*,*,#8371,.F.);
+-#8388=EDGE_LOOP('',(#8384,#8385,#8386,#8387));
+-#8389=FACE_OUTER_BOUND('',#8388,.F.);
+-#8390=ADVANCED_FACE('',(#8389),#8383,.F.);
+-#8391=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
+-#8392=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8393=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8394=AXIS2_PLACEMENT_3D('',#8391,#8392,#8393);
+-#8395=CYLINDRICAL_SURFACE('',#8394,2.56E-1);
+-#8396=ORIENTED_EDGE('',*,*,#6260,.T.);
+-#8398=ORIENTED_EDGE('',*,*,#8397,.T.);
+-#8400=ORIENTED_EDGE('',*,*,#8399,.F.);
+-#8402=ORIENTED_EDGE('',*,*,#8401,.F.);
+-#8403=EDGE_LOOP('',(#8396,#8398,#8400,#8402));
+-#8404=FACE_OUTER_BOUND('',#8403,.F.);
+-#8405=ADVANCED_FACE('',(#8404),#8395,.F.);
+-#8406=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
+-#8407=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8408=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8409=AXIS2_PLACEMENT_3D('',#8406,#8407,#8408);
+-#8410=CYLINDRICAL_SURFACE('',#8409,2.56E-1);
+-#8411=ORIENTED_EDGE('',*,*,#6262,.T.);
+-#8412=ORIENTED_EDGE('',*,*,#8401,.T.);
+-#8414=ORIENTED_EDGE('',*,*,#8413,.F.);
+-#8415=ORIENTED_EDGE('',*,*,#8397,.F.);
+-#8416=EDGE_LOOP('',(#8411,#8412,#8414,#8415));
+-#8417=FACE_OUTER_BOUND('',#8416,.F.);
+-#8418=ADVANCED_FACE('',(#8417),#8410,.F.);
+-#8419=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
+-#8420=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8421=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8422=AXIS2_PLACEMENT_3D('',#8419,#8420,#8421);
+-#8423=PLANE('',#8422);
+-#8424=ORIENTED_EDGE('',*,*,#8399,.T.);
+-#8425=ORIENTED_EDGE('',*,*,#8413,.T.);
+-#8426=EDGE_LOOP('',(#8424,#8425));
+-#8427=FACE_OUTER_BOUND('',#8426,.F.);
+-#8429=ORIENTED_EDGE('',*,*,#8428,.F.);
+-#8431=ORIENTED_EDGE('',*,*,#8430,.F.);
+-#8432=EDGE_LOOP('',(#8429,#8431));
+-#8433=FACE_BOUND('',#8432,.F.);
+-#8434=ADVANCED_FACE('',(#8427,#8433),#8423,.F.);
+-#8435=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
+-#8436=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8437=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8438=AXIS2_PLACEMENT_3D('',#8435,#8436,#8437);
+-#8439=CYLINDRICAL_SURFACE('',#8438,1.925E-1);
+-#8440=ORIENTED_EDGE('',*,*,#8428,.T.);
+-#8442=ORIENTED_EDGE('',*,*,#8441,.T.);
+-#8443=ORIENTED_EDGE('',*,*,#5632,.F.);
+-#8445=ORIENTED_EDGE('',*,*,#8444,.F.);
+-#8446=EDGE_LOOP('',(#8440,#8442,#8443,#8445));
+-#8447=FACE_OUTER_BOUND('',#8446,.F.);
+-#8448=ADVANCED_FACE('',(#8447),#8439,.F.);
+-#8449=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
+-#8450=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8451=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8452=AXIS2_PLACEMENT_3D('',#8449,#8450,#8451);
+-#8453=CYLINDRICAL_SURFACE('',#8452,1.925E-1);
+-#8454=ORIENTED_EDGE('',*,*,#8430,.T.);
+-#8455=ORIENTED_EDGE('',*,*,#8444,.T.);
+-#8456=ORIENTED_EDGE('',*,*,#5634,.F.);
+-#8457=ORIENTED_EDGE('',*,*,#8441,.F.);
+-#8458=EDGE_LOOP('',(#8454,#8455,#8456,#8457));
+-#8459=FACE_OUTER_BOUND('',#8458,.F.);
+-#8460=ADVANCED_FACE('',(#8459),#8453,.F.);
+-#8461=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
+-#8462=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8463=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8464=AXIS2_PLACEMENT_3D('',#8461,#8462,#8463);
+-#8465=CYLINDRICAL_SURFACE('',#8464,2.56E-1);
+-#8466=ORIENTED_EDGE('',*,*,#6266,.T.);
+-#8468=ORIENTED_EDGE('',*,*,#8467,.T.);
+-#8470=ORIENTED_EDGE('',*,*,#8469,.F.);
+-#8472=ORIENTED_EDGE('',*,*,#8471,.F.);
+-#8473=EDGE_LOOP('',(#8466,#8468,#8470,#8472));
+-#8474=FACE_OUTER_BOUND('',#8473,.F.);
+-#8475=ADVANCED_FACE('',(#8474),#8465,.F.);
+-#8476=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
+-#8477=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8478=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8479=AXIS2_PLACEMENT_3D('',#8476,#8477,#8478);
+-#8480=CYLINDRICAL_SURFACE('',#8479,2.56E-1);
+-#8481=ORIENTED_EDGE('',*,*,#6268,.T.);
+-#8482=ORIENTED_EDGE('',*,*,#8471,.T.);
+-#8484=ORIENTED_EDGE('',*,*,#8483,.F.);
+-#8485=ORIENTED_EDGE('',*,*,#8467,.F.);
+-#8486=EDGE_LOOP('',(#8481,#8482,#8484,#8485));
+-#8487=FACE_OUTER_BOUND('',#8486,.F.);
+-#8488=ADVANCED_FACE('',(#8487),#8480,.F.);
+-#8489=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
+-#8490=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8491=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8492=AXIS2_PLACEMENT_3D('',#8489,#8490,#8491);
+-#8493=PLANE('',#8492);
+-#8494=ORIENTED_EDGE('',*,*,#8469,.T.);
+-#8495=ORIENTED_EDGE('',*,*,#8483,.T.);
+-#8496=EDGE_LOOP('',(#8494,#8495));
+-#8497=FACE_OUTER_BOUND('',#8496,.F.);
+-#8499=ORIENTED_EDGE('',*,*,#8498,.F.);
+-#8501=ORIENTED_EDGE('',*,*,#8500,.F.);
+-#8502=EDGE_LOOP('',(#8499,#8501));
+-#8503=FACE_BOUND('',#8502,.F.);
+-#8504=ADVANCED_FACE('',(#8497,#8503),#8493,.F.);
+-#8505=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
+-#8506=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8507=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8508=AXIS2_PLACEMENT_3D('',#8505,#8506,#8507);
+-#8509=CYLINDRICAL_SURFACE('',#8508,1.925E-1);
+-#8510=ORIENTED_EDGE('',*,*,#8498,.T.);
+-#8512=ORIENTED_EDGE('',*,*,#8511,.T.);
+-#8513=ORIENTED_EDGE('',*,*,#5578,.F.);
+-#8515=ORIENTED_EDGE('',*,*,#8514,.F.);
+-#8516=EDGE_LOOP('',(#8510,#8512,#8513,#8515));
+-#8517=FACE_OUTER_BOUND('',#8516,.F.);
+-#8518=ADVANCED_FACE('',(#8517),#8509,.F.);
+-#8519=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
+-#8520=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8521=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8522=AXIS2_PLACEMENT_3D('',#8519,#8520,#8521);
+-#8523=CYLINDRICAL_SURFACE('',#8522,1.925E-1);
+-#8524=ORIENTED_EDGE('',*,*,#8500,.T.);
+-#8525=ORIENTED_EDGE('',*,*,#8514,.T.);
+-#8526=ORIENTED_EDGE('',*,*,#5580,.F.);
+-#8527=ORIENTED_EDGE('',*,*,#8511,.F.);
+-#8528=EDGE_LOOP('',(#8524,#8525,#8526,#8527));
+-#8529=FACE_OUTER_BOUND('',#8528,.F.);
+-#8530=ADVANCED_FACE('',(#8529),#8523,.F.);
+-#8531=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
+-#8532=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8533=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8534=AXIS2_PLACEMENT_3D('',#8531,#8532,#8533);
+-#8535=CYLINDRICAL_SURFACE('',#8534,2.56E-1);
+-#8536=ORIENTED_EDGE('',*,*,#6272,.T.);
+-#8538=ORIENTED_EDGE('',*,*,#8537,.T.);
+-#8540=ORIENTED_EDGE('',*,*,#8539,.F.);
+-#8542=ORIENTED_EDGE('',*,*,#8541,.F.);
+-#8543=EDGE_LOOP('',(#8536,#8538,#8540,#8542));
+-#8544=FACE_OUTER_BOUND('',#8543,.F.);
+-#8545=ADVANCED_FACE('',(#8544),#8535,.F.);
+-#8546=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
+-#8547=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8548=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8549=AXIS2_PLACEMENT_3D('',#8546,#8547,#8548);
+-#8550=CYLINDRICAL_SURFACE('',#8549,2.56E-1);
+-#8551=ORIENTED_EDGE('',*,*,#6274,.T.);
+-#8552=ORIENTED_EDGE('',*,*,#8541,.T.);
+-#8554=ORIENTED_EDGE('',*,*,#8553,.F.);
+-#8555=ORIENTED_EDGE('',*,*,#8537,.F.);
+-#8556=EDGE_LOOP('',(#8551,#8552,#8554,#8555));
+-#8557=FACE_OUTER_BOUND('',#8556,.F.);
+-#8558=ADVANCED_FACE('',(#8557),#8550,.F.);
+-#8559=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
+-#8560=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8561=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8562=AXIS2_PLACEMENT_3D('',#8559,#8560,#8561);
+-#8563=PLANE('',#8562);
+-#8564=ORIENTED_EDGE('',*,*,#8539,.T.);
+-#8565=ORIENTED_EDGE('',*,*,#8553,.T.);
+-#8566=EDGE_LOOP('',(#8564,#8565));
+-#8567=FACE_OUTER_BOUND('',#8566,.F.);
+-#8569=ORIENTED_EDGE('',*,*,#8568,.F.);
+-#8571=ORIENTED_EDGE('',*,*,#8570,.F.);
+-#8572=EDGE_LOOP('',(#8569,#8571));
+-#8573=FACE_BOUND('',#8572,.F.);
+-#8574=ADVANCED_FACE('',(#8567,#8573),#8563,.F.);
+-#8575=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
+-#8576=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8577=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8578=AXIS2_PLACEMENT_3D('',#8575,#8576,#8577);
+-#8579=CYLINDRICAL_SURFACE('',#8578,1.925E-1);
+-#8580=ORIENTED_EDGE('',*,*,#8568,.T.);
+-#8582=ORIENTED_EDGE('',*,*,#8581,.T.);
+-#8583=ORIENTED_EDGE('',*,*,#5560,.F.);
+-#8585=ORIENTED_EDGE('',*,*,#8584,.F.);
+-#8586=EDGE_LOOP('',(#8580,#8582,#8583,#8585));
+-#8587=FACE_OUTER_BOUND('',#8586,.F.);
+-#8588=ADVANCED_FACE('',(#8587),#8579,.F.);
+-#8589=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
+-#8590=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8591=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8592=AXIS2_PLACEMENT_3D('',#8589,#8590,#8591);
+-#8593=CYLINDRICAL_SURFACE('',#8592,1.925E-1);
+-#8594=ORIENTED_EDGE('',*,*,#8570,.T.);
+-#8595=ORIENTED_EDGE('',*,*,#8584,.T.);
+-#8596=ORIENTED_EDGE('',*,*,#5562,.F.);
+-#8597=ORIENTED_EDGE('',*,*,#8581,.F.);
+-#8598=EDGE_LOOP('',(#8594,#8595,#8596,#8597));
+-#8599=FACE_OUTER_BOUND('',#8598,.F.);
+-#8600=ADVANCED_FACE('',(#8599),#8593,.F.);
+-#8601=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
+-#8602=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8603=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8604=AXIS2_PLACEMENT_3D('',#8601,#8602,#8603);
+-#8605=CYLINDRICAL_SURFACE('',#8604,2.56E-1);
+-#8606=ORIENTED_EDGE('',*,*,#6382,.T.);
+-#8608=ORIENTED_EDGE('',*,*,#8607,.T.);
+-#8610=ORIENTED_EDGE('',*,*,#8609,.F.);
+-#8612=ORIENTED_EDGE('',*,*,#8611,.F.);
+-#8613=EDGE_LOOP('',(#8606,#8608,#8610,#8612));
+-#8614=FACE_OUTER_BOUND('',#8613,.F.);
+-#8615=ADVANCED_FACE('',(#8614),#8605,.F.);
+-#8616=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
+-#8617=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8618=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8619=AXIS2_PLACEMENT_3D('',#8616,#8617,#8618);
+-#8620=CYLINDRICAL_SURFACE('',#8619,2.56E-1);
+-#8621=ORIENTED_EDGE('',*,*,#6384,.T.);
+-#8622=ORIENTED_EDGE('',*,*,#8611,.T.);
+-#8624=ORIENTED_EDGE('',*,*,#8623,.F.);
+-#8625=ORIENTED_EDGE('',*,*,#8607,.F.);
+-#8626=EDGE_LOOP('',(#8621,#8622,#8624,#8625));
+-#8627=FACE_OUTER_BOUND('',#8626,.F.);
+-#8628=ADVANCED_FACE('',(#8627),#8620,.F.);
+-#8629=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
+-#8630=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8631=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8632=AXIS2_PLACEMENT_3D('',#8629,#8630,#8631);
+-#8633=PLANE('',#8632);
+-#8634=ORIENTED_EDGE('',*,*,#8609,.T.);
+-#8635=ORIENTED_EDGE('',*,*,#8623,.T.);
+-#8636=EDGE_LOOP('',(#8634,#8635));
+-#8637=FACE_OUTER_BOUND('',#8636,.F.);
+-#8639=ORIENTED_EDGE('',*,*,#8638,.F.);
+-#8641=ORIENTED_EDGE('',*,*,#8640,.F.);
+-#8642=EDGE_LOOP('',(#8639,#8641));
+-#8643=FACE_BOUND('',#8642,.F.);
+-#8644=ADVANCED_FACE('',(#8637,#8643),#8633,.F.);
+-#8645=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
+-#8646=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8647=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8648=AXIS2_PLACEMENT_3D('',#8645,#8646,#8647);
+-#8649=CYLINDRICAL_SURFACE('',#8648,1.925E-1);
+-#8650=ORIENTED_EDGE('',*,*,#8638,.T.);
+-#8652=ORIENTED_EDGE('',*,*,#8651,.T.);
+-#8653=ORIENTED_EDGE('',*,*,#5572,.F.);
+-#8655=ORIENTED_EDGE('',*,*,#8654,.F.);
+-#8656=EDGE_LOOP('',(#8650,#8652,#8653,#8655));
+-#8657=FACE_OUTER_BOUND('',#8656,.F.);
+-#8658=ADVANCED_FACE('',(#8657),#8649,.F.);
+-#8659=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
+-#8660=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8661=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8662=AXIS2_PLACEMENT_3D('',#8659,#8660,#8661);
+-#8663=CYLINDRICAL_SURFACE('',#8662,1.925E-1);
+-#8664=ORIENTED_EDGE('',*,*,#8640,.T.);
+-#8665=ORIENTED_EDGE('',*,*,#8654,.T.);
+-#8666=ORIENTED_EDGE('',*,*,#5574,.F.);
+-#8667=ORIENTED_EDGE('',*,*,#8651,.F.);
+-#8668=EDGE_LOOP('',(#8664,#8665,#8666,#8667));
+-#8669=FACE_OUTER_BOUND('',#8668,.F.);
+-#8670=ADVANCED_FACE('',(#8669),#8663,.F.);
+-#8671=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
+-#8672=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8673=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8674=AXIS2_PLACEMENT_3D('',#8671,#8672,#8673);
+-#8675=CYLINDRICAL_SURFACE('',#8674,2.56E-1);
+-#8676=ORIENTED_EDGE('',*,*,#6388,.T.);
+-#8678=ORIENTED_EDGE('',*,*,#8677,.T.);
+-#8680=ORIENTED_EDGE('',*,*,#8679,.F.);
+-#8682=ORIENTED_EDGE('',*,*,#8681,.F.);
+-#8683=EDGE_LOOP('',(#8676,#8678,#8680,#8682));
+-#8684=FACE_OUTER_BOUND('',#8683,.F.);
+-#8685=ADVANCED_FACE('',(#8684),#8675,.F.);
+-#8686=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
+-#8687=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8688=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8689=AXIS2_PLACEMENT_3D('',#8686,#8687,#8688);
+-#8690=CYLINDRICAL_SURFACE('',#8689,2.56E-1);
+-#8691=ORIENTED_EDGE('',*,*,#6390,.T.);
+-#8692=ORIENTED_EDGE('',*,*,#8681,.T.);
+-#8694=ORIENTED_EDGE('',*,*,#8693,.F.);
+-#8695=ORIENTED_EDGE('',*,*,#8677,.F.);
+-#8696=EDGE_LOOP('',(#8691,#8692,#8694,#8695));
+-#8697=FACE_OUTER_BOUND('',#8696,.F.);
+-#8698=ADVANCED_FACE('',(#8697),#8690,.F.);
+-#8699=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
+-#8700=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8701=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8702=AXIS2_PLACEMENT_3D('',#8699,#8700,#8701);
+-#8703=PLANE('',#8702);
+-#8704=ORIENTED_EDGE('',*,*,#8679,.T.);
+-#8705=ORIENTED_EDGE('',*,*,#8693,.T.);
+-#8706=EDGE_LOOP('',(#8704,#8705));
+-#8707=FACE_OUTER_BOUND('',#8706,.F.);
+-#8709=ORIENTED_EDGE('',*,*,#8708,.F.);
+-#8711=ORIENTED_EDGE('',*,*,#8710,.F.);
+-#8712=EDGE_LOOP('',(#8709,#8711));
+-#8713=FACE_BOUND('',#8712,.F.);
+-#8714=ADVANCED_FACE('',(#8707,#8713),#8703,.F.);
+-#8715=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
+-#8716=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8717=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8718=AXIS2_PLACEMENT_3D('',#8715,#8716,#8717);
+-#8719=CYLINDRICAL_SURFACE('',#8718,1.925E-1);
+-#8720=ORIENTED_EDGE('',*,*,#8708,.T.);
+-#8722=ORIENTED_EDGE('',*,*,#8721,.T.);
+-#8723=ORIENTED_EDGE('',*,*,#5566,.F.);
+-#8725=ORIENTED_EDGE('',*,*,#8724,.F.);
+-#8726=EDGE_LOOP('',(#8720,#8722,#8723,#8725));
+-#8727=FACE_OUTER_BOUND('',#8726,.F.);
+-#8728=ADVANCED_FACE('',(#8727),#8719,.F.);
+-#8729=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
+-#8730=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8731=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8732=AXIS2_PLACEMENT_3D('',#8729,#8730,#8731);
+-#8733=CYLINDRICAL_SURFACE('',#8732,1.925E-1);
+-#8734=ORIENTED_EDGE('',*,*,#8710,.T.);
+-#8735=ORIENTED_EDGE('',*,*,#8724,.T.);
+-#8736=ORIENTED_EDGE('',*,*,#5568,.F.);
+-#8737=ORIENTED_EDGE('',*,*,#8721,.F.);
+-#8738=EDGE_LOOP('',(#8734,#8735,#8736,#8737));
+-#8739=FACE_OUTER_BOUND('',#8738,.F.);
+-#8740=ADVANCED_FACE('',(#8739),#8733,.F.);
+-#8741=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
+-#8742=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8743=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8744=AXIS2_PLACEMENT_3D('',#8741,#8742,#8743);
+-#8745=CYLINDRICAL_SURFACE('',#8744,2.56E-1);
+-#8746=ORIENTED_EDGE('',*,*,#6394,.T.);
+-#8748=ORIENTED_EDGE('',*,*,#8747,.T.);
+-#8750=ORIENTED_EDGE('',*,*,#8749,.F.);
+-#8752=ORIENTED_EDGE('',*,*,#8751,.F.);
+-#8753=EDGE_LOOP('',(#8746,#8748,#8750,#8752));
+-#8754=FACE_OUTER_BOUND('',#8753,.F.);
+-#8755=ADVANCED_FACE('',(#8754),#8745,.F.);
+-#8756=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
+-#8757=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8758=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8759=AXIS2_PLACEMENT_3D('',#8756,#8757,#8758);
+-#8760=CYLINDRICAL_SURFACE('',#8759,2.56E-1);
+-#8761=ORIENTED_EDGE('',*,*,#6396,.T.);
+-#8762=ORIENTED_EDGE('',*,*,#8751,.T.);
+-#8764=ORIENTED_EDGE('',*,*,#8763,.F.);
+-#8765=ORIENTED_EDGE('',*,*,#8747,.F.);
+-#8766=EDGE_LOOP('',(#8761,#8762,#8764,#8765));
+-#8767=FACE_OUTER_BOUND('',#8766,.F.);
+-#8768=ADVANCED_FACE('',(#8767),#8760,.F.);
+-#8769=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
+-#8770=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8771=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8772=AXIS2_PLACEMENT_3D('',#8769,#8770,#8771);
+-#8773=PLANE('',#8772);
+-#8774=ORIENTED_EDGE('',*,*,#8749,.T.);
+-#8775=ORIENTED_EDGE('',*,*,#8763,.T.);
+-#8776=EDGE_LOOP('',(#8774,#8775));
+-#8777=FACE_OUTER_BOUND('',#8776,.F.);
+-#8779=ORIENTED_EDGE('',*,*,#8778,.F.);
+-#8781=ORIENTED_EDGE('',*,*,#8780,.F.);
+-#8782=EDGE_LOOP('',(#8779,#8781));
+-#8783=FACE_BOUND('',#8782,.F.);
+-#8784=ADVANCED_FACE('',(#8777,#8783),#8773,.F.);
+-#8785=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
+-#8786=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8787=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8788=AXIS2_PLACEMENT_3D('',#8785,#8786,#8787);
+-#8789=CYLINDRICAL_SURFACE('',#8788,1.925E-1);
+-#8790=ORIENTED_EDGE('',*,*,#8778,.T.);
+-#8792=ORIENTED_EDGE('',*,*,#8791,.T.);
+-#8793=ORIENTED_EDGE('',*,*,#5554,.F.);
+-#8795=ORIENTED_EDGE('',*,*,#8794,.F.);
+-#8796=EDGE_LOOP('',(#8790,#8792,#8793,#8795));
+-#8797=FACE_OUTER_BOUND('',#8796,.F.);
+-#8798=ADVANCED_FACE('',(#8797),#8789,.F.);
+-#8799=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
+-#8800=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8801=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8802=AXIS2_PLACEMENT_3D('',#8799,#8800,#8801);
+-#8803=CYLINDRICAL_SURFACE('',#8802,1.925E-1);
+-#8804=ORIENTED_EDGE('',*,*,#8780,.T.);
+-#8805=ORIENTED_EDGE('',*,*,#8794,.T.);
+-#8806=ORIENTED_EDGE('',*,*,#5556,.F.);
+-#8807=ORIENTED_EDGE('',*,*,#8791,.F.);
+-#8808=EDGE_LOOP('',(#8804,#8805,#8806,#8807));
+-#8809=FACE_OUTER_BOUND('',#8808,.F.);
+-#8810=ADVANCED_FACE('',(#8809),#8803,.F.);
+-#8811=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
+-#8812=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8813=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8814=AXIS2_PLACEMENT_3D('',#8811,#8812,#8813);
+-#8815=CYLINDRICAL_SURFACE('',#8814,2.575E-1);
+-#8816=ORIENTED_EDGE('',*,*,#6452,.T.);
+-#8818=ORIENTED_EDGE('',*,*,#8817,.T.);
+-#8820=ORIENTED_EDGE('',*,*,#8819,.F.);
+-#8822=ORIENTED_EDGE('',*,*,#8821,.F.);
+-#8823=EDGE_LOOP('',(#8816,#8818,#8820,#8822));
+-#8824=FACE_OUTER_BOUND('',#8823,.F.);
+-#8825=ADVANCED_FACE('',(#8824),#8815,.F.);
+-#8826=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
+-#8827=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8828=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8829=AXIS2_PLACEMENT_3D('',#8826,#8827,#8828);
+-#8830=CYLINDRICAL_SURFACE('',#8829,2.575E-1);
+-#8831=ORIENTED_EDGE('',*,*,#6454,.T.);
+-#8832=ORIENTED_EDGE('',*,*,#8821,.T.);
+-#8834=ORIENTED_EDGE('',*,*,#8833,.F.);
+-#8835=ORIENTED_EDGE('',*,*,#8817,.F.);
+-#8836=EDGE_LOOP('',(#8831,#8832,#8834,#8835));
+-#8837=FACE_OUTER_BOUND('',#8836,.F.);
+-#8838=ADVANCED_FACE('',(#8837),#8830,.F.);
+-#8839=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
+-#8840=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8841=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8842=AXIS2_PLACEMENT_3D('',#8839,#8840,#8841);
+-#8843=PLANE('',#8842);
+-#8844=ORIENTED_EDGE('',*,*,#8819,.T.);
+-#8845=ORIENTED_EDGE('',*,*,#8833,.T.);
+-#8846=EDGE_LOOP('',(#8844,#8845));
+-#8847=FACE_OUTER_BOUND('',#8846,.F.);
+-#8849=ORIENTED_EDGE('',*,*,#8848,.F.);
+-#8851=ORIENTED_EDGE('',*,*,#8850,.F.);
+-#8852=EDGE_LOOP('',(#8849,#8851));
+-#8853=FACE_BOUND('',#8852,.F.);
+-#8854=ADVANCED_FACE('',(#8847,#8853),#8843,.F.);
+-#8855=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
+-#8856=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8857=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8858=AXIS2_PLACEMENT_3D('',#8855,#8856,#8857);
+-#8859=CYLINDRICAL_SURFACE('',#8858,1.925E-1);
+-#8860=ORIENTED_EDGE('',*,*,#8848,.T.);
+-#8862=ORIENTED_EDGE('',*,*,#8861,.T.);
+-#8863=ORIENTED_EDGE('',*,*,#5690,.F.);
+-#8865=ORIENTED_EDGE('',*,*,#8864,.F.);
+-#8866=EDGE_LOOP('',(#8860,#8862,#8863,#8865));
+-#8867=FACE_OUTER_BOUND('',#8866,.F.);
+-#8868=ADVANCED_FACE('',(#8867),#8859,.F.);
+-#8869=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
+-#8870=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8871=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8872=AXIS2_PLACEMENT_3D('',#8869,#8870,#8871);
+-#8873=CYLINDRICAL_SURFACE('',#8872,1.925E-1);
+-#8874=ORIENTED_EDGE('',*,*,#8850,.T.);
+-#8875=ORIENTED_EDGE('',*,*,#8864,.T.);
+-#8876=ORIENTED_EDGE('',*,*,#5692,.F.);
+-#8877=ORIENTED_EDGE('',*,*,#8861,.F.);
+-#8878=EDGE_LOOP('',(#8874,#8875,#8876,#8877));
+-#8879=FACE_OUTER_BOUND('',#8878,.F.);
+-#8880=ADVANCED_FACE('',(#8879),#8873,.F.);
+-#8881=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
+-#8882=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8883=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8884=AXIS2_PLACEMENT_3D('',#8881,#8882,#8883);
+-#8885=CYLINDRICAL_SURFACE('',#8884,2.575E-1);
+-#8886=ORIENTED_EDGE('',*,*,#6458,.T.);
+-#8888=ORIENTED_EDGE('',*,*,#8887,.T.);
+-#8890=ORIENTED_EDGE('',*,*,#8889,.F.);
+-#8892=ORIENTED_EDGE('',*,*,#8891,.F.);
+-#8893=EDGE_LOOP('',(#8886,#8888,#8890,#8892));
+-#8894=FACE_OUTER_BOUND('',#8893,.F.);
+-#8895=ADVANCED_FACE('',(#8894),#8885,.F.);
+-#8896=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
+-#8897=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8898=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8899=AXIS2_PLACEMENT_3D('',#8896,#8897,#8898);
+-#8900=CYLINDRICAL_SURFACE('',#8899,2.575E-1);
+-#8901=ORIENTED_EDGE('',*,*,#6460,.T.);
+-#8902=ORIENTED_EDGE('',*,*,#8891,.T.);
+-#8904=ORIENTED_EDGE('',*,*,#8903,.F.);
+-#8905=ORIENTED_EDGE('',*,*,#8887,.F.);
+-#8906=EDGE_LOOP('',(#8901,#8902,#8904,#8905));
+-#8907=FACE_OUTER_BOUND('',#8906,.F.);
+-#8908=ADVANCED_FACE('',(#8907),#8900,.F.);
+-#8909=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
+-#8910=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8911=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8912=AXIS2_PLACEMENT_3D('',#8909,#8910,#8911);
+-#8913=PLANE('',#8912);
+-#8914=ORIENTED_EDGE('',*,*,#8889,.T.);
+-#8915=ORIENTED_EDGE('',*,*,#8903,.T.);
+-#8916=EDGE_LOOP('',(#8914,#8915));
+-#8917=FACE_OUTER_BOUND('',#8916,.F.);
+-#8919=ORIENTED_EDGE('',*,*,#8918,.F.);
+-#8921=ORIENTED_EDGE('',*,*,#8920,.F.);
+-#8922=EDGE_LOOP('',(#8919,#8921));
+-#8923=FACE_BOUND('',#8922,.F.);
+-#8924=ADVANCED_FACE('',(#8917,#8923),#8913,.F.);
+-#8925=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
+-#8926=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8927=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8928=AXIS2_PLACEMENT_3D('',#8925,#8926,#8927);
+-#8929=CYLINDRICAL_SURFACE('',#8928,1.925E-1);
+-#8930=ORIENTED_EDGE('',*,*,#8918,.T.);
+-#8932=ORIENTED_EDGE('',*,*,#8931,.T.);
+-#8933=ORIENTED_EDGE('',*,*,#5696,.F.);
+-#8935=ORIENTED_EDGE('',*,*,#8934,.F.);
+-#8936=EDGE_LOOP('',(#8930,#8932,#8933,#8935));
+-#8937=FACE_OUTER_BOUND('',#8936,.F.);
+-#8938=ADVANCED_FACE('',(#8937),#8929,.F.);
+-#8939=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
+-#8940=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8941=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8942=AXIS2_PLACEMENT_3D('',#8939,#8940,#8941);
+-#8943=CYLINDRICAL_SURFACE('',#8942,1.925E-1);
+-#8944=ORIENTED_EDGE('',*,*,#8920,.T.);
+-#8945=ORIENTED_EDGE('',*,*,#8934,.T.);
+-#8946=ORIENTED_EDGE('',*,*,#5698,.F.);
+-#8947=ORIENTED_EDGE('',*,*,#8931,.F.);
+-#8948=EDGE_LOOP('',(#8944,#8945,#8946,#8947));
+-#8949=FACE_OUTER_BOUND('',#8948,.F.);
+-#8950=ADVANCED_FACE('',(#8949),#8943,.F.);
+-#8951=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
+-#8952=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8953=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8954=AXIS2_PLACEMENT_3D('',#8951,#8952,#8953);
+-#8955=CYLINDRICAL_SURFACE('',#8954,2.575E-1);
+-#8956=ORIENTED_EDGE('',*,*,#6464,.T.);
+-#8958=ORIENTED_EDGE('',*,*,#8957,.T.);
+-#8960=ORIENTED_EDGE('',*,*,#8959,.F.);
+-#8962=ORIENTED_EDGE('',*,*,#8961,.F.);
+-#8963=EDGE_LOOP('',(#8956,#8958,#8960,#8962));
+-#8964=FACE_OUTER_BOUND('',#8963,.F.);
+-#8965=ADVANCED_FACE('',(#8964),#8955,.F.);
+-#8966=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
+-#8967=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8968=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8969=AXIS2_PLACEMENT_3D('',#8966,#8967,#8968);
+-#8970=CYLINDRICAL_SURFACE('',#8969,2.575E-1);
+-#8971=ORIENTED_EDGE('',*,*,#6466,.T.);
+-#8972=ORIENTED_EDGE('',*,*,#8961,.T.);
+-#8974=ORIENTED_EDGE('',*,*,#8973,.F.);
+-#8975=ORIENTED_EDGE('',*,*,#8957,.F.);
+-#8976=EDGE_LOOP('',(#8971,#8972,#8974,#8975));
+-#8977=FACE_OUTER_BOUND('',#8976,.F.);
+-#8978=ADVANCED_FACE('',(#8977),#8970,.F.);
+-#8979=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
+-#8980=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8981=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8982=AXIS2_PLACEMENT_3D('',#8979,#8980,#8981);
+-#8983=PLANE('',#8982);
+-#8984=ORIENTED_EDGE('',*,*,#8959,.T.);
+-#8985=ORIENTED_EDGE('',*,*,#8973,.T.);
+-#8986=EDGE_LOOP('',(#8984,#8985));
+-#8987=FACE_OUTER_BOUND('',#8986,.F.);
+-#8989=ORIENTED_EDGE('',*,*,#8988,.F.);
+-#8991=ORIENTED_EDGE('',*,*,#8990,.F.);
+-#8992=EDGE_LOOP('',(#8989,#8991));
+-#8993=FACE_BOUND('',#8992,.F.);
+-#8994=ADVANCED_FACE('',(#8987,#8993),#8983,.F.);
+-#8995=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
+-#8996=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#8997=DIRECTION('',(1.E0,0.E0,0.E0));
+-#8998=AXIS2_PLACEMENT_3D('',#8995,#8996,#8997);
+-#8999=CYLINDRICAL_SURFACE('',#8998,1.925E-1);
+-#9000=ORIENTED_EDGE('',*,*,#8988,.T.);
+-#9002=ORIENTED_EDGE('',*,*,#9001,.T.);
+-#9003=ORIENTED_EDGE('',*,*,#5702,.F.);
+-#9005=ORIENTED_EDGE('',*,*,#9004,.F.);
+-#9006=EDGE_LOOP('',(#9000,#9002,#9003,#9005));
+-#9007=FACE_OUTER_BOUND('',#9006,.F.);
+-#9008=ADVANCED_FACE('',(#9007),#8999,.F.);
+-#9009=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
+-#9010=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9011=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9012=AXIS2_PLACEMENT_3D('',#9009,#9010,#9011);
+-#9013=CYLINDRICAL_SURFACE('',#9012,1.925E-1);
+-#9014=ORIENTED_EDGE('',*,*,#8990,.T.);
+-#9015=ORIENTED_EDGE('',*,*,#9004,.T.);
+-#9016=ORIENTED_EDGE('',*,*,#5704,.F.);
+-#9017=ORIENTED_EDGE('',*,*,#9001,.F.);
+-#9018=EDGE_LOOP('',(#9014,#9015,#9016,#9017));
+-#9019=FACE_OUTER_BOUND('',#9018,.F.);
+-#9020=ADVANCED_FACE('',(#9019),#9013,.F.);
+-#9021=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
+-#9022=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9023=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9024=AXIS2_PLACEMENT_3D('',#9021,#9022,#9023);
+-#9025=CYLINDRICAL_SURFACE('',#9024,2.575E-1);
+-#9026=ORIENTED_EDGE('',*,*,#6470,.T.);
+-#9028=ORIENTED_EDGE('',*,*,#9027,.T.);
+-#9030=ORIENTED_EDGE('',*,*,#9029,.F.);
+-#9032=ORIENTED_EDGE('',*,*,#9031,.F.);
+-#9033=EDGE_LOOP('',(#9026,#9028,#9030,#9032));
+-#9034=FACE_OUTER_BOUND('',#9033,.F.);
+-#9035=ADVANCED_FACE('',(#9034),#9025,.F.);
+-#9036=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
+-#9037=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9038=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9039=AXIS2_PLACEMENT_3D('',#9036,#9037,#9038);
+-#9040=CYLINDRICAL_SURFACE('',#9039,2.575E-1);
+-#9041=ORIENTED_EDGE('',*,*,#6472,.T.);
+-#9042=ORIENTED_EDGE('',*,*,#9031,.T.);
+-#9044=ORIENTED_EDGE('',*,*,#9043,.F.);
+-#9045=ORIENTED_EDGE('',*,*,#9027,.F.);
+-#9046=EDGE_LOOP('',(#9041,#9042,#9044,#9045));
+-#9047=FACE_OUTER_BOUND('',#9046,.F.);
+-#9048=ADVANCED_FACE('',(#9047),#9040,.F.);
+-#9049=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
+-#9050=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9051=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9052=AXIS2_PLACEMENT_3D('',#9049,#9050,#9051);
+-#9053=PLANE('',#9052);
+-#9054=ORIENTED_EDGE('',*,*,#9029,.T.);
+-#9055=ORIENTED_EDGE('',*,*,#9043,.T.);
+-#9056=EDGE_LOOP('',(#9054,#9055));
+-#9057=FACE_OUTER_BOUND('',#9056,.F.);
+-#9059=ORIENTED_EDGE('',*,*,#9058,.F.);
+-#9061=ORIENTED_EDGE('',*,*,#9060,.F.);
+-#9062=EDGE_LOOP('',(#9059,#9061));
+-#9063=FACE_BOUND('',#9062,.F.);
+-#9064=ADVANCED_FACE('',(#9057,#9063),#9053,.F.);
+-#9065=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
+-#9066=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9067=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9068=AXIS2_PLACEMENT_3D('',#9065,#9066,#9067);
+-#9069=CYLINDRICAL_SURFACE('',#9068,1.925E-1);
+-#9070=ORIENTED_EDGE('',*,*,#9058,.T.);
+-#9072=ORIENTED_EDGE('',*,*,#9071,.T.);
+-#9073=ORIENTED_EDGE('',*,*,#5708,.F.);
+-#9075=ORIENTED_EDGE('',*,*,#9074,.F.);
+-#9076=EDGE_LOOP('',(#9070,#9072,#9073,#9075));
+-#9077=FACE_OUTER_BOUND('',#9076,.F.);
+-#9078=ADVANCED_FACE('',(#9077),#9069,.F.);
+-#9079=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
+-#9080=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9081=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9082=AXIS2_PLACEMENT_3D('',#9079,#9080,#9081);
+-#9083=CYLINDRICAL_SURFACE('',#9082,1.925E-1);
+-#9084=ORIENTED_EDGE('',*,*,#9060,.T.);
+-#9085=ORIENTED_EDGE('',*,*,#9074,.T.);
+-#9086=ORIENTED_EDGE('',*,*,#5710,.F.);
+-#9087=ORIENTED_EDGE('',*,*,#9071,.F.);
+-#9088=EDGE_LOOP('',(#9084,#9085,#9086,#9087));
+-#9089=FACE_OUTER_BOUND('',#9088,.F.);
+-#9090=ADVANCED_FACE('',(#9089),#9083,.F.);
+-#9091=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
+-#9092=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9093=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9094=AXIS2_PLACEMENT_3D('',#9091,#9092,#9093);
+-#9095=CYLINDRICAL_SURFACE('',#9094,2.575E-1);
+-#9096=ORIENTED_EDGE('',*,*,#6476,.T.);
+-#9098=ORIENTED_EDGE('',*,*,#9097,.T.);
+-#9100=ORIENTED_EDGE('',*,*,#9099,.F.);
+-#9102=ORIENTED_EDGE('',*,*,#9101,.F.);
+-#9103=EDGE_LOOP('',(#9096,#9098,#9100,#9102));
+-#9104=FACE_OUTER_BOUND('',#9103,.F.);
+-#9105=ADVANCED_FACE('',(#9104),#9095,.F.);
+-#9106=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
+-#9107=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9108=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9109=AXIS2_PLACEMENT_3D('',#9106,#9107,#9108);
+-#9110=CYLINDRICAL_SURFACE('',#9109,2.575E-1);
+-#9111=ORIENTED_EDGE('',*,*,#6478,.T.);
+-#9112=ORIENTED_EDGE('',*,*,#9101,.T.);
+-#9114=ORIENTED_EDGE('',*,*,#9113,.F.);
+-#9115=ORIENTED_EDGE('',*,*,#9097,.F.);
+-#9116=EDGE_LOOP('',(#9111,#9112,#9114,#9115));
+-#9117=FACE_OUTER_BOUND('',#9116,.F.);
+-#9118=ADVANCED_FACE('',(#9117),#9110,.F.);
+-#9119=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
+-#9120=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9121=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9122=AXIS2_PLACEMENT_3D('',#9119,#9120,#9121);
+-#9123=PLANE('',#9122);
+-#9124=ORIENTED_EDGE('',*,*,#9099,.T.);
+-#9125=ORIENTED_EDGE('',*,*,#9113,.T.);
+-#9126=EDGE_LOOP('',(#9124,#9125));
+-#9127=FACE_OUTER_BOUND('',#9126,.F.);
+-#9129=ORIENTED_EDGE('',*,*,#9128,.F.);
+-#9131=ORIENTED_EDGE('',*,*,#9130,.F.);
+-#9132=EDGE_LOOP('',(#9129,#9131));
+-#9133=FACE_BOUND('',#9132,.F.);
+-#9134=ADVANCED_FACE('',(#9127,#9133),#9123,.F.);
+-#9135=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
+-#9136=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9137=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9138=AXIS2_PLACEMENT_3D('',#9135,#9136,#9137);
+-#9139=CYLINDRICAL_SURFACE('',#9138,1.925E-1);
+-#9140=ORIENTED_EDGE('',*,*,#9128,.T.);
+-#9142=ORIENTED_EDGE('',*,*,#9141,.T.);
+-#9143=ORIENTED_EDGE('',*,*,#5714,.F.);
+-#9145=ORIENTED_EDGE('',*,*,#9144,.F.);
+-#9146=EDGE_LOOP('',(#9140,#9142,#9143,#9145));
+-#9147=FACE_OUTER_BOUND('',#9146,.F.);
+-#9148=ADVANCED_FACE('',(#9147),#9139,.F.);
+-#9149=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
+-#9150=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9151=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9152=AXIS2_PLACEMENT_3D('',#9149,#9150,#9151);
+-#9153=CYLINDRICAL_SURFACE('',#9152,1.925E-1);
+-#9154=ORIENTED_EDGE('',*,*,#9130,.T.);
+-#9155=ORIENTED_EDGE('',*,*,#9144,.T.);
+-#9156=ORIENTED_EDGE('',*,*,#5716,.F.);
+-#9157=ORIENTED_EDGE('',*,*,#9141,.F.);
+-#9158=EDGE_LOOP('',(#9154,#9155,#9156,#9157));
+-#9159=FACE_OUTER_BOUND('',#9158,.F.);
+-#9160=ADVANCED_FACE('',(#9159),#9153,.F.);
+-#9161=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
+-#9162=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9163=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9164=AXIS2_PLACEMENT_3D('',#9161,#9162,#9163);
+-#9165=CYLINDRICAL_SURFACE('',#9164,2.575E-1);
+-#9166=ORIENTED_EDGE('',*,*,#6482,.T.);
+-#9168=ORIENTED_EDGE('',*,*,#9167,.T.);
+-#9170=ORIENTED_EDGE('',*,*,#9169,.F.);
+-#9172=ORIENTED_EDGE('',*,*,#9171,.F.);
+-#9173=EDGE_LOOP('',(#9166,#9168,#9170,#9172));
+-#9174=FACE_OUTER_BOUND('',#9173,.F.);
+-#9175=ADVANCED_FACE('',(#9174),#9165,.F.);
+-#9176=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
+-#9177=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9178=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9179=AXIS2_PLACEMENT_3D('',#9176,#9177,#9178);
+-#9180=CYLINDRICAL_SURFACE('',#9179,2.575E-1);
+-#9181=ORIENTED_EDGE('',*,*,#6484,.T.);
+-#9182=ORIENTED_EDGE('',*,*,#9171,.T.);
+-#9184=ORIENTED_EDGE('',*,*,#9183,.F.);
+-#9185=ORIENTED_EDGE('',*,*,#9167,.F.);
+-#9186=EDGE_LOOP('',(#9181,#9182,#9184,#9185));
+-#9187=FACE_OUTER_BOUND('',#9186,.F.);
+-#9188=ADVANCED_FACE('',(#9187),#9180,.F.);
+-#9189=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
+-#9190=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9191=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9192=AXIS2_PLACEMENT_3D('',#9189,#9190,#9191);
+-#9193=PLANE('',#9192);
+-#9194=ORIENTED_EDGE('',*,*,#9169,.T.);
+-#9195=ORIENTED_EDGE('',*,*,#9183,.T.);
+-#9196=EDGE_LOOP('',(#9194,#9195));
+-#9197=FACE_OUTER_BOUND('',#9196,.F.);
+-#9199=ORIENTED_EDGE('',*,*,#9198,.F.);
+-#9201=ORIENTED_EDGE('',*,*,#9200,.F.);
+-#9202=EDGE_LOOP('',(#9199,#9201));
+-#9203=FACE_BOUND('',#9202,.F.);
+-#9204=ADVANCED_FACE('',(#9197,#9203),#9193,.F.);
+-#9205=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
+-#9206=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9207=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9208=AXIS2_PLACEMENT_3D('',#9205,#9206,#9207);
+-#9209=CYLINDRICAL_SURFACE('',#9208,1.925E-1);
+-#9210=ORIENTED_EDGE('',*,*,#9198,.T.);
+-#9212=ORIENTED_EDGE('',*,*,#9211,.T.);
+-#9213=ORIENTED_EDGE('',*,*,#5720,.F.);
+-#9215=ORIENTED_EDGE('',*,*,#9214,.F.);
+-#9216=EDGE_LOOP('',(#9210,#9212,#9213,#9215));
+-#9217=FACE_OUTER_BOUND('',#9216,.F.);
+-#9218=ADVANCED_FACE('',(#9217),#9209,.F.);
+-#9219=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
+-#9220=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9221=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9222=AXIS2_PLACEMENT_3D('',#9219,#9220,#9221);
+-#9223=CYLINDRICAL_SURFACE('',#9222,1.925E-1);
+-#9224=ORIENTED_EDGE('',*,*,#9200,.T.);
+-#9225=ORIENTED_EDGE('',*,*,#9214,.T.);
+-#9226=ORIENTED_EDGE('',*,*,#5722,.F.);
+-#9227=ORIENTED_EDGE('',*,*,#9211,.F.);
+-#9228=EDGE_LOOP('',(#9224,#9225,#9226,#9227));
+-#9229=FACE_OUTER_BOUND('',#9228,.F.);
+-#9230=ADVANCED_FACE('',(#9229),#9223,.F.);
+-#9231=CARTESIAN_POINT('',(2.2E1,1.5E0,1.2E1));
+-#9232=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9233=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9234=AXIS2_PLACEMENT_3D('',#9231,#9232,#9233);
+-#9235=PLANE('',#9234);
+-#9236=ORIENTED_EDGE('',*,*,#6328,.T.);
+-#9237=ORIENTED_EDGE('',*,*,#6155,.T.);
+-#9239=ORIENTED_EDGE('',*,*,#9238,.T.);
+-#9240=EDGE_LOOP('',(#9236,#9237,#9239));
+-#9241=FACE_OUTER_BOUND('',#9240,.F.);
+-#9242=ADVANCED_FACE('',(#9241),#9235,.F.);
+-#9243=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1));
+-#9244=DIRECTION('',(0.E0,-5.E-1,-8.660254037844E-1));
+-#9245=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
+-#9246=AXIS2_PLACEMENT_3D('',#9243,#9244,#9245);
+-#9247=PLANE('',#9246);
+-#9248=ORIENTED_EDGE('',*,*,#6330,.T.);
+-#9249=ORIENTED_EDGE('',*,*,#9238,.F.);
+-#9250=ORIENTED_EDGE('',*,*,#6153,.F.);
+-#9251=ORIENTED_EDGE('',*,*,#6209,.T.);
+-#9252=EDGE_LOOP('',(#9248,#9249,#9250,#9251));
+-#9253=FACE_OUTER_BOUND('',#9252,.F.);
+-#9255=ORIENTED_EDGE('',*,*,#9254,.F.);
+-#9257=ORIENTED_EDGE('',*,*,#9256,.F.);
+-#9258=EDGE_LOOP('',(#9255,#9257));
+-#9259=FACE_BOUND('',#9258,.F.);
+-#9260=ADVANCED_FACE('',(#9253,#9259),#9247,.F.);
+-#9261=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1));
+-#9262=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9263=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9264=AXIS2_PLACEMENT_3D('',#9261,#9262,#9263);
+-#9265=CYLINDRICAL_SURFACE('',#9264,2.575E-1);
+-#9267=ORIENTED_EDGE('',*,*,#9266,.F.);
+-#9268=ORIENTED_EDGE('',*,*,#9254,.T.);
+-#9270=ORIENTED_EDGE('',*,*,#9269,.F.);
+-#9272=ORIENTED_EDGE('',*,*,#9271,.F.);
+-#9273=EDGE_LOOP('',(#9267,#9268,#9270,#9272));
+-#9274=FACE_OUTER_BOUND('',#9273,.F.);
+-#9275=ADVANCED_FACE('',(#9274),#9265,.F.);
+-#9276=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1));
+-#9277=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9278=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9279=AXIS2_PLACEMENT_3D('',#9276,#9277,#9278);
+-#9280=CYLINDRICAL_SURFACE('',#9279,2.575E-1);
+-#9281=ORIENTED_EDGE('',*,*,#9269,.T.);
+-#9282=ORIENTED_EDGE('',*,*,#9256,.T.);
+-#9283=ORIENTED_EDGE('',*,*,#9266,.T.);
+-#9285=ORIENTED_EDGE('',*,*,#9284,.F.);
+-#9286=EDGE_LOOP('',(#9281,#9282,#9283,#9285));
+-#9287=FACE_OUTER_BOUND('',#9286,.F.);
+-#9288=ADVANCED_FACE('',(#9287),#9280,.F.);
+-#9289=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
+-#9290=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9291=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9292=AXIS2_PLACEMENT_3D('',#9289,#9290,#9291);
+-#9293=PLANE('',#9292);
+-#9294=ORIENTED_EDGE('',*,*,#9271,.T.);
+-#9295=ORIENTED_EDGE('',*,*,#9284,.T.);
+-#9296=EDGE_LOOP('',(#9294,#9295));
+-#9297=FACE_OUTER_BOUND('',#9296,.F.);
+-#9299=ORIENTED_EDGE('',*,*,#9298,.F.);
+-#9301=ORIENTED_EDGE('',*,*,#9300,.F.);
+-#9302=EDGE_LOOP('',(#9299,#9301));
+-#9303=FACE_BOUND('',#9302,.F.);
+-#9304=ADVANCED_FACE('',(#9297,#9303),#9293,.F.);
+-#9305=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1));
+-#9306=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9307=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9308=AXIS2_PLACEMENT_3D('',#9305,#9306,#9307);
+-#9309=CYLINDRICAL_SURFACE('',#9308,1.925E-1);
+-#9310=ORIENTED_EDGE('',*,*,#9298,.T.);
+-#9312=ORIENTED_EDGE('',*,*,#9311,.T.);
+-#9313=ORIENTED_EDGE('',*,*,#5596,.F.);
+-#9315=ORIENTED_EDGE('',*,*,#9314,.F.);
+-#9316=EDGE_LOOP('',(#9310,#9312,#9313,#9315));
+-#9317=FACE_OUTER_BOUND('',#9316,.F.);
+-#9318=ADVANCED_FACE('',(#9317),#9309,.F.);
+-#9319=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1));
+-#9320=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9321=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9322=AXIS2_PLACEMENT_3D('',#9319,#9320,#9321);
+-#9323=CYLINDRICAL_SURFACE('',#9322,1.925E-1);
+-#9324=ORIENTED_EDGE('',*,*,#9300,.T.);
+-#9325=ORIENTED_EDGE('',*,*,#9314,.T.);
+-#9326=ORIENTED_EDGE('',*,*,#5598,.F.);
+-#9327=ORIENTED_EDGE('',*,*,#9311,.F.);
+-#9328=EDGE_LOOP('',(#9324,#9325,#9326,#9327));
+-#9329=FACE_OUTER_BOUND('',#9328,.F.);
+-#9330=ADVANCED_FACE('',(#9329),#9323,.F.);
+-#9331=CARTESIAN_POINT('',(2.185E1,6.65E0,1.006892397423E1));
+-#9332=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#9333=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#9334=AXIS2_PLACEMENT_3D('',#9331,#9332,#9333);
+-#9335=CYLINDRICAL_SURFACE('',#9334,3.5E-1);
+-#9337=ORIENTED_EDGE('',*,*,#9336,.T.);
+-#9339=ORIENTED_EDGE('',*,*,#9338,.T.);
+-#9341=ORIENTED_EDGE('',*,*,#9340,.F.);
+-#9342=ORIENTED_EDGE('',*,*,#6175,.T.);
+-#9343=EDGE_LOOP('',(#9337,#9339,#9341,#9342));
+-#9344=FACE_OUTER_BOUND('',#9343,.F.);
+-#9345=ADVANCED_FACE('',(#9344),#9335,.T.);
+-#9346=CARTESIAN_POINT('',(2.15E1,7.E0,1.E1));
+-#9347=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#9348=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9349=AXIS2_PLACEMENT_3D('',#9346,#9347,#9348);
+-#9350=PLANE('',#9349);
+-#9351=ORIENTED_EDGE('',*,*,#9336,.F.);
+-#9352=ORIENTED_EDGE('',*,*,#6197,.T.);
+-#9354=ORIENTED_EDGE('',*,*,#9353,.F.);
+-#9356=ORIENTED_EDGE('',*,*,#9355,.F.);
+-#9357=EDGE_LOOP('',(#9351,#9352,#9354,#9356));
+-#9358=FACE_OUTER_BOUND('',#9357,.F.);
+-#9359=ADVANCED_FACE('',(#9358),#9350,.T.);
+-#9360=CARTESIAN_POINT('',(2.115E1,2.35E0,9.441108058217E0));
+-#9361=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9362=DIRECTION('',(1.015061051086E-14,-1.E0,0.E0));
+-#9363=AXIS2_PLACEMENT_3D('',#9360,#9361,#9362);
+-#9364=CYLINDRICAL_SURFACE('',#9363,3.5E-1);
+-#9366=ORIENTED_EDGE('',*,*,#9365,.F.);
+-#9368=ORIENTED_EDGE('',*,*,#9367,.T.);
+-#9369=ORIENTED_EDGE('',*,*,#9353,.T.);
+-#9370=ORIENTED_EDGE('',*,*,#6195,.T.);
+-#9371=EDGE_LOOP('',(#9366,#9368,#9369,#9370));
+-#9372=FACE_OUTER_BOUND('',#9371,.F.);
+-#9373=ADVANCED_FACE('',(#9372),#9364,.F.);
+-#9374=CARTESIAN_POINT('',(2.15E1,2.E0,1.E1));
+-#9375=DIRECTION('',(0.E0,1.E0,0.E0));
+-#9376=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#9377=AXIS2_PLACEMENT_3D('',#9374,#9375,#9376);
+-#9378=PLANE('',#9377);
+-#9379=ORIENTED_EDGE('',*,*,#9365,.T.);
+-#9380=ORIENTED_EDGE('',*,*,#6193,.T.);
+-#9382=ORIENTED_EDGE('',*,*,#9381,.F.);
+-#9384=ORIENTED_EDGE('',*,*,#9383,.F.);
+-#9385=EDGE_LOOP('',(#9379,#9380,#9382,#9384));
+-#9386=FACE_OUTER_BOUND('',#9385,.F.);
+-#9387=ADVANCED_FACE('',(#9386),#9378,.T.);
+-#9388=CARTESIAN_POINT('',(1.985E1,2.35E0,9.441108058217E0));
+-#9389=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9390=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#9391=AXIS2_PLACEMENT_3D('',#9388,#9389,#9390);
+-#9392=CYLINDRICAL_SURFACE('',#9391,3.5E-1);
+-#9394=ORIENTED_EDGE('',*,*,#9393,.F.);
+-#9396=ORIENTED_EDGE('',*,*,#9395,.T.);
+-#9397=ORIENTED_EDGE('',*,*,#9381,.T.);
+-#9398=ORIENTED_EDGE('',*,*,#6191,.T.);
+-#9399=EDGE_LOOP('',(#9394,#9396,#9397,#9398));
+-#9400=FACE_OUTER_BOUND('',#9399,.F.);
+-#9401=ADVANCED_FACE('',(#9400),#9392,.F.);
+-#9402=CARTESIAN_POINT('',(1.95E1,2.E0,1.E1));
+-#9403=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9404=DIRECTION('',(0.E0,1.E0,0.E0));
+-#9405=AXIS2_PLACEMENT_3D('',#9402,#9403,#9404);
+-#9406=PLANE('',#9405);
+-#9407=ORIENTED_EDGE('',*,*,#9393,.T.);
+-#9408=ORIENTED_EDGE('',*,*,#6189,.T.);
+-#9410=ORIENTED_EDGE('',*,*,#9409,.F.);
+-#9412=ORIENTED_EDGE('',*,*,#9411,.F.);
+-#9413=EDGE_LOOP('',(#9407,#9408,#9410,#9412));
+-#9414=FACE_OUTER_BOUND('',#9413,.F.);
+-#9415=ADVANCED_FACE('',(#9414),#9406,.T.);
+-#9416=CARTESIAN_POINT('',(1.985E1,9.15E0,9.441108058217E0));
+-#9417=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9418=DIRECTION('',(-1.015061051086E-14,1.E0,0.E0));
+-#9419=AXIS2_PLACEMENT_3D('',#9416,#9417,#9418);
+-#9420=CYLINDRICAL_SURFACE('',#9419,3.5E-1);
+-#9422=ORIENTED_EDGE('',*,*,#9421,.F.);
+-#9424=ORIENTED_EDGE('',*,*,#9423,.T.);
+-#9425=ORIENTED_EDGE('',*,*,#9409,.T.);
+-#9426=ORIENTED_EDGE('',*,*,#6187,.T.);
+-#9427=EDGE_LOOP('',(#9422,#9424,#9425,#9426));
+-#9428=FACE_OUTER_BOUND('',#9427,.F.);
+-#9429=ADVANCED_FACE('',(#9428),#9420,.F.);
+-#9430=CARTESIAN_POINT('',(1.95E1,9.5E0,1.E1));
+-#9431=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9432=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9433=AXIS2_PLACEMENT_3D('',#9430,#9431,#9432);
+-#9434=PLANE('',#9433);
+-#9436=ORIENTED_EDGE('',*,*,#9435,.F.);
+-#9438=ORIENTED_EDGE('',*,*,#9437,.F.);
+-#9439=ORIENTED_EDGE('',*,*,#9421,.T.);
+-#9440=ORIENTED_EDGE('',*,*,#6185,.T.);
+-#9441=EDGE_LOOP('',(#9436,#9438,#9439,#9440));
+-#9442=FACE_OUTER_BOUND('',#9441,.F.);
+-#9443=ADVANCED_FACE('',(#9442),#9434,.T.);
+-#9444=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,9.441108058217E0));
+-#9445=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9446=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
+-#9447=AXIS2_PLACEMENT_3D('',#9444,#9445,#9446);
+-#9448=CYLINDRICAL_SURFACE('',#9447,3.5E-1);
+-#9450=ORIENTED_EDGE('',*,*,#9449,.F.);
+-#9452=ORIENTED_EDGE('',*,*,#9451,.T.);
+-#9453=ORIENTED_EDGE('',*,*,#9435,.T.);
+-#9454=ORIENTED_EDGE('',*,*,#6183,.T.);
+-#9455=EDGE_LOOP('',(#9450,#9452,#9453,#9454));
+-#9456=FACE_OUTER_BOUND('',#9455,.F.);
+-#9457=ADVANCED_FACE('',(#9456),#9448,.F.);
+-#9458=CARTESIAN_POINT('',(2.125314193270E1,9.5E0,1.E1));
+-#9459=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0));
+-#9460=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
+-#9461=AXIS2_PLACEMENT_3D('',#9458,#9459,#9460);
+-#9462=PLANE('',#9461);
+-#9464=ORIENTED_EDGE('',*,*,#9463,.F.);
+-#9466=ORIENTED_EDGE('',*,*,#9465,.F.);
+-#9467=ORIENTED_EDGE('',*,*,#9449,.T.);
+-#9468=ORIENTED_EDGE('',*,*,#6181,.T.);
+-#9469=EDGE_LOOP('',(#9464,#9466,#9467,#9468));
+-#9470=FACE_OUTER_BOUND('',#9469,.F.);
+-#9471=ADVANCED_FACE('',(#9470),#9462,.T.);
+-#9472=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,9.441108058217E0));
+-#9473=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9474=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9475=AXIS2_PLACEMENT_3D('',#9472,#9473,#9474);
+-#9476=CYLINDRICAL_SURFACE('',#9475,3.5E-1);
+-#9478=ORIENTED_EDGE('',*,*,#9477,.F.);
+-#9480=ORIENTED_EDGE('',*,*,#9479,.T.);
+-#9481=ORIENTED_EDGE('',*,*,#9463,.T.);
+-#9482=ORIENTED_EDGE('',*,*,#6179,.T.);
+-#9483=EDGE_LOOP('',(#9478,#9480,#9481,#9482));
+-#9484=FACE_OUTER_BOUND('',#9483,.F.);
+-#9485=ADVANCED_FACE('',(#9484),#9476,.F.);
+-#9486=CARTESIAN_POINT('',(2.264203082158E1,7.E0,1.E1));
+-#9487=DIRECTION('',(0.E0,1.E0,0.E0));
+-#9488=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#9489=AXIS2_PLACEMENT_3D('',#9486,#9487,#9488);
+-#9490=PLANE('',#9489);
+-#9491=ORIENTED_EDGE('',*,*,#9340,.T.);
+-#9493=ORIENTED_EDGE('',*,*,#9492,.F.);
+-#9494=ORIENTED_EDGE('',*,*,#9477,.T.);
+-#9495=ORIENTED_EDGE('',*,*,#6177,.T.);
+-#9496=EDGE_LOOP('',(#9491,#9493,#9494,#9495));
+-#9497=FACE_OUTER_BOUND('',#9496,.F.);
+-#9498=ADVANCED_FACE('',(#9497),#9490,.T.);
+-#9499=CARTESIAN_POINT('',(2.4E1,0.E0,9.5E0));
+-#9500=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#9501=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#9502=AXIS2_PLACEMENT_3D('',#9499,#9500,#9501);
+-#9503=PLANE('',#9502);
+-#9504=ORIENTED_EDGE('',*,*,#9492,.T.);
+-#9505=ORIENTED_EDGE('',*,*,#9338,.F.);
+-#9506=ORIENTED_EDGE('',*,*,#9355,.T.);
+-#9507=ORIENTED_EDGE('',*,*,#9367,.F.);
+-#9508=ORIENTED_EDGE('',*,*,#9383,.T.);
+-#9509=ORIENTED_EDGE('',*,*,#9395,.F.);
+-#9510=ORIENTED_EDGE('',*,*,#9411,.T.);
+-#9511=ORIENTED_EDGE('',*,*,#9423,.F.);
+-#9512=ORIENTED_EDGE('',*,*,#9437,.T.);
+-#9513=ORIENTED_EDGE('',*,*,#9451,.F.);
+-#9514=ORIENTED_EDGE('',*,*,#9465,.T.);
+-#9515=ORIENTED_EDGE('',*,*,#9479,.F.);
+-#9516=EDGE_LOOP('',(#9504,#9505,#9506,#9507,#9508,#9509,#9510,#9511,#9512,#9513,
+-#9514,#9515));
+-#9517=FACE_OUTER_BOUND('',#9516,.F.);
+-#9518=ADVANCED_FACE('',(#9517),#9503,.F.);
+-#9519=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0));
+-#9520=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#9521=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#9522=AXIS2_PLACEMENT_3D('',#9519,#9520,#9521);
+-#9523=CYLINDRICAL_SURFACE('',#9522,9.5E-2);
+-#9524=ORIENTED_EDGE('',*,*,#6007,.F.);
+-#9526=ORIENTED_EDGE('',*,*,#9525,.T.);
+-#9528=ORIENTED_EDGE('',*,*,#9527,.T.);
+-#9530=ORIENTED_EDGE('',*,*,#9529,.F.);
+-#9531=EDGE_LOOP('',(#9524,#9526,#9528,#9530));
+-#9532=FACE_OUTER_BOUND('',#9531,.F.);
+-#9533=ADVANCED_FACE('',(#9532),#9523,.F.);
+-#9534=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0));
+-#9535=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#9536=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#9537=AXIS2_PLACEMENT_3D('',#9534,#9535,#9536);
+-#9538=CYLINDRICAL_SURFACE('',#9537,9.5E-2);
+-#9539=ORIENTED_EDGE('',*,*,#6009,.F.);
+-#9540=ORIENTED_EDGE('',*,*,#9529,.T.);
+-#9542=ORIENTED_EDGE('',*,*,#9541,.T.);
+-#9543=ORIENTED_EDGE('',*,*,#9525,.F.);
+-#9544=EDGE_LOOP('',(#9539,#9540,#9542,#9543));
+-#9545=FACE_OUTER_BOUND('',#9544,.F.);
+-#9546=ADVANCED_FACE('',(#9545),#9538,.F.);
+-#9547=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0));
+-#9548=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#9549=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#9550=AXIS2_PLACEMENT_3D('',#9547,#9548,#9549);
+-#9551=PLANE('',#9550);
+-#9552=ORIENTED_EDGE('',*,*,#9527,.F.);
+-#9553=ORIENTED_EDGE('',*,*,#9541,.F.);
+-#9554=EDGE_LOOP('',(#9552,#9553));
+-#9555=FACE_OUTER_BOUND('',#9554,.F.);
+-#9556=ADVANCED_FACE('',(#9555),#9551,.T.);
+-#9557=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0));
+-#9558=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#9559=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#9560=AXIS2_PLACEMENT_3D('',#9557,#9558,#9559);
+-#9561=CYLINDRICAL_SURFACE('',#9560,9.5E-2);
+-#9562=ORIENTED_EDGE('',*,*,#6013,.F.);
+-#9564=ORIENTED_EDGE('',*,*,#9563,.T.);
+-#9566=ORIENTED_EDGE('',*,*,#9565,.T.);
+-#9568=ORIENTED_EDGE('',*,*,#9567,.F.);
+-#9569=EDGE_LOOP('',(#9562,#9564,#9566,#9568));
+-#9570=FACE_OUTER_BOUND('',#9569,.F.);
+-#9571=ADVANCED_FACE('',(#9570),#9561,.F.);
+-#9572=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0));
+-#9573=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#9574=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#9575=AXIS2_PLACEMENT_3D('',#9572,#9573,#9574);
+-#9576=CYLINDRICAL_SURFACE('',#9575,9.5E-2);
+-#9577=ORIENTED_EDGE('',*,*,#6015,.F.);
+-#9578=ORIENTED_EDGE('',*,*,#9567,.T.);
+-#9580=ORIENTED_EDGE('',*,*,#9579,.T.);
+-#9581=ORIENTED_EDGE('',*,*,#9563,.F.);
+-#9582=EDGE_LOOP('',(#9577,#9578,#9580,#9581));
+-#9583=FACE_OUTER_BOUND('',#9582,.F.);
+-#9584=ADVANCED_FACE('',(#9583),#9576,.F.);
+-#9585=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0));
+-#9586=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#9587=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#9588=AXIS2_PLACEMENT_3D('',#9585,#9586,#9587);
+-#9589=PLANE('',#9588);
+-#9590=ORIENTED_EDGE('',*,*,#9565,.F.);
+-#9591=ORIENTED_EDGE('',*,*,#9579,.F.);
+-#9592=EDGE_LOOP('',(#9590,#9591));
+-#9593=FACE_OUTER_BOUND('',#9592,.F.);
+-#9594=ADVANCED_FACE('',(#9593),#9589,.T.);
+-#9595=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0));
+-#9596=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9597=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9598=AXIS2_PLACEMENT_3D('',#9595,#9596,#9597);
+-#9599=CYLINDRICAL_SURFACE('',#9598,9.5E-2);
+-#9600=ORIENTED_EDGE('',*,*,#6019,.T.);
+-#9602=ORIENTED_EDGE('',*,*,#9601,.T.);
+-#9604=ORIENTED_EDGE('',*,*,#9603,.F.);
+-#9606=ORIENTED_EDGE('',*,*,#9605,.F.);
+-#9607=EDGE_LOOP('',(#9600,#9602,#9604,#9606));
+-#9608=FACE_OUTER_BOUND('',#9607,.F.);
+-#9609=ADVANCED_FACE('',(#9608),#9599,.F.);
+-#9610=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0));
+-#9611=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9612=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9613=AXIS2_PLACEMENT_3D('',#9610,#9611,#9612);
+-#9614=CYLINDRICAL_SURFACE('',#9613,9.5E-2);
+-#9615=ORIENTED_EDGE('',*,*,#6021,.T.);
+-#9616=ORIENTED_EDGE('',*,*,#9605,.T.);
+-#9618=ORIENTED_EDGE('',*,*,#9617,.F.);
+-#9619=ORIENTED_EDGE('',*,*,#9601,.F.);
+-#9620=EDGE_LOOP('',(#9615,#9616,#9618,#9619));
+-#9621=FACE_OUTER_BOUND('',#9620,.F.);
+-#9622=ADVANCED_FACE('',(#9621),#9614,.F.);
+-#9623=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0));
+-#9624=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9625=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9626=AXIS2_PLACEMENT_3D('',#9623,#9624,#9625);
+-#9627=PLANE('',#9626);
+-#9628=ORIENTED_EDGE('',*,*,#9603,.T.);
+-#9629=ORIENTED_EDGE('',*,*,#9617,.T.);
+-#9630=EDGE_LOOP('',(#9628,#9629));
+-#9631=FACE_OUTER_BOUND('',#9630,.F.);
+-#9632=ADVANCED_FACE('',(#9631),#9627,.F.);
+-#9633=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0));
+-#9634=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9635=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9636=AXIS2_PLACEMENT_3D('',#9633,#9634,#9635);
+-#9637=CYLINDRICAL_SURFACE('',#9636,9.5E-2);
+-#9638=ORIENTED_EDGE('',*,*,#6025,.T.);
+-#9640=ORIENTED_EDGE('',*,*,#9639,.T.);
+-#9642=ORIENTED_EDGE('',*,*,#9641,.F.);
+-#9644=ORIENTED_EDGE('',*,*,#9643,.F.);
+-#9645=EDGE_LOOP('',(#9638,#9640,#9642,#9644));
+-#9646=FACE_OUTER_BOUND('',#9645,.F.);
+-#9647=ADVANCED_FACE('',(#9646),#9637,.F.);
+-#9648=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0));
+-#9649=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9650=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9651=AXIS2_PLACEMENT_3D('',#9648,#9649,#9650);
+-#9652=CYLINDRICAL_SURFACE('',#9651,9.5E-2);
+-#9653=ORIENTED_EDGE('',*,*,#6027,.T.);
+-#9654=ORIENTED_EDGE('',*,*,#9643,.T.);
+-#9656=ORIENTED_EDGE('',*,*,#9655,.F.);
+-#9657=ORIENTED_EDGE('',*,*,#9639,.F.);
+-#9658=EDGE_LOOP('',(#9653,#9654,#9656,#9657));
+-#9659=FACE_OUTER_BOUND('',#9658,.F.);
+-#9660=ADVANCED_FACE('',(#9659),#9652,.F.);
+-#9661=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0));
+-#9662=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9663=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9664=AXIS2_PLACEMENT_3D('',#9661,#9662,#9663);
+-#9665=PLANE('',#9664);
+-#9666=ORIENTED_EDGE('',*,*,#9641,.T.);
+-#9667=ORIENTED_EDGE('',*,*,#9655,.T.);
+-#9668=EDGE_LOOP('',(#9666,#9667));
+-#9669=FACE_OUTER_BOUND('',#9668,.F.);
+-#9670=ADVANCED_FACE('',(#9669),#9665,.F.);
+-#9671=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0));
+-#9672=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9673=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9674=AXIS2_PLACEMENT_3D('',#9671,#9672,#9673);
+-#9675=CYLINDRICAL_SURFACE('',#9674,9.5E-2);
+-#9676=ORIENTED_EDGE('',*,*,#6037,.T.);
+-#9678=ORIENTED_EDGE('',*,*,#9677,.T.);
+-#9680=ORIENTED_EDGE('',*,*,#9679,.F.);
+-#9682=ORIENTED_EDGE('',*,*,#9681,.F.);
+-#9683=EDGE_LOOP('',(#9676,#9678,#9680,#9682));
+-#9684=FACE_OUTER_BOUND('',#9683,.F.);
+-#9685=ADVANCED_FACE('',(#9684),#9675,.F.);
+-#9686=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0));
+-#9687=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9688=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9689=AXIS2_PLACEMENT_3D('',#9686,#9687,#9688);
+-#9690=CYLINDRICAL_SURFACE('',#9689,9.5E-2);
+-#9691=ORIENTED_EDGE('',*,*,#6039,.T.);
+-#9692=ORIENTED_EDGE('',*,*,#9681,.T.);
+-#9694=ORIENTED_EDGE('',*,*,#9693,.F.);
+-#9695=ORIENTED_EDGE('',*,*,#9677,.F.);
+-#9696=EDGE_LOOP('',(#9691,#9692,#9694,#9695));
+-#9697=FACE_OUTER_BOUND('',#9696,.F.);
+-#9698=ADVANCED_FACE('',(#9697),#9690,.F.);
+-#9699=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0));
+-#9700=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9701=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9702=AXIS2_PLACEMENT_3D('',#9699,#9700,#9701);
+-#9703=PLANE('',#9702);
+-#9704=ORIENTED_EDGE('',*,*,#9679,.T.);
+-#9705=ORIENTED_EDGE('',*,*,#9693,.T.);
+-#9706=EDGE_LOOP('',(#9704,#9705));
+-#9707=FACE_OUTER_BOUND('',#9706,.F.);
+-#9708=ADVANCED_FACE('',(#9707),#9703,.F.);
+-#9709=CARTESIAN_POINT('',(4.5E0,2.E0,8.E0));
+-#9710=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9711=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#9712=AXIS2_PLACEMENT_3D('',#9709,#9710,#9711);
+-#9713=PLANE('',#9712);
+-#9715=ORIENTED_EDGE('',*,*,#9714,.T.);
+-#9717=ORIENTED_EDGE('',*,*,#9716,.T.);
+-#9719=ORIENTED_EDGE('',*,*,#9718,.F.);
+-#9720=ORIENTED_EDGE('',*,*,#6043,.F.);
+-#9721=EDGE_LOOP('',(#9715,#9717,#9719,#9720));
+-#9722=FACE_OUTER_BOUND('',#9721,.F.);
+-#9723=ADVANCED_FACE('',(#9722),#9713,.F.);
+-#9724=CARTESIAN_POINT('',(3.75E0,2.75E0,7.931076025772E0));
+-#9725=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9726=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9727=AXIS2_PLACEMENT_3D('',#9724,#9725,#9726);
+-#9728=CYLINDRICAL_SURFACE('',#9727,7.5E-1);
+-#9729=ORIENTED_EDGE('',*,*,#9714,.F.);
+-#9730=ORIENTED_EDGE('',*,*,#6057,.T.);
+-#9732=ORIENTED_EDGE('',*,*,#9731,.T.);
+-#9734=ORIENTED_EDGE('',*,*,#9733,.T.);
+-#9735=EDGE_LOOP('',(#9729,#9730,#9732,#9734));
+-#9736=FACE_OUTER_BOUND('',#9735,.F.);
+-#9737=ADVANCED_FACE('',(#9736),#9728,.F.);
+-#9738=CARTESIAN_POINT('',(4.5E0,9.5E0,8.E0));
+-#9739=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9740=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9741=AXIS2_PLACEMENT_3D('',#9738,#9739,#9740);
+-#9742=PLANE('',#9741);
+-#9743=ORIENTED_EDGE('',*,*,#9731,.F.);
+-#9744=ORIENTED_EDGE('',*,*,#6055,.F.);
+-#9746=ORIENTED_EDGE('',*,*,#9745,.T.);
+-#9748=ORIENTED_EDGE('',*,*,#9747,.T.);
+-#9749=EDGE_LOOP('',(#9743,#9744,#9746,#9748));
+-#9750=FACE_OUTER_BOUND('',#9749,.F.);
+-#9751=ADVANCED_FACE('',(#9750),#9742,.F.);
+-#9752=CARTESIAN_POINT('',(3.75E0,8.75E0,7.931076025772E0));
+-#9753=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9754=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9755=AXIS2_PLACEMENT_3D('',#9752,#9753,#9754);
+-#9756=CYLINDRICAL_SURFACE('',#9755,7.5E-1);
+-#9757=ORIENTED_EDGE('',*,*,#9745,.F.);
+-#9758=ORIENTED_EDGE('',*,*,#6053,.T.);
+-#9760=ORIENTED_EDGE('',*,*,#9759,.T.);
+-#9762=ORIENTED_EDGE('',*,*,#9761,.T.);
+-#9763=EDGE_LOOP('',(#9757,#9758,#9760,#9762));
+-#9764=FACE_OUTER_BOUND('',#9763,.F.);
+-#9765=ADVANCED_FACE('',(#9764),#9756,.F.);
+-#9766=CARTESIAN_POINT('',(2.746858067304E0,9.5E0,8.E0));
+-#9767=DIRECTION('',(0.E0,1.E0,0.E0));
+-#9768=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9769=AXIS2_PLACEMENT_3D('',#9766,#9767,#9768);
+-#9770=PLANE('',#9769);
+-#9772=ORIENTED_EDGE('',*,*,#9771,.T.);
+-#9774=ORIENTED_EDGE('',*,*,#9773,.T.);
+-#9775=ORIENTED_EDGE('',*,*,#9759,.F.);
+-#9776=ORIENTED_EDGE('',*,*,#6051,.F.);
+-#9777=EDGE_LOOP('',(#9772,#9774,#9775,#9776));
+-#9778=FACE_OUTER_BOUND('',#9777,.F.);
+-#9779=ADVANCED_FACE('',(#9778),#9770,.F.);
+-#9780=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,7.931076025772E0));
+-#9781=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9782=DIRECTION('',(0.E0,1.E0,0.E0));
+-#9783=AXIS2_PLACEMENT_3D('',#9780,#9781,#9782);
+-#9784=CYLINDRICAL_SURFACE('',#9783,7.5E-1);
+-#9785=ORIENTED_EDGE('',*,*,#9771,.F.);
+-#9786=ORIENTED_EDGE('',*,*,#6049,.T.);
+-#9788=ORIENTED_EDGE('',*,*,#9787,.T.);
+-#9790=ORIENTED_EDGE('',*,*,#9789,.T.);
+-#9791=EDGE_LOOP('',(#9785,#9786,#9788,#9790));
+-#9792=FACE_OUTER_BOUND('',#9791,.F.);
+-#9793=ADVANCED_FACE('',(#9792),#9784,.F.);
+-#9794=CARTESIAN_POINT('',(-1.419808599362E0,2.E0,8.E0));
+-#9795=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
+-#9796=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0));
+-#9797=AXIS2_PLACEMENT_3D('',#9794,#9795,#9796);
+-#9798=PLANE('',#9797);
+-#9800=ORIENTED_EDGE('',*,*,#9799,.T.);
+-#9802=ORIENTED_EDGE('',*,*,#9801,.T.);
+-#9803=ORIENTED_EDGE('',*,*,#9787,.F.);
+-#9804=ORIENTED_EDGE('',*,*,#6047,.F.);
+-#9805=EDGE_LOOP('',(#9800,#9802,#9803,#9804));
+-#9806=FACE_OUTER_BOUND('',#9805,.F.);
+-#9807=ADVANCED_FACE('',(#9806),#9798,.F.);
+-#9808=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,7.931076025772E0));
+-#9809=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9810=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
+-#9811=AXIS2_PLACEMENT_3D('',#9808,#9809,#9810);
+-#9812=CYLINDRICAL_SURFACE('',#9811,7.5E-1);
+-#9813=ORIENTED_EDGE('',*,*,#9799,.F.);
+-#9814=ORIENTED_EDGE('',*,*,#6045,.T.);
+-#9815=ORIENTED_EDGE('',*,*,#9718,.T.);
+-#9817=ORIENTED_EDGE('',*,*,#9816,.T.);
+-#9818=EDGE_LOOP('',(#9813,#9814,#9815,#9817));
+-#9819=FACE_OUTER_BOUND('',#9818,.F.);
+-#9820=ADVANCED_FACE('',(#9819),#9812,.F.);
+-#9821=CARTESIAN_POINT('',(0.E0,0.E0,8.5E0));
+-#9822=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#9823=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9824=AXIS2_PLACEMENT_3D('',#9821,#9822,#9823);
+-#9825=PLANE('',#9824);
+-#9826=ORIENTED_EDGE('',*,*,#9733,.F.);
+-#9827=ORIENTED_EDGE('',*,*,#9747,.F.);
+-#9828=ORIENTED_EDGE('',*,*,#9761,.F.);
+-#9829=ORIENTED_EDGE('',*,*,#9773,.F.);
+-#9830=ORIENTED_EDGE('',*,*,#9789,.F.);
+-#9831=ORIENTED_EDGE('',*,*,#9801,.F.);
+-#9832=ORIENTED_EDGE('',*,*,#9816,.F.);
+-#9833=ORIENTED_EDGE('',*,*,#9716,.F.);
+-#9834=EDGE_LOOP('',(#9826,#9827,#9828,#9829,#9830,#9831,#9832,#9833));
+-#9835=FACE_OUTER_BOUND('',#9834,.F.);
+-#9836=ADVANCED_FACE('',(#9835),#9825,.T.);
+-#9837=CARTESIAN_POINT('',(2.541980859936E1,2.E0,8.E0));
+-#9838=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0));
+-#9839=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0));
+-#9840=AXIS2_PLACEMENT_3D('',#9837,#9838,#9839);
+-#9841=PLANE('',#9840);
+-#9843=ORIENTED_EDGE('',*,*,#9842,.T.);
+-#9844=ORIENTED_EDGE('',*,*,#6061,.T.);
+-#9846=ORIENTED_EDGE('',*,*,#9845,.F.);
+-#9848=ORIENTED_EDGE('',*,*,#9847,.F.);
+-#9849=EDGE_LOOP('',(#9843,#9844,#9846,#9848));
+-#9850=FACE_OUTER_BOUND('',#9849,.F.);
+-#9851=ADVANCED_FACE('',(#9850),#9841,.T.);
+-#9852=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.558891941783E0));
+-#9853=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#9854=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
+-#9855=AXIS2_PLACEMENT_3D('',#9852,#9853,#9854);
+-#9856=CYLINDRICAL_SURFACE('',#9855,7.5E-1);
+-#9857=ORIENTED_EDGE('',*,*,#9842,.F.);
+-#9859=ORIENTED_EDGE('',*,*,#9858,.T.);
+-#9861=ORIENTED_EDGE('',*,*,#9860,.T.);
+-#9862=ORIENTED_EDGE('',*,*,#6063,.T.);
+-#9863=EDGE_LOOP('',(#9857,#9859,#9861,#9862));
+-#9864=FACE_OUTER_BOUND('',#9863,.F.);
+-#9865=ADVANCED_FACE('',(#9864),#9856,.F.);
+-#9866=CARTESIAN_POINT('',(2.4E1,0.E0,8.5E0));
+-#9867=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9868=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9869=AXIS2_PLACEMENT_3D('',#9866,#9867,#9868);
+-#9870=PLANE('',#9869);
+-#9872=ORIENTED_EDGE('',*,*,#9871,.F.);
+-#9874=ORIENTED_EDGE('',*,*,#9873,.T.);
+-#9875=ORIENTED_EDGE('',*,*,#9858,.F.);
+-#9876=ORIENTED_EDGE('',*,*,#9847,.T.);
+-#9878=ORIENTED_EDGE('',*,*,#9877,.F.);
+-#9880=ORIENTED_EDGE('',*,*,#9879,.T.);
+-#9882=ORIENTED_EDGE('',*,*,#9881,.F.);
+-#9884=ORIENTED_EDGE('',*,*,#9883,.T.);
+-#9885=EDGE_LOOP('',(#9872,#9874,#9875,#9876,#9878,#9880,#9882,#9884));
+-#9886=FACE_OUTER_BOUND('',#9885,.F.);
+-#9887=ADVANCED_FACE('',(#9886),#9870,.F.);
+-#9888=CARTESIAN_POINT('',(2.025E1,2.75E0,8.558891941783E0));
+-#9889=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#9890=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9891=AXIS2_PLACEMENT_3D('',#9888,#9889,#9890);
+-#9892=CYLINDRICAL_SURFACE('',#9891,7.5E-1);
+-#9894=ORIENTED_EDGE('',*,*,#9893,.F.);
+-#9895=ORIENTED_EDGE('',*,*,#9871,.T.);
+-#9897=ORIENTED_EDGE('',*,*,#9896,.T.);
+-#9898=ORIENTED_EDGE('',*,*,#6067,.T.);
+-#9899=EDGE_LOOP('',(#9894,#9895,#9897,#9898));
+-#9900=FACE_OUTER_BOUND('',#9899,.F.);
+-#9901=ADVANCED_FACE('',(#9900),#9892,.F.);
+-#9902=CARTESIAN_POINT('',(1.95E1,2.E0,8.E0));
+-#9903=DIRECTION('',(0.E0,1.E0,0.E0));
+-#9904=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9905=AXIS2_PLACEMENT_3D('',#9902,#9903,#9904);
+-#9906=PLANE('',#9905);
+-#9907=ORIENTED_EDGE('',*,*,#9893,.T.);
+-#9908=ORIENTED_EDGE('',*,*,#6065,.T.);
+-#9909=ORIENTED_EDGE('',*,*,#9860,.F.);
+-#9910=ORIENTED_EDGE('',*,*,#9873,.F.);
+-#9911=EDGE_LOOP('',(#9907,#9908,#9909,#9910));
+-#9912=FACE_OUTER_BOUND('',#9911,.F.);
+-#9913=ADVANCED_FACE('',(#9912),#9906,.T.);
+-#9914=CARTESIAN_POINT('',(1.95E1,9.5E0,8.E0));
+-#9915=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9916=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9917=AXIS2_PLACEMENT_3D('',#9914,#9915,#9916);
+-#9918=PLANE('',#9917);
+-#9919=ORIENTED_EDGE('',*,*,#9896,.F.);
+-#9920=ORIENTED_EDGE('',*,*,#9883,.F.);
+-#9922=ORIENTED_EDGE('',*,*,#9921,.T.);
+-#9923=ORIENTED_EDGE('',*,*,#6069,.T.);
+-#9924=EDGE_LOOP('',(#9919,#9920,#9922,#9923));
+-#9925=FACE_OUTER_BOUND('',#9924,.F.);
+-#9926=ADVANCED_FACE('',(#9925),#9918,.T.);
+-#9927=CARTESIAN_POINT('',(2.025E1,8.75E0,8.558891941783E0));
+-#9928=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#9929=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#9930=AXIS2_PLACEMENT_3D('',#9927,#9928,#9929);
+-#9931=CYLINDRICAL_SURFACE('',#9930,7.5E-1);
+-#9932=ORIENTED_EDGE('',*,*,#9921,.F.);
+-#9933=ORIENTED_EDGE('',*,*,#9881,.T.);
+-#9935=ORIENTED_EDGE('',*,*,#9934,.T.);
+-#9936=ORIENTED_EDGE('',*,*,#6071,.T.);
+-#9937=EDGE_LOOP('',(#9932,#9933,#9935,#9936));
+-#9938=FACE_OUTER_BOUND('',#9937,.F.);
+-#9939=ADVANCED_FACE('',(#9938),#9931,.F.);
+-#9940=CARTESIAN_POINT('',(2.125314193270E1,9.5E0,8.E0));
+-#9941=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9942=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#9943=AXIS2_PLACEMENT_3D('',#9940,#9941,#9942);
+-#9944=PLANE('',#9943);
+-#9946=ORIENTED_EDGE('',*,*,#9945,.T.);
+-#9947=ORIENTED_EDGE('',*,*,#6073,.T.);
+-#9948=ORIENTED_EDGE('',*,*,#9934,.F.);
+-#9949=ORIENTED_EDGE('',*,*,#9879,.F.);
+-#9950=EDGE_LOOP('',(#9946,#9947,#9948,#9949));
+-#9951=FACE_OUTER_BOUND('',#9950,.F.);
+-#9952=ADVANCED_FACE('',(#9951),#9944,.T.);
+-#9953=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.558891941783E0));
+-#9954=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#9955=DIRECTION('',(0.E0,1.E0,0.E0));
+-#9956=AXIS2_PLACEMENT_3D('',#9953,#9954,#9955);
+-#9957=CYLINDRICAL_SURFACE('',#9956,7.5E-1);
+-#9958=ORIENTED_EDGE('',*,*,#9945,.F.);
+-#9959=ORIENTED_EDGE('',*,*,#9877,.T.);
+-#9960=ORIENTED_EDGE('',*,*,#9845,.T.);
+-#9961=ORIENTED_EDGE('',*,*,#6075,.T.);
+-#9962=EDGE_LOOP('',(#9958,#9959,#9960,#9961));
+-#9963=FACE_OUTER_BOUND('',#9962,.F.);
+-#9964=ADVANCED_FACE('',(#9963),#9957,.F.);
+-#9965=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1));
+-#9966=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#9967=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9968=AXIS2_PLACEMENT_3D('',#9965,#9966,#9967);
+-#9969=PLANE('',#9968);
+-#9970=ORIENTED_EDGE('',*,*,#5726,.F.);
+-#9972=ORIENTED_EDGE('',*,*,#9971,.T.);
+-#9974=ORIENTED_EDGE('',*,*,#9973,.T.);
+-#9976=ORIENTED_EDGE('',*,*,#9975,.F.);
+-#9977=EDGE_LOOP('',(#9970,#9972,#9974,#9976));
+-#9978=FACE_OUTER_BOUND('',#9977,.F.);
+-#9979=ADVANCED_FACE('',(#9978),#9969,.F.);
+-#9980=CARTESIAN_POINT('',(7.5E0,0.E0,1.25E0));
+-#9981=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#9982=DIRECTION('',(1.E0,0.E0,0.E0));
+-#9983=AXIS2_PLACEMENT_3D('',#9980,#9981,#9982);
+-#9984=CYLINDRICAL_SURFACE('',#9983,5.625E-1);
+-#9985=ORIENTED_EDGE('',*,*,#5732,.F.);
+-#9987=ORIENTED_EDGE('',*,*,#9986,.T.);
+-#9989=ORIENTED_EDGE('',*,*,#9988,.T.);
+-#9990=ORIENTED_EDGE('',*,*,#9971,.F.);
+-#9991=EDGE_LOOP('',(#9985,#9987,#9989,#9990));
+-#9992=FACE_OUTER_BOUND('',#9991,.F.);
+-#9993=ADVANCED_FACE('',(#9992),#9984,.F.);
+-#9994=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0));
+-#9995=DIRECTION('',(0.E0,0.E0,1.E0));
+-#9996=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#9997=AXIS2_PLACEMENT_3D('',#9994,#9995,#9996);
+-#9998=PLANE('',#9997);
+-#9999=ORIENTED_EDGE('',*,*,#5730,.F.);
+-#10001=ORIENTED_EDGE('',*,*,#10000,.T.);
+-#10003=ORIENTED_EDGE('',*,*,#10002,.T.);
+-#10004=ORIENTED_EDGE('',*,*,#9986,.F.);
+-#10005=EDGE_LOOP('',(#9999,#10001,#10003,#10004));
+-#10006=FACE_OUTER_BOUND('',#10005,.F.);
+-#10007=ADVANCED_FACE('',(#10006),#9998,.F.);
+-#10008=CARTESIAN_POINT('',(1.05E1,0.E0,1.25E0));
+-#10009=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10010=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10011=AXIS2_PLACEMENT_3D('',#10008,#10009,#10010);
+-#10012=CYLINDRICAL_SURFACE('',#10011,5.625E-1);
+-#10013=ORIENTED_EDGE('',*,*,#5728,.F.);
+-#10014=ORIENTED_EDGE('',*,*,#9975,.T.);
+-#10016=ORIENTED_EDGE('',*,*,#10015,.T.);
+-#10017=ORIENTED_EDGE('',*,*,#10000,.F.);
+-#10018=EDGE_LOOP('',(#10013,#10014,#10016,#10017));
+-#10019=FACE_OUTER_BOUND('',#10018,.F.);
+-#10020=ADVANCED_FACE('',(#10019),#10012,.F.);
+-#10021=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
+-#10022=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10023=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10024=AXIS2_PLACEMENT_3D('',#10021,#10022,#10023);
+-#10025=PLANE('',#10024);
+-#10026=ORIENTED_EDGE('',*,*,#9973,.F.);
+-#10027=ORIENTED_EDGE('',*,*,#9988,.F.);
+-#10028=ORIENTED_EDGE('',*,*,#10002,.F.);
+-#10029=ORIENTED_EDGE('',*,*,#10015,.F.);
+-#10030=EDGE_LOOP('',(#10026,#10027,#10028,#10029));
+-#10031=FACE_OUTER_BOUND('',#10030,.F.);
+-#10032=ADVANCED_FACE('',(#10031),#10025,.T.);
+-#10033=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
+-#10034=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10035=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10036=AXIS2_PLACEMENT_3D('',#10033,#10034,#10035);
+-#10037=PLANE('',#10036);
+-#10039=ORIENTED_EDGE('',*,*,#10038,.F.);
+-#10041=ORIENTED_EDGE('',*,*,#10040,.F.);
+-#10043=ORIENTED_EDGE('',*,*,#10042,.F.);
+-#10045=ORIENTED_EDGE('',*,*,#10044,.F.);
+-#10047=ORIENTED_EDGE('',*,*,#10046,.F.);
+-#10048=EDGE_LOOP('',(#10039,#10041,#10043,#10045,#10047));
+-#10049=FACE_OUTER_BOUND('',#10048,.F.);
+-#10050=ADVANCED_FACE('',(#10049),#10037,.T.);
+-#10051=CARTESIAN_POINT('',(1.455736763592E0,-6.892397422826E-2,
+-4.577195232320E0));
+-#10052=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10053=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#10054=AXIS2_PLACEMENT_3D('',#10051,#10052,#10053);
+-#10055=CYLINDRICAL_SURFACE('',#10054,7.5E-1);
+-#10057=ORIENTED_EDGE('',*,*,#10056,.F.);
+-#10058=ORIENTED_EDGE('',*,*,#5738,.T.);
+-#10060=ORIENTED_EDGE('',*,*,#10059,.T.);
+-#10061=ORIENTED_EDGE('',*,*,#10038,.T.);
+-#10062=EDGE_LOOP('',(#10057,#10058,#10060,#10061));
+-#10063=FACE_OUTER_BOUND('',#10062,.F.);
+-#10064=ADVANCED_FACE('',(#10063),#10055,.F.);
+-#10065=CARTESIAN_POINT('',(6.875E-1,0.E0,4.284771824132E0));
+-#10066=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#10067=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#10068=AXIS2_PLACEMENT_3D('',#10065,#10066,#10067);
+-#10069=PLANE('',#10068);
+-#10070=ORIENTED_EDGE('',*,*,#10056,.T.);
+-#10071=ORIENTED_EDGE('',*,*,#10046,.T.);
+-#10073=ORIENTED_EDGE('',*,*,#10072,.F.);
+-#10074=ORIENTED_EDGE('',*,*,#5740,.F.);
+-#10075=EDGE_LOOP('',(#10070,#10071,#10073,#10074));
+-#10076=FACE_OUTER_BOUND('',#10075,.F.);
+-#10077=ADVANCED_FACE('',(#10076),#10069,.F.);
+-#10078=CARTESIAN_POINT('',(4.553039342392E0,0.E0,1.645354088550E0));
+-#10079=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10080=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10081=AXIS2_PLACEMENT_3D('',#10078,#10079,#10080);
+-#10082=CYLINDRICAL_SURFACE('',#10081,8.669989027347E-1);
+-#10083=ORIENTED_EDGE('',*,*,#5742,.F.);
+-#10084=ORIENTED_EDGE('',*,*,#10072,.T.);
+-#10085=ORIENTED_EDGE('',*,*,#10044,.T.);
+-#10087=ORIENTED_EDGE('',*,*,#10086,.F.);
+-#10088=EDGE_LOOP('',(#10083,#10084,#10085,#10087));
+-#10089=FACE_OUTER_BOUND('',#10088,.F.);
+-#10090=ADVANCED_FACE('',(#10089),#10082,.F.);
+-#10091=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0));
+-#10092=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10093=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10094=AXIS2_PLACEMENT_3D('',#10091,#10092,#10093);
+-#10095=CYLINDRICAL_SURFACE('',#10094,5.6875E0);
+-#10096=ORIENTED_EDGE('',*,*,#5744,.T.);
+-#10097=ORIENTED_EDGE('',*,*,#10086,.T.);
+-#10098=ORIENTED_EDGE('',*,*,#10042,.T.);
+-#10100=ORIENTED_EDGE('',*,*,#10099,.F.);
+-#10101=EDGE_LOOP('',(#10096,#10097,#10098,#10100));
+-#10102=FACE_OUTER_BOUND('',#10101,.F.);
+-#10103=ADVANCED_FACE('',(#10102),#10095,.T.);
+-#10104=CARTESIAN_POINT('',(1.61E0,0.E0,4.5E0));
+-#10105=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10106=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10107=AXIS2_PLACEMENT_3D('',#10104,#10105,#10106);
+-#10108=CYLINDRICAL_SURFACE('',#10107,9.225E-1);
+-#10109=ORIENTED_EDGE('',*,*,#10059,.F.);
+-#10110=ORIENTED_EDGE('',*,*,#5736,.F.);
+-#10111=ORIENTED_EDGE('',*,*,#10099,.T.);
+-#10112=ORIENTED_EDGE('',*,*,#10040,.T.);
+-#10113=EDGE_LOOP('',(#10109,#10110,#10111,#10112));
+-#10114=FACE_OUTER_BOUND('',#10113,.F.);
+-#10115=ADVANCED_FACE('',(#10114),#10108,.F.);
+-#10116=CARTESIAN_POINT('',(-1.85E-1,7.463919417831E-1,7.815E0));
+-#10117=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10118=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10119=AXIS2_PLACEMENT_3D('',#10116,#10117,#10118);
+-#10120=CYLINDRICAL_SURFACE('',#10119,8.75E-1);
+-#10122=ORIENTED_EDGE('',*,*,#10121,.T.);
+-#10123=ORIENTED_EDGE('',*,*,#5748,.T.);
+-#10125=ORIENTED_EDGE('',*,*,#10124,.F.);
+-#10127=ORIENTED_EDGE('',*,*,#10126,.T.);
+-#10128=EDGE_LOOP('',(#10122,#10123,#10125,#10127));
+-#10129=FACE_OUTER_BOUND('',#10128,.F.);
+-#10130=ADVANCED_FACE('',(#10129),#10120,.T.);
+-#10131=CARTESIAN_POINT('',(6.9E-1,0.E0,8.69E0));
+-#10132=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10133=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#10134=AXIS2_PLACEMENT_3D('',#10131,#10132,#10133);
+-#10135=PLANE('',#10134);
+-#10136=ORIENTED_EDGE('',*,*,#10121,.F.);
+-#10138=ORIENTED_EDGE('',*,*,#10137,.T.);
+-#10140=ORIENTED_EDGE('',*,*,#10139,.F.);
+-#10141=ORIENTED_EDGE('',*,*,#5750,.F.);
+-#10142=EDGE_LOOP('',(#10136,#10138,#10140,#10141));
+-#10143=FACE_OUTER_BOUND('',#10142,.F.);
+-#10144=ADVANCED_FACE('',(#10143),#10135,.F.);
+-#10145=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
+-#10146=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10147=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10148=AXIS2_PLACEMENT_3D('',#10145,#10146,#10147);
+-#10149=PLANE('',#10148);
+-#10151=ORIENTED_EDGE('',*,*,#10150,.F.);
+-#10153=ORIENTED_EDGE('',*,*,#10152,.F.);
+-#10155=ORIENTED_EDGE('',*,*,#10154,.F.);
+-#10157=ORIENTED_EDGE('',*,*,#10156,.F.);
+-#10158=ORIENTED_EDGE('',*,*,#10137,.F.);
+-#10159=ORIENTED_EDGE('',*,*,#10126,.F.);
+-#10161=ORIENTED_EDGE('',*,*,#10160,.F.);
+-#10163=ORIENTED_EDGE('',*,*,#10162,.F.);
+-#10165=ORIENTED_EDGE('',*,*,#10164,.F.);
+-#10167=ORIENTED_EDGE('',*,*,#10166,.F.);
+-#10169=ORIENTED_EDGE('',*,*,#10168,.F.);
+-#10171=ORIENTED_EDGE('',*,*,#10170,.F.);
+-#10173=ORIENTED_EDGE('',*,*,#10172,.F.);
+-#10175=ORIENTED_EDGE('',*,*,#10174,.F.);
+-#10176=EDGE_LOOP('',(#10151,#10153,#10155,#10157,#10158,#10159,#10161,#10163,
+-#10165,#10167,#10169,#10171,#10173,#10175));
+-#10177=FACE_OUTER_BOUND('',#10176,.F.);
+-#10178=ADVANCED_FACE('',(#10177),#10149,.T.);
+-#10179=CARTESIAN_POINT('',(1.8125E0,0.E0,8.69E0));
+-#10180=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#10181=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10182=AXIS2_PLACEMENT_3D('',#10179,#10180,#10181);
+-#10183=PLANE('',#10182);
+-#10185=ORIENTED_EDGE('',*,*,#10184,.F.);
+-#10186=ORIENTED_EDGE('',*,*,#10150,.T.);
+-#10188=ORIENTED_EDGE('',*,*,#10187,.F.);
+-#10189=ORIENTED_EDGE('',*,*,#5758,.F.);
+-#10190=EDGE_LOOP('',(#10185,#10186,#10188,#10189));
+-#10191=FACE_OUTER_BOUND('',#10190,.F.);
+-#10192=ADVANCED_FACE('',(#10191),#10183,.F.);
+-#10193=CARTESIAN_POINT('',(2.6875E0,7.463919417831E-1,7.815E0));
+-#10194=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10195=DIRECTION('',(0.E0,0.E0,1.E0));
+-#10196=AXIS2_PLACEMENT_3D('',#10193,#10194,#10195);
+-#10197=CYLINDRICAL_SURFACE('',#10196,8.75E-1);
+-#10198=ORIENTED_EDGE('',*,*,#10184,.T.);
+-#10199=ORIENTED_EDGE('',*,*,#5756,.T.);
+-#10201=ORIENTED_EDGE('',*,*,#10200,.F.);
+-#10202=ORIENTED_EDGE('',*,*,#10152,.T.);
+-#10203=EDGE_LOOP('',(#10198,#10199,#10201,#10202));
+-#10204=FACE_OUTER_BOUND('',#10203,.F.);
+-#10205=ADVANCED_FACE('',(#10204),#10197,.T.);
+-#10206=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0));
+-#10207=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10208=DIRECTION('',(0.E0,0.E0,1.E0));
+-#10209=AXIS2_PLACEMENT_3D('',#10206,#10207,#10208);
+-#10210=PLANE('',#10209);
+-#10211=ORIENTED_EDGE('',*,*,#10200,.T.);
+-#10212=ORIENTED_EDGE('',*,*,#5754,.F.);
+-#10214=ORIENTED_EDGE('',*,*,#10213,.T.);
+-#10215=ORIENTED_EDGE('',*,*,#10154,.T.);
+-#10216=EDGE_LOOP('',(#10211,#10212,#10214,#10215));
+-#10217=FACE_OUTER_BOUND('',#10216,.F.);
+-#10218=ADVANCED_FACE('',(#10217),#10210,.F.);
+-#10219=CARTESIAN_POINT('',(1.25125E0,0.E0,7.5E0));
+-#10220=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10221=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10222=AXIS2_PLACEMENT_3D('',#10219,#10220,#10221);
+-#10223=CYLINDRICAL_SURFACE('',#10222,5.6125E-1);
+-#10224=ORIENTED_EDGE('',*,*,#5752,.F.);
+-#10225=ORIENTED_EDGE('',*,*,#10139,.T.);
+-#10226=ORIENTED_EDGE('',*,*,#10156,.T.);
+-#10227=ORIENTED_EDGE('',*,*,#10213,.F.);
+-#10228=EDGE_LOOP('',(#10224,#10225,#10226,#10227));
+-#10229=FACE_OUTER_BOUND('',#10228,.F.);
+-#10230=ADVANCED_FACE('',(#10229),#10223,.F.);
+-#10231=CARTESIAN_POINT('',(3.4375E0,-6.892397422826E-2,9.565E0));
+-#10232=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10233=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10234=AXIS2_PLACEMENT_3D('',#10231,#10232,#10233);
+-#10235=CYLINDRICAL_SURFACE('',#10234,8.75E-1);
+-#10237=ORIENTED_EDGE('',*,*,#10236,.F.);
+-#10238=ORIENTED_EDGE('',*,*,#5760,.T.);
+-#10239=ORIENTED_EDGE('',*,*,#10187,.T.);
+-#10240=ORIENTED_EDGE('',*,*,#10174,.T.);
+-#10241=EDGE_LOOP('',(#10237,#10238,#10239,#10240));
+-#10242=FACE_OUTER_BOUND('',#10241,.F.);
+-#10243=ADVANCED_FACE('',(#10242),#10235,.F.);
+-#10244=CARTESIAN_POINT('',(4.3125E0,0.E0,8.69E0));
+-#10245=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10246=DIRECTION('',(0.E0,0.E0,1.E0));
+-#10247=AXIS2_PLACEMENT_3D('',#10244,#10245,#10246);
+-#10248=PLANE('',#10247);
+-#10249=ORIENTED_EDGE('',*,*,#10236,.T.);
+-#10250=ORIENTED_EDGE('',*,*,#10172,.T.);
+-#10252=ORIENTED_EDGE('',*,*,#10251,.F.);
+-#10253=ORIENTED_EDGE('',*,*,#5762,.F.);
+-#10254=EDGE_LOOP('',(#10249,#10250,#10252,#10253));
+-#10255=FACE_OUTER_BOUND('',#10254,.F.);
+-#10256=ADVANCED_FACE('',(#10255),#10248,.F.);
+-#10257=CARTESIAN_POINT('',(3.4375E0,-6.892397422826E-2,1.0375E1));
+-#10258=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10259=DIRECTION('',(0.E0,0.E0,1.E0));
+-#10260=AXIS2_PLACEMENT_3D('',#10257,#10258,#10259);
+-#10261=CYLINDRICAL_SURFACE('',#10260,8.75E-1);
+-#10263=ORIENTED_EDGE('',*,*,#10262,.F.);
+-#10264=ORIENTED_EDGE('',*,*,#5764,.T.);
+-#10265=ORIENTED_EDGE('',*,*,#10251,.T.);
+-#10266=ORIENTED_EDGE('',*,*,#10170,.T.);
+-#10267=EDGE_LOOP('',(#10263,#10264,#10265,#10266));
+-#10268=FACE_OUTER_BOUND('',#10267,.F.);
+-#10269=ADVANCED_FACE('',(#10268),#10261,.F.);
+-#10270=CARTESIAN_POINT('',(4.3125E0,0.E0,1.125E1));
+-#10271=DIRECTION('',(0.E0,0.E0,1.E0));
+-#10272=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10273=AXIS2_PLACEMENT_3D('',#10270,#10271,#10272);
+-#10274=PLANE('',#10273);
+-#10276=ORIENTED_EDGE('',*,*,#10275,.F.);
+-#10277=ORIENTED_EDGE('',*,*,#5766,.F.);
+-#10278=ORIENTED_EDGE('',*,*,#10262,.T.);
+-#10279=ORIENTED_EDGE('',*,*,#10168,.T.);
+-#10280=EDGE_LOOP('',(#10276,#10277,#10278,#10279));
+-#10281=FACE_OUTER_BOUND('',#10280,.F.);
+-#10282=ADVANCED_FACE('',(#10281),#10274,.F.);
+-#10283=CARTESIAN_POINT('',(-4.375E-1,-6.892397422826E-2,1.0375E1));
+-#10284=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10285=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10286=AXIS2_PLACEMENT_3D('',#10283,#10284,#10285);
+-#10287=CYLINDRICAL_SURFACE('',#10286,8.75E-1);
+-#10289=ORIENTED_EDGE('',*,*,#10288,.F.);
+-#10290=ORIENTED_EDGE('',*,*,#5768,.T.);
+-#10291=ORIENTED_EDGE('',*,*,#10275,.T.);
+-#10292=ORIENTED_EDGE('',*,*,#10166,.T.);
+-#10293=EDGE_LOOP('',(#10289,#10290,#10291,#10292));
+-#10294=FACE_OUTER_BOUND('',#10293,.F.);
+-#10295=ADVANCED_FACE('',(#10294),#10287,.F.);
+-#10296=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.125E1));
+-#10297=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10298=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#10299=AXIS2_PLACEMENT_3D('',#10296,#10297,#10298);
+-#10300=PLANE('',#10299);
+-#10301=ORIENTED_EDGE('',*,*,#10288,.T.);
+-#10302=ORIENTED_EDGE('',*,*,#10164,.T.);
+-#10304=ORIENTED_EDGE('',*,*,#10303,.F.);
+-#10305=ORIENTED_EDGE('',*,*,#5770,.F.);
+-#10306=EDGE_LOOP('',(#10301,#10302,#10304,#10305));
+-#10307=FACE_OUTER_BOUND('',#10306,.F.);
+-#10308=ADVANCED_FACE('',(#10307),#10300,.F.);
+-#10309=CARTESIAN_POINT('',(-4.375E-1,-6.892397422826E-2,9.565E0));
+-#10310=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10311=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#10312=AXIS2_PLACEMENT_3D('',#10309,#10310,#10311);
+-#10313=CYLINDRICAL_SURFACE('',#10312,8.75E-1);
+-#10315=ORIENTED_EDGE('',*,*,#10314,.F.);
+-#10316=ORIENTED_EDGE('',*,*,#5772,.T.);
+-#10317=ORIENTED_EDGE('',*,*,#10303,.T.);
+-#10318=ORIENTED_EDGE('',*,*,#10162,.T.);
+-#10319=EDGE_LOOP('',(#10315,#10316,#10317,#10318));
+-#10320=FACE_OUTER_BOUND('',#10319,.F.);
+-#10321=ADVANCED_FACE('',(#10320),#10313,.F.);
+-#10322=CARTESIAN_POINT('',(-1.3125E0,0.E0,8.69E0));
+-#10323=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#10324=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10325=AXIS2_PLACEMENT_3D('',#10322,#10323,#10324);
+-#10326=PLANE('',#10325);
+-#10327=ORIENTED_EDGE('',*,*,#10124,.T.);
+-#10328=ORIENTED_EDGE('',*,*,#5774,.F.);
+-#10329=ORIENTED_EDGE('',*,*,#10314,.T.);
+-#10330=ORIENTED_EDGE('',*,*,#10160,.T.);
+-#10331=EDGE_LOOP('',(#10327,#10328,#10329,#10330));
+-#10332=FACE_OUTER_BOUND('',#10331,.F.);
+-#10333=ADVANCED_FACE('',(#10332),#10326,.F.);
+-#10334=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1));
+-#10335=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10336=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#10337=AXIS2_PLACEMENT_3D('',#10334,#10335,#10336);
+-#10338=PLANE('',#10337);
+-#10339=ORIENTED_EDGE('',*,*,#5778,.F.);
+-#10341=ORIENTED_EDGE('',*,*,#10340,.T.);
+-#10343=ORIENTED_EDGE('',*,*,#10342,.T.);
+-#10345=ORIENTED_EDGE('',*,*,#10344,.F.);
+-#10346=EDGE_LOOP('',(#10339,#10341,#10343,#10345));
+-#10347=FACE_OUTER_BOUND('',#10346,.F.);
+-#10348=ADVANCED_FACE('',(#10347),#10338,.F.);
+-#10349=CARTESIAN_POINT('',(1.25E0,0.E0,1.65E1));
+-#10350=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10351=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10352=AXIS2_PLACEMENT_3D('',#10349,#10350,#10351);
+-#10353=CYLINDRICAL_SURFACE('',#10352,5.625E-1);
+-#10354=ORIENTED_EDGE('',*,*,#5784,.F.);
+-#10356=ORIENTED_EDGE('',*,*,#10355,.T.);
+-#10358=ORIENTED_EDGE('',*,*,#10357,.T.);
+-#10359=ORIENTED_EDGE('',*,*,#10340,.F.);
+-#10360=EDGE_LOOP('',(#10354,#10356,#10358,#10359));
+-#10361=FACE_OUTER_BOUND('',#10360,.F.);
+-#10362=ADVANCED_FACE('',(#10361),#10353,.F.);
+-#10363=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1));
+-#10364=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10365=DIRECTION('',(0.E0,0.E0,1.E0));
+-#10366=AXIS2_PLACEMENT_3D('',#10363,#10364,#10365);
+-#10367=PLANE('',#10366);
+-#10368=ORIENTED_EDGE('',*,*,#5782,.F.);
+-#10370=ORIENTED_EDGE('',*,*,#10369,.T.);
+-#10372=ORIENTED_EDGE('',*,*,#10371,.T.);
+-#10373=ORIENTED_EDGE('',*,*,#10355,.F.);
+-#10374=EDGE_LOOP('',(#10368,#10370,#10372,#10373));
+-#10375=FACE_OUTER_BOUND('',#10374,.F.);
+-#10376=ADVANCED_FACE('',(#10375),#10367,.F.);
+-#10377=CARTESIAN_POINT('',(1.25E0,0.E0,1.35E1));
+-#10378=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10379=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10380=AXIS2_PLACEMENT_3D('',#10377,#10378,#10379);
+-#10381=CYLINDRICAL_SURFACE('',#10380,5.625E-1);
+-#10382=ORIENTED_EDGE('',*,*,#5780,.F.);
+-#10383=ORIENTED_EDGE('',*,*,#10344,.T.);
+-#10385=ORIENTED_EDGE('',*,*,#10384,.T.);
+-#10386=ORIENTED_EDGE('',*,*,#10369,.F.);
+-#10387=EDGE_LOOP('',(#10382,#10383,#10385,#10386));
+-#10388=FACE_OUTER_BOUND('',#10387,.F.);
+-#10389=ADVANCED_FACE('',(#10388),#10381,.F.);
+-#10390=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
+-#10391=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10392=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10393=AXIS2_PLACEMENT_3D('',#10390,#10391,#10392);
+-#10394=PLANE('',#10393);
+-#10395=ORIENTED_EDGE('',*,*,#10342,.F.);
+-#10396=ORIENTED_EDGE('',*,*,#10357,.F.);
+-#10397=ORIENTED_EDGE('',*,*,#10371,.F.);
+-#10398=ORIENTED_EDGE('',*,*,#10384,.F.);
+-#10399=EDGE_LOOP('',(#10395,#10396,#10397,#10398));
+-#10400=FACE_OUTER_BOUND('',#10399,.F.);
+-#10401=ADVANCED_FACE('',(#10400),#10394,.T.);
+-#10402=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1));
+-#10403=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10404=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#10405=AXIS2_PLACEMENT_3D('',#10402,#10403,#10404);
+-#10406=PLANE('',#10405);
+-#10407=ORIENTED_EDGE('',*,*,#5788,.F.);
+-#10409=ORIENTED_EDGE('',*,*,#10408,.T.);
+-#10411=ORIENTED_EDGE('',*,*,#10410,.T.);
+-#10413=ORIENTED_EDGE('',*,*,#10412,.F.);
+-#10414=EDGE_LOOP('',(#10407,#10409,#10411,#10413));
+-#10415=FACE_OUTER_BOUND('',#10414,.F.);
+-#10416=ADVANCED_FACE('',(#10415),#10406,.F.);
+-#10417=CARTESIAN_POINT('',(1.25E0,0.E0,2.25E1));
+-#10418=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10419=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10420=AXIS2_PLACEMENT_3D('',#10417,#10418,#10419);
+-#10421=CYLINDRICAL_SURFACE('',#10420,5.625E-1);
+-#10422=ORIENTED_EDGE('',*,*,#5794,.F.);
+-#10424=ORIENTED_EDGE('',*,*,#10423,.T.);
+-#10426=ORIENTED_EDGE('',*,*,#10425,.T.);
+-#10427=ORIENTED_EDGE('',*,*,#10408,.F.);
+-#10428=EDGE_LOOP('',(#10422,#10424,#10426,#10427));
+-#10429=FACE_OUTER_BOUND('',#10428,.F.);
+-#10430=ADVANCED_FACE('',(#10429),#10421,.F.);
+-#10431=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1));
+-#10432=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10433=DIRECTION('',(0.E0,0.E0,1.E0));
+-#10434=AXIS2_PLACEMENT_3D('',#10431,#10432,#10433);
+-#10435=PLANE('',#10434);
+-#10436=ORIENTED_EDGE('',*,*,#5792,.F.);
+-#10438=ORIENTED_EDGE('',*,*,#10437,.T.);
+-#10440=ORIENTED_EDGE('',*,*,#10439,.T.);
+-#10441=ORIENTED_EDGE('',*,*,#10423,.F.);
+-#10442=EDGE_LOOP('',(#10436,#10438,#10440,#10441));
+-#10443=FACE_OUTER_BOUND('',#10442,.F.);
+-#10444=ADVANCED_FACE('',(#10443),#10435,.F.);
+-#10445=CARTESIAN_POINT('',(1.25E0,0.E0,1.95E1));
+-#10446=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10447=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10448=AXIS2_PLACEMENT_3D('',#10445,#10446,#10447);
+-#10449=CYLINDRICAL_SURFACE('',#10448,5.625E-1);
+-#10450=ORIENTED_EDGE('',*,*,#5790,.F.);
+-#10451=ORIENTED_EDGE('',*,*,#10412,.T.);
+-#10453=ORIENTED_EDGE('',*,*,#10452,.T.);
+-#10454=ORIENTED_EDGE('',*,*,#10437,.F.);
+-#10455=EDGE_LOOP('',(#10450,#10451,#10453,#10454));
+-#10456=FACE_OUTER_BOUND('',#10455,.F.);
+-#10457=ADVANCED_FACE('',(#10456),#10449,.F.);
+-#10458=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
+-#10459=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10460=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10461=AXIS2_PLACEMENT_3D('',#10458,#10459,#10460);
+-#10462=PLANE('',#10461);
+-#10463=ORIENTED_EDGE('',*,*,#10410,.F.);
+-#10464=ORIENTED_EDGE('',*,*,#10425,.F.);
+-#10465=ORIENTED_EDGE('',*,*,#10439,.F.);
+-#10466=ORIENTED_EDGE('',*,*,#10452,.F.);
+-#10467=EDGE_LOOP('',(#10463,#10464,#10465,#10466));
+-#10468=FACE_OUTER_BOUND('',#10467,.F.);
+-#10469=ADVANCED_FACE('',(#10468),#10462,.T.);
+-#10470=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0));
+-#10471=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#10472=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10473=AXIS2_PLACEMENT_3D('',#10470,#10471,#10472);
+-#10474=PLANE('',#10473);
+-#10475=ORIENTED_EDGE('',*,*,#5798,.F.);
+-#10477=ORIENTED_EDGE('',*,*,#10476,.T.);
+-#10479=ORIENTED_EDGE('',*,*,#10478,.T.);
+-#10481=ORIENTED_EDGE('',*,*,#10480,.F.);
+-#10482=EDGE_LOOP('',(#10475,#10477,#10479,#10481));
+-#10483=FACE_OUTER_BOUND('',#10482,.F.);
+-#10484=ADVANCED_FACE('',(#10483),#10474,.F.);
+-#10485=CARTESIAN_POINT('',(7.5E0,0.E0,9.E0));
+-#10486=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10487=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10488=AXIS2_PLACEMENT_3D('',#10485,#10486,#10487);
+-#10489=CYLINDRICAL_SURFACE('',#10488,5.E-1);
+-#10490=ORIENTED_EDGE('',*,*,#5804,.F.);
+-#10492=ORIENTED_EDGE('',*,*,#10491,.T.);
+-#10494=ORIENTED_EDGE('',*,*,#10493,.T.);
+-#10495=ORIENTED_EDGE('',*,*,#10476,.F.);
+-#10496=EDGE_LOOP('',(#10490,#10492,#10494,#10495));
+-#10497=FACE_OUTER_BOUND('',#10496,.F.);
+-#10498=ADVANCED_FACE('',(#10497),#10489,.F.);
+-#10499=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0));
+-#10500=DIRECTION('',(0.E0,0.E0,1.E0));
+-#10501=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10502=AXIS2_PLACEMENT_3D('',#10499,#10500,#10501);
+-#10503=PLANE('',#10502);
+-#10504=ORIENTED_EDGE('',*,*,#5802,.F.);
+-#10506=ORIENTED_EDGE('',*,*,#10505,.T.);
+-#10508=ORIENTED_EDGE('',*,*,#10507,.T.);
+-#10509=ORIENTED_EDGE('',*,*,#10491,.F.);
+-#10510=EDGE_LOOP('',(#10504,#10506,#10508,#10509));
+-#10511=FACE_OUTER_BOUND('',#10510,.F.);
+-#10512=ADVANCED_FACE('',(#10511),#10503,.F.);
+-#10513=CARTESIAN_POINT('',(1.05E1,0.E0,9.E0));
+-#10514=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10515=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10516=AXIS2_PLACEMENT_3D('',#10513,#10514,#10515);
+-#10517=CYLINDRICAL_SURFACE('',#10516,5.E-1);
+-#10518=ORIENTED_EDGE('',*,*,#5800,.F.);
+-#10519=ORIENTED_EDGE('',*,*,#10480,.T.);
+-#10521=ORIENTED_EDGE('',*,*,#10520,.T.);
+-#10522=ORIENTED_EDGE('',*,*,#10505,.F.);
+-#10523=EDGE_LOOP('',(#10518,#10519,#10521,#10522));
+-#10524=FACE_OUTER_BOUND('',#10523,.F.);
+-#10525=ADVANCED_FACE('',(#10524),#10517,.F.);
+-#10526=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
+-#10527=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10528=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10529=AXIS2_PLACEMENT_3D('',#10526,#10527,#10528);
+-#10530=PLANE('',#10529);
+-#10531=ORIENTED_EDGE('',*,*,#10478,.F.);
+-#10532=ORIENTED_EDGE('',*,*,#10493,.F.);
+-#10533=ORIENTED_EDGE('',*,*,#10507,.F.);
+-#10534=ORIENTED_EDGE('',*,*,#10520,.F.);
+-#10535=EDGE_LOOP('',(#10531,#10532,#10533,#10534));
+-#10536=FACE_OUTER_BOUND('',#10535,.F.);
+-#10537=ADVANCED_FACE('',(#10536),#10530,.T.);
+-#10538=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1));
+-#10539=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#10540=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10541=AXIS2_PLACEMENT_3D('',#10538,#10539,#10540);
+-#10542=PLANE('',#10541);
+-#10543=ORIENTED_EDGE('',*,*,#5808,.F.);
+-#10545=ORIENTED_EDGE('',*,*,#10544,.T.);
+-#10547=ORIENTED_EDGE('',*,*,#10546,.T.);
+-#10549=ORIENTED_EDGE('',*,*,#10548,.F.);
+-#10550=EDGE_LOOP('',(#10543,#10545,#10547,#10549));
+-#10551=FACE_OUTER_BOUND('',#10550,.F.);
+-#10552=ADVANCED_FACE('',(#10551),#10542,.F.);
+-#10553=CARTESIAN_POINT('',(7.5E0,0.E0,1.8E1));
+-#10554=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10555=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10556=AXIS2_PLACEMENT_3D('',#10553,#10554,#10555);
+-#10557=CYLINDRICAL_SURFACE('',#10556,4.375E-1);
+-#10558=ORIENTED_EDGE('',*,*,#5814,.F.);
+-#10560=ORIENTED_EDGE('',*,*,#10559,.T.);
+-#10562=ORIENTED_EDGE('',*,*,#10561,.T.);
+-#10563=ORIENTED_EDGE('',*,*,#10544,.F.);
+-#10564=EDGE_LOOP('',(#10558,#10560,#10562,#10563));
+-#10565=FACE_OUTER_BOUND('',#10564,.F.);
+-#10566=ADVANCED_FACE('',(#10565),#10557,.F.);
+-#10567=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1));
+-#10568=DIRECTION('',(0.E0,0.E0,1.E0));
+-#10569=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10570=AXIS2_PLACEMENT_3D('',#10567,#10568,#10569);
+-#10571=PLANE('',#10570);
+-#10572=ORIENTED_EDGE('',*,*,#5812,.F.);
+-#10574=ORIENTED_EDGE('',*,*,#10573,.T.);
+-#10576=ORIENTED_EDGE('',*,*,#10575,.T.);
+-#10577=ORIENTED_EDGE('',*,*,#10559,.F.);
+-#10578=EDGE_LOOP('',(#10572,#10574,#10576,#10577));
+-#10579=FACE_OUTER_BOUND('',#10578,.F.);
+-#10580=ADVANCED_FACE('',(#10579),#10571,.F.);
+-#10581=CARTESIAN_POINT('',(1.05E1,0.E0,1.8E1));
+-#10582=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10583=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10584=AXIS2_PLACEMENT_3D('',#10581,#10582,#10583);
+-#10585=CYLINDRICAL_SURFACE('',#10584,4.375E-1);
+-#10586=ORIENTED_EDGE('',*,*,#5810,.F.);
+-#10587=ORIENTED_EDGE('',*,*,#10548,.T.);
+-#10589=ORIENTED_EDGE('',*,*,#10588,.T.);
+-#10590=ORIENTED_EDGE('',*,*,#10573,.F.);
+-#10591=EDGE_LOOP('',(#10586,#10587,#10589,#10590));
+-#10592=FACE_OUTER_BOUND('',#10591,.F.);
+-#10593=ADVANCED_FACE('',(#10592),#10585,.F.);
+-#10594=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
+-#10595=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#10596=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10597=AXIS2_PLACEMENT_3D('',#10594,#10595,#10596);
+-#10598=PLANE('',#10597);
+-#10599=ORIENTED_EDGE('',*,*,#10546,.F.);
+-#10600=ORIENTED_EDGE('',*,*,#10561,.F.);
+-#10601=ORIENTED_EDGE('',*,*,#10575,.F.);
+-#10602=ORIENTED_EDGE('',*,*,#10588,.F.);
+-#10603=EDGE_LOOP('',(#10599,#10600,#10601,#10602));
+-#10604=FACE_OUTER_BOUND('',#10603,.F.);
+-#10605=ADVANCED_FACE('',(#10604),#10598,.T.);
+-#10606=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1));
+-#10607=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#10608=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10609=AXIS2_PLACEMENT_3D('',#10606,#10607,#10608);
+-#10610=PLANE('',#10609);
+-#10611=ORIENTED_EDGE('',*,*,#5818,.T.);
+-#10613=ORIENTED_EDGE('',*,*,#10612,.T.);
+-#10615=ORIENTED_EDGE('',*,*,#10614,.F.);
+-#10617=ORIENTED_EDGE('',*,*,#10616,.F.);
+-#10618=EDGE_LOOP('',(#10611,#10613,#10615,#10617));
+-#10619=FACE_OUTER_BOUND('',#10618,.F.);
+-#10620=ADVANCED_FACE('',(#10619),#10610,.T.);
+-#10621=CARTESIAN_POINT('',(1.05E1,0.E0,3.075E1));
+-#10622=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10623=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10624=AXIS2_PLACEMENT_3D('',#10621,#10622,#10623);
+-#10625=CYLINDRICAL_SURFACE('',#10624,5.625E-1);
+-#10626=ORIENTED_EDGE('',*,*,#5824,.T.);
+-#10628=ORIENTED_EDGE('',*,*,#10627,.T.);
+-#10630=ORIENTED_EDGE('',*,*,#10629,.F.);
+-#10631=ORIENTED_EDGE('',*,*,#10612,.F.);
+-#10632=EDGE_LOOP('',(#10626,#10628,#10630,#10631));
+-#10633=FACE_OUTER_BOUND('',#10632,.F.);
+-#10634=ADVANCED_FACE('',(#10633),#10625,.F.);
+-#10635=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1));
+-#10636=DIRECTION('',(0.E0,0.E0,1.E0));
+-#10637=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10638=AXIS2_PLACEMENT_3D('',#10635,#10636,#10637);
+-#10639=PLANE('',#10638);
+-#10640=ORIENTED_EDGE('',*,*,#5822,.T.);
+-#10642=ORIENTED_EDGE('',*,*,#10641,.T.);
+-#10644=ORIENTED_EDGE('',*,*,#10643,.F.);
+-#10645=ORIENTED_EDGE('',*,*,#10627,.F.);
+-#10646=EDGE_LOOP('',(#10640,#10642,#10644,#10645));
+-#10647=FACE_OUTER_BOUND('',#10646,.F.);
+-#10648=ADVANCED_FACE('',(#10647),#10639,.T.);
+-#10649=CARTESIAN_POINT('',(7.5E0,0.E0,3.075E1));
+-#10650=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10651=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10652=AXIS2_PLACEMENT_3D('',#10649,#10650,#10651);
+-#10653=CYLINDRICAL_SURFACE('',#10652,5.625E-1);
+-#10654=ORIENTED_EDGE('',*,*,#5820,.T.);
+-#10655=ORIENTED_EDGE('',*,*,#10616,.T.);
+-#10657=ORIENTED_EDGE('',*,*,#10656,.F.);
+-#10658=ORIENTED_EDGE('',*,*,#10641,.F.);
+-#10659=EDGE_LOOP('',(#10654,#10655,#10657,#10658));
+-#10660=FACE_OUTER_BOUND('',#10659,.F.);
+-#10661=ADVANCED_FACE('',(#10660),#10653,.F.);
+-#10662=CARTESIAN_POINT('',(0.E0,6.875E-1,3.2E1));
+-#10663=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10664=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10665=AXIS2_PLACEMENT_3D('',#10662,#10663,#10664);
+-#10666=PLANE('',#10665);
+-#10667=ORIENTED_EDGE('',*,*,#10614,.T.);
+-#10668=ORIENTED_EDGE('',*,*,#10629,.T.);
+-#10669=ORIENTED_EDGE('',*,*,#10643,.T.);
+-#10670=ORIENTED_EDGE('',*,*,#10656,.T.);
+-#10671=EDGE_LOOP('',(#10667,#10668,#10669,#10670));
+-#10672=FACE_OUTER_BOUND('',#10671,.F.);
+-#10673=ADVANCED_FACE('',(#10672),#10666,.F.);
+-#10674=CARTESIAN_POINT('',(0.E0,6.875E-1,3.2E1));
+-#10675=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10676=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10677=AXIS2_PLACEMENT_3D('',#10674,#10675,#10676);
+-#10678=PLANE('',#10677);
+-#10680=ORIENTED_EDGE('',*,*,#10679,.F.);
+-#10682=ORIENTED_EDGE('',*,*,#10681,.T.);
+-#10684=ORIENTED_EDGE('',*,*,#10683,.T.);
+-#10686=ORIENTED_EDGE('',*,*,#10685,.T.);
+-#10688=ORIENTED_EDGE('',*,*,#10687,.T.);
+-#10689=EDGE_LOOP('',(#10680,#10682,#10684,#10686,#10688));
+-#10690=FACE_OUTER_BOUND('',#10689,.F.);
+-#10691=ADVANCED_FACE('',(#10690),#10678,.F.);
+-#10692=CARTESIAN_POINT('',(1.455736763592E0,-6.642389448824E-2,
+-2.742280476768E1));
+-#10693=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10694=DIRECTION('',(-8.942796313519E-1,0.E0,-4.475085931567E-1));
+-#10695=AXIS2_PLACEMENT_3D('',#10692,#10693,#10694);
+-#10696=CYLINDRICAL_SURFACE('',#10695,7.5E-1);
+-#10698=ORIENTED_EDGE('',*,*,#10697,.F.);
+-#10699=ORIENTED_EDGE('',*,*,#5932,.T.);
+-#10701=ORIENTED_EDGE('',*,*,#10700,.T.);
+-#10702=ORIENTED_EDGE('',*,*,#10679,.T.);
+-#10703=EDGE_LOOP('',(#10698,#10699,#10701,#10702));
+-#10704=FACE_OUTER_BOUND('',#10703,.F.);
+-#10705=ADVANCED_FACE('',(#10704),#10696,.F.);
+-#10706=CARTESIAN_POINT('',(1.61E0,0.E0,2.75E1));
+-#10707=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10708=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10709=AXIS2_PLACEMENT_3D('',#10706,#10707,#10708);
+-#10710=CYLINDRICAL_SURFACE('',#10709,9.225E-1);
+-#10711=ORIENTED_EDGE('',*,*,#10697,.T.);
+-#10712=ORIENTED_EDGE('',*,*,#10687,.F.);
+-#10714=ORIENTED_EDGE('',*,*,#10713,.F.);
+-#10715=ORIENTED_EDGE('',*,*,#5934,.T.);
+-#10716=EDGE_LOOP('',(#10711,#10712,#10714,#10715));
+-#10717=FACE_OUTER_BOUND('',#10716,.F.);
+-#10718=ADVANCED_FACE('',(#10717),#10710,.F.);
+-#10719=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1));
+-#10720=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10721=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10722=AXIS2_PLACEMENT_3D('',#10719,#10720,#10721);
+-#10723=CYLINDRICAL_SURFACE('',#10722,5.6875E0);
+-#10724=ORIENTED_EDGE('',*,*,#5936,.F.);
+-#10725=ORIENTED_EDGE('',*,*,#10713,.T.);
+-#10726=ORIENTED_EDGE('',*,*,#10685,.F.);
+-#10728=ORIENTED_EDGE('',*,*,#10727,.F.);
+-#10729=EDGE_LOOP('',(#10724,#10725,#10726,#10728));
+-#10730=FACE_OUTER_BOUND('',#10729,.F.);
+-#10731=ADVANCED_FACE('',(#10730),#10723,.T.);
+-#10732=CARTESIAN_POINT('',(4.553039342392E0,0.E0,3.035464591145E1));
+-#10733=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10734=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10735=AXIS2_PLACEMENT_3D('',#10732,#10733,#10734);
+-#10736=CYLINDRICAL_SURFACE('',#10735,8.669989027347E-1);
+-#10737=ORIENTED_EDGE('',*,*,#5938,.T.);
+-#10738=ORIENTED_EDGE('',*,*,#10727,.T.);
+-#10739=ORIENTED_EDGE('',*,*,#10683,.F.);
+-#10741=ORIENTED_EDGE('',*,*,#10740,.F.);
+-#10742=EDGE_LOOP('',(#10737,#10738,#10739,#10741));
+-#10743=FACE_OUTER_BOUND('',#10742,.F.);
+-#10744=ADVANCED_FACE('',(#10743),#10736,.F.);
+-#10745=CARTESIAN_POINT('',(6.875E-1,0.E0,2.771522817587E1));
+-#10746=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#10747=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
+-#10748=AXIS2_PLACEMENT_3D('',#10745,#10746,#10747);
+-#10749=PLANE('',#10748);
+-#10750=ORIENTED_EDGE('',*,*,#10700,.F.);
+-#10751=ORIENTED_EDGE('',*,*,#5930,.T.);
+-#10752=ORIENTED_EDGE('',*,*,#10740,.T.);
+-#10753=ORIENTED_EDGE('',*,*,#10681,.F.);
+-#10754=EDGE_LOOP('',(#10750,#10751,#10752,#10753));
+-#10755=FACE_OUTER_BOUND('',#10754,.F.);
+-#10756=ADVANCED_FACE('',(#10755),#10749,.T.);
+-#10757=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1));
+-#10758=DIRECTION('',(0.E0,0.E0,1.E0));
+-#10759=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10760=AXIS2_PLACEMENT_3D('',#10757,#10758,#10759);
+-#10761=PLANE('',#10760);
+-#10762=ORIENTED_EDGE('',*,*,#5828,.T.);
+-#10764=ORIENTED_EDGE('',*,*,#10763,.T.);
+-#10766=ORIENTED_EDGE('',*,*,#10765,.F.);
+-#10768=ORIENTED_EDGE('',*,*,#10767,.F.);
+-#10769=EDGE_LOOP('',(#10762,#10764,#10766,#10768));
+-#10770=FACE_OUTER_BOUND('',#10769,.F.);
+-#10771=ADVANCED_FACE('',(#10770),#10761,.T.);
+-#10772=CARTESIAN_POINT('',(1.35E1,0.E0,1.25E0));
+-#10773=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10774=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10775=AXIS2_PLACEMENT_3D('',#10772,#10773,#10774);
+-#10776=CYLINDRICAL_SURFACE('',#10775,5.625E-1);
+-#10777=ORIENTED_EDGE('',*,*,#5834,.T.);
+-#10779=ORIENTED_EDGE('',*,*,#10778,.T.);
+-#10781=ORIENTED_EDGE('',*,*,#10780,.F.);
+-#10782=ORIENTED_EDGE('',*,*,#10763,.F.);
+-#10783=EDGE_LOOP('',(#10777,#10779,#10781,#10782));
+-#10784=FACE_OUTER_BOUND('',#10783,.F.);
+-#10785=ADVANCED_FACE('',(#10784),#10776,.F.);
+-#10786=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0));
+-#10787=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#10788=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10789=AXIS2_PLACEMENT_3D('',#10786,#10787,#10788);
+-#10790=PLANE('',#10789);
+-#10791=ORIENTED_EDGE('',*,*,#5832,.T.);
+-#10793=ORIENTED_EDGE('',*,*,#10792,.T.);
+-#10795=ORIENTED_EDGE('',*,*,#10794,.F.);
+-#10796=ORIENTED_EDGE('',*,*,#10778,.F.);
+-#10797=EDGE_LOOP('',(#10791,#10793,#10795,#10796));
+-#10798=FACE_OUTER_BOUND('',#10797,.F.);
+-#10799=ADVANCED_FACE('',(#10798),#10790,.T.);
+-#10800=CARTESIAN_POINT('',(1.65E1,0.E0,1.25E0));
+-#10801=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10802=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10803=AXIS2_PLACEMENT_3D('',#10800,#10801,#10802);
+-#10804=CYLINDRICAL_SURFACE('',#10803,5.625E-1);
+-#10805=ORIENTED_EDGE('',*,*,#5830,.T.);
+-#10806=ORIENTED_EDGE('',*,*,#10767,.T.);
+-#10808=ORIENTED_EDGE('',*,*,#10807,.F.);
+-#10809=ORIENTED_EDGE('',*,*,#10792,.F.);
+-#10810=EDGE_LOOP('',(#10805,#10806,#10808,#10809));
+-#10811=FACE_OUTER_BOUND('',#10810,.F.);
+-#10812=ADVANCED_FACE('',(#10811),#10804,.F.);
+-#10813=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
+-#10814=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10815=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10816=AXIS2_PLACEMENT_3D('',#10813,#10814,#10815);
+-#10817=PLANE('',#10816);
+-#10818=ORIENTED_EDGE('',*,*,#10765,.T.);
+-#10819=ORIENTED_EDGE('',*,*,#10780,.T.);
+-#10820=ORIENTED_EDGE('',*,*,#10794,.T.);
+-#10821=ORIENTED_EDGE('',*,*,#10807,.T.);
+-#10822=EDGE_LOOP('',(#10818,#10819,#10820,#10821));
+-#10823=FACE_OUTER_BOUND('',#10822,.F.);
+-#10824=ADVANCED_FACE('',(#10823),#10817,.F.);
+-#10825=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
+-#10826=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10827=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10828=AXIS2_PLACEMENT_3D('',#10825,#10826,#10827);
+-#10829=PLANE('',#10828);
+-#10831=ORIENTED_EDGE('',*,*,#10830,.F.);
+-#10833=ORIENTED_EDGE('',*,*,#10832,.T.);
+-#10835=ORIENTED_EDGE('',*,*,#10834,.T.);
+-#10837=ORIENTED_EDGE('',*,*,#10836,.T.);
+-#10839=ORIENTED_EDGE('',*,*,#10838,.T.);
+-#10840=EDGE_LOOP('',(#10831,#10833,#10835,#10837,#10839));
+-#10841=FACE_OUTER_BOUND('',#10840,.F.);
+-#10842=ADVANCED_FACE('',(#10841),#10829,.F.);
+-#10843=CARTESIAN_POINT('',(2.254426323641E1,-6.642389448824E-2,
+-4.577195232320E0));
+-#10844=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10845=DIRECTION('',(8.942796313519E-1,0.E0,4.475085931567E-1));
+-#10846=AXIS2_PLACEMENT_3D('',#10843,#10844,#10845);
+-#10847=CYLINDRICAL_SURFACE('',#10846,7.5E-1);
+-#10849=ORIENTED_EDGE('',*,*,#10848,.F.);
+-#10850=ORIENTED_EDGE('',*,*,#5920,.T.);
+-#10852=ORIENTED_EDGE('',*,*,#10851,.T.);
+-#10853=ORIENTED_EDGE('',*,*,#10830,.T.);
+-#10854=EDGE_LOOP('',(#10849,#10850,#10852,#10853));
+-#10855=FACE_OUTER_BOUND('',#10854,.F.);
+-#10856=ADVANCED_FACE('',(#10855),#10847,.F.);
+-#10857=CARTESIAN_POINT('',(2.239E1,0.E0,4.5E0));
+-#10858=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10859=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10860=AXIS2_PLACEMENT_3D('',#10857,#10858,#10859);
+-#10861=CYLINDRICAL_SURFACE('',#10860,9.225E-1);
+-#10862=ORIENTED_EDGE('',*,*,#10848,.T.);
+-#10863=ORIENTED_EDGE('',*,*,#10838,.F.);
+-#10865=ORIENTED_EDGE('',*,*,#10864,.F.);
+-#10866=ORIENTED_EDGE('',*,*,#5922,.T.);
+-#10867=EDGE_LOOP('',(#10862,#10863,#10865,#10866));
+-#10868=FACE_OUTER_BOUND('',#10867,.F.);
+-#10869=ADVANCED_FACE('',(#10868),#10861,.F.);
+-#10870=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0));
+-#10871=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10872=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10873=AXIS2_PLACEMENT_3D('',#10870,#10871,#10872);
+-#10874=CYLINDRICAL_SURFACE('',#10873,5.6875E0);
+-#10875=ORIENTED_EDGE('',*,*,#5924,.F.);
+-#10876=ORIENTED_EDGE('',*,*,#10864,.T.);
+-#10877=ORIENTED_EDGE('',*,*,#10836,.F.);
+-#10879=ORIENTED_EDGE('',*,*,#10878,.F.);
+-#10880=EDGE_LOOP('',(#10875,#10876,#10877,#10879));
+-#10881=FACE_OUTER_BOUND('',#10880,.F.);
+-#10882=ADVANCED_FACE('',(#10881),#10874,.T.);
+-#10883=CARTESIAN_POINT('',(1.944696065761E1,0.E0,1.645354088550E0));
+-#10884=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10885=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10886=AXIS2_PLACEMENT_3D('',#10883,#10884,#10885);
+-#10887=CYLINDRICAL_SURFACE('',#10886,8.669989027347E-1);
+-#10888=ORIENTED_EDGE('',*,*,#5926,.T.);
+-#10889=ORIENTED_EDGE('',*,*,#10878,.T.);
+-#10890=ORIENTED_EDGE('',*,*,#10834,.F.);
+-#10892=ORIENTED_EDGE('',*,*,#10891,.F.);
+-#10893=EDGE_LOOP('',(#10888,#10889,#10890,#10892));
+-#10894=FACE_OUTER_BOUND('',#10893,.F.);
+-#10895=ADVANCED_FACE('',(#10894),#10887,.F.);
+-#10896=CARTESIAN_POINT('',(2.33125E1,0.E0,4.284771824132E0));
+-#10897=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
+-#10898=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
+-#10899=AXIS2_PLACEMENT_3D('',#10896,#10897,#10898);
+-#10900=PLANE('',#10899);
+-#10901=ORIENTED_EDGE('',*,*,#10851,.F.);
+-#10902=ORIENTED_EDGE('',*,*,#5918,.T.);
+-#10903=ORIENTED_EDGE('',*,*,#10891,.T.);
+-#10904=ORIENTED_EDGE('',*,*,#10832,.F.);
+-#10905=EDGE_LOOP('',(#10901,#10902,#10903,#10904));
+-#10906=FACE_OUTER_BOUND('',#10905,.F.);
+-#10907=ADVANCED_FACE('',(#10906),#10900,.T.);
+-#10908=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1));
+-#10909=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10910=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#10911=AXIS2_PLACEMENT_3D('',#10908,#10909,#10910);
+-#10912=PLANE('',#10911);
+-#10913=ORIENTED_EDGE('',*,*,#5838,.T.);
+-#10915=ORIENTED_EDGE('',*,*,#10914,.T.);
+-#10917=ORIENTED_EDGE('',*,*,#10916,.F.);
+-#10919=ORIENTED_EDGE('',*,*,#10918,.F.);
+-#10920=EDGE_LOOP('',(#10913,#10915,#10917,#10919));
+-#10921=FACE_OUTER_BOUND('',#10920,.F.);
+-#10922=ADVANCED_FACE('',(#10921),#10912,.T.);
+-#10923=CARTESIAN_POINT('',(2.275E1,0.E0,1.35E1));
+-#10924=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10925=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10926=AXIS2_PLACEMENT_3D('',#10923,#10924,#10925);
+-#10927=CYLINDRICAL_SURFACE('',#10926,5.625E-1);
+-#10928=ORIENTED_EDGE('',*,*,#5844,.T.);
+-#10930=ORIENTED_EDGE('',*,*,#10929,.T.);
+-#10932=ORIENTED_EDGE('',*,*,#10931,.F.);
+-#10933=ORIENTED_EDGE('',*,*,#10914,.F.);
+-#10934=EDGE_LOOP('',(#10928,#10930,#10932,#10933));
+-#10935=FACE_OUTER_BOUND('',#10934,.F.);
+-#10936=ADVANCED_FACE('',(#10935),#10927,.F.);
+-#10937=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1));
+-#10938=DIRECTION('',(1.E0,0.E0,0.E0));
+-#10939=DIRECTION('',(0.E0,0.E0,1.E0));
+-#10940=AXIS2_PLACEMENT_3D('',#10937,#10938,#10939);
+-#10941=PLANE('',#10940);
+-#10942=ORIENTED_EDGE('',*,*,#5842,.T.);
+-#10944=ORIENTED_EDGE('',*,*,#10943,.T.);
+-#10946=ORIENTED_EDGE('',*,*,#10945,.F.);
+-#10947=ORIENTED_EDGE('',*,*,#10929,.F.);
+-#10948=EDGE_LOOP('',(#10942,#10944,#10946,#10947));
+-#10949=FACE_OUTER_BOUND('',#10948,.F.);
+-#10950=ADVANCED_FACE('',(#10949),#10941,.T.);
+-#10951=CARTESIAN_POINT('',(2.275E1,0.E0,1.65E1));
+-#10952=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10953=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10954=AXIS2_PLACEMENT_3D('',#10951,#10952,#10953);
+-#10955=CYLINDRICAL_SURFACE('',#10954,5.625E-1);
+-#10956=ORIENTED_EDGE('',*,*,#5840,.T.);
+-#10957=ORIENTED_EDGE('',*,*,#10918,.T.);
+-#10959=ORIENTED_EDGE('',*,*,#10958,.F.);
+-#10960=ORIENTED_EDGE('',*,*,#10943,.F.);
+-#10961=EDGE_LOOP('',(#10956,#10957,#10959,#10960));
+-#10962=FACE_OUTER_BOUND('',#10961,.F.);
+-#10963=ADVANCED_FACE('',(#10962),#10955,.F.);
+-#10964=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
+-#10965=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10966=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10967=AXIS2_PLACEMENT_3D('',#10964,#10965,#10966);
+-#10968=PLANE('',#10967);
+-#10969=ORIENTED_EDGE('',*,*,#10916,.T.);
+-#10970=ORIENTED_EDGE('',*,*,#10931,.T.);
+-#10971=ORIENTED_EDGE('',*,*,#10945,.T.);
+-#10972=ORIENTED_EDGE('',*,*,#10958,.T.);
+-#10973=EDGE_LOOP('',(#10969,#10970,#10971,#10972));
+-#10974=FACE_OUTER_BOUND('',#10973,.F.);
+-#10975=ADVANCED_FACE('',(#10974),#10968,.F.);
+-#10976=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1));
+-#10977=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10978=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#10979=AXIS2_PLACEMENT_3D('',#10976,#10977,#10978);
+-#10980=PLANE('',#10979);
+-#10981=ORIENTED_EDGE('',*,*,#5848,.T.);
+-#10983=ORIENTED_EDGE('',*,*,#10982,.T.);
+-#10985=ORIENTED_EDGE('',*,*,#10984,.F.);
+-#10987=ORIENTED_EDGE('',*,*,#10986,.F.);
+-#10988=EDGE_LOOP('',(#10981,#10983,#10985,#10987));
+-#10989=FACE_OUTER_BOUND('',#10988,.F.);
+-#10990=ADVANCED_FACE('',(#10989),#10980,.T.);
+-#10991=CARTESIAN_POINT('',(2.275E1,0.E0,1.95E1));
+-#10992=DIRECTION('',(0.E0,1.E0,0.E0));
+-#10993=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#10994=AXIS2_PLACEMENT_3D('',#10991,#10992,#10993);
+-#10995=CYLINDRICAL_SURFACE('',#10994,5.625E-1);
+-#10996=ORIENTED_EDGE('',*,*,#5854,.T.);
+-#10998=ORIENTED_EDGE('',*,*,#10997,.T.);
+-#11000=ORIENTED_EDGE('',*,*,#10999,.F.);
+-#11001=ORIENTED_EDGE('',*,*,#10982,.F.);
+-#11002=EDGE_LOOP('',(#10996,#10998,#11000,#11001));
+-#11003=FACE_OUTER_BOUND('',#11002,.F.);
+-#11004=ADVANCED_FACE('',(#11003),#10995,.F.);
+-#11005=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1));
+-#11006=DIRECTION('',(1.E0,0.E0,0.E0));
+-#11007=DIRECTION('',(0.E0,0.E0,1.E0));
+-#11008=AXIS2_PLACEMENT_3D('',#11005,#11006,#11007);
+-#11009=PLANE('',#11008);
+-#11010=ORIENTED_EDGE('',*,*,#5852,.T.);
+-#11012=ORIENTED_EDGE('',*,*,#11011,.T.);
+-#11014=ORIENTED_EDGE('',*,*,#11013,.F.);
+-#11015=ORIENTED_EDGE('',*,*,#10997,.F.);
+-#11016=EDGE_LOOP('',(#11010,#11012,#11014,#11015));
+-#11017=FACE_OUTER_BOUND('',#11016,.F.);
+-#11018=ADVANCED_FACE('',(#11017),#11009,.T.);
+-#11019=CARTESIAN_POINT('',(2.275E1,0.E0,2.25E1));
+-#11020=DIRECTION('',(0.E0,1.E0,0.E0));
+-#11021=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11022=AXIS2_PLACEMENT_3D('',#11019,#11020,#11021);
+-#11023=CYLINDRICAL_SURFACE('',#11022,5.625E-1);
+-#11024=ORIENTED_EDGE('',*,*,#5850,.T.);
+-#11025=ORIENTED_EDGE('',*,*,#10986,.T.);
+-#11027=ORIENTED_EDGE('',*,*,#11026,.F.);
+-#11028=ORIENTED_EDGE('',*,*,#11011,.F.);
+-#11029=EDGE_LOOP('',(#11024,#11025,#11027,#11028));
+-#11030=FACE_OUTER_BOUND('',#11029,.F.);
+-#11031=ADVANCED_FACE('',(#11030),#11023,.F.);
+-#11032=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
+-#11033=DIRECTION('',(0.E0,1.E0,0.E0));
+-#11034=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11035=AXIS2_PLACEMENT_3D('',#11032,#11033,#11034);
+-#11036=PLANE('',#11035);
+-#11037=ORIENTED_EDGE('',*,*,#10984,.T.);
+-#11038=ORIENTED_EDGE('',*,*,#10999,.T.);
+-#11039=ORIENTED_EDGE('',*,*,#11013,.T.);
+-#11040=ORIENTED_EDGE('',*,*,#11026,.T.);
+-#11041=EDGE_LOOP('',(#11037,#11038,#11039,#11040));
+-#11042=FACE_OUTER_BOUND('',#11041,.F.);
+-#11043=ADVANCED_FACE('',(#11042),#11036,.F.);
+-#11044=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0));
+-#11045=DIRECTION('',(0.E0,0.E0,1.E0));
+-#11046=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11047=AXIS2_PLACEMENT_3D('',#11044,#11045,#11046);
+-#11048=PLANE('',#11047);
+-#11049=ORIENTED_EDGE('',*,*,#5858,.T.);
+-#11051=ORIENTED_EDGE('',*,*,#11050,.T.);
+-#11053=ORIENTED_EDGE('',*,*,#11052,.F.);
+-#11055=ORIENTED_EDGE('',*,*,#11054,.F.);
+-#11056=EDGE_LOOP('',(#11049,#11051,#11053,#11055));
+-#11057=FACE_OUTER_BOUND('',#11056,.F.);
+-#11058=ADVANCED_FACE('',(#11057),#11048,.T.);
+-#11059=CARTESIAN_POINT('',(1.35E1,0.E0,9.E0));
+-#11060=DIRECTION('',(0.E0,1.E0,0.E0));
+-#11061=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11062=AXIS2_PLACEMENT_3D('',#11059,#11060,#11061);
+-#11063=CYLINDRICAL_SURFACE('',#11062,5.E-1);
+-#11064=ORIENTED_EDGE('',*,*,#5864,.T.);
+-#11066=ORIENTED_EDGE('',*,*,#11065,.T.);
+-#11068=ORIENTED_EDGE('',*,*,#11067,.F.);
+-#11069=ORIENTED_EDGE('',*,*,#11050,.F.);
+-#11070=EDGE_LOOP('',(#11064,#11066,#11068,#11069));
+-#11071=FACE_OUTER_BOUND('',#11070,.F.);
+-#11072=ADVANCED_FACE('',(#11071),#11063,.F.);
+-#11073=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0));
+-#11074=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#11075=DIRECTION('',(1.E0,0.E0,0.E0));
+-#11076=AXIS2_PLACEMENT_3D('',#11073,#11074,#11075);
+-#11077=PLANE('',#11076);
+-#11078=ORIENTED_EDGE('',*,*,#5862,.T.);
+-#11080=ORIENTED_EDGE('',*,*,#11079,.T.);
+-#11082=ORIENTED_EDGE('',*,*,#11081,.F.);
+-#11083=ORIENTED_EDGE('',*,*,#11065,.F.);
+-#11084=EDGE_LOOP('',(#11078,#11080,#11082,#11083));
+-#11085=FACE_OUTER_BOUND('',#11084,.F.);
+-#11086=ADVANCED_FACE('',(#11085),#11077,.T.);
+-#11087=CARTESIAN_POINT('',(1.65E1,0.E0,9.E0));
+-#11088=DIRECTION('',(0.E0,1.E0,0.E0));
+-#11089=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11090=AXIS2_PLACEMENT_3D('',#11087,#11088,#11089);
+-#11091=CYLINDRICAL_SURFACE('',#11090,5.E-1);
+-#11092=ORIENTED_EDGE('',*,*,#5860,.T.);
+-#11093=ORIENTED_EDGE('',*,*,#11054,.T.);
+-#11095=ORIENTED_EDGE('',*,*,#11094,.F.);
+-#11096=ORIENTED_EDGE('',*,*,#11079,.F.);
+-#11097=EDGE_LOOP('',(#11092,#11093,#11095,#11096));
+-#11098=FACE_OUTER_BOUND('',#11097,.F.);
+-#11099=ADVANCED_FACE('',(#11098),#11091,.F.);
+-#11100=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
+-#11101=DIRECTION('',(0.E0,1.E0,0.E0));
+-#11102=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11103=AXIS2_PLACEMENT_3D('',#11100,#11101,#11102);
+-#11104=PLANE('',#11103);
+-#11105=ORIENTED_EDGE('',*,*,#11052,.T.);
+-#11106=ORIENTED_EDGE('',*,*,#11067,.T.);
+-#11107=ORIENTED_EDGE('',*,*,#11081,.T.);
+-#11108=ORIENTED_EDGE('',*,*,#11094,.T.);
+-#11109=EDGE_LOOP('',(#11105,#11106,#11107,#11108));
+-#11110=FACE_OUTER_BOUND('',#11109,.F.);
+-#11111=ADVANCED_FACE('',(#11110),#11104,.F.);
+-#11112=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1));
+-#11113=DIRECTION('',(0.E0,0.E0,1.E0));
+-#11114=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11115=AXIS2_PLACEMENT_3D('',#11112,#11113,#11114);
+-#11116=PLANE('',#11115);
+-#11117=ORIENTED_EDGE('',*,*,#5868,.T.);
+-#11119=ORIENTED_EDGE('',*,*,#11118,.T.);
+-#11121=ORIENTED_EDGE('',*,*,#11120,.F.);
+-#11123=ORIENTED_EDGE('',*,*,#11122,.F.);
+-#11124=EDGE_LOOP('',(#11117,#11119,#11121,#11123));
+-#11125=FACE_OUTER_BOUND('',#11124,.F.);
+-#11126=ADVANCED_FACE('',(#11125),#11116,.T.);
+-#11127=CARTESIAN_POINT('',(1.35E1,0.E0,1.8E1));
+-#11128=DIRECTION('',(0.E0,1.E0,0.E0));
+-#11129=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11130=AXIS2_PLACEMENT_3D('',#11127,#11128,#11129);
+-#11131=CYLINDRICAL_SURFACE('',#11130,4.375E-1);
+-#11132=ORIENTED_EDGE('',*,*,#5874,.T.);
+-#11134=ORIENTED_EDGE('',*,*,#11133,.T.);
+-#11136=ORIENTED_EDGE('',*,*,#11135,.F.);
+-#11137=ORIENTED_EDGE('',*,*,#11118,.F.);
+-#11138=EDGE_LOOP('',(#11132,#11134,#11136,#11137));
+-#11139=FACE_OUTER_BOUND('',#11138,.F.);
+-#11140=ADVANCED_FACE('',(#11139),#11131,.F.);
+-#11141=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1));
+-#11142=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#11143=DIRECTION('',(1.E0,0.E0,0.E0));
+-#11144=AXIS2_PLACEMENT_3D('',#11141,#11142,#11143);
+-#11145=PLANE('',#11144);
+-#11146=ORIENTED_EDGE('',*,*,#5872,.T.);
+-#11148=ORIENTED_EDGE('',*,*,#11147,.T.);
+-#11150=ORIENTED_EDGE('',*,*,#11149,.F.);
+-#11151=ORIENTED_EDGE('',*,*,#11133,.F.);
+-#11152=EDGE_LOOP('',(#11146,#11148,#11150,#11151));
+-#11153=FACE_OUTER_BOUND('',#11152,.F.);
+-#11154=ADVANCED_FACE('',(#11153),#11145,.T.);
+-#11155=CARTESIAN_POINT('',(1.65E1,0.E0,1.8E1));
+-#11156=DIRECTION('',(0.E0,1.E0,0.E0));
+-#11157=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11158=AXIS2_PLACEMENT_3D('',#11155,#11156,#11157);
+-#11159=CYLINDRICAL_SURFACE('',#11158,4.375E-1);
+-#11160=ORIENTED_EDGE('',*,*,#5870,.T.);
+-#11161=ORIENTED_EDGE('',*,*,#11122,.T.);
+-#11163=ORIENTED_EDGE('',*,*,#11162,.F.);
+-#11164=ORIENTED_EDGE('',*,*,#11147,.F.);
+-#11165=EDGE_LOOP('',(#11160,#11161,#11163,#11164));
+-#11166=FACE_OUTER_BOUND('',#11165,.F.);
+-#11167=ADVANCED_FACE('',(#11166),#11159,.F.);
+-#11168=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
+-#11169=DIRECTION('',(0.E0,1.E0,0.E0));
+-#11170=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11171=AXIS2_PLACEMENT_3D('',#11168,#11169,#11170);
+-#11172=PLANE('',#11171);
+-#11173=ORIENTED_EDGE('',*,*,#11120,.T.);
+-#11174=ORIENTED_EDGE('',*,*,#11135,.T.);
+-#11175=ORIENTED_EDGE('',*,*,#11149,.T.);
+-#11176=ORIENTED_EDGE('',*,*,#11162,.T.);
+-#11177=EDGE_LOOP('',(#11173,#11174,#11175,#11176));
+-#11178=FACE_OUTER_BOUND('',#11177,.F.);
+-#11179=ADVANCED_FACE('',(#11178),#11172,.F.);
+-#11180=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1));
+-#11181=DIRECTION('',(0.E0,0.E0,1.E0));
+-#11182=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11183=AXIS2_PLACEMENT_3D('',#11180,#11181,#11182);
+-#11184=PLANE('',#11183);
+-#11185=ORIENTED_EDGE('',*,*,#5878,.F.);
+-#11187=ORIENTED_EDGE('',*,*,#11186,.T.);
+-#11189=ORIENTED_EDGE('',*,*,#11188,.T.);
+-#11191=ORIENTED_EDGE('',*,*,#11190,.F.);
+-#11192=EDGE_LOOP('',(#11185,#11187,#11189,#11191));
+-#11193=FACE_OUTER_BOUND('',#11192,.F.);
+-#11194=ADVANCED_FACE('',(#11193),#11184,.F.);
+-#11195=CARTESIAN_POINT('',(1.65E1,0.E0,3.075E1));
+-#11196=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#11197=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11198=AXIS2_PLACEMENT_3D('',#11195,#11196,#11197);
+-#11199=CYLINDRICAL_SURFACE('',#11198,5.625E-1);
+-#11200=ORIENTED_EDGE('',*,*,#5884,.F.);
+-#11202=ORIENTED_EDGE('',*,*,#11201,.T.);
+-#11204=ORIENTED_EDGE('',*,*,#11203,.T.);
+-#11205=ORIENTED_EDGE('',*,*,#11186,.F.);
+-#11206=EDGE_LOOP('',(#11200,#11202,#11204,#11205));
+-#11207=FACE_OUTER_BOUND('',#11206,.F.);
+-#11208=ADVANCED_FACE('',(#11207),#11199,.F.);
+-#11209=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1));
+-#11210=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#11211=DIRECTION('',(1.E0,0.E0,0.E0));
+-#11212=AXIS2_PLACEMENT_3D('',#11209,#11210,#11211);
+-#11213=PLANE('',#11212);
+-#11214=ORIENTED_EDGE('',*,*,#5882,.F.);
+-#11216=ORIENTED_EDGE('',*,*,#11215,.T.);
+-#11218=ORIENTED_EDGE('',*,*,#11217,.T.);
+-#11219=ORIENTED_EDGE('',*,*,#11201,.F.);
+-#11220=EDGE_LOOP('',(#11214,#11216,#11218,#11219));
+-#11221=FACE_OUTER_BOUND('',#11220,.F.);
+-#11222=ADVANCED_FACE('',(#11221),#11213,.F.);
+-#11223=CARTESIAN_POINT('',(1.35E1,0.E0,3.075E1));
+-#11224=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#11225=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11226=AXIS2_PLACEMENT_3D('',#11223,#11224,#11225);
+-#11227=CYLINDRICAL_SURFACE('',#11226,5.625E-1);
+-#11228=ORIENTED_EDGE('',*,*,#5880,.F.);
+-#11229=ORIENTED_EDGE('',*,*,#11190,.T.);
+-#11231=ORIENTED_EDGE('',*,*,#11230,.T.);
+-#11232=ORIENTED_EDGE('',*,*,#11215,.F.);
+-#11233=EDGE_LOOP('',(#11228,#11229,#11231,#11232));
+-#11234=FACE_OUTER_BOUND('',#11233,.F.);
+-#11235=ADVANCED_FACE('',(#11234),#11227,.F.);
+-#11236=CARTESIAN_POINT('',(2.4E1,6.875E-1,3.2E1));
+-#11237=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#11238=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11239=AXIS2_PLACEMENT_3D('',#11236,#11237,#11238);
+-#11240=PLANE('',#11239);
+-#11241=ORIENTED_EDGE('',*,*,#11188,.F.);
+-#11242=ORIENTED_EDGE('',*,*,#11203,.F.);
+-#11243=ORIENTED_EDGE('',*,*,#11217,.F.);
+-#11244=ORIENTED_EDGE('',*,*,#11230,.F.);
+-#11245=EDGE_LOOP('',(#11241,#11242,#11243,#11244));
+-#11246=FACE_OUTER_BOUND('',#11245,.F.);
+-#11247=ADVANCED_FACE('',(#11246),#11240,.T.);
+-#11248=CARTESIAN_POINT('',(2.4E1,6.875E-1,3.2E1));
+-#11249=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#11250=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11251=AXIS2_PLACEMENT_3D('',#11248,#11249,#11250);
+-#11252=PLANE('',#11251);
+-#11254=ORIENTED_EDGE('',*,*,#11253,.F.);
+-#11256=ORIENTED_EDGE('',*,*,#11255,.F.);
+-#11258=ORIENTED_EDGE('',*,*,#11257,.F.);
+-#11260=ORIENTED_EDGE('',*,*,#11259,.F.);
+-#11262=ORIENTED_EDGE('',*,*,#11261,.F.);
+-#11263=EDGE_LOOP('',(#11254,#11256,#11258,#11260,#11262));
+-#11264=FACE_OUTER_BOUND('',#11263,.F.);
+-#11265=ADVANCED_FACE('',(#11264),#11252,.T.);
+-#11266=CARTESIAN_POINT('',(2.254426323641E1,-6.892397422826E-2,
+-2.742280476768E1));
+-#11267=DIRECTION('',(0.E0,1.E0,0.E0));
+-#11268=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
+-#11269=AXIS2_PLACEMENT_3D('',#11266,#11267,#11268);
+-#11270=CYLINDRICAL_SURFACE('',#11269,7.5E-1);
+-#11272=ORIENTED_EDGE('',*,*,#11271,.F.);
+-#11273=ORIENTED_EDGE('',*,*,#5944,.T.);
+-#11275=ORIENTED_EDGE('',*,*,#11274,.T.);
+-#11276=ORIENTED_EDGE('',*,*,#11253,.T.);
+-#11277=EDGE_LOOP('',(#11272,#11273,#11275,#11276));
+-#11278=FACE_OUTER_BOUND('',#11277,.F.);
+-#11279=ADVANCED_FACE('',(#11278),#11270,.F.);
+-#11280=CARTESIAN_POINT('',(2.33125E1,0.E0,2.771522817587E1));
+-#11281=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
+-#11282=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
+-#11283=AXIS2_PLACEMENT_3D('',#11280,#11281,#11282);
+-#11284=PLANE('',#11283);
+-#11285=ORIENTED_EDGE('',*,*,#11271,.T.);
+-#11286=ORIENTED_EDGE('',*,*,#11261,.T.);
+-#11288=ORIENTED_EDGE('',*,*,#11287,.F.);
+-#11289=ORIENTED_EDGE('',*,*,#5946,.F.);
+-#11290=EDGE_LOOP('',(#11285,#11286,#11288,#11289));
+-#11291=FACE_OUTER_BOUND('',#11290,.F.);
+-#11292=ADVANCED_FACE('',(#11291),#11284,.F.);
+-#11293=CARTESIAN_POINT('',(1.944696065761E1,0.E0,3.035464591145E1));
+-#11294=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#11295=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11296=AXIS2_PLACEMENT_3D('',#11293,#11294,#11295);
+-#11297=CYLINDRICAL_SURFACE('',#11296,8.669989027347E-1);
+-#11298=ORIENTED_EDGE('',*,*,#5948,.F.);
+-#11299=ORIENTED_EDGE('',*,*,#11287,.T.);
+-#11300=ORIENTED_EDGE('',*,*,#11259,.T.);
+-#11302=ORIENTED_EDGE('',*,*,#11301,.F.);
+-#11303=EDGE_LOOP('',(#11298,#11299,#11300,#11302));
+-#11304=FACE_OUTER_BOUND('',#11303,.F.);
+-#11305=ADVANCED_FACE('',(#11304),#11297,.F.);
+-#11306=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1));
+-#11307=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#11308=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11309=AXIS2_PLACEMENT_3D('',#11306,#11307,#11308);
+-#11310=CYLINDRICAL_SURFACE('',#11309,5.6875E0);
+-#11311=ORIENTED_EDGE('',*,*,#5950,.T.);
+-#11312=ORIENTED_EDGE('',*,*,#11301,.T.);
+-#11313=ORIENTED_EDGE('',*,*,#11257,.T.);
+-#11315=ORIENTED_EDGE('',*,*,#11314,.F.);
+-#11316=EDGE_LOOP('',(#11311,#11312,#11313,#11315));
+-#11317=FACE_OUTER_BOUND('',#11316,.F.);
+-#11318=ADVANCED_FACE('',(#11317),#11310,.T.);
+-#11319=CARTESIAN_POINT('',(2.239E1,0.E0,2.75E1));
+-#11320=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#11321=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11322=AXIS2_PLACEMENT_3D('',#11319,#11320,#11321);
+-#11323=CYLINDRICAL_SURFACE('',#11322,9.225E-1);
+-#11324=ORIENTED_EDGE('',*,*,#11274,.F.);
+-#11325=ORIENTED_EDGE('',*,*,#5942,.F.);
+-#11326=ORIENTED_EDGE('',*,*,#11314,.T.);
+-#11327=ORIENTED_EDGE('',*,*,#11255,.T.);
+-#11328=EDGE_LOOP('',(#11324,#11325,#11326,#11327));
+-#11329=FACE_OUTER_BOUND('',#11328,.F.);
+-#11330=ADVANCED_FACE('',(#11329),#11323,.F.);
+-#11331=CARTESIAN_POINT('',(2.13075E1,-6.892397422826E-2,7.81E0));
+-#11332=DIRECTION('',(0.E0,1.E0,0.E0));
+-#11333=DIRECTION('',(0.E0,0.E0,1.E0));
+-#11334=AXIS2_PLACEMENT_3D('',#11331,#11332,#11333);
+-#11335=CYLINDRICAL_SURFACE('',#11334,8.8E-1);
+-#11337=ORIENTED_EDGE('',*,*,#11336,.T.);
+-#11339=ORIENTED_EDGE('',*,*,#11338,.T.);
+-#11341=ORIENTED_EDGE('',*,*,#11340,.F.);
+-#11342=ORIENTED_EDGE('',*,*,#5888,.T.);
+-#11343=EDGE_LOOP('',(#11337,#11339,#11341,#11342));
+-#11344=FACE_OUTER_BOUND('',#11343,.F.);
+-#11345=ADVANCED_FACE('',(#11344),#11335,.T.);
+-#11346=CARTESIAN_POINT('',(2.21875E1,0.E0,8.69E0));
+-#11347=DIRECTION('',(0.E0,0.E0,1.E0));
+-#11348=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11349=AXIS2_PLACEMENT_3D('',#11346,#11347,#11348);
+-#11350=PLANE('',#11349);
+-#11351=ORIENTED_EDGE('',*,*,#11336,.F.);
+-#11352=ORIENTED_EDGE('',*,*,#5914,.T.);
+-#11354=ORIENTED_EDGE('',*,*,#11353,.F.);
+-#11356=ORIENTED_EDGE('',*,*,#11355,.F.);
+-#11357=EDGE_LOOP('',(#11351,#11352,#11354,#11356));
+-#11358=FACE_OUTER_BOUND('',#11357,.F.);
+-#11359=ADVANCED_FACE('',(#11358),#11350,.T.);
+-#11360=CARTESIAN_POINT('',(2.05675E1,7.463919417831E-1,9.57E0));
+-#11361=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#11362=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11363=AXIS2_PLACEMENT_3D('',#11360,#11361,#11362);
+-#11364=CYLINDRICAL_SURFACE('',#11363,8.8E-1);
+-#11366=ORIENTED_EDGE('',*,*,#11365,.F.);
+-#11368=ORIENTED_EDGE('',*,*,#11367,.T.);
+-#11369=ORIENTED_EDGE('',*,*,#11353,.T.);
+-#11370=ORIENTED_EDGE('',*,*,#5912,.T.);
+-#11371=EDGE_LOOP('',(#11366,#11368,#11369,#11370));
+-#11372=FACE_OUTER_BOUND('',#11371,.F.);
+-#11373=ADVANCED_FACE('',(#11372),#11364,.F.);
+-#11374=CARTESIAN_POINT('',(1.96875E1,0.E0,8.69E0));
+-#11375=DIRECTION('',(1.E0,0.E0,0.E0));
+-#11376=DIRECTION('',(0.E0,0.E0,1.E0));
+-#11377=AXIS2_PLACEMENT_3D('',#11374,#11375,#11376);
+-#11378=PLANE('',#11377);
+-#11379=ORIENTED_EDGE('',*,*,#11365,.T.);
+-#11380=ORIENTED_EDGE('',*,*,#5910,.T.);
+-#11382=ORIENTED_EDGE('',*,*,#11381,.F.);
+-#11384=ORIENTED_EDGE('',*,*,#11383,.F.);
+-#11385=EDGE_LOOP('',(#11379,#11380,#11382,#11384));
+-#11386=FACE_OUTER_BOUND('',#11385,.F.);
+-#11387=ADVANCED_FACE('',(#11386),#11378,.T.);
+-#11388=CARTESIAN_POINT('',(2.05675E1,7.463919417831E-1,1.037E1));
+-#11389=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#11390=DIRECTION('',(0.E0,0.E0,1.E0));
+-#11391=AXIS2_PLACEMENT_3D('',#11388,#11389,#11390);
+-#11392=CYLINDRICAL_SURFACE('',#11391,8.8E-1);
+-#11394=ORIENTED_EDGE('',*,*,#11393,.F.);
+-#11396=ORIENTED_EDGE('',*,*,#11395,.T.);
+-#11397=ORIENTED_EDGE('',*,*,#11381,.T.);
+-#11398=ORIENTED_EDGE('',*,*,#5908,.T.);
+-#11399=EDGE_LOOP('',(#11394,#11396,#11397,#11398));
+-#11400=FACE_OUTER_BOUND('',#11399,.F.);
+-#11401=ADVANCED_FACE('',(#11400),#11392,.F.);
+-#11402=CARTESIAN_POINT('',(1.96875E1,0.E0,1.125E1));
+-#11403=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#11404=DIRECTION('',(1.E0,0.E0,0.E0));
+-#11405=AXIS2_PLACEMENT_3D('',#11402,#11403,#11404);
+-#11406=PLANE('',#11405);
+-#11407=ORIENTED_EDGE('',*,*,#11393,.T.);
+-#11408=ORIENTED_EDGE('',*,*,#5906,.T.);
+-#11410=ORIENTED_EDGE('',*,*,#11409,.F.);
+-#11412=ORIENTED_EDGE('',*,*,#11411,.F.);
+-#11413=EDGE_LOOP('',(#11407,#11408,#11410,#11412));
+-#11414=FACE_OUTER_BOUND('',#11413,.F.);
+-#11415=ADVANCED_FACE('',(#11414),#11406,.T.);
+-#11416=CARTESIAN_POINT('',(2.44325E1,7.463919417831E-1,1.037E1));
+-#11417=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#11418=DIRECTION('',(1.E0,0.E0,0.E0));
+-#11419=AXIS2_PLACEMENT_3D('',#11416,#11417,#11418);
+-#11420=CYLINDRICAL_SURFACE('',#11419,8.8E-1);
+-#11422=ORIENTED_EDGE('',*,*,#11421,.F.);
+-#11424=ORIENTED_EDGE('',*,*,#11423,.T.);
+-#11425=ORIENTED_EDGE('',*,*,#11409,.T.);
+-#11426=ORIENTED_EDGE('',*,*,#5904,.T.);
+-#11427=EDGE_LOOP('',(#11422,#11424,#11425,#11426));
+-#11428=FACE_OUTER_BOUND('',#11427,.F.);
+-#11429=ADVANCED_FACE('',(#11428),#11420,.F.);
+-#11430=CARTESIAN_POINT('',(2.53125E1,0.E0,1.125E1));
+-#11431=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11432=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#11433=AXIS2_PLACEMENT_3D('',#11430,#11431,#11432);
+-#11434=PLANE('',#11433);
+-#11436=ORIENTED_EDGE('',*,*,#11435,.F.);
+-#11438=ORIENTED_EDGE('',*,*,#11437,.F.);
+-#11439=ORIENTED_EDGE('',*,*,#11421,.T.);
+-#11440=ORIENTED_EDGE('',*,*,#5902,.T.);
+-#11441=EDGE_LOOP('',(#11436,#11438,#11439,#11440));
+-#11442=FACE_OUTER_BOUND('',#11441,.F.);
+-#11443=ADVANCED_FACE('',(#11442),#11434,.T.);
+-#11444=CARTESIAN_POINT('',(2.44325E1,7.463919417831E-1,9.57E0));
+-#11445=DIRECTION('',(0.E0,-1.E0,0.E0));
+-#11446=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#11447=AXIS2_PLACEMENT_3D('',#11444,#11445,#11446);
+-#11448=CYLINDRICAL_SURFACE('',#11447,8.8E-1);
+-#11450=ORIENTED_EDGE('',*,*,#11449,.F.);
+-#11452=ORIENTED_EDGE('',*,*,#11451,.T.);
+-#11453=ORIENTED_EDGE('',*,*,#11435,.T.);
+-#11454=ORIENTED_EDGE('',*,*,#5900,.T.);
+-#11455=EDGE_LOOP('',(#11450,#11452,#11453,#11454));
+-#11456=FACE_OUTER_BOUND('',#11455,.F.);
+-#11457=ADVANCED_FACE('',(#11456),#11448,.F.);
+-#11458=CARTESIAN_POINT('',(2.53125E1,0.E0,8.69E0));
+-#11459=DIRECTION('',(0.E0,0.E0,1.E0));
+-#11460=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11461=AXIS2_PLACEMENT_3D('',#11458,#11459,#11460);
+-#11462=PLANE('',#11461);
+-#11464=ORIENTED_EDGE('',*,*,#11463,.T.);
+-#11466=ORIENTED_EDGE('',*,*,#11465,.F.);
+-#11467=ORIENTED_EDGE('',*,*,#11449,.T.);
+-#11468=ORIENTED_EDGE('',*,*,#5898,.T.);
+-#11469=EDGE_LOOP('',(#11464,#11466,#11467,#11468));
+-#11470=FACE_OUTER_BOUND('',#11469,.F.);
+-#11471=ADVANCED_FACE('',(#11470),#11462,.T.);
+-#11472=CARTESIAN_POINT('',(2.419E1,-6.892397422826E-2,7.81E0));
+-#11473=DIRECTION('',(0.E0,1.E0,0.E0));
+-#11474=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11475=AXIS2_PLACEMENT_3D('',#11472,#11473,#11474);
+-#11476=CYLINDRICAL_SURFACE('',#11475,8.8E-1);
+-#11478=ORIENTED_EDGE('',*,*,#11477,.T.);
+-#11480=ORIENTED_EDGE('',*,*,#11479,.T.);
+-#11481=ORIENTED_EDGE('',*,*,#11463,.F.);
+-#11482=ORIENTED_EDGE('',*,*,#5896,.T.);
+-#11483=EDGE_LOOP('',(#11478,#11480,#11481,#11482));
+-#11484=FACE_OUTER_BOUND('',#11483,.F.);
+-#11485=ADVANCED_FACE('',(#11484),#11476,.T.);
+-#11486=CARTESIAN_POINT('',(2.331E1,0.E0,8.69E0));
+-#11487=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11488=DIRECTION('',(0.E0,0.E0,-1.E0));
+-#11489=AXIS2_PLACEMENT_3D('',#11486,#11487,#11488);
+-#11490=PLANE('',#11489);
+-#11491=ORIENTED_EDGE('',*,*,#11477,.F.);
+-#11492=ORIENTED_EDGE('',*,*,#5894,.T.);
+-#11494=ORIENTED_EDGE('',*,*,#11493,.T.);
+-#11496=ORIENTED_EDGE('',*,*,#11495,.F.);
+-#11497=EDGE_LOOP('',(#11491,#11492,#11494,#11496));
+-#11498=FACE_OUTER_BOUND('',#11497,.F.);
+-#11499=ADVANCED_FACE('',(#11498),#11490,.T.);
+-#11500=CARTESIAN_POINT('',(2.274875E1,0.E0,7.5E0));
+-#11501=DIRECTION('',(0.E0,1.E0,0.E0));
+-#11502=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11503=AXIS2_PLACEMENT_3D('',#11500,#11501,#11502);
+-#11504=CYLINDRICAL_SURFACE('',#11503,5.6125E-1);
+-#11505=ORIENTED_EDGE('',*,*,#5892,.T.);
+-#11507=ORIENTED_EDGE('',*,*,#11506,.T.);
+-#11509=ORIENTED_EDGE('',*,*,#11508,.F.);
+-#11510=ORIENTED_EDGE('',*,*,#11493,.F.);
+-#11511=EDGE_LOOP('',(#11505,#11507,#11509,#11510));
+-#11512=FACE_OUTER_BOUND('',#11511,.F.);
+-#11513=ADVANCED_FACE('',(#11512),#11504,.F.);
+-#11514=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0));
+-#11515=DIRECTION('',(1.E0,0.E0,0.E0));
+-#11516=DIRECTION('',(0.E0,0.E0,1.E0));
+-#11517=AXIS2_PLACEMENT_3D('',#11514,#11515,#11516);
+-#11518=PLANE('',#11517);
+-#11519=ORIENTED_EDGE('',*,*,#11340,.T.);
+-#11521=ORIENTED_EDGE('',*,*,#11520,.F.);
+-#11522=ORIENTED_EDGE('',*,*,#11506,.F.);
+-#11523=ORIENTED_EDGE('',*,*,#5890,.T.);
+-#11524=EDGE_LOOP('',(#11519,#11521,#11522,#11523));
+-#11525=FACE_OUTER_BOUND('',#11524,.F.);
+-#11526=ADVANCED_FACE('',(#11525),#11518,.T.);
+-#11527=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
+-#11528=DIRECTION('',(0.E0,1.E0,0.E0));
+-#11529=DIRECTION('',(-1.E0,0.E0,0.E0));
+-#11530=AXIS2_PLACEMENT_3D('',#11527,#11528,#11529);
+-#11531=PLANE('',#11530);
+-#11532=ORIENTED_EDGE('',*,*,#11465,.T.);
+-#11533=ORIENTED_EDGE('',*,*,#11479,.F.);
+-#11534=ORIENTED_EDGE('',*,*,#11495,.T.);
+-#11535=ORIENTED_EDGE('',*,*,#11508,.T.);
+-#11536=ORIENTED_EDGE('',*,*,#11520,.T.);
+-#11537=ORIENTED_EDGE('',*,*,#11338,.F.);
+-#11538=ORIENTED_EDGE('',*,*,#11355,.T.);
+-#11539=ORIENTED_EDGE('',*,*,#11367,.F.);
+-#11540=ORIENTED_EDGE('',*,*,#11383,.T.);
+-#11541=ORIENTED_EDGE('',*,*,#11395,.F.);
+-#11542=ORIENTED_EDGE('',*,*,#11411,.T.);
+-#11543=ORIENTED_EDGE('',*,*,#11423,.F.);
+-#11544=ORIENTED_EDGE('',*,*,#11437,.T.);
+-#11545=ORIENTED_EDGE('',*,*,#11451,.F.);
+-#11546=EDGE_LOOP('',(#11532,#11533,#11534,#11535,#11536,#11537,#11538,#11539,
+-#11540,#11541,#11542,#11543,#11544,#11545));
+-#11547=FACE_OUTER_BOUND('',#11546,.F.);
+-#11548=ADVANCED_FACE('',(#11547),#11531,.F.);
+-#11549=CLOSED_SHELL('',(#5954,#6079,#6094,#6107,#6117,#6132,#6145,#6201,#6214,
+-#6278,#6488,#6503,#6516,#6529,#6540,#6555,#6568,#6581,#6592,#6605,#6618,#6631,
+-#6644,#6656,#6669,#6683,#6696,#6709,#6723,#6736,#6749,#6763,#6776,#6789,#6802,
+-#6815,#6828,#6842,#6855,#6868,#6880,#6893,#6906,#6918,#6931,#6945,#6958,#6971,
+-#6984,#6998,#7011,#7024,#7036,#7048,#7061,#7074,#7086,#7099,#7114,#7127,#7152,
+-#7166,#7178,#7191,#7204,#7217,#7230,#7244,#7256,#7311,#7325,#7337,#7349,#7368,
+-#7379,#7394,#7407,#7423,#7437,#7449,#7465,#7477,#7490,#7514,#7529,#7542,#7552,
+-#7567,#7580,#7590,#7605,#7619,#7649,#7662,#7675,#7688,#7701,#7714,#7727,#7740,
+-#7753,#7766,#7778,#7790,#7805,#7818,#7828,#7843,#7856,#7866,#7881,#7894,#7907,
+-#7918,#7933,#7946,#7959,#7970,#7985,#7998,#8014,#8028,#8040,#8055,#8068,#8084,
+-#8098,#8110,#8125,#8138,#8154,#8168,#8180,#8195,#8208,#8224,#8238,#8250,#8265,
+-#8278,#8294,#8308,#8320,#8335,#8348,#8364,#8378,#8390,#8405,#8418,#8434,#8448,
+-#8460,#8475,#8488,#8504,#8518,#8530,#8545,#8558,#8574,#8588,#8600,#8615,#8628,
+-#8644,#8658,#8670,#8685,#8698,#8714,#8728,#8740,#8755,#8768,#8784,#8798,#8810,
+-#8825,#8838,#8854,#8868,#8880,#8895,#8908,#8924,#8938,#8950,#8965,#8978,#8994,
+-#9008,#9020,#9035,#9048,#9064,#9078,#9090,#9105,#9118,#9134,#9148,#9160,#9175,
+-#9188,#9204,#9218,#9230,#9242,#9260,#9275,#9288,#9304,#9318,#9330,#9345,#9359,
+-#9373,#9387,#9401,#9415,#9429,#9443,#9457,#9471,#9485,#9498,#9518,#9533,#9546,
+-#9556,#9571,#9584,#9594,#9609,#9622,#9632,#9647,#9660,#9670,#9685,#9698,#9708,
+-#9723,#9737,#9751,#9765,#9779,#9793,#9807,#9820,#9836,#9851,#9865,#9887,#9901,
+-#9913,#9926,#9939,#9952,#9964,#9979,#9993,#10007,#10020,#10032,#10050,#10064,
+-#10077,#10090,#10103,#10115,#10130,#10144,#10178,#10192,#10205,#10218,#10230,
+-#10243,#10256,#10269,#10282,#10295,#10308,#10321,#10333,#10348,#10362,#10376,
+-#10389,#10401,#10416,#10430,#10444,#10457,#10469,#10484,#10498,#10512,#10525,
+-#10537,#10552,#10566,#10580,#10593,#10605,#10620,#10634,#10648,#10661,#10673,
+-#10691,#10705,#10718,#10731,#10744,#10756,#10771,#10785,#10799,#10812,#10824,
+-#10842,#10856,#10869,#10882,#10895,#10907,#10922,#10936,#10950,#10963,#10975,
+-#10990,#11004,#11018,#11031,#11043,#11058,#11072,#11086,#11099,#11111,#11126,
+-#11140,#11154,#11167,#11179,#11194,#11208,#11222,#11235,#11247,#11265,#11279,
+-#11292,#11305,#11318,#11330,#11345,#11359,#11373,#11387,#11401,#11415,#11429,
+-#11443,#11457,#11471,#11485,#11499,#11513,#11526,#11548));
+-#11550=MANIFOLD_SOLID_BREP('',#11549);
+-#11551=DIMENSIONAL_EXPONENTS(1.E0,0.E0,0.E0,0.E0,0.E0,0.E0,0.E0);
+-#11552=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
+-#11553=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.54E1),#11552);
+-#11554=(CONVERSION_BASED_UNIT('INCH',#11553)LENGTH_UNIT()NAMED_UNIT(#11551));
+-#11555=DIMENSIONAL_EXPONENTS(0.E0,0.E0,0.E0,0.E0,0.E0,0.E0,0.E0);
+-#11556=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
+-#11557=PLANE_ANGLE_MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(1.745329251994E-2),
+-#11556);
+-#11558=(CONVERSION_BASED_UNIT('DEGREE',#11557)NAMED_UNIT(#11555)PLANE_ANGLE_UNIT());
+-#11559=(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
+-#11560=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(4.404650704771E-3),#11554,
+-'closure',
+-'Maximum model space distance between geometric entities at asserted connectivities');
+-#11561=(GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((
+-#11560))GLOBAL_UNIT_ASSIGNED_CONTEXT((#11554,#11558,#11559))REPRESENTATION_CONTEXT('ID1','3'));
+-#11563=APPLICATION_CONTEXT(
+-'CONFIGURATION CONTROLLED 3D DESIGNS OF MECHANICAL PARTS AND ASSEMBLIES');
+-#11564=APPLICATION_PROTOCOL_DEFINITION('international standard',
+-'config_control_design',1994,#11563);
+-#11565=DESIGN_CONTEXT('',#11563,'design');
+-#11566=MECHANICAL_CONTEXT('',#11563,'mechanical');
+-#11567=PRODUCT('PROESOURCE','PROESOURCE','NOT SPECIFIED',(#11566));
+-#11568=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('1','LAST_VERSION',
+-#11567,.MADE.);
+-#11572=PRODUCT_CATEGORY('part','');
+-#11573=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','',(#11567));
+-#11574=PRODUCT_CATEGORY_RELATIONSHIP('','',#11572,#11573);
+-#11575=SECURITY_CLASSIFICATION_LEVEL('unclassified');
+-#11576=SECURITY_CLASSIFICATION('','',#11575);
+-#11577=CC_DESIGN_SECURITY_CLASSIFICATION(#11576,(#11568));
+-#11578=APPROVAL_STATUS('approved');
+-#11579=APPROVAL(#11578,'');
+-#11580=CC_DESIGN_APPROVAL(#11579,(#11576,#11568,#11569));
+-#11581=CALENDAR_DATE(102,4,11);
+-#11582=COORDINATED_UNIVERSAL_TIME_OFFSET(5,0,.BEHIND.);
+-#11583=LOCAL_TIME(14,0,4.8E1,#11582);
+-#11584=DATE_AND_TIME(#11581,#11583);
+-#11585=APPROVAL_DATE_TIME(#11584,#11579);
+-#11586=DATE_TIME_ROLE('creation_date');
+-#11587=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#11584,#11586,(#11569));
+-#11588=DATE_TIME_ROLE('classification_date');
+-#11589=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#11584,#11588,(#11576));
+-#11590=PERSON('UNSPECIFIED','UNSPECIFIED',$,$,$,$);
+-#11591=ORGANIZATION('UNSPECIFIED','UNSPECIFIED','UNSPECIFIED');
+-#11592=PERSON_AND_ORGANIZATION(#11590,#11591);
+-#11593=APPROVAL_ROLE('approver');
+-#11594=APPROVAL_PERSON_ORGANIZATION(#11592,#11579,#11593);
+-#11595=PERSON_AND_ORGANIZATION_ROLE('creator');
+-#11596=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11595,(#11568,
+-#11569));
+-#11597=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
+-#11598=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11597,(#11568));
+-#11599=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
+-#11600=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11599,(#11576));
+-#11601=PERSON_AND_ORGANIZATION_ROLE('design_owner');
+-#11602=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11601,(#11567));
+-#13=CIRCLE('',#12,1.925E-1);
+-#18=CIRCLE('',#17,1.925E-1);
+-#23=CIRCLE('',#22,1.925E-1);
+-#28=CIRCLE('',#27,1.925E-1);
+-#33=CIRCLE('',#32,1.925E-1);
+-#38=CIRCLE('',#37,1.925E-1);
+-#43=CIRCLE('',#42,1.925E-1);
+-#48=CIRCLE('',#47,1.925E-1);
+-#53=CIRCLE('',#52,1.925E-1);
+-#58=CIRCLE('',#57,1.925E-1);
+-#63=CIRCLE('',#62,1.925E-1);
+-#68=CIRCLE('',#67,1.925E-1);
+-#73=CIRCLE('',#72,1.925E-1);
+-#78=CIRCLE('',#77,1.925E-1);
+-#83=CIRCLE('',#82,1.925E-1);
+-#88=CIRCLE('',#87,1.925E-1);
+-#93=CIRCLE('',#92,1.925E-1);
+-#98=CIRCLE('',#97,1.925E-1);
+-#103=CIRCLE('',#102,1.925E-1);
+-#108=CIRCLE('',#107,1.925E-1);
+-#113=CIRCLE('',#112,1.925E-1);
+-#118=CIRCLE('',#117,1.925E-1);
+-#123=CIRCLE('',#122,1.925E-1);
+-#128=CIRCLE('',#127,1.925E-1);
+-#181=CIRCLE('',#180,1.925E-1);
+-#186=CIRCLE('',#185,1.925E-1);
+-#191=CIRCLE('',#190,1.925E-1);
+-#196=CIRCLE('',#195,1.925E-1);
+-#249=CIRCLE('',#248,1.925E-1);
+-#254=CIRCLE('',#253,1.925E-1);
+-#259=CIRCLE('',#258,1.925E-1);
+-#264=CIRCLE('',#263,1.925E-1);
+-#269=CIRCLE('',#268,1.925E-1);
+-#274=CIRCLE('',#273,1.925E-1);
+-#279=CIRCLE('',#278,1.925E-1);
+-#284=CIRCLE('',#283,1.925E-1);
+-#289=CIRCLE('',#288,1.925E-1);
+-#294=CIRCLE('',#293,1.925E-1);
+-#299=CIRCLE('',#298,1.925E-1);
+-#304=CIRCLE('',#303,1.925E-1);
+-#313=CIRCLE('',#312,5.625E-1);
+-#322=CIRCLE('',#321,5.625E-1);
+-#327=CIRCLE('',#326,9.225E-1);
+-#336=CIRCLE('',#335,8.669989027347E-1);
+-#341=CIRCLE('',#340,5.6875E0);
+-#350=CIRCLE('',#349,5.6125E-1);
+-#383=CIRCLE('',#382,5.625E-1);
+-#392=CIRCLE('',#391,5.625E-1);
+-#401=CIRCLE('',#400,5.625E-1);
+-#410=CIRCLE('',#409,5.625E-1);
+-#419=CIRCLE('',#418,5.E-1);
+-#428=CIRCLE('',#427,5.E-1);
+-#437=CIRCLE('',#436,4.375E-1);
+-#446=CIRCLE('',#445,4.375E-1);
+-#455=CIRCLE('',#454,5.625E-1);
+-#464=CIRCLE('',#463,5.625E-1);
+-#473=CIRCLE('',#472,5.625E-1);
+-#482=CIRCLE('',#481,5.625E-1);
+-#491=CIRCLE('',#490,5.625E-1);
+-#500=CIRCLE('',#499,5.625E-1);
+-#509=CIRCLE('',#508,5.625E-1);
+-#518=CIRCLE('',#517,5.625E-1);
+-#527=CIRCLE('',#526,5.E-1);
+-#536=CIRCLE('',#535,5.E-1);
+-#545=CIRCLE('',#544,4.375E-1);
+-#554=CIRCLE('',#553,4.375E-1);
+-#563=CIRCLE('',#562,5.625E-1);
+-#572=CIRCLE('',#571,5.625E-1);
+-#581=CIRCLE('',#580,5.6125E-1);
+-#614=CIRCLE('',#613,9.225E-1);
+-#619=CIRCLE('',#618,5.6875E0);
+-#624=CIRCLE('',#623,8.669989027347E-1);
+-#633=CIRCLE('',#632,9.225E-1);
+-#638=CIRCLE('',#637,5.6875E0);
+-#643=CIRCLE('',#642,8.669989027347E-1);
+-#648=CIRCLE('',#647,9.225E-1);
+-#657=CIRCLE('',#656,8.669989027347E-1);
+-#662=CIRCLE('',#661,5.6875E0);
+-#667=CIRCLE('',#666,9.5E-2);
+-#672=CIRCLE('',#671,9.5E-2);
+-#677=CIRCLE('',#676,1.625E-1);
+-#682=CIRCLE('',#681,1.625E-1);
+-#687=CIRCLE('',#686,9.5E-2);
+-#692=CIRCLE('',#691,9.5E-2);
+-#697=CIRCLE('',#696,9.5E-2);
+-#702=CIRCLE('',#701,9.5E-2);
+-#707=CIRCLE('',#706,9.5E-2);
+-#712=CIRCLE('',#711,9.5E-2);
+-#717=CIRCLE('',#716,9.5E-2);
+-#722=CIRCLE('',#721,9.5E-2);
+-#727=CIRCLE('',#726,1.625E-1);
+-#732=CIRCLE('',#731,1.625E-1);
+-#737=CIRCLE('',#736,9.5E-2);
+-#742=CIRCLE('',#741,9.5E-2);
+-#803=CIRCLE('',#802,9.5E-2);
+-#808=CIRCLE('',#807,9.5E-2);
+-#821=CIRCLE('',#820,1.625E-1);
+-#826=CIRCLE('',#825,1.625E-1);
+-#887=CIRCLE('',#886,1.E-1);
+-#892=CIRCLE('',#891,1.E-1);
+-#897=CIRCLE('',#896,1.E-1);
+-#902=CIRCLE('',#901,1.E-1);
+-#931=CIRCLE('',#930,1.E-1);
+-#936=CIRCLE('',#935,1.E-1);
+-#941=CIRCLE('',#940,1.E-1);
+-#946=CIRCLE('',#945,1.E-1);
+-#951=CIRCLE('',#950,2.575E-1);
+-#956=CIRCLE('',#955,2.575E-1);
+-#961=CIRCLE('',#960,2.575E-1);
+-#966=CIRCLE('',#965,2.575E-1);
+-#971=CIRCLE('',#970,2.575E-1);
+-#976=CIRCLE('',#975,2.575E-1);
+-#981=CIRCLE('',#980,2.575E-1);
+-#986=CIRCLE('',#985,2.575E-1);
+-#991=CIRCLE('',#990,2.575E-1);
+-#996=CIRCLE('',#995,2.575E-1);
+-#1001=CIRCLE('',#1000,2.575E-1);
+-#1006=CIRCLE('',#1005,2.575E-1);
+-#1011=CIRCLE('',#1010,2.56E-1);
+-#1016=CIRCLE('',#1015,2.56E-1);
+-#1021=CIRCLE('',#1020,2.56E-1);
+-#1026=CIRCLE('',#1025,2.56E-1);
+-#1031=CIRCLE('',#1030,2.56E-1);
+-#1036=CIRCLE('',#1035,2.56E-1);
+-#1041=CIRCLE('',#1040,2.56E-1);
+-#1046=CIRCLE('',#1045,2.56E-1);
+-#1051=CIRCLE('',#1050,2.56E-1);
+-#1056=CIRCLE('',#1055,2.56E-1);
+-#1061=CIRCLE('',#1060,2.56E-1);
+-#1066=CIRCLE('',#1065,2.56E-1);
+-#1115=CIRCLE('',#1114,2.575E-1);
+-#1120=CIRCLE('',#1119,2.575E-1);
+-#1125=CIRCLE('',#1124,2.575E-1);
+-#1130=CIRCLE('',#1129,2.575E-1);
+-#1135=CIRCLE('',#1134,2.575E-1);
+-#1140=CIRCLE('',#1139,2.575E-1);
+-#1145=CIRCLE('',#1144,2.575E-1);
+-#1150=CIRCLE('',#1149,2.575E-1);
+-#1155=CIRCLE('',#1154,2.575E-1);
+-#1160=CIRCLE('',#1159,2.575E-1);
+-#1165=CIRCLE('',#1164,2.575E-1);
+-#1170=CIRCLE('',#1169,2.575E-1);
+-#1259=CIRCLE('',#1258,1.E-1);
+-#1268=CIRCLE('',#1267,1.E-1);
+-#1285=CIRCLE('',#1284,1.E-1);
+-#1294=CIRCLE('',#1293,1.E-1);
+-#1303=CIRCLE('',#1302,1.E0);
+-#1312=CIRCLE('',#1311,1.E0);
+-#1317=CIRCLE('',#1316,5.E0);
+-#1326=CIRCLE('',#1325,5.E0);
+-#1331=CIRCLE('',#1330,5.E0);
+-#1340=CIRCLE('',#1339,5.E0);
+-#1349=CIRCLE('',#1348,1.E0);
+-#1358=CIRCLE('',#1357,1.E0);
+-#1367=CIRCLE('',#1366,1.E0);
+-#1376=CIRCLE('',#1375,1.E0);
+-#1385=CIRCLE('',#1384,1.E0);
+-#1394=CIRCLE('',#1393,1.E0);
+-#1403=CIRCLE('',#1402,1.E0);
+-#1412=CIRCLE('',#1411,1.E0);
+-#1421=CIRCLE('',#1420,3.E0);
+-#1430=CIRCLE('',#1429,3.E0);
+-#1439=CIRCLE('',#1438,3.E0);
+-#1448=CIRCLE('',#1447,3.E0);
+-#1457=CIRCLE('',#1456,5.E0);
+-#1466=CIRCLE('',#1465,5.E0);
+-#1475=CIRCLE('',#1474,5.E0);
+-#1484=CIRCLE('',#1483,5.E0);
+-#1493=CIRCLE('',#1492,3.E0);
+-#1502=CIRCLE('',#1501,3.E0);
+-#1511=CIRCLE('',#1510,3.E0);
+-#1520=CIRCLE('',#1519,3.E0);
+-#1529=CIRCLE('',#1528,1.E0);
+-#1538=CIRCLE('',#1537,1.E0);
+-#1547=CIRCLE('',#1546,1.E0);
+-#1556=CIRCLE('',#1555,1.E0);
+-#1597=CIRCLE('',#1596,1.E0);
+-#1606=CIRCLE('',#1605,1.E0);
+-#1675=CIRCLE('',#1674,9.5E-2);
+-#1680=CIRCLE('',#1679,9.5E-2);
+-#1685=CIRCLE('',#1684,6.25E-2);
+-#1690=CIRCLE('',#1689,6.25E-2);
+-#1707=CIRCLE('',#1706,1.E0);
+-#1716=CIRCLE('',#1715,1.E0);
+-#1729=CIRCLE('',#1728,1.E0);
+-#1738=CIRCLE('',#1737,1.E0);
+-#1767=CIRCLE('',#1766,1.625E-1);
+-#1772=CIRCLE('',#1771,1.625E-1);
+-#1846=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1837,#1838,#1839,#1840,#1841,#1842,#1843,
+-#1844,#1845),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1,
+-6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.);
+-#1856=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1847,#1848,#1849,#1850,#1851,#1852,#1853,
+-#1854,#1855),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1,
+-6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.);
+-#1873=CIRCLE('',#1872,2.575E-1);
+-#1878=CIRCLE('',#1877,2.575E-1);
+-#1883=CIRCLE('',#1882,1.925E-1);
+-#1888=CIRCLE('',#1887,1.925E-1);
+-#1933=CIRCLE('',#1932,9.5E-2);
+-#1938=CIRCLE('',#1937,9.5E-2);
+-#1943=CIRCLE('',#1942,6.25E-2);
+-#1948=CIRCLE('',#1947,6.25E-2);
+-#1961=CIRCLE('',#1960,9.5E-2);
+-#1966=CIRCLE('',#1965,9.5E-2);
+-#1979=CIRCLE('',#1978,6.25E-2);
+-#1984=CIRCLE('',#1983,6.25E-2);
+-#1993=CIRCLE('',#1992,3.5E-1);
+-#2002=CIRCLE('',#2001,3.5E-1);
+-#2035=CIRCLE('',#2034,3.5E-1);
+-#2044=CIRCLE('',#2043,3.5E-1);
+-#2053=CIRCLE('',#2052,3.5E-1);
+-#2062=CIRCLE('',#2061,3.5E-1);
+-#2071=CIRCLE('',#2070,3.5E-1);
+-#2080=CIRCLE('',#2079,3.5E-1);
+-#2089=CIRCLE('',#2088,3.5E-1);
+-#2098=CIRCLE('',#2097,3.5E-1);
+-#2107=CIRCLE('',#2106,3.5E-1);
+-#2116=CIRCLE('',#2115,3.5E-1);
+-#2145=CIRCLE('',#2144,9.5E-2);
+-#2150=CIRCLE('',#2149,9.5E-2);
+-#2163=CIRCLE('',#2162,6.25E-2);
+-#2168=CIRCLE('',#2167,6.25E-2);
+-#2189=CIRCLE('',#2188,1.E-1);
+-#2194=CIRCLE('',#2193,1.E-1);
+-#2215=CIRCLE('',#2214,1.E-1);
+-#2220=CIRCLE('',#2219,1.E-1);
+-#2233=CIRCLE('',#2232,2.575E-1);
+-#2238=CIRCLE('',#2237,2.575E-1);
+-#2243=CIRCLE('',#2242,1.925E-1);
+-#2248=CIRCLE('',#2247,1.925E-1);
+-#2269=CIRCLE('',#2268,2.575E-1);
+-#2274=CIRCLE('',#2273,2.575E-1);
+-#2279=CIRCLE('',#2278,1.925E-1);
+-#2284=CIRCLE('',#2283,1.925E-1);
+-#2305=CIRCLE('',#2304,2.575E-1);
+-#2310=CIRCLE('',#2309,2.575E-1);
+-#2315=CIRCLE('',#2314,1.925E-1);
+-#2320=CIRCLE('',#2319,1.925E-1);
+-#2341=CIRCLE('',#2340,2.575E-1);
+-#2346=CIRCLE('',#2345,2.575E-1);
+-#2351=CIRCLE('',#2350,1.925E-1);
+-#2356=CIRCLE('',#2355,1.925E-1);
+-#2377=CIRCLE('',#2376,2.575E-1);
+-#2382=CIRCLE('',#2381,2.575E-1);
+-#2387=CIRCLE('',#2386,1.925E-1);
+-#2392=CIRCLE('',#2391,1.925E-1);
+-#2413=CIRCLE('',#2412,2.575E-1);
+-#2418=CIRCLE('',#2417,2.575E-1);
+-#2423=CIRCLE('',#2422,1.925E-1);
+-#2428=CIRCLE('',#2427,1.925E-1);
+-#2449=CIRCLE('',#2448,2.56E-1);
+-#2454=CIRCLE('',#2453,2.56E-1);
+-#2459=CIRCLE('',#2458,1.925E-1);
+-#2464=CIRCLE('',#2463,1.925E-1);
+-#2485=CIRCLE('',#2484,2.56E-1);
+-#2490=CIRCLE('',#2489,2.56E-1);
+-#2495=CIRCLE('',#2494,1.925E-1);
+-#2500=CIRCLE('',#2499,1.925E-1);
+-#2521=CIRCLE('',#2520,2.56E-1);
+-#2526=CIRCLE('',#2525,2.56E-1);
+-#2531=CIRCLE('',#2530,1.925E-1);
+-#2536=CIRCLE('',#2535,1.925E-1);
+-#2557=CIRCLE('',#2556,2.56E-1);
+-#2562=CIRCLE('',#2561,2.56E-1);
+-#2567=CIRCLE('',#2566,1.925E-1);
+-#2572=CIRCLE('',#2571,1.925E-1);
+-#2593=CIRCLE('',#2592,2.56E-1);
+-#2598=CIRCLE('',#2597,2.56E-1);
+-#2603=CIRCLE('',#2602,1.925E-1);
+-#2608=CIRCLE('',#2607,1.925E-1);
+-#2629=CIRCLE('',#2628,2.56E-1);
+-#2634=CIRCLE('',#2633,2.56E-1);
+-#2639=CIRCLE('',#2638,1.925E-1);
+-#2644=CIRCLE('',#2643,1.925E-1);
+-#2665=CIRCLE('',#2664,2.575E-1);
+-#2670=CIRCLE('',#2669,2.575E-1);
+-#2675=CIRCLE('',#2674,1.925E-1);
+-#2680=CIRCLE('',#2679,1.925E-1);
+-#2701=CIRCLE('',#2700,2.575E-1);
+-#2706=CIRCLE('',#2705,2.575E-1);
+-#2711=CIRCLE('',#2710,1.925E-1);
+-#2716=CIRCLE('',#2715,1.925E-1);
+-#2737=CIRCLE('',#2736,2.575E-1);
+-#2742=CIRCLE('',#2741,2.575E-1);
+-#2747=CIRCLE('',#2746,1.925E-1);
+-#2752=CIRCLE('',#2751,1.925E-1);
+-#2773=CIRCLE('',#2772,2.575E-1);
+-#2778=CIRCLE('',#2777,2.575E-1);
+-#2783=CIRCLE('',#2782,1.925E-1);
+-#2788=CIRCLE('',#2787,1.925E-1);
+-#2809=CIRCLE('',#2808,2.575E-1);
+-#2814=CIRCLE('',#2813,2.575E-1);
+-#2819=CIRCLE('',#2818,1.925E-1);
+-#2824=CIRCLE('',#2823,1.925E-1);
+-#2845=CIRCLE('',#2844,2.575E-1);
+-#2850=CIRCLE('',#2849,2.575E-1);
+-#2855=CIRCLE('',#2854,1.925E-1);
+-#2860=CIRCLE('',#2859,1.925E-1);
+-#2882=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2873,#2874,#2875,#2876,#2877,#2878,#2879,
+-#2880,#2881),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1,
+-6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.);
+-#2892=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2883,#2884,#2885,#2886,#2887,#2888,#2889,
+-#2890,#2891),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1,
+-6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.);
+-#2905=CIRCLE('',#2904,2.575E-1);
+-#2910=CIRCLE('',#2909,2.575E-1);
+-#2915=CIRCLE('',#2914,1.925E-1);
+-#2920=CIRCLE('',#2919,1.925E-1);
+-#2937=CIRCLE('',#2936,3.5E-1);
+-#2946=CIRCLE('',#2945,3.5E-1);
+-#2955=CIRCLE('',#2954,3.5E-1);
+-#2964=CIRCLE('',#2963,3.5E-1);
+-#2973=CIRCLE('',#2972,3.5E-1);
+-#2982=CIRCLE('',#2981,3.5E-1);
+-#2991=CIRCLE('',#2990,3.5E-1);
+-#3000=CIRCLE('',#2999,3.5E-1);
+-#3009=CIRCLE('',#3008,3.5E-1);
+-#3018=CIRCLE('',#3017,3.5E-1);
+-#3027=CIRCLE('',#3026,3.5E-1);
+-#3036=CIRCLE('',#3035,3.5E-1);
+-#3073=CIRCLE('',#3072,9.5E-2);
+-#3078=CIRCLE('',#3077,9.5E-2);
+-#3091=CIRCLE('',#3090,9.5E-2);
+-#3096=CIRCLE('',#3095,9.5E-2);
+-#3109=CIRCLE('',#3108,9.5E-2);
+-#3114=CIRCLE('',#3113,9.5E-2);
+-#3127=CIRCLE('',#3126,9.5E-2);
+-#3132=CIRCLE('',#3131,9.5E-2);
+-#3145=CIRCLE('',#3144,9.5E-2);
+-#3150=CIRCLE('',#3149,9.5E-2);
+-#3159=CIRCLE('',#3158,7.5E-1);
+-#3168=CIRCLE('',#3167,7.5E-1);
+-#3177=CIRCLE('',#3176,7.5E-1);
+-#3186=CIRCLE('',#3185,7.5E-1);
+-#3195=CIRCLE('',#3194,7.5E-1);
+-#3204=CIRCLE('',#3203,7.5E-1);
+-#3213=CIRCLE('',#3212,7.5E-1);
+-#3222=CIRCLE('',#3221,7.5E-1);
+-#3247=CIRCLE('',#3246,7.5E-1);
+-#3256=CIRCLE('',#3255,7.5E-1);
+-#3281=CIRCLE('',#3280,7.5E-1);
+-#3290=CIRCLE('',#3289,7.5E-1);
+-#3299=CIRCLE('',#3298,7.5E-1);
+-#3308=CIRCLE('',#3307,7.5E-1);
+-#3317=CIRCLE('',#3316,7.5E-1);
+-#3326=CIRCLE('',#3325,7.5E-1);
+-#3351=CIRCLE('',#3350,5.625E-1);
+-#3360=CIRCLE('',#3359,5.625E-1);
+-#3365=CIRCLE('',#3364,9.225E-1);
+-#3370=CIRCLE('',#3369,5.6875E0);
+-#3375=CIRCLE('',#3374,8.669989027347E-1);
+-#3388=CIRCLE('',#3387,7.5E-1);
+-#3397=CIRCLE('',#3396,7.5E-1);
+-#3418=CIRCLE('',#3417,8.75E-1);
+-#3427=CIRCLE('',#3426,8.75E-1);
+-#3440=CIRCLE('',#3439,5.6125E-1);
+-#3469=CIRCLE('',#3468,8.75E-1);
+-#3478=CIRCLE('',#3477,8.75E-1);
+-#3495=CIRCLE('',#3494,8.75E-1);
+-#3504=CIRCLE('',#3503,8.75E-1);
+-#3513=CIRCLE('',#3512,8.75E-1);
+-#3522=CIRCLE('',#3521,8.75E-1);
+-#3531=CIRCLE('',#3530,8.75E-1);
+-#3540=CIRCLE('',#3539,8.75E-1);
+-#3549=CIRCLE('',#3548,8.75E-1);
+-#3558=CIRCLE('',#3557,8.75E-1);
+-#3583=CIRCLE('',#3582,5.625E-1);
+-#3592=CIRCLE('',#3591,5.625E-1);
+-#3617=CIRCLE('',#3616,5.625E-1);
+-#3626=CIRCLE('',#3625,5.625E-1);
+-#3651=CIRCLE('',#3650,5.E-1);
+-#3660=CIRCLE('',#3659,5.E-1);
+-#3685=CIRCLE('',#3684,4.375E-1);
+-#3694=CIRCLE('',#3693,4.375E-1);
+-#3719=CIRCLE('',#3718,5.625E-1);
+-#3728=CIRCLE('',#3727,5.625E-1);
+-#3737=CIRCLE('',#3736,8.669989027347E-1);
+-#3742=CIRCLE('',#3741,5.6875E0);
+-#3747=CIRCLE('',#3746,9.225E-1);
+-#3756=CIRCLE('',#3755,7.5E-1);
+-#3765=CIRCLE('',#3764,7.5E-1);
+-#3802=CIRCLE('',#3801,5.625E-1);
+-#3811=CIRCLE('',#3810,5.625E-1);
+-#3820=CIRCLE('',#3819,8.669989027347E-1);
+-#3825=CIRCLE('',#3824,5.6875E0);
+-#3830=CIRCLE('',#3829,9.225E-1);
+-#3839=CIRCLE('',#3838,7.5E-1);
+-#3848=CIRCLE('',#3847,7.5E-1);
+-#3885=CIRCLE('',#3884,5.625E-1);
+-#3894=CIRCLE('',#3893,5.625E-1);
+-#3919=CIRCLE('',#3918,5.625E-1);
+-#3928=CIRCLE('',#3927,5.625E-1);
+-#3953=CIRCLE('',#3952,5.E-1);
+-#3962=CIRCLE('',#3961,5.E-1);
+-#3987=CIRCLE('',#3986,4.375E-1);
+-#3996=CIRCLE('',#3995,4.375E-1);
+-#4021=CIRCLE('',#4020,5.625E-1);
+-#4030=CIRCLE('',#4029,5.625E-1);
+-#4035=CIRCLE('',#4034,9.225E-1);
+-#4040=CIRCLE('',#4039,5.6875E0);
+-#4045=CIRCLE('',#4044,8.669989027347E-1);
+-#4058=CIRCLE('',#4057,7.5E-1);
+-#4067=CIRCLE('',#4066,7.5E-1);
+-#4088=CIRCLE('',#4087,8.8E-1);
+-#4097=CIRCLE('',#4096,8.8E-1);
+-#4106=CIRCLE('',#4105,8.8E-1);
+-#4115=CIRCLE('',#4114,8.8E-1);
+-#4124=CIRCLE('',#4123,8.8E-1);
+-#4133=CIRCLE('',#4132,8.8E-1);
+-#4142=CIRCLE('',#4141,8.8E-1);
+-#4151=CIRCLE('',#4150,8.8E-1);
+-#4160=CIRCLE('',#4159,8.8E-1);
+-#4169=CIRCLE('',#4168,8.8E-1);
+-#4178=CIRCLE('',#4177,8.8E-1);
+-#4187=CIRCLE('',#4186,8.8E-1);
+-#4208=CIRCLE('',#4207,5.6125E-1);
+-#5494=EDGE_CURVE('',#4423,#4400,#132,.T.);
+-#5496=EDGE_CURVE('',#4419,#4423,#1597,.T.);
+-#5498=EDGE_CURVE('',#4419,#4243,#136,.T.);
+-#5500=EDGE_CURVE('',#4239,#4243,#1614,.T.);
+-#5502=EDGE_CURVE('',#4239,#4259,#140,.T.);
+-#5504=EDGE_CURVE('',#4255,#4259,#1630,.T.);
+-#5506=EDGE_CURVE('',#4255,#4320,#144,.T.);
+-#5508=EDGE_CURVE('',#4324,#4320,#1376,.T.);
+-#5510=EDGE_CURVE('',#4324,#4300,#148,.T.);
+-#5512=EDGE_CURVE('',#4300,#4347,#152,.T.);
+-#5514=EDGE_CURVE('',#4343,#4347,#1912,.T.);
+-#5516=EDGE_CURVE('',#4343,#4315,#156,.T.);
+-#5518=EDGE_CURVE('',#4311,#4315,#1385,.T.);
+-#5520=EDGE_CURVE('',#4311,#4251,#160,.T.);
+-#5522=EDGE_CURVE('',#4247,#4251,#1580,.T.);
+-#5524=EDGE_CURVE('',#4247,#4235,#164,.T.);
+-#5526=EDGE_CURVE('',#4231,#4235,#1564,.T.);
+-#5528=EDGE_CURVE('',#4231,#4404,#168,.T.);
+-#5530=EDGE_CURVE('',#4408,#4404,#1556,.T.);
+-#5532=EDGE_CURVE('',#4444,#4408,#172,.T.);
+-#5534=EDGE_CURVE('',#4444,#4448,#1654,.T.);
+-#5536=EDGE_CURVE('',#4400,#4448,#176,.T.);
+-#5540=EDGE_CURVE('',#4427,#4328,#4,.T.);
+-#5542=EDGE_CURVE('',#4332,#4328,#1358,.T.);
+-#5544=EDGE_CURVE('',#4264,#4332,#1340,.T.);
+-#5546=EDGE_CURVE('',#4268,#4264,#8,.T.);
+-#5548=EDGE_CURVE('',#4431,#4268,#1317,.T.);
+-#5550=EDGE_CURVE('',#4427,#4431,#1303,.T.);
+-#5554=EDGE_CURVE('',#4639,#4640,#13,.T.);
+-#5556=EDGE_CURVE('',#4640,#4639,#18,.T.);
+-#5560=EDGE_CURVE('',#4635,#4636,#23,.T.);
+-#5562=EDGE_CURVE('',#4636,#4635,#28,.T.);
+-#5566=EDGE_CURVE('',#4631,#4632,#33,.T.);
+-#5568=EDGE_CURVE('',#4632,#4631,#38,.T.);
+-#5572=EDGE_CURVE('',#4627,#4628,#43,.T.);
+-#5574=EDGE_CURVE('',#4628,#4627,#48,.T.);
+-#5578=EDGE_CURVE('',#4623,#4624,#53,.T.);
+-#5580=EDGE_CURVE('',#4624,#4623,#58,.T.);
+-#5584=EDGE_CURVE('',#4527,#4528,#63,.T.);
+-#5586=EDGE_CURVE('',#4528,#4527,#68,.T.);
+-#5590=EDGE_CURVE('',#4523,#4524,#73,.T.);
+-#5592=EDGE_CURVE('',#4524,#4523,#78,.T.);
+-#5596=EDGE_CURVE('',#4519,#4520,#83,.T.);
+-#5598=EDGE_CURVE('',#4520,#4519,#88,.T.);
+-#5602=EDGE_CURVE('',#4515,#4516,#93,.T.);
+-#5604=EDGE_CURVE('',#4516,#4515,#98,.T.);
+-#5608=EDGE_CURVE('',#4511,#4512,#103,.T.);
+-#5610=EDGE_CURVE('',#4512,#4511,#108,.T.);
+-#5614=EDGE_CURVE('',#4507,#4508,#113,.T.);
+-#5616=EDGE_CURVE('',#4508,#4507,#118,.T.);
+-#5620=EDGE_CURVE('',#4503,#4504,#123,.T.);
+-#5622=EDGE_CURVE('',#4504,#4503,#128,.T.);
+-#5626=EDGE_CURVE('',#4487,#4488,#181,.T.);
+-#5628=EDGE_CURVE('',#4488,#4487,#186,.T.);
+-#5632=EDGE_CURVE('',#4607,#4608,#191,.T.);
+-#5634=EDGE_CURVE('',#4608,#4607,#196,.T.);
+-#5638=EDGE_CURVE('',#4796,#4803,#200,.T.);
+-#5640=EDGE_CURVE('',#4799,#4803,#1439,.T.);
+-#5642=EDGE_CURVE('',#4280,#4799,#204,.T.);
+-#5644=EDGE_CURVE('',#4284,#4280,#1466,.T.);
+-#5646=EDGE_CURVE('',#4272,#4284,#208,.T.);
+-#5648=EDGE_CURVE('',#4276,#4272,#1484,.T.);
+-#5650=EDGE_CURVE('',#4792,#4276,#212,.T.);
+-#5652=EDGE_CURVE('',#4796,#4792,#1430,.T.);
+-#5656=EDGE_CURVE('',#4808,#4411,#216,.T.);
+-#5658=EDGE_CURVE('',#4812,#4808,#1502,.T.);
+-#5660=EDGE_CURVE('',#4812,#4819,#220,.T.);
+-#5662=EDGE_CURVE('',#4815,#4819,#1511,.T.);
+-#5664=EDGE_CURVE('',#4304,#4815,#224,.T.);
+-#5666=EDGE_CURVE('',#4308,#4304,#1412,.T.);
+-#5668=EDGE_CURVE('',#4308,#4339,#228,.T.);
+-#5670=EDGE_CURVE('',#4335,#4339,#1754,.T.);
+-#5672=EDGE_CURVE('',#4335,#4772,#232,.T.);
+-#5674=EDGE_CURVE('',#4776,#4772,#1738,.T.);
+-#5676=EDGE_CURVE('',#4776,#4783,#236,.T.);
+-#5678=EDGE_CURVE('',#4779,#4783,#1707,.T.);
+-#5680=EDGE_CURVE('',#4436,#4779,#240,.T.);
+-#5682=EDGE_CURVE('',#4436,#4440,#2132,.T.);
+-#5684=EDGE_CURVE('',#4415,#4440,#244,.T.);
+-#5686=EDGE_CURVE('',#4411,#4415,#1529,.T.);
+-#5690=EDGE_CURVE('',#4823,#4824,#249,.T.);
+-#5692=EDGE_CURVE('',#4824,#4823,#254,.T.);
+-#5696=EDGE_CURVE('',#4839,#4840,#259,.T.);
+-#5698=EDGE_CURVE('',#4840,#4839,#264,.T.);
+-#5702=EDGE_CURVE('',#4843,#4844,#269,.T.);
+-#5704=EDGE_CURVE('',#4844,#4843,#274,.T.);
+-#5708=EDGE_CURVE('',#4847,#4848,#279,.T.);
+-#5710=EDGE_CURVE('',#4848,#4847,#284,.T.);
+-#5714=EDGE_CURVE('',#4851,#4852,#289,.T.);
+-#5716=EDGE_CURVE('',#4852,#4851,#294,.T.);
+-#5720=EDGE_CURVE('',#4855,#4856,#299,.T.);
+-#5722=EDGE_CURVE('',#4856,#4855,#304,.T.);
+-#5726=EDGE_CURVE('',#5121,#5122,#308,.T.);
+-#5728=EDGE_CURVE('',#5122,#5124,#313,.T.);
+-#5730=EDGE_CURVE('',#5124,#5126,#317,.T.);
+-#5732=EDGE_CURVE('',#5126,#5121,#322,.T.);
+-#5736=EDGE_CURVE('',#5132,#5139,#327,.T.);
+-#5738=EDGE_CURVE('',#5135,#5139,#3388,.T.);
+-#5740=EDGE_CURVE('',#5135,#5129,#331,.T.);
+-#5742=EDGE_CURVE('',#5129,#5130,#336,.T.);
+-#5744=EDGE_CURVE('',#5132,#5130,#341,.T.);
+-#5748=EDGE_CURVE('',#5184,#5186,#3418,.T.);
+-#5750=EDGE_CURVE('',#5184,#5147,#345,.T.);
+-#5752=EDGE_CURVE('',#5147,#5148,#350,.T.);
+-#5754=EDGE_CURVE('',#5148,#5194,#354,.T.);
+-#5756=EDGE_CURVE('',#5192,#5194,#3469,.T.);
+-#5758=EDGE_CURVE('',#5192,#5171,#358,.T.);
+-#5760=EDGE_CURVE('',#5167,#5171,#3495,.T.);
+-#5762=EDGE_CURVE('',#5167,#5179,#362,.T.);
+-#5764=EDGE_CURVE('',#5175,#5179,#3513,.T.);
+-#5766=EDGE_CURVE('',#5175,#5155,#366,.T.);
+-#5768=EDGE_CURVE('',#5151,#5155,#3531,.T.);
+-#5770=EDGE_CURVE('',#5151,#5163,#370,.T.);
+-#5772=EDGE_CURVE('',#5159,#5163,#3549,.T.);
+-#5774=EDGE_CURVE('',#5159,#5186,#374,.T.);
+-#5778=EDGE_CURVE('',#5207,#5208,#378,.T.);
+-#5780=EDGE_CURVE('',#5208,#5210,#383,.T.);
+-#5782=EDGE_CURVE('',#5210,#5212,#387,.T.);
+-#5784=EDGE_CURVE('',#5212,#5207,#392,.T.);
+-#5788=EDGE_CURVE('',#5223,#5224,#396,.T.);
+-#5790=EDGE_CURVE('',#5224,#5226,#401,.T.);
+-#5792=EDGE_CURVE('',#5226,#5228,#405,.T.);
+-#5794=EDGE_CURVE('',#5228,#5223,#410,.T.);
+-#5798=EDGE_CURVE('',#5239,#5240,#414,.T.);
+-#5800=EDGE_CURVE('',#5240,#5242,#419,.T.);
+-#5802=EDGE_CURVE('',#5242,#5244,#423,.T.);
+-#5804=EDGE_CURVE('',#5244,#5239,#428,.T.);
+-#5808=EDGE_CURVE('',#5255,#5256,#432,.T.);
+-#5810=EDGE_CURVE('',#5256,#5258,#437,.T.);
+-#5812=EDGE_CURVE('',#5258,#5260,#441,.T.);
+-#5814=EDGE_CURVE('',#5260,#5255,#446,.T.);
+-#5818=EDGE_CURVE('',#5277,#5278,#450,.T.);
+-#5820=EDGE_CURVE('',#5282,#5277,#455,.T.);
+-#5822=EDGE_CURVE('',#5280,#5282,#459,.T.);
+-#5824=EDGE_CURVE('',#5278,#5280,#464,.T.);
+-#5828=EDGE_CURVE('',#5305,#5306,#468,.T.);
+-#5830=EDGE_CURVE('',#5310,#5305,#473,.T.);
+-#5832=EDGE_CURVE('',#5308,#5310,#477,.T.);
+-#5834=EDGE_CURVE('',#5306,#5308,#482,.T.);
+-#5838=EDGE_CURVE('',#5335,#5336,#486,.T.);
+-#5840=EDGE_CURVE('',#5340,#5335,#491,.T.);
+-#5842=EDGE_CURVE('',#5338,#5340,#495,.T.);
+-#5844=EDGE_CURVE('',#5336,#5338,#500,.T.);
+-#5848=EDGE_CURVE('',#5351,#5352,#504,.T.);
+-#5850=EDGE_CURVE('',#5356,#5351,#509,.T.);
+-#5852=EDGE_CURVE('',#5354,#5356,#513,.T.);
+-#5854=EDGE_CURVE('',#5352,#5354,#518,.T.);
+-#5858=EDGE_CURVE('',#5367,#5368,#522,.T.);
+-#5860=EDGE_CURVE('',#5372,#5367,#527,.T.);
+-#5862=EDGE_CURVE('',#5370,#5372,#531,.T.);
+-#5864=EDGE_CURVE('',#5368,#5370,#536,.T.);
+-#5868=EDGE_CURVE('',#5383,#5384,#540,.T.);
+-#5870=EDGE_CURVE('',#5388,#5383,#545,.T.);
+-#5872=EDGE_CURVE('',#5386,#5388,#549,.T.);
+-#5874=EDGE_CURVE('',#5384,#5386,#554,.T.);
+-#5878=EDGE_CURVE('',#5405,#5406,#558,.T.);
+-#5880=EDGE_CURVE('',#5406,#5408,#563,.T.);
+-#5882=EDGE_CURVE('',#5408,#5410,#567,.T.);
+-#5884=EDGE_CURVE('',#5410,#5405,#572,.T.);
+-#5888=EDGE_CURVE('',#5455,#5451,#4097,.T.);
+-#5890=EDGE_CURVE('',#5324,#5455,#576,.T.);
+-#5892=EDGE_CURVE('',#5323,#5324,#581,.T.);
+-#5894=EDGE_CURVE('',#5459,#5323,#585,.T.);
+-#5896=EDGE_CURVE('',#5463,#5459,#4187,.T.);
+-#5898=EDGE_CURVE('',#5436,#5463,#589,.T.);
+-#5900=EDGE_CURVE('',#5440,#5436,#4169,.T.);
+-#5902=EDGE_CURVE('',#5444,#5440,#593,.T.);
+-#5904=EDGE_CURVE('',#5448,#5444,#4151,.T.);
+-#5906=EDGE_CURVE('',#5428,#5448,#597,.T.);
+-#5908=EDGE_CURVE('',#5432,#5428,#4133,.T.);
+-#5910=EDGE_CURVE('',#5420,#5432,#601,.T.);
+-#5912=EDGE_CURVE('',#5424,#5420,#4115,.T.);
+-#5914=EDGE_CURVE('',#5451,#5424,#605,.T.);
+-#5918=EDGE_CURVE('',#5471,#5313,#609,.T.);
+-#5920=EDGE_CURVE('',#5467,#5471,#3839,.T.);
+-#5922=EDGE_CURVE('',#5316,#5467,#614,.T.);
+-#5924=EDGE_CURVE('',#5316,#5314,#619,.T.);
+-#5926=EDGE_CURVE('',#5313,#5314,#624,.T.);
+-#5930=EDGE_CURVE('',#5479,#5285,#628,.T.);
+-#5932=EDGE_CURVE('',#5475,#5479,#3756,.T.);
+-#5934=EDGE_CURVE('',#5288,#5475,#633,.T.);
+-#5936=EDGE_CURVE('',#5288,#5286,#638,.T.);
+-#5938=EDGE_CURVE('',#5285,#5286,#643,.T.);
+-#5942=EDGE_CURVE('',#5416,#5487,#648,.T.);
+-#5944=EDGE_CURVE('',#5483,#5487,#4058,.T.);
+-#5946=EDGE_CURVE('',#5483,#5413,#652,.T.);
+-#5948=EDGE_CURVE('',#5413,#5414,#657,.T.);
+-#5950=EDGE_CURVE('',#5416,#5414,#662,.T.);
+-#5961=EDGE_CURVE('',#4427,#4428,#1298,.T.);
+-#5963=EDGE_CURVE('',#4424,#4428,#906,.T.);
+-#5965=EDGE_CURVE('',#4423,#4424,#1601,.T.);
+-#5968=EDGE_CURVE('',#4390,#4400,#1658,.T.);
+-#5970=EDGE_CURVE('',#4387,#4390,#746,.T.);
+-#5972=EDGE_CURVE('',#4387,#4388,#750,.T.);
+-#5974=EDGE_CURVE('',#4768,#4388,#1698,.T.);
+-#5976=EDGE_CURVE('',#4767,#4768,#1230,.T.);
+-#5978=EDGE_CURVE('',#4287,#4767,#1746,.T.);
+-#5980=EDGE_CURVE('',#4287,#4288,#754,.T.);
+-#5982=EDGE_CURVE('',#4288,#4290,#758,.T.);
+-#5984=EDGE_CURVE('',#4300,#4290,#1900,.T.);
+-#5987=EDGE_CURVE('',#4323,#4324,#1371,.T.);
+-#5989=EDGE_CURVE('',#4327,#4323,#914,.T.);
+-#5991=EDGE_CURVE('',#4327,#4328,#1344,.T.);
+-#5995=EDGE_CURVE('',#4747,#4748,#667,.T.);
+-#5997=EDGE_CURVE('',#4748,#4747,#672,.T.);
+-#6001=EDGE_CURVE('',#4735,#4736,#677,.T.);
+-#6003=EDGE_CURVE('',#4736,#4735,#682,.T.);
+-#6007=EDGE_CURVE('',#4755,#4756,#687,.T.);
+-#6009=EDGE_CURVE('',#4756,#4755,#692,.T.);
+-#6013=EDGE_CURVE('',#4763,#4764,#697,.T.);
+-#6015=EDGE_CURVE('',#4764,#4763,#702,.T.);
+-#6019=EDGE_CURVE('',#4731,#4732,#707,.T.);
+-#6021=EDGE_CURVE('',#4732,#4731,#712,.T.);
+-#6025=EDGE_CURVE('',#4723,#4724,#717,.T.);
+-#6027=EDGE_CURVE('',#4724,#4723,#722,.T.);
+-#6031=EDGE_CURVE('',#4703,#4704,#727,.T.);
+-#6033=EDGE_CURVE('',#4704,#4703,#732,.T.);
+-#6037=EDGE_CURVE('',#4715,#4716,#737,.T.);
+-#6039=EDGE_CURVE('',#4716,#4715,#742,.T.);
+-#6043=EDGE_CURVE('',#4947,#4959,#762,.T.);
+-#6045=EDGE_CURVE('',#4955,#4959,#3213,.T.);
+-#6047=EDGE_CURVE('',#4955,#4967,#766,.T.);
+-#6049=EDGE_CURVE('',#4963,#4967,#3195,.T.);
+-#6051=EDGE_CURVE('',#4963,#4975,#770,.T.);
+-#6053=EDGE_CURVE('',#4971,#4975,#3177,.T.);
+-#6055=EDGE_CURVE('',#4971,#4951,#774,.T.);
+-#6057=EDGE_CURVE('',#4947,#4951,#3159,.T.);
+-#6061=EDGE_CURVE('',#5036,#5048,#778,.T.);
+-#6063=EDGE_CURVE('',#5040,#5036,#3256,.T.);
+-#6065=EDGE_CURVE('',#5028,#5040,#782,.T.);
+-#6067=EDGE_CURVE('',#5032,#5028,#3290,.T.);
+-#6069=EDGE_CURVE('',#5052,#5032,#786,.T.);
+-#6071=EDGE_CURVE('',#5056,#5052,#3308,.T.);
+-#6073=EDGE_CURVE('',#5044,#5056,#790,.T.);
+-#6075=EDGE_CURVE('',#5048,#5044,#3326,.T.);
+-#6086=EDGE_CURVE('',#4747,#4743,#794,.T.);
+-#6088=EDGE_CURVE('',#4743,#4744,#803,.T.);
+-#6090=EDGE_CURVE('',#4748,#4744,#798,.T.);
+-#6102=EDGE_CURVE('',#4744,#4743,#808,.T.);
+-#6124=EDGE_CURVE('',#4735,#4739,#812,.T.);
+-#6126=EDGE_CURVE('',#4739,#4740,#821,.T.);
+-#6128=EDGE_CURVE('',#4736,#4740,#816,.T.);
+-#6140=EDGE_CURVE('',#4740,#4739,#826,.T.);
+-#6151=EDGE_CURVE('',#4934,#4940,#830,.T.);
+-#6153=EDGE_CURVE('',#4940,#4942,#834,.T.);
+-#6155=EDGE_CURVE('',#4938,#4942,#838,.T.);
+-#6157=EDGE_CURVE('',#4788,#4938,#1234,.T.);
+-#6159=EDGE_CURVE('',#4788,#4393,#842,.T.);
+-#6161=EDGE_CURVE('',#4393,#4394,#846,.T.);
+-#6163=EDGE_CURVE('',#4394,#4396,#850,.T.);
+-#6165=EDGE_CURVE('',#4396,#4398,#854,.T.);
+-#6167=EDGE_CURVE('',#4934,#4398,#1178,.T.);
+-#6175=EDGE_CURVE('',#5103,#5099,#2946,.T.);
+-#6177=EDGE_CURVE('',#5076,#5103,#858,.T.);
+-#6179=EDGE_CURVE('',#5080,#5076,#3036,.T.);
+-#6181=EDGE_CURVE('',#5084,#5080,#862,.T.);
+-#6183=EDGE_CURVE('',#5088,#5084,#3018,.T.);
+-#6185=EDGE_CURVE('',#5092,#5088,#866,.T.);
+-#6187=EDGE_CURVE('',#5096,#5092,#3000,.T.);
+-#6189=EDGE_CURVE('',#5068,#5096,#870,.T.);
+-#6191=EDGE_CURVE('',#5072,#5068,#2982,.T.);
+-#6193=EDGE_CURVE('',#5060,#5072,#874,.T.);
+-#6195=EDGE_CURVE('',#5064,#5060,#2964,.T.);
+-#6197=EDGE_CURVE('',#5099,#5064,#878,.T.);
+-#6207=EDGE_CURVE('',#4933,#4934,#1174,.T.);
+-#6209=EDGE_CURVE('',#4940,#4933,#882,.T.);
+-#6221=EDGE_CURVE('',#4432,#4428,#1312,.T.);
+-#6223=EDGE_CURVE('',#4267,#4432,#1326,.T.);
+-#6225=EDGE_CURVE('',#4267,#4263,#910,.T.);
+-#6227=EDGE_CURVE('',#4331,#4263,#1331,.T.);
+-#6229=EDGE_CURVE('',#4327,#4331,#1349,.T.);
+-#6232=EDGE_CURVE('',#4319,#4323,#1367,.T.);
+-#6234=EDGE_CURVE('',#4256,#4319,#918,.T.);
+-#6236=EDGE_CURVE('',#4256,#4260,#1638,.T.);
+-#6238=EDGE_CURVE('',#4240,#4260,#922,.T.);
+-#6240=EDGE_CURVE('',#4240,#4244,#1622,.T.);
+-#6242=EDGE_CURVE('',#4420,#4244,#926,.T.);
+-#6244=EDGE_CURVE('',#4424,#4420,#1606,.T.);
+-#6248=EDGE_CURVE('',#4495,#4496,#951,.T.);
+-#6250=EDGE_CURVE('',#4496,#4495,#956,.T.);
+-#6254=EDGE_CURVE('',#4567,#4568,#981,.T.);
+-#6256=EDGE_CURVE('',#4568,#4567,#986,.T.);
+-#6260=EDGE_CURVE('',#4615,#4616,#1011,.T.);
+-#6262=EDGE_CURVE('',#4616,#4615,#1016,.T.);
+-#6266=EDGE_CURVE('',#4647,#4648,#1021,.T.);
+-#6268=EDGE_CURVE('',#4648,#4647,#1026,.T.);
+-#6272=EDGE_CURVE('',#4659,#4660,#1031,.T.);
+-#6274=EDGE_CURVE('',#4660,#4659,#1036,.T.);
+-#6286=EDGE_CURVE('',#4398,#4447,#1182,.T.);
+-#6288=EDGE_CURVE('',#4443,#4447,#1646,.T.);
+-#6290=EDGE_CURVE('',#4443,#4407,#1186,.T.);
+-#6292=EDGE_CURVE('',#4403,#4407,#1547,.T.);
+-#6294=EDGE_CURVE('',#4232,#4403,#1190,.T.);
+-#6296=EDGE_CURVE('',#4232,#4236,#1572,.T.);
+-#6298=EDGE_CURVE('',#4248,#4236,#1194,.T.);
+-#6300=EDGE_CURVE('',#4248,#4252,#1588,.T.);
+-#6302=EDGE_CURVE('',#4312,#4252,#1198,.T.);
+-#6304=EDGE_CURVE('',#4316,#4312,#1394,.T.);
+-#6306=EDGE_CURVE('',#4344,#4316,#1202,.T.);
+-#6308=EDGE_CURVE('',#4344,#4348,#1920,.T.);
+-#6310=EDGE_CURVE('',#4298,#4348,#1206,.T.);
+-#6312=EDGE_CURVE('',#4298,#4920,#1210,.T.);
+-#6314=EDGE_CURVE('',#4919,#4920,#1214,.T.);
+-#6316=EDGE_CURVE('',#4919,#4923,#1218,.T.);
+-#6318=EDGE_CURVE('',#4923,#4924,#1222,.T.);
+-#6320=EDGE_CURVE('',#4924,#4786,#1226,.T.);
+-#6322=EDGE_CURVE('',#4767,#4786,#1742,.T.);
+-#6325=EDGE_CURVE('',#4768,#4788,#1694,.T.);
+-#6328=EDGE_CURVE('',#4937,#4938,#1238,.T.);
+-#6330=EDGE_CURVE('',#4933,#4937,#1242,.T.);
+-#6334=EDGE_CURVE('',#4373,#4374,#887,.T.);
+-#6336=EDGE_CURVE('',#4374,#4373,#892,.T.);
+-#6340=EDGE_CURVE('',#4383,#4384,#897,.T.);
+-#6342=EDGE_CURVE('',#4384,#4383,#902,.T.);
+-#6346=EDGE_CURVE('',#4473,#4474,#931,.T.);
+-#6348=EDGE_CURVE('',#4474,#4473,#936,.T.);
+-#6352=EDGE_CURVE('',#4483,#4484,#941,.T.);
+-#6354=EDGE_CURVE('',#4484,#4483,#946,.T.);
+-#6358=EDGE_CURVE('',#4543,#4544,#961,.T.);
+-#6360=EDGE_CURVE('',#4544,#4543,#966,.T.);
+-#6364=EDGE_CURVE('',#4555,#4556,#971,.T.);
+-#6366=EDGE_CURVE('',#4556,#4555,#976,.T.);
+-#6370=EDGE_CURVE('',#4587,#4588,#991,.T.);
+-#6372=EDGE_CURVE('',#4588,#4587,#996,.T.);
+-#6376=EDGE_CURVE('',#4599,#4600,#1001,.T.);
+-#6378=EDGE_CURVE('',#4600,#4599,#1006,.T.);
+-#6382=EDGE_CURVE('',#4671,#4672,#1041,.T.);
+-#6384=EDGE_CURVE('',#4672,#4671,#1046,.T.);
+-#6388=EDGE_CURVE('',#4683,#4684,#1051,.T.);
+-#6390=EDGE_CURVE('',#4684,#4683,#1056,.T.);
+-#6394=EDGE_CURVE('',#4695,#4696,#1061,.T.);
+-#6396=EDGE_CURVE('',#4696,#4695,#1066,.T.);
+-#6400=EDGE_CURVE('',#4279,#4800,#1070,.T.);
+-#6402=EDGE_CURVE('',#4804,#4800,#1448,.T.);
+-#6404=EDGE_CURVE('',#4795,#4804,#1074,.T.);
+-#6406=EDGE_CURVE('',#4791,#4795,#1421,.T.);
+-#6408=EDGE_CURVE('',#4791,#4275,#1078,.T.);
+-#6410=EDGE_CURVE('',#4271,#4275,#1475,.T.);
+-#6412=EDGE_CURVE('',#4271,#4283,#1082,.T.);
+-#6414=EDGE_CURVE('',#4279,#4283,#1457,.T.);
+-#6418=EDGE_CURVE('',#4811,#4820,#1086,.T.);
+-#6420=EDGE_CURVE('',#4807,#4811,#1493,.T.);
+-#6422=EDGE_CURVE('',#4807,#4412,#1090,.T.);
+-#6424=EDGE_CURVE('',#4416,#4412,#1538,.T.);
+-#6426=EDGE_CURVE('',#4416,#4439,#1094,.T.);
+-#6428=EDGE_CURVE('',#4435,#4439,#2124,.T.);
+-#6430=EDGE_CURVE('',#4435,#4780,#1098,.T.);
+-#6432=EDGE_CURVE('',#4784,#4780,#1716,.T.);
+-#6434=EDGE_CURVE('',#4775,#4784,#1720,.T.);
+-#6436=EDGE_CURVE('',#4771,#4775,#1729,.T.);
+-#6438=EDGE_CURVE('',#4336,#4771,#1102,.T.);
+-#6440=EDGE_CURVE('',#4336,#4340,#1762,.T.);
+-#6442=EDGE_CURVE('',#4307,#4340,#1106,.T.);
+-#6444=EDGE_CURVE('',#4303,#4307,#1403,.T.);
+-#6446=EDGE_CURVE('',#4303,#4816,#1110,.T.);
+-#6448=EDGE_CURVE('',#4820,#4816,#1520,.T.);
+-#6452=EDGE_CURVE('',#4831,#4832,#1115,.T.);
+-#6454=EDGE_CURVE('',#4832,#4831,#1120,.T.);
+-#6458=EDGE_CURVE('',#4863,#4864,#1125,.T.);
+-#6460=EDGE_CURVE('',#4864,#4863,#1130,.T.);
+-#6464=EDGE_CURVE('',#4875,#4876,#1135,.T.);
+-#6466=EDGE_CURVE('',#4876,#4875,#1140,.T.);
+-#6470=EDGE_CURVE('',#4887,#4888,#1145,.T.);
+-#6472=EDGE_CURVE('',#4888,#4887,#1150,.T.);
+-#6476=EDGE_CURVE('',#4899,#4900,#1155,.T.);
+-#6478=EDGE_CURVE('',#4900,#4899,#1160,.T.);
+-#6482=EDGE_CURVE('',#4911,#4912,#1165,.T.);
+-#6484=EDGE_CURVE('',#4912,#4911,#1170,.T.);
+-#6495=EDGE_CURVE('',#4368,#4374,#1250,.T.);
+-#6497=EDGE_CURVE('',#4370,#4368,#1268,.T.);
+-#6499=EDGE_CURVE('',#4370,#4373,#1246,.T.);
+-#6511=EDGE_CURVE('',#4370,#4368,#1259,.T.);
+-#6522=EDGE_CURVE('',#4367,#4368,#1254,.T.);
+-#6525=EDGE_CURVE('',#4367,#4370,#1263,.T.);
+-#6547=EDGE_CURVE('',#4378,#4384,#1276,.T.);
+-#6549=EDGE_CURVE('',#4380,#4378,#1294,.T.);
+-#6551=EDGE_CURVE('',#4380,#4383,#1272,.T.);
+-#6563=EDGE_CURVE('',#4380,#4378,#1285,.T.);
+-#6574=EDGE_CURVE('',#4377,#4378,#1280,.T.);
+-#6577=EDGE_CURVE('',#4377,#4380,#1289,.T.);
+-#6600=EDGE_CURVE('',#4431,#4432,#1307,.T.);
+-#6613=EDGE_CURVE('',#4267,#4268,#1321,.T.);
+-#6624=EDGE_CURVE('',#4263,#4264,#1335,.T.);
+-#6637=EDGE_CURVE('',#4331,#4332,#1353,.T.);
+-#6662=EDGE_CURVE('',#4319,#4320,#1362,.T.);
+-#6675=EDGE_CURVE('',#4311,#4312,#1380,.T.);
+-#6678=EDGE_CURVE('',#4251,#4252,#1584,.T.);
+-#6691=EDGE_CURVE('',#4255,#4256,#1626,.T.);
+-#6704=EDGE_CURVE('',#4315,#4316,#1389,.T.);
+-#6715=EDGE_CURVE('',#4307,#4308,#1407,.T.);
+-#6718=EDGE_CURVE('',#4339,#4340,#1758,.T.);
+-#6731=EDGE_CURVE('',#4343,#4344,#1908,.T.);
+-#6742=EDGE_CURVE('',#4303,#4304,#1398,.T.);
+-#6755=EDGE_CURVE('',#4791,#4792,#1416,.T.);
+-#6758=EDGE_CURVE('',#4275,#4276,#1479,.T.);
+-#6769=EDGE_CURVE('',#4815,#4816,#1506,.T.);
+-#6784=EDGE_CURVE('',#4795,#4796,#1425,.T.);
+-#6797=EDGE_CURVE('',#4803,#4804,#1443,.T.);
+-#6808=EDGE_CURVE('',#4799,#4800,#1434,.T.);
+-#6823=EDGE_CURVE('',#4279,#4280,#1452,.T.);
+-#6834=EDGE_CURVE('',#4807,#4808,#1488,.T.);
+-#6837=EDGE_CURVE('',#4411,#4412,#1524,.T.);
+-#6850=EDGE_CURVE('',#4283,#4284,#1461,.T.);
+-#6861=EDGE_CURVE('',#4271,#4272,#1470,.T.);
+-#6888=EDGE_CURVE('',#4811,#4812,#1497,.T.);
+-#6901=EDGE_CURVE('',#4819,#4820,#1515,.T.);
+-#6926=EDGE_CURVE('',#4415,#4416,#1533,.T.);
+-#6937=EDGE_CURVE('',#4407,#4408,#1551,.T.);
+-#6940=EDGE_CURVE('',#4443,#4444,#1642,.T.);
+-#6953=EDGE_CURVE('',#4439,#4440,#2128,.T.);
+-#6964=EDGE_CURVE('',#4403,#4404,#1542,.T.);
+-#6979=EDGE_CURVE('',#4231,#4232,#1560,.T.);
+-#6990=EDGE_CURVE('',#4419,#4420,#1592,.T.);
+-#6993=EDGE_CURVE('',#4243,#4244,#1618,.T.);
+-#7006=EDGE_CURVE('',#4235,#4236,#1568,.T.);
+-#7018=EDGE_CURVE('',#4247,#4248,#1576,.T.);
+-#7054=EDGE_CURVE('',#4239,#4240,#1610,.T.);
+-#7070=EDGE_CURVE('',#4259,#4260,#1634,.T.);
+-#7094=EDGE_CURVE('',#4447,#4448,#1650,.T.);
+-#7110=EDGE_CURVE('',#4390,#4396,#1662,.T.);
+-#7123=EDGE_CURVE('',#4387,#4394,#1666,.T.);
+-#7136=EDGE_CURVE('',#4388,#4393,#1670,.T.);
+-#7140=EDGE_CURVE('',#4455,#4456,#1675,.T.);
+-#7142=EDGE_CURVE('',#4456,#4455,#1680,.T.);
+-#7146=EDGE_CURVE('',#4463,#4464,#1685,.T.);
+-#7148=EDGE_CURVE('',#4464,#4463,#1690,.T.);
+-#7158=EDGE_CURVE('',#4779,#4780,#1702,.T.);
+-#7161=EDGE_CURVE('',#4435,#4436,#2120,.T.);
+-#7186=EDGE_CURVE('',#4783,#4784,#1711,.T.);
+-#7197=EDGE_CURVE('',#4775,#4776,#1733,.T.);
+-#7210=EDGE_CURVE('',#4771,#4772,#1724,.T.);
+-#7225=EDGE_CURVE('',#4335,#4336,#1750,.T.);
+-#7237=EDGE_CURVE('',#4786,#4293,#1792,.T.);
+-#7239=EDGE_CURVE('',#4287,#4293,#1928,.T.);
+-#7262=EDGE_CURVE('',#4920,#4926,#1776,.T.);
+-#7265=EDGE_CURVE('',#4296,#4298,#1780,.T.);
+-#7267=EDGE_CURVE('',#4294,#4296,#1784,.T.);
+-#7269=EDGE_CURVE('',#4293,#4294,#1788,.T.);
+-#7273=EDGE_CURVE('',#4924,#4928,#1796,.T.);
+-#7275=EDGE_CURVE('',#4926,#4928,#1800,.T.);
+-#7279=EDGE_CURVE('',#4707,#4708,#1767,.T.);
+-#7281=EDGE_CURVE('',#4708,#4707,#1772,.T.);
+-#7285=EDGE_CURVE('',#5020,#5022,#1993,.T.);
+-#7287=EDGE_CURVE('',#5020,#4983,#1804,.T.);
+-#7289=EDGE_CURVE('',#4979,#4983,#2107,.T.);
+-#7291=EDGE_CURVE('',#4979,#4991,#1808,.T.);
+-#7293=EDGE_CURVE('',#4987,#4991,#2089,.T.);
+-#7295=EDGE_CURVE('',#4987,#5015,#1812,.T.);
+-#7297=EDGE_CURVE('',#5011,#5015,#2071,.T.);
+-#7299=EDGE_CURVE('',#5011,#5007,#1816,.T.);
+-#7301=EDGE_CURVE('',#5003,#5007,#2053,.T.);
+-#7303=EDGE_CURVE('',#5003,#4999,#1820,.T.);
+-#7305=EDGE_CURVE('',#4995,#4999,#2035,.T.);
+-#7307=EDGE_CURVE('',#4995,#5022,#1824,.T.);
+-#7318=EDGE_CURVE('',#4704,#4708,#1832,.T.);
+-#7321=EDGE_CURVE('',#4703,#4707,#1828,.T.);
+-#7345=EDGE_CURVE('',#4926,#4919,#1836,.T.);
+-#7358=EDGE_CURVE('',#4928,#4923,#1860,.T.);
+-#7362=EDGE_CURVE('',#4929,#4930,#1846,.T.);
+-#7364=EDGE_CURVE('',#4930,#4929,#1856,.T.);
+-#7385=EDGE_CURVE('',#4930,#4531,#1868,.T.);
+-#7388=EDGE_CURVE('',#4532,#4929,#1864,.T.);
+-#7390=EDGE_CURVE('',#4531,#4532,#1873,.T.);
+-#7403=EDGE_CURVE('',#4532,#4531,#1878,.T.);
+-#7417=EDGE_CURVE('',#4535,#4536,#1883,.T.);
+-#7419=EDGE_CURVE('',#4536,#4535,#1888,.T.);
+-#7430=EDGE_CURVE('',#4536,#4504,#1896,.T.);
+-#7433=EDGE_CURVE('',#4535,#4503,#1892,.T.);
+-#7457=EDGE_CURVE('',#4347,#4348,#1916,.T.);
+-#7461=EDGE_CURVE('',#4290,#4296,#1904,.T.);
+-#7484=EDGE_CURVE('',#4288,#4294,#1924,.T.);
+-#7502=EDGE_CURVE('',#4355,#4356,#1933,.T.);
+-#7504=EDGE_CURVE('',#4356,#4355,#1938,.T.);
+-#7508=EDGE_CURVE('',#4363,#4364,#1943,.T.);
+-#7510=EDGE_CURVE('',#4364,#4363,#1948,.T.);
+-#7521=EDGE_CURVE('',#4356,#4352,#1956,.T.);
+-#7523=EDGE_CURVE('',#4351,#4352,#1961,.T.);
+-#7525=EDGE_CURVE('',#4355,#4351,#1952,.T.);
+-#7537=EDGE_CURVE('',#4352,#4351,#1966,.T.);
+-#7559=EDGE_CURVE('',#4364,#4360,#1974,.T.);
+-#7561=EDGE_CURVE('',#4359,#4360,#1979,.T.);
+-#7563=EDGE_CURVE('',#4363,#4359,#1970,.T.);
+-#7575=EDGE_CURVE('',#4360,#4359,#1984,.T.);
+-#7596=EDGE_CURVE('',#5019,#5020,#1988,.T.);
+-#7599=EDGE_CURVE('',#5024,#5022,#1997,.T.);
+-#7601=EDGE_CURVE('',#5024,#5019,#2002,.T.);
+-#7612=EDGE_CURVE('',#5019,#4984,#2006,.T.);
+-#7614=EDGE_CURVE('',#4983,#4984,#2111,.T.);
+-#7627=EDGE_CURVE('',#4996,#5024,#2010,.T.);
+-#7629=EDGE_CURVE('',#5000,#4996,#2044,.T.);
+-#7631=EDGE_CURVE('',#5004,#5000,#2014,.T.);
+-#7633=EDGE_CURVE('',#5008,#5004,#2062,.T.);
+-#7635=EDGE_CURVE('',#5012,#5008,#2018,.T.);
+-#7637=EDGE_CURVE('',#5016,#5012,#2080,.T.);
+-#7639=EDGE_CURVE('',#4988,#5016,#2022,.T.);
+-#7641=EDGE_CURVE('',#4992,#4988,#2098,.T.);
+-#7643=EDGE_CURVE('',#4980,#4992,#2026,.T.);
+-#7645=EDGE_CURVE('',#4984,#4980,#2116,.T.);
+-#7657=EDGE_CURVE('',#4995,#4996,#2030,.T.);
+-#7670=EDGE_CURVE('',#4999,#5000,#2039,.T.);
+-#7683=EDGE_CURVE('',#5003,#5004,#2048,.T.);
+-#7696=EDGE_CURVE('',#5007,#5008,#2057,.T.);
+-#7709=EDGE_CURVE('',#5011,#5012,#2066,.T.);
+-#7722=EDGE_CURVE('',#5015,#5016,#2075,.T.);
+-#7733=EDGE_CURVE('',#4987,#4988,#2084,.T.);
+-#7748=EDGE_CURVE('',#4991,#4992,#2093,.T.);
+-#7759=EDGE_CURVE('',#4979,#4980,#2102,.T.);
+-#7797=EDGE_CURVE('',#4455,#4451,#2136,.T.);
+-#7799=EDGE_CURVE('',#4451,#4452,#2145,.T.);
+-#7801=EDGE_CURVE('',#4456,#4452,#2140,.T.);
+-#7813=EDGE_CURVE('',#4452,#4451,#2150,.T.);
+-#7835=EDGE_CURVE('',#4463,#4459,#2154,.T.);
+-#7837=EDGE_CURVE('',#4459,#4460,#2163,.T.);
+-#7839=EDGE_CURVE('',#4464,#4460,#2158,.T.);
+-#7851=EDGE_CURVE('',#4460,#4459,#2168,.T.);
+-#7873=EDGE_CURVE('',#4470,#4473,#2176,.T.);
+-#7875=EDGE_CURVE('',#4470,#4468,#2194,.T.);
+-#7877=EDGE_CURVE('',#4468,#4474,#2172,.T.);
+-#7889=EDGE_CURVE('',#4470,#4468,#2189,.T.);
+-#7900=EDGE_CURVE('',#4467,#4468,#2180,.T.);
+-#7902=EDGE_CURVE('',#4467,#4470,#2184,.T.);
+-#7925=EDGE_CURVE('',#4480,#4483,#2202,.T.);
+-#7927=EDGE_CURVE('',#4480,#4478,#2220,.T.);
+-#7929=EDGE_CURVE('',#4478,#4484,#2198,.T.);
+-#7941=EDGE_CURVE('',#4480,#4478,#2215,.T.);
+-#7952=EDGE_CURVE('',#4477,#4478,#2206,.T.);
+-#7954=EDGE_CURVE('',#4477,#4480,#2210,.T.);
+-#7977=EDGE_CURVE('',#4496,#4492,#2228,.T.);
+-#7979=EDGE_CURVE('',#4491,#4492,#2233,.T.);
+-#7981=EDGE_CURVE('',#4495,#4491,#2224,.T.);
+-#7993=EDGE_CURVE('',#4492,#4491,#2238,.T.);
+-#8008=EDGE_CURVE('',#4499,#4500,#2243,.T.);
+-#8010=EDGE_CURVE('',#4500,#4499,#2248,.T.);
+-#8021=EDGE_CURVE('',#4500,#4488,#2256,.T.);
+-#8024=EDGE_CURVE('',#4499,#4487,#2252,.T.);
+-#8047=EDGE_CURVE('',#4544,#4540,#2264,.T.);
+-#8049=EDGE_CURVE('',#4539,#4540,#2269,.T.);
+-#8051=EDGE_CURVE('',#4543,#4539,#2260,.T.);
+-#8063=EDGE_CURVE('',#4540,#4539,#2274,.T.);
+-#8078=EDGE_CURVE('',#4547,#4548,#2279,.T.);
+-#8080=EDGE_CURVE('',#4548,#4547,#2284,.T.);
+-#8091=EDGE_CURVE('',#4548,#4508,#2292,.T.);
+-#8094=EDGE_CURVE('',#4547,#4507,#2288,.T.);
+-#8117=EDGE_CURVE('',#4556,#4552,#2300,.T.);
+-#8119=EDGE_CURVE('',#4551,#4552,#2305,.T.);
+-#8121=EDGE_CURVE('',#4555,#4551,#2296,.T.);
+-#8133=EDGE_CURVE('',#4552,#4551,#2310,.T.);
+-#8148=EDGE_CURVE('',#4559,#4560,#2315,.T.);
+-#8150=EDGE_CURVE('',#4560,#4559,#2320,.T.);
+-#8161=EDGE_CURVE('',#4560,#4512,#2328,.T.);
+-#8164=EDGE_CURVE('',#4559,#4511,#2324,.T.);
+-#8187=EDGE_CURVE('',#4568,#4564,#2336,.T.);
+-#8189=EDGE_CURVE('',#4563,#4564,#2341,.T.);
+-#8191=EDGE_CURVE('',#4567,#4563,#2332,.T.);
+-#8203=EDGE_CURVE('',#4564,#4563,#2346,.T.);
+-#8218=EDGE_CURVE('',#4571,#4572,#2351,.T.);
+-#8220=EDGE_CURVE('',#4572,#4571,#2356,.T.);
+-#8231=EDGE_CURVE('',#4572,#4516,#2364,.T.);
+-#8234=EDGE_CURVE('',#4571,#4515,#2360,.T.);
+-#8257=EDGE_CURVE('',#4588,#4584,#2372,.T.);
+-#8259=EDGE_CURVE('',#4583,#4584,#2377,.T.);
+-#8261=EDGE_CURVE('',#4587,#4583,#2368,.T.);
+-#8273=EDGE_CURVE('',#4584,#4583,#2382,.T.);
+-#8288=EDGE_CURVE('',#4591,#4592,#2387,.T.);
+-#8290=EDGE_CURVE('',#4592,#4591,#2392,.T.);
+-#8301=EDGE_CURVE('',#4592,#4524,#2400,.T.);
+-#8304=EDGE_CURVE('',#4591,#4523,#2396,.T.);
+-#8327=EDGE_CURVE('',#4600,#4596,#2408,.T.);
+-#8329=EDGE_CURVE('',#4595,#4596,#2413,.T.);
+-#8331=EDGE_CURVE('',#4599,#4595,#2404,.T.);
+-#8343=EDGE_CURVE('',#4596,#4595,#2418,.T.);
+-#8358=EDGE_CURVE('',#4603,#4604,#2423,.T.);
+-#8360=EDGE_CURVE('',#4604,#4603,#2428,.T.);
+-#8371=EDGE_CURVE('',#4604,#4528,#2436,.T.);
+-#8374=EDGE_CURVE('',#4603,#4527,#2432,.T.);
+-#8397=EDGE_CURVE('',#4616,#4612,#2444,.T.);
+-#8399=EDGE_CURVE('',#4611,#4612,#2449,.T.);
+-#8401=EDGE_CURVE('',#4615,#4611,#2440,.T.);
+-#8413=EDGE_CURVE('',#4612,#4611,#2454,.T.);
+-#8428=EDGE_CURVE('',#4619,#4620,#2459,.T.);
+-#8430=EDGE_CURVE('',#4620,#4619,#2464,.T.);
+-#8441=EDGE_CURVE('',#4620,#4608,#2472,.T.);
+-#8444=EDGE_CURVE('',#4619,#4607,#2468,.T.);
+-#8467=EDGE_CURVE('',#4648,#4644,#2480,.T.);
+-#8469=EDGE_CURVE('',#4643,#4644,#2485,.T.);
+-#8471=EDGE_CURVE('',#4647,#4643,#2476,.T.);
+-#8483=EDGE_CURVE('',#4644,#4643,#2490,.T.);
+-#8498=EDGE_CURVE('',#4651,#4652,#2495,.T.);
+-#8500=EDGE_CURVE('',#4652,#4651,#2500,.T.);
+-#8511=EDGE_CURVE('',#4652,#4624,#2508,.T.);
+-#8514=EDGE_CURVE('',#4651,#4623,#2504,.T.);
+-#8537=EDGE_CURVE('',#4660,#4656,#2516,.T.);
+-#8539=EDGE_CURVE('',#4655,#4656,#2521,.T.);
+-#8541=EDGE_CURVE('',#4659,#4655,#2512,.T.);
+-#8553=EDGE_CURVE('',#4656,#4655,#2526,.T.);
+-#8568=EDGE_CURVE('',#4663,#4664,#2531,.T.);
+-#8570=EDGE_CURVE('',#4664,#4663,#2536,.T.);
+-#8581=EDGE_CURVE('',#4664,#4636,#2544,.T.);
+-#8584=EDGE_CURVE('',#4663,#4635,#2540,.T.);
+-#8607=EDGE_CURVE('',#4672,#4668,#2552,.T.);
+-#8609=EDGE_CURVE('',#4667,#4668,#2557,.T.);
+-#8611=EDGE_CURVE('',#4671,#4667,#2548,.T.);
+-#8623=EDGE_CURVE('',#4668,#4667,#2562,.T.);
+-#8638=EDGE_CURVE('',#4675,#4676,#2567,.T.);
+-#8640=EDGE_CURVE('',#4676,#4675,#2572,.T.);
+-#8651=EDGE_CURVE('',#4676,#4628,#2580,.T.);
+-#8654=EDGE_CURVE('',#4675,#4627,#2576,.T.);
+-#8677=EDGE_CURVE('',#4684,#4680,#2588,.T.);
+-#8679=EDGE_CURVE('',#4679,#4680,#2593,.T.);
+-#8681=EDGE_CURVE('',#4683,#4679,#2584,.T.);
+-#8693=EDGE_CURVE('',#4680,#4679,#2598,.T.);
+-#8708=EDGE_CURVE('',#4687,#4688,#2603,.T.);
+-#8710=EDGE_CURVE('',#4688,#4687,#2608,.T.);
+-#8721=EDGE_CURVE('',#4688,#4632,#2616,.T.);
+-#8724=EDGE_CURVE('',#4687,#4631,#2612,.T.);
+-#8747=EDGE_CURVE('',#4696,#4692,#2624,.T.);
+-#8749=EDGE_CURVE('',#4691,#4692,#2629,.T.);
+-#8751=EDGE_CURVE('',#4695,#4691,#2620,.T.);
+-#8763=EDGE_CURVE('',#4692,#4691,#2634,.T.);
+-#8778=EDGE_CURVE('',#4699,#4700,#2639,.T.);
+-#8780=EDGE_CURVE('',#4700,#4699,#2644,.T.);
+-#8791=EDGE_CURVE('',#4700,#4640,#2652,.T.);
+-#8794=EDGE_CURVE('',#4699,#4639,#2648,.T.);
+-#8817=EDGE_CURVE('',#4832,#4828,#2660,.T.);
+-#8819=EDGE_CURVE('',#4827,#4828,#2665,.T.);
+-#8821=EDGE_CURVE('',#4831,#4827,#2656,.T.);
+-#8833=EDGE_CURVE('',#4828,#4827,#2670,.T.);
+-#8848=EDGE_CURVE('',#4835,#4836,#2675,.T.);
+-#8850=EDGE_CURVE('',#4836,#4835,#2680,.T.);
+-#8861=EDGE_CURVE('',#4836,#4824,#2688,.T.);
+-#8864=EDGE_CURVE('',#4835,#4823,#2684,.T.);
+-#8887=EDGE_CURVE('',#4864,#4860,#2696,.T.);
+-#8889=EDGE_CURVE('',#4859,#4860,#2701,.T.);
+-#8891=EDGE_CURVE('',#4863,#4859,#2692,.T.);
+-#8903=EDGE_CURVE('',#4860,#4859,#2706,.T.);
+-#8918=EDGE_CURVE('',#4867,#4868,#2711,.T.);
+-#8920=EDGE_CURVE('',#4868,#4867,#2716,.T.);
+-#8931=EDGE_CURVE('',#4868,#4840,#2724,.T.);
+-#8934=EDGE_CURVE('',#4867,#4839,#2720,.T.);
+-#8957=EDGE_CURVE('',#4876,#4872,#2732,.T.);
+-#8959=EDGE_CURVE('',#4871,#4872,#2737,.T.);
+-#8961=EDGE_CURVE('',#4875,#4871,#2728,.T.);
+-#8973=EDGE_CURVE('',#4872,#4871,#2742,.T.);
+-#8988=EDGE_CURVE('',#4879,#4880,#2747,.T.);
+-#8990=EDGE_CURVE('',#4880,#4879,#2752,.T.);
+-#9001=EDGE_CURVE('',#4880,#4844,#2760,.T.);
+-#9004=EDGE_CURVE('',#4879,#4843,#2756,.T.);
+-#9027=EDGE_CURVE('',#4888,#4884,#2768,.T.);
+-#9029=EDGE_CURVE('',#4883,#4884,#2773,.T.);
+-#9031=EDGE_CURVE('',#4887,#4883,#2764,.T.);
+-#9043=EDGE_CURVE('',#4884,#4883,#2778,.T.);
+-#9058=EDGE_CURVE('',#4891,#4892,#2783,.T.);
+-#9060=EDGE_CURVE('',#4892,#4891,#2788,.T.);
+-#9071=EDGE_CURVE('',#4892,#4848,#2796,.T.);
+-#9074=EDGE_CURVE('',#4891,#4847,#2792,.T.);
+-#9097=EDGE_CURVE('',#4900,#4896,#2804,.T.);
+-#9099=EDGE_CURVE('',#4895,#4896,#2809,.T.);
+-#9101=EDGE_CURVE('',#4899,#4895,#2800,.T.);
+-#9113=EDGE_CURVE('',#4896,#4895,#2814,.T.);
+-#9128=EDGE_CURVE('',#4903,#4904,#2819,.T.);
+-#9130=EDGE_CURVE('',#4904,#4903,#2824,.T.);
+-#9141=EDGE_CURVE('',#4904,#4852,#2832,.T.);
+-#9144=EDGE_CURVE('',#4903,#4851,#2828,.T.);
+-#9167=EDGE_CURVE('',#4912,#4908,#2840,.T.);
+-#9169=EDGE_CURVE('',#4907,#4908,#2845,.T.);
+-#9171=EDGE_CURVE('',#4911,#4907,#2836,.T.);
+-#9183=EDGE_CURVE('',#4908,#4907,#2850,.T.);
+-#9198=EDGE_CURVE('',#4915,#4916,#2855,.T.);
+-#9200=EDGE_CURVE('',#4916,#4915,#2860,.T.);
+-#9211=EDGE_CURVE('',#4916,#4856,#2868,.T.);
+-#9214=EDGE_CURVE('',#4915,#4855,#2864,.T.);
+-#9238=EDGE_CURVE('',#4942,#4937,#2872,.T.);
+-#9254=EDGE_CURVE('',#4943,#4944,#2882,.T.);
+-#9256=EDGE_CURVE('',#4944,#4943,#2892,.T.);
+-#9266=EDGE_CURVE('',#4943,#4575,#2900,.T.);
+-#9269=EDGE_CURVE('',#4576,#4944,#2896,.T.);
+-#9271=EDGE_CURVE('',#4575,#4576,#2905,.T.);
+-#9284=EDGE_CURVE('',#4576,#4575,#2910,.T.);
+-#9298=EDGE_CURVE('',#4579,#4580,#2915,.T.);
+-#9300=EDGE_CURVE('',#4580,#4579,#2920,.T.);
+-#9311=EDGE_CURVE('',#4580,#4520,#2928,.T.);
+-#9314=EDGE_CURVE('',#4579,#4519,#2924,.T.);
+-#9336=EDGE_CURVE('',#5099,#5100,#2932,.T.);
+-#9338=EDGE_CURVE('',#5100,#5104,#2937,.T.);
+-#9340=EDGE_CURVE('',#5103,#5104,#2941,.T.);
+-#9353=EDGE_CURVE('',#5062,#5064,#2959,.T.);
+-#9355=EDGE_CURVE('',#5100,#5062,#3044,.T.);
+-#9365=EDGE_CURVE('',#5059,#5060,#2950,.T.);
+-#9367=EDGE_CURVE('',#5059,#5062,#2955,.T.);
+-#9381=EDGE_CURVE('',#5070,#5072,#2977,.T.);
+-#9383=EDGE_CURVE('',#5059,#5070,#3048,.T.);
+-#9393=EDGE_CURVE('',#5067,#5068,#2968,.T.);
+-#9395=EDGE_CURVE('',#5067,#5070,#2973,.T.);
+-#9409=EDGE_CURVE('',#5094,#5096,#2995,.T.);
+-#9411=EDGE_CURVE('',#5067,#5094,#3052,.T.);
+-#9421=EDGE_CURVE('',#5091,#5092,#2986,.T.);
+-#9423=EDGE_CURVE('',#5091,#5094,#2991,.T.);
+-#9435=EDGE_CURVE('',#5086,#5088,#3013,.T.);
+-#9437=EDGE_CURVE('',#5091,#5086,#3056,.T.);
+-#9449=EDGE_CURVE('',#5083,#5084,#3004,.T.);
+-#9451=EDGE_CURVE('',#5083,#5086,#3009,.T.);
+-#9463=EDGE_CURVE('',#5078,#5080,#3031,.T.);
+-#9465=EDGE_CURVE('',#5083,#5078,#3060,.T.);
+-#9477=EDGE_CURVE('',#5075,#5076,#3022,.T.);
+-#9479=EDGE_CURVE('',#5075,#5078,#3027,.T.);
+-#9492=EDGE_CURVE('',#5075,#5104,#3040,.T.);
+-#9525=EDGE_CURVE('',#4755,#4751,#3064,.T.);
+-#9527=EDGE_CURVE('',#4751,#4752,#3073,.T.);
+-#9529=EDGE_CURVE('',#4756,#4752,#3068,.T.);
+-#9541=EDGE_CURVE('',#4752,#4751,#3078,.T.);
+-#9563=EDGE_CURVE('',#4763,#4759,#3082,.T.);
+-#9565=EDGE_CURVE('',#4759,#4760,#3091,.T.);
+-#9567=EDGE_CURVE('',#4764,#4760,#3086,.T.);
+-#9579=EDGE_CURVE('',#4760,#4759,#3096,.T.);
+-#9601=EDGE_CURVE('',#4732,#4728,#3104,.T.);
+-#9603=EDGE_CURVE('',#4727,#4728,#3109,.T.);
+-#9605=EDGE_CURVE('',#4731,#4727,#3100,.T.);
+-#9617=EDGE_CURVE('',#4728,#4727,#3114,.T.);
+-#9639=EDGE_CURVE('',#4724,#4720,#3122,.T.);
+-#9641=EDGE_CURVE('',#4719,#4720,#3127,.T.);
+-#9643=EDGE_CURVE('',#4723,#4719,#3118,.T.);
+-#9655=EDGE_CURVE('',#4720,#4719,#3132,.T.);
+-#9677=EDGE_CURVE('',#4716,#4712,#3140,.T.);
+-#9679=EDGE_CURVE('',#4711,#4712,#3145,.T.);
+-#9681=EDGE_CURVE('',#4715,#4711,#3136,.T.);
+-#9693=EDGE_CURVE('',#4712,#4711,#3150,.T.);
+-#9714=EDGE_CURVE('',#4947,#4948,#3154,.T.);
+-#9716=EDGE_CURVE('',#4948,#4960,#3238,.T.);
+-#9718=EDGE_CURVE('',#4959,#4960,#3217,.T.);
+-#9731=EDGE_CURVE('',#4951,#4952,#3163,.T.);
+-#9733=EDGE_CURVE('',#4952,#4948,#3168,.T.);
+-#9745=EDGE_CURVE('',#4971,#4972,#3172,.T.);
+-#9747=EDGE_CURVE('',#4972,#4952,#3226,.T.);
+-#9759=EDGE_CURVE('',#4975,#4976,#3181,.T.);
+-#9761=EDGE_CURVE('',#4976,#4972,#3186,.T.);
+-#9771=EDGE_CURVE('',#4963,#4964,#3190,.T.);
+-#9773=EDGE_CURVE('',#4964,#4976,#3230,.T.);
+-#9787=EDGE_CURVE('',#4967,#4968,#3199,.T.);
+-#9789=EDGE_CURVE('',#4968,#4964,#3204,.T.);
+-#9799=EDGE_CURVE('',#4955,#4956,#3208,.T.);
+-#9801=EDGE_CURVE('',#4956,#4968,#3234,.T.);
+-#9816=EDGE_CURVE('',#4960,#4956,#3222,.T.);
+-#9842=EDGE_CURVE('',#5035,#5036,#3242,.T.);
+-#9845=EDGE_CURVE('',#5046,#5048,#3321,.T.);
+-#9847=EDGE_CURVE('',#5035,#5046,#3264,.T.);
+-#9858=EDGE_CURVE('',#5035,#5038,#3247,.T.);
+-#9860=EDGE_CURVE('',#5038,#5040,#3251,.T.);
+-#9871=EDGE_CURVE('',#5027,#5030,#3281,.T.);
+-#9873=EDGE_CURVE('',#5027,#5038,#3260,.T.);
+-#9877=EDGE_CURVE('',#5043,#5046,#3317,.T.);
+-#9879=EDGE_CURVE('',#5043,#5054,#3268,.T.);
+-#9881=EDGE_CURVE('',#5051,#5054,#3299,.T.);
+-#9883=EDGE_CURVE('',#5051,#5030,#3272,.T.);
+-#9893=EDGE_CURVE('',#5027,#5028,#3276,.T.);
+-#9896=EDGE_CURVE('',#5030,#5032,#3285,.T.);
+-#9921=EDGE_CURVE('',#5051,#5052,#3294,.T.);
+-#9934=EDGE_CURVE('',#5054,#5056,#3303,.T.);
+-#9945=EDGE_CURVE('',#5043,#5044,#3312,.T.);
+-#9971=EDGE_CURVE('',#5121,#5107,#3330,.T.);
+-#9973=EDGE_CURVE('',#5107,#5108,#3346,.T.);
+-#9975=EDGE_CURVE('',#5122,#5108,#3342,.T.);
+-#9986=EDGE_CURVE('',#5126,#5112,#3334,.T.);
+-#9988=EDGE_CURVE('',#5112,#5107,#3351,.T.);
+-#10000=EDGE_CURVE('',#5124,#5110,#3338,.T.);
+-#10002=EDGE_CURVE('',#5110,#5112,#3355,.T.);
+-#10015=EDGE_CURVE('',#5108,#5110,#3360,.T.);
+-#10038=EDGE_CURVE('',#5140,#5136,#3397,.T.);
+-#10040=EDGE_CURVE('',#5118,#5140,#3365,.T.);
+-#10042=EDGE_CURVE('',#5116,#5118,#3370,.T.);
+-#10044=EDGE_CURVE('',#5115,#5116,#3375,.T.);
+-#10046=EDGE_CURVE('',#5136,#5115,#3379,.T.);
+-#10056=EDGE_CURVE('',#5135,#5136,#3383,.T.);
+-#10059=EDGE_CURVE('',#5139,#5140,#3392,.T.);
+-#10072=EDGE_CURVE('',#5129,#5115,#3401,.T.);
+-#10086=EDGE_CURVE('',#5130,#5116,#3405,.T.);
+-#10099=EDGE_CURVE('',#5132,#5118,#3409,.T.);
+-#10121=EDGE_CURVE('',#5183,#5184,#3413,.T.);
+-#10124=EDGE_CURVE('',#5188,#5186,#3422,.T.);
+-#10126=EDGE_CURVE('',#5188,#5183,#3427,.T.);
+-#10137=EDGE_CURVE('',#5183,#5143,#3444,.T.);
+-#10139=EDGE_CURVE('',#5147,#5143,#3486,.T.);
+-#10150=EDGE_CURVE('',#5191,#5172,#3431,.T.);
+-#10152=EDGE_CURVE('',#5196,#5191,#3478,.T.);
+-#10154=EDGE_CURVE('',#5144,#5196,#3435,.T.);
+-#10156=EDGE_CURVE('',#5143,#5144,#3440,.T.);
+-#10160=EDGE_CURVE('',#5160,#5188,#3448,.T.);
+-#10162=EDGE_CURVE('',#5164,#5160,#3558,.T.);
+-#10164=EDGE_CURVE('',#5152,#5164,#3452,.T.);
+-#10166=EDGE_CURVE('',#5156,#5152,#3540,.T.);
+-#10168=EDGE_CURVE('',#5176,#5156,#3456,.T.);
+-#10170=EDGE_CURVE('',#5180,#5176,#3522,.T.);
+-#10172=EDGE_CURVE('',#5168,#5180,#3460,.T.);
+-#10174=EDGE_CURVE('',#5172,#5168,#3504,.T.);
+-#10184=EDGE_CURVE('',#5191,#5192,#3464,.T.);
+-#10187=EDGE_CURVE('',#5171,#5172,#3499,.T.);
+-#10200=EDGE_CURVE('',#5196,#5194,#3473,.T.);
+-#10213=EDGE_CURVE('',#5148,#5144,#3482,.T.);
+-#10236=EDGE_CURVE('',#5167,#5168,#3490,.T.);
+-#10251=EDGE_CURVE('',#5179,#5180,#3517,.T.);
+-#10262=EDGE_CURVE('',#5175,#5176,#3508,.T.);
+-#10275=EDGE_CURVE('',#5155,#5156,#3535,.T.);
+-#10288=EDGE_CURVE('',#5151,#5152,#3526,.T.);
+-#10303=EDGE_CURVE('',#5163,#5164,#3553,.T.);
+-#10314=EDGE_CURVE('',#5159,#5160,#3544,.T.);
+-#10340=EDGE_CURVE('',#5207,#5199,#3562,.T.);
+-#10342=EDGE_CURVE('',#5199,#5200,#3578,.T.);
+-#10344=EDGE_CURVE('',#5208,#5200,#3574,.T.);
+-#10355=EDGE_CURVE('',#5212,#5204,#3566,.T.);
+-#10357=EDGE_CURVE('',#5204,#5199,#3583,.T.);
+-#10369=EDGE_CURVE('',#5210,#5202,#3570,.T.);
+-#10371=EDGE_CURVE('',#5202,#5204,#3587,.T.);
+-#10384=EDGE_CURVE('',#5200,#5202,#3592,.T.);
+-#10408=EDGE_CURVE('',#5223,#5215,#3596,.T.);
+-#10410=EDGE_CURVE('',#5215,#5216,#3612,.T.);
+-#10412=EDGE_CURVE('',#5224,#5216,#3608,.T.);
+-#10423=EDGE_CURVE('',#5228,#5220,#3600,.T.);
+-#10425=EDGE_CURVE('',#5220,#5215,#3617,.T.);
+-#10437=EDGE_CURVE('',#5226,#5218,#3604,.T.);
+-#10439=EDGE_CURVE('',#5218,#5220,#3621,.T.);
+-#10452=EDGE_CURVE('',#5216,#5218,#3626,.T.);
+-#10476=EDGE_CURVE('',#5239,#5231,#3630,.T.);
+-#10478=EDGE_CURVE('',#5231,#5232,#3646,.T.);
+-#10480=EDGE_CURVE('',#5240,#5232,#3642,.T.);
+-#10491=EDGE_CURVE('',#5244,#5236,#3634,.T.);
+-#10493=EDGE_CURVE('',#5236,#5231,#3651,.T.);
+-#10505=EDGE_CURVE('',#5242,#5234,#3638,.T.);
+-#10507=EDGE_CURVE('',#5234,#5236,#3655,.T.);
+-#10520=EDGE_CURVE('',#5232,#5234,#3660,.T.);
+-#10544=EDGE_CURVE('',#5255,#5247,#3664,.T.);
+-#10546=EDGE_CURVE('',#5247,#5248,#3680,.T.);
+-#10548=EDGE_CURVE('',#5256,#5248,#3676,.T.);
+-#10559=EDGE_CURVE('',#5260,#5252,#3668,.T.);
+-#10561=EDGE_CURVE('',#5252,#5247,#3685,.T.);
+-#10573=EDGE_CURVE('',#5258,#5250,#3672,.T.);
+-#10575=EDGE_CURVE('',#5250,#5252,#3689,.T.);
+-#10588=EDGE_CURVE('',#5248,#5250,#3694,.T.);
+-#10612=EDGE_CURVE('',#5278,#5264,#3702,.T.);
+-#10614=EDGE_CURVE('',#5263,#5264,#3714,.T.);
+-#10616=EDGE_CURVE('',#5277,#5263,#3698,.T.);
+-#10627=EDGE_CURVE('',#5280,#5266,#3706,.T.);
+-#10629=EDGE_CURVE('',#5264,#5266,#3719,.T.);
+-#10641=EDGE_CURVE('',#5282,#5268,#3710,.T.);
+-#10643=EDGE_CURVE('',#5266,#5268,#3723,.T.);
+-#10656=EDGE_CURVE('',#5268,#5263,#3728,.T.);
+-#10679=EDGE_CURVE('',#5480,#5476,#3765,.T.);
+-#10681=EDGE_CURVE('',#5480,#5271,#3732,.T.);
+-#10683=EDGE_CURVE('',#5271,#5272,#3737,.T.);
+-#10685=EDGE_CURVE('',#5272,#5274,#3742,.T.);
+-#10687=EDGE_CURVE('',#5274,#5476,#3747,.T.);
+-#10697=EDGE_CURVE('',#5475,#5476,#3751,.T.);
+-#10700=EDGE_CURVE('',#5479,#5480,#3760,.T.);
+-#10713=EDGE_CURVE('',#5288,#5274,#3769,.T.);
+-#10727=EDGE_CURVE('',#5286,#5272,#3773,.T.);
+-#10740=EDGE_CURVE('',#5285,#5271,#3777,.T.);
+-#10763=EDGE_CURVE('',#5306,#5292,#3785,.T.);
+-#10765=EDGE_CURVE('',#5291,#5292,#3797,.T.);
+-#10767=EDGE_CURVE('',#5305,#5291,#3781,.T.);
+-#10778=EDGE_CURVE('',#5308,#5294,#3789,.T.);
+-#10780=EDGE_CURVE('',#5292,#5294,#3802,.T.);
+-#10792=EDGE_CURVE('',#5310,#5296,#3793,.T.);
+-#10794=EDGE_CURVE('',#5294,#5296,#3806,.T.);
+-#10807=EDGE_CURVE('',#5296,#5291,#3811,.T.);
+-#10830=EDGE_CURVE('',#5472,#5468,#3848,.T.);
+-#10832=EDGE_CURVE('',#5472,#5299,#3815,.T.);
+-#10834=EDGE_CURVE('',#5299,#5300,#3820,.T.);
+-#10836=EDGE_CURVE('',#5300,#5302,#3825,.T.);
+-#10838=EDGE_CURVE('',#5302,#5468,#3830,.T.);
+-#10848=EDGE_CURVE('',#5467,#5468,#3834,.T.);
+-#10851=EDGE_CURVE('',#5471,#5472,#3843,.T.);
+-#10864=EDGE_CURVE('',#5316,#5302,#3852,.T.);
+-#10878=EDGE_CURVE('',#5314,#5300,#3856,.T.);
+-#10891=EDGE_CURVE('',#5313,#5299,#3860,.T.);
+-#10914=EDGE_CURVE('',#5336,#5328,#3868,.T.);
+-#10916=EDGE_CURVE('',#5327,#5328,#3880,.T.);
+-#10918=EDGE_CURVE('',#5335,#5327,#3864,.T.);
+-#10929=EDGE_CURVE('',#5338,#5330,#3872,.T.);
+-#10931=EDGE_CURVE('',#5328,#5330,#3885,.T.);
+-#10943=EDGE_CURVE('',#5340,#5332,#3876,.T.);
+-#10945=EDGE_CURVE('',#5330,#5332,#3889,.T.);
+-#10958=EDGE_CURVE('',#5332,#5327,#3894,.T.);
+-#10982=EDGE_CURVE('',#5352,#5344,#3902,.T.);
+-#10984=EDGE_CURVE('',#5343,#5344,#3914,.T.);
+-#10986=EDGE_CURVE('',#5351,#5343,#3898,.T.);
+-#10997=EDGE_CURVE('',#5354,#5346,#3906,.T.);
+-#10999=EDGE_CURVE('',#5344,#5346,#3919,.T.);
+-#11011=EDGE_CURVE('',#5356,#5348,#3910,.T.);
+-#11013=EDGE_CURVE('',#5346,#5348,#3923,.T.);
+-#11026=EDGE_CURVE('',#5348,#5343,#3928,.T.);
+-#11050=EDGE_CURVE('',#5368,#5360,#3936,.T.);
+-#11052=EDGE_CURVE('',#5359,#5360,#3948,.T.);
+-#11054=EDGE_CURVE('',#5367,#5359,#3932,.T.);
+-#11065=EDGE_CURVE('',#5370,#5362,#3940,.T.);
+-#11067=EDGE_CURVE('',#5360,#5362,#3953,.T.);
+-#11079=EDGE_CURVE('',#5372,#5364,#3944,.T.);
+-#11081=EDGE_CURVE('',#5362,#5364,#3957,.T.);
+-#11094=EDGE_CURVE('',#5364,#5359,#3962,.T.);
+-#11118=EDGE_CURVE('',#5384,#5376,#3970,.T.);
+-#11120=EDGE_CURVE('',#5375,#5376,#3982,.T.);
+-#11122=EDGE_CURVE('',#5383,#5375,#3966,.T.);
+-#11133=EDGE_CURVE('',#5386,#5378,#3974,.T.);
+-#11135=EDGE_CURVE('',#5376,#5378,#3987,.T.);
+-#11147=EDGE_CURVE('',#5388,#5380,#3978,.T.);
+-#11149=EDGE_CURVE('',#5378,#5380,#3991,.T.);
+-#11162=EDGE_CURVE('',#5380,#5375,#3996,.T.);
+-#11186=EDGE_CURVE('',#5405,#5391,#4000,.T.);
+-#11188=EDGE_CURVE('',#5391,#5392,#4016,.T.);
+-#11190=EDGE_CURVE('',#5406,#5392,#4012,.T.);
+-#11201=EDGE_CURVE('',#5410,#5396,#4004,.T.);
+-#11203=EDGE_CURVE('',#5396,#5391,#4021,.T.);
+-#11215=EDGE_CURVE('',#5408,#5394,#4008,.T.);
+-#11217=EDGE_CURVE('',#5394,#5396,#4025,.T.);
+-#11230=EDGE_CURVE('',#5392,#5394,#4030,.T.);
+-#11253=EDGE_CURVE('',#5488,#5484,#4067,.T.);
+-#11255=EDGE_CURVE('',#5402,#5488,#4035,.T.);
+-#11257=EDGE_CURVE('',#5400,#5402,#4040,.T.);
+-#11259=EDGE_CURVE('',#5399,#5400,#4045,.T.);
+-#11261=EDGE_CURVE('',#5484,#5399,#4049,.T.);
+-#11271=EDGE_CURVE('',#5483,#5484,#4053,.T.);
+-#11274=EDGE_CURVE('',#5487,#5488,#4062,.T.);
+-#11287=EDGE_CURVE('',#5413,#5399,#4071,.T.);
+-#11301=EDGE_CURVE('',#5414,#5400,#4075,.T.);
+-#11314=EDGE_CURVE('',#5416,#5402,#4079,.T.);
+-#11336=EDGE_CURVE('',#5451,#5452,#4083,.T.);
+-#11338=EDGE_CURVE('',#5452,#5456,#4088,.T.);
+-#11340=EDGE_CURVE('',#5455,#5456,#4092,.T.);
+-#11353=EDGE_CURVE('',#5422,#5424,#4110,.T.);
+-#11355=EDGE_CURVE('',#5452,#5422,#4216,.T.);
+-#11365=EDGE_CURVE('',#5419,#5420,#4101,.T.);
+-#11367=EDGE_CURVE('',#5419,#5422,#4106,.T.);
+-#11381=EDGE_CURVE('',#5430,#5432,#4128,.T.);
+-#11383=EDGE_CURVE('',#5419,#5430,#4220,.T.);
+-#11393=EDGE_CURVE('',#5427,#5428,#4119,.T.);
+-#11395=EDGE_CURVE('',#5427,#5430,#4124,.T.);
+-#11409=EDGE_CURVE('',#5446,#5448,#4146,.T.);
+-#11411=EDGE_CURVE('',#5427,#5446,#4224,.T.);
+-#11421=EDGE_CURVE('',#5443,#5444,#4137,.T.);
+-#11423=EDGE_CURVE('',#5443,#5446,#4142,.T.);
+-#11435=EDGE_CURVE('',#5438,#5440,#4164,.T.);
+-#11437=EDGE_CURVE('',#5443,#5438,#4228,.T.);
+-#11449=EDGE_CURVE('',#5435,#5436,#4155,.T.);
+-#11451=EDGE_CURVE('',#5435,#5438,#4160,.T.);
+-#11463=EDGE_CURVE('',#5463,#5464,#4182,.T.);
+-#11465=EDGE_CURVE('',#5435,#5464,#4199,.T.);
+-#11477=EDGE_CURVE('',#5459,#5460,#4173,.T.);
+-#11479=EDGE_CURVE('',#5460,#5464,#4178,.T.);
+-#11493=EDGE_CURVE('',#5323,#5319,#4191,.T.);
+-#11495=EDGE_CURVE('',#5460,#5319,#4203,.T.);
+-#11506=EDGE_CURVE('',#5324,#5320,#4195,.T.);
+-#11508=EDGE_CURVE('',#5319,#5320,#4208,.T.);
+-#11520=EDGE_CURVE('',#5320,#5456,#4212,.T.);
+-#11562=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11550),#11561);
+-#11569=PRODUCT_DEFINITION('design','',#11568,#11565);
+-#11570=PRODUCT_DEFINITION_SHAPE('','SHAPE FOR PROESOURCE.',#11569);
+-#11571=SHAPE_DEFINITION_REPRESENTATION(#11570,#11562);
+-ENDSEC;
+-END-ISO-10303-21;
++ISO-10303-21;
++HEADER;
++FILE_DESCRIPTION((''),'2;1');
++FILE_NAME('PROESOURCE','2002-11-04T',('user-01'),(''),
++'PRO/ENGINEER BY PARAMETRIC TECHNOLOGY CORPORATION, 2002060',
++'PRO/ENGINEER BY PARAMETRIC TECHNOLOGY CORPORATION, 2002060','');
++FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
++ENDSEC;
++DATA;
++#1=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2=VECTOR('',#1,1.693725393319E1);
++#3=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0));
++#4=LINE('',#3,#2);
++#5=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6=VECTOR('',#5,9.E0);
++#7=CARTESIAN_POINT('',(1.65E1,0.E0,2.5E0));
++#8=LINE('',#7,#6);
++#9=CARTESIAN_POINT('',(1.8E1,0.E0,3.075E1));
++#10=DIRECTION('',(0.E0,-1.E0,0.E0));
++#11=DIRECTION('',(1.E0,0.E0,0.E0));
++#12=AXIS2_PLACEMENT_3D('',#9,#10,#11);
++#14=CARTESIAN_POINT('',(1.8E1,0.E0,3.075E1));
++#15=DIRECTION('',(0.E0,-1.E0,0.E0));
++#16=DIRECTION('',(-1.E0,0.E0,0.E0));
++#17=AXIS2_PLACEMENT_3D('',#14,#15,#16);
++#19=CARTESIAN_POINT('',(1.8E1,0.E0,1.25E0));
++#20=DIRECTION('',(0.E0,-1.E0,0.E0));
++#21=DIRECTION('',(1.E0,0.E0,0.E0));
++#22=AXIS2_PLACEMENT_3D('',#19,#20,#21);
++#24=CARTESIAN_POINT('',(1.8E1,0.E0,1.25E0));
++#25=DIRECTION('',(0.E0,-1.E0,0.E0));
++#26=DIRECTION('',(-1.E0,0.E0,0.E0));
++#27=AXIS2_PLACEMENT_3D('',#24,#25,#26);
++#29=CARTESIAN_POINT('',(1.2E1,0.E0,3.075E1));
++#30=DIRECTION('',(0.E0,-1.E0,0.E0));
++#31=DIRECTION('',(1.E0,0.E0,0.E0));
++#32=AXIS2_PLACEMENT_3D('',#29,#30,#31);
++#34=CARTESIAN_POINT('',(1.2E1,0.E0,3.075E1));
++#35=DIRECTION('',(0.E0,-1.E0,0.E0));
++#36=DIRECTION('',(-1.E0,0.E0,0.E0));
++#37=AXIS2_PLACEMENT_3D('',#34,#35,#36);
++#39=CARTESIAN_POINT('',(6.E0,0.E0,3.075E1));
++#40=DIRECTION('',(0.E0,-1.E0,0.E0));
++#41=DIRECTION('',(1.E0,0.E0,0.E0));
++#42=AXIS2_PLACEMENT_3D('',#39,#40,#41);
++#44=CARTESIAN_POINT('',(6.E0,0.E0,3.075E1));
++#45=DIRECTION('',(0.E0,-1.E0,0.E0));
++#46=DIRECTION('',(-1.E0,0.E0,0.E0));
++#47=AXIS2_PLACEMENT_3D('',#44,#45,#46);
++#49=CARTESIAN_POINT('',(1.2E1,0.E0,1.25E0));
++#50=DIRECTION('',(0.E0,-1.E0,0.E0));
++#51=DIRECTION('',(1.E0,0.E0,0.E0));
++#52=AXIS2_PLACEMENT_3D('',#49,#50,#51);
++#54=CARTESIAN_POINT('',(1.2E1,0.E0,1.25E0));
++#55=DIRECTION('',(0.E0,-1.E0,0.E0));
++#56=DIRECTION('',(-1.E0,0.E0,0.E0));
++#57=AXIS2_PLACEMENT_3D('',#54,#55,#56);
++#59=CARTESIAN_POINT('',(2.2875E1,0.E0,2.4E1));
++#60=DIRECTION('',(0.E0,-1.E0,0.E0));
++#61=DIRECTION('',(1.E0,0.E0,0.E0));
++#62=AXIS2_PLACEMENT_3D('',#59,#60,#61);
++#64=CARTESIAN_POINT('',(2.2875E1,0.E0,2.4E1));
++#65=DIRECTION('',(0.E0,-1.E0,0.E0));
++#66=DIRECTION('',(-1.E0,0.E0,0.E0));
++#67=AXIS2_PLACEMENT_3D('',#64,#65,#66);
++#69=CARTESIAN_POINT('',(2.2875E1,0.E0,1.8E1));
++#70=DIRECTION('',(0.E0,-1.E0,0.E0));
++#71=DIRECTION('',(1.E0,0.E0,0.E0));
++#72=AXIS2_PLACEMENT_3D('',#69,#70,#71);
++#74=CARTESIAN_POINT('',(2.2875E1,0.E0,1.8E1));
++#75=DIRECTION('',(0.E0,-1.E0,0.E0));
++#76=DIRECTION('',(-1.E0,0.E0,0.E0));
++#77=AXIS2_PLACEMENT_3D('',#74,#75,#76);
++#79=CARTESIAN_POINT('',(2.2875E1,0.E0,1.2E1));
++#80=DIRECTION('',(0.E0,-1.E0,0.E0));
++#81=DIRECTION('',(1.E0,0.E0,0.E0));
++#82=AXIS2_PLACEMENT_3D('',#79,#80,#81);
++#84=CARTESIAN_POINT('',(2.2875E1,0.E0,1.2E1));
++#85=DIRECTION('',(0.E0,-1.E0,0.E0));
++#86=DIRECTION('',(-1.E0,0.E0,0.E0));
++#87=AXIS2_PLACEMENT_3D('',#84,#85,#86);
++#89=CARTESIAN_POINT('',(2.2875E1,0.E0,6.E0));
++#90=DIRECTION('',(0.E0,-1.E0,0.E0));
++#91=DIRECTION('',(1.E0,0.E0,0.E0));
++#92=AXIS2_PLACEMENT_3D('',#89,#90,#91);
++#94=CARTESIAN_POINT('',(2.2875E1,0.E0,6.E0));
++#95=DIRECTION('',(0.E0,-1.E0,0.E0));
++#96=DIRECTION('',(-1.E0,0.E0,0.E0));
++#97=AXIS2_PLACEMENT_3D('',#94,#95,#96);
++#99=CARTESIAN_POINT('',(1.125E0,0.E0,2.4E1));
++#100=DIRECTION('',(0.E0,-1.E0,0.E0));
++#101=DIRECTION('',(1.E0,0.E0,0.E0));
++#102=AXIS2_PLACEMENT_3D('',#99,#100,#101);
++#104=CARTESIAN_POINT('',(1.125E0,0.E0,2.4E1));
++#105=DIRECTION('',(0.E0,-1.E0,0.E0));
++#106=DIRECTION('',(-1.E0,0.E0,0.E0));
++#107=AXIS2_PLACEMENT_3D('',#104,#105,#106);
++#109=CARTESIAN_POINT('',(1.125E0,0.E0,1.8E1));
++#110=DIRECTION('',(0.E0,-1.E0,0.E0));
++#111=DIRECTION('',(1.E0,0.E0,0.E0));
++#112=AXIS2_PLACEMENT_3D('',#109,#110,#111);
++#114=CARTESIAN_POINT('',(1.125E0,0.E0,1.8E1));
++#115=DIRECTION('',(0.E0,-1.E0,0.E0));
++#116=DIRECTION('',(-1.E0,0.E0,0.E0));
++#117=AXIS2_PLACEMENT_3D('',#114,#115,#116);
++#119=CARTESIAN_POINT('',(1.125E0,0.E0,1.2E1));
++#120=DIRECTION('',(0.E0,-1.E0,0.E0));
++#121=DIRECTION('',(1.E0,0.E0,0.E0));
++#122=AXIS2_PLACEMENT_3D('',#119,#120,#121);
++#124=CARTESIAN_POINT('',(1.125E0,0.E0,1.2E1));
++#125=DIRECTION('',(0.E0,-1.E0,0.E0));
++#126=DIRECTION('',(-1.E0,0.E0,0.E0));
++#127=AXIS2_PLACEMENT_3D('',#124,#125,#126);
++#129=DIRECTION('',(1.E0,0.E0,0.E0));
++#130=VECTOR('',#129,1.E0);
++#131=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0));
++#132=LINE('',#131,#130);
++#133=DIRECTION('',(0.E0,0.E0,-1.E0));
++#134=VECTOR('',#133,3.E0);
++#135=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0));
++#136=LINE('',#135,#134);
++#137=DIRECTION('',(-1.E0,0.E0,0.E0));
++#138=VECTOR('',#137,1.6E1);
++#139=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
++#140=LINE('',#139,#138);
++#141=DIRECTION('',(0.E0,0.E0,1.E0));
++#142=VECTOR('',#141,3.E0);
++#143=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
++#144=LINE('',#143,#142);
++#145=DIRECTION('',(-1.E0,0.E0,0.E0));
++#146=VECTOR('',#145,1.E0);
++#147=CARTESIAN_POINT('',(-1.E0,0.E0,8.E0));
++#148=LINE('',#147,#146);
++#149=DIRECTION('',(0.E0,0.E0,1.E0));
++#150=VECTOR('',#149,3.75E0);
++#151=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0));
++#152=LINE('',#151,#150);
++#153=DIRECTION('',(1.E0,0.E0,0.E0));
++#154=VECTOR('',#153,5.E-1);
++#155=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
++#156=LINE('',#155,#154);
++#157=DIRECTION('',(0.E0,0.E0,1.E0));
++#158=VECTOR('',#157,1.475E1);
++#159=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1));
++#160=LINE('',#159,#158);
++#161=DIRECTION('',(1.E0,0.E0,0.E0));
++#162=VECTOR('',#161,1.6E1);
++#163=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
++#164=LINE('',#163,#162);
++#165=DIRECTION('',(0.E0,0.E0,-1.E0));
++#166=VECTOR('',#165,1.475E1);
++#167=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
++#168=LINE('',#167,#166);
++#169=DIRECTION('',(-1.E0,0.E0,0.E0));
++#170=VECTOR('',#169,5.E-1);
++#171=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1));
++#172=LINE('',#171,#170);
++#173=DIRECTION('',(0.E0,0.E0,1.E0));
++#174=VECTOR('',#173,3.75E0);
++#175=CARTESIAN_POINT('',(2.6E1,0.E0,8.E0));
++#176=LINE('',#175,#174);
++#177=CARTESIAN_POINT('',(1.125E0,0.E0,6.E0));
++#178=DIRECTION('',(0.E0,-1.E0,0.E0));
++#179=DIRECTION('',(1.E0,0.E0,0.E0));
++#180=AXIS2_PLACEMENT_3D('',#177,#178,#179);
++#182=CARTESIAN_POINT('',(1.125E0,0.E0,6.E0));
++#183=DIRECTION('',(0.E0,-1.E0,0.E0));
++#184=DIRECTION('',(-1.E0,0.E0,0.E0));
++#185=AXIS2_PLACEMENT_3D('',#182,#183,#184);
++#187=CARTESIAN_POINT('',(6.E0,0.E0,1.25E0));
++#188=DIRECTION('',(0.E0,-1.E0,0.E0));
++#189=DIRECTION('',(1.E0,0.E0,0.E0));
++#190=AXIS2_PLACEMENT_3D('',#187,#188,#189);
++#192=CARTESIAN_POINT('',(6.E0,0.E0,1.25E0));
++#193=DIRECTION('',(0.E0,-1.E0,0.E0));
++#194=DIRECTION('',(-1.E0,0.E0,0.E0));
++#195=AXIS2_PLACEMENT_3D('',#192,#193,#194);
++#197=DIRECTION('',(1.E0,0.E0,0.E0));
++#198=VECTOR('',#197,1.3E1);
++#199=CARTESIAN_POINT('',(5.5E0,0.E0,1.89375E1));
++#200=LINE('',#199,#198);
++#201=DIRECTION('',(0.E0,0.E0,-1.E0));
++#202=VECTOR('',#201,2.5625E0);
++#203=CARTESIAN_POINT('',(2.15E1,0.E0,2.45E1));
++#204=LINE('',#203,#202);
++#205=DIRECTION('',(1.E0,0.E0,0.E0));
++#206=VECTOR('',#205,9.E0);
++#207=CARTESIAN_POINT('',(7.5E0,0.E0,2.95E1));
++#208=LINE('',#207,#206);
++#209=DIRECTION('',(0.E0,0.E0,1.E0));
++#210=VECTOR('',#209,2.5625E0);
++#211=CARTESIAN_POINT('',(2.5E0,0.E0,2.19375E1));
++#212=LINE('',#211,#210);
++#213=DIRECTION('',(0.E0,0.E0,-1.E0));
++#214=VECTOR('',#213,8.125E-1);
++#215=CARTESIAN_POINT('',(2.15E1,0.E0,1.40625E1));
++#216=LINE('',#215,#214);
++#217=DIRECTION('',(-1.E0,0.E0,0.E0));
++#218=VECTOR('',#217,1.3E1);
++#219=CARTESIAN_POINT('',(1.85E1,0.E0,1.70625E1));
++#220=LINE('',#219,#218);
++#221=DIRECTION('',(0.E0,0.E0,1.E0));
++#222=VECTOR('',#221,8.125E-1);
++#223=CARTESIAN_POINT('',(2.5E0,0.E0,1.325E1));
++#224=LINE('',#223,#222);
++#225=DIRECTION('',(1.E0,0.E0,0.E0));
++#226=VECTOR('',#225,1.E0);
++#227=CARTESIAN_POINT('',(3.5E0,0.E0,1.225E1));
++#228=LINE('',#227,#226);
++#229=DIRECTION('',(0.E0,0.E0,-1.E0));
++#230=VECTOR('',#229,7.5E-1);
++#231=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
++#232=LINE('',#231,#230);
++#233=DIRECTION('',(1.E0,0.E0,0.E0));
++#234=VECTOR('',#233,1.2E1);
++#235=CARTESIAN_POINT('',(6.E0,0.E0,1.E1));
++#236=LINE('',#235,#234);
++#237=DIRECTION('',(0.E0,0.E0,-1.E0));
++#238=VECTOR('',#237,7.5E-1);
++#239=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1));
++#240=LINE('',#239,#238);
++#241=DIRECTION('',(-1.E0,0.E0,0.E0));
++#242=VECTOR('',#241,1.E0);
++#243=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1));
++#244=LINE('',#243,#242);
++#245=CARTESIAN_POINT('',(6.E0,0.E0,9.E0));
++#246=DIRECTION('',(0.E0,-1.E0,0.E0));
++#247=DIRECTION('',(1.E0,0.E0,0.E0));
++#248=AXIS2_PLACEMENT_3D('',#245,#246,#247);
++#250=CARTESIAN_POINT('',(6.E0,0.E0,9.E0));
++#251=DIRECTION('',(0.E0,-1.E0,0.E0));
++#252=DIRECTION('',(-1.E0,0.E0,0.E0));
++#253=AXIS2_PLACEMENT_3D('',#250,#251,#252);
++#255=CARTESIAN_POINT('',(1.2E1,0.E0,9.E0));
++#256=DIRECTION('',(0.E0,-1.E0,0.E0));
++#257=DIRECTION('',(1.E0,0.E0,0.E0));
++#258=AXIS2_PLACEMENT_3D('',#255,#256,#257);
++#260=CARTESIAN_POINT('',(1.2E1,0.E0,9.E0));
++#261=DIRECTION('',(0.E0,-1.E0,0.E0));
++#262=DIRECTION('',(-1.E0,0.E0,0.E0));
++#263=AXIS2_PLACEMENT_3D('',#260,#261,#262);
++#265=CARTESIAN_POINT('',(1.8E1,0.E0,9.E0));
++#266=DIRECTION('',(0.E0,-1.E0,0.E0));
++#267=DIRECTION('',(1.E0,0.E0,0.E0));
++#268=AXIS2_PLACEMENT_3D('',#265,#266,#267);
++#270=CARTESIAN_POINT('',(1.8E1,0.E0,9.E0));
++#271=DIRECTION('',(0.E0,-1.E0,0.E0));
++#272=DIRECTION('',(-1.E0,0.E0,0.E0));
++#273=AXIS2_PLACEMENT_3D('',#270,#271,#272);
++#275=CARTESIAN_POINT('',(6.E0,0.E0,1.8E1));
++#276=DIRECTION('',(0.E0,-1.E0,0.E0));
++#277=DIRECTION('',(1.E0,0.E0,0.E0));
++#278=AXIS2_PLACEMENT_3D('',#275,#276,#277);
++#280=CARTESIAN_POINT('',(6.E0,0.E0,1.8E1));
++#281=DIRECTION('',(0.E0,-1.E0,0.E0));
++#282=DIRECTION('',(-1.E0,0.E0,0.E0));
++#283=AXIS2_PLACEMENT_3D('',#280,#281,#282);
++#285=CARTESIAN_POINT('',(1.2E1,0.E0,1.8E1));
++#286=DIRECTION('',(0.E0,-1.E0,0.E0));
++#287=DIRECTION('',(1.E0,0.E0,0.E0));
++#288=AXIS2_PLACEMENT_3D('',#285,#286,#287);
++#290=CARTESIAN_POINT('',(1.2E1,0.E0,1.8E1));
++#291=DIRECTION('',(0.E0,-1.E0,0.E0));
++#292=DIRECTION('',(-1.E0,0.E0,0.E0));
++#293=AXIS2_PLACEMENT_3D('',#290,#291,#292);
++#295=CARTESIAN_POINT('',(1.8E1,0.E0,1.8E1));
++#296=DIRECTION('',(0.E0,-1.E0,0.E0));
++#297=DIRECTION('',(1.E0,0.E0,0.E0));
++#298=AXIS2_PLACEMENT_3D('',#295,#296,#297);
++#300=CARTESIAN_POINT('',(1.8E1,0.E0,1.8E1));
++#301=DIRECTION('',(0.E0,-1.E0,0.E0));
++#302=DIRECTION('',(-1.E0,0.E0,0.E0));
++#303=AXIS2_PLACEMENT_3D('',#300,#301,#302);
++#305=DIRECTION('',(1.E0,0.E0,0.E0));
++#306=VECTOR('',#305,3.E0);
++#307=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1));
++#308=LINE('',#307,#306);
++#309=CARTESIAN_POINT('',(1.05E1,0.E0,1.25E0));
++#310=DIRECTION('',(0.E0,-1.E0,0.E0));
++#311=DIRECTION('',(0.E0,0.E0,-1.E0));
++#312=AXIS2_PLACEMENT_3D('',#309,#310,#311);
++#314=DIRECTION('',(-1.E0,0.E0,0.E0));
++#315=VECTOR('',#314,3.E0);
++#316=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0));
++#317=LINE('',#316,#315);
++#318=CARTESIAN_POINT('',(7.5E0,0.E0,1.25E0));
++#319=DIRECTION('',(0.E0,-1.E0,0.E0));
++#320=DIRECTION('',(0.E0,0.E0,1.E0));
++#321=AXIS2_PLACEMENT_3D('',#318,#319,#320);
++#323=CARTESIAN_POINT('',(1.61E0,0.E0,4.5E0));
++#324=DIRECTION('',(0.E0,-1.E0,0.E0));
++#325=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1));
++#326=AXIS2_PLACEMENT_3D('',#323,#324,#325);
++#328=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
++#329=VECTOR('',#328,4.263248410977E0);
++#330=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0));
++#331=LINE('',#330,#329);
++#332=CARTESIAN_POINT('',(4.553039342392E0,0.E0,1.645354088550E0));
++#333=DIRECTION('',(0.E0,-1.E0,0.E0));
++#334=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
++#335=AXIS2_PLACEMENT_3D('',#332,#333,#334);
++#337=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0));
++#338=DIRECTION('',(0.E0,-1.E0,0.E0));
++#339=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1));
++#340=AXIS2_PLACEMENT_3D('',#337,#338,#339);
++#342=DIRECTION('',(0.E0,0.E0,-1.E0));
++#343=VECTOR('',#342,3.15E-1);
++#344=CARTESIAN_POINT('',(6.9E-1,0.E0,7.815E0));
++#345=LINE('',#344,#343);
++#346=CARTESIAN_POINT('',(1.25125E0,0.E0,7.5E0));
++#347=DIRECTION('',(0.E0,-1.E0,0.E0));
++#348=DIRECTION('',(-1.E0,0.E0,0.E0));
++#349=AXIS2_PLACEMENT_3D('',#346,#347,#348);
++#351=DIRECTION('',(0.E0,0.E0,1.E0));
++#352=VECTOR('',#351,3.15E-1);
++#353=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0));
++#354=LINE('',#353,#352);
++#355=DIRECTION('',(1.E0,0.E0,0.E0));
++#356=VECTOR('',#355,7.5E-1);
++#357=CARTESIAN_POINT('',(2.6875E0,0.E0,8.69E0));
++#358=LINE('',#357,#356);
++#359=DIRECTION('',(0.E0,0.E0,1.E0));
++#360=VECTOR('',#359,8.1E-1);
++#361=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0));
++#362=LINE('',#361,#360);
++#363=DIRECTION('',(-1.E0,0.E0,0.E0));
++#364=VECTOR('',#363,3.875E0);
++#365=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1));
++#366=LINE('',#365,#364);
++#367=DIRECTION('',(0.E0,0.E0,-1.E0));
++#368=VECTOR('',#367,8.1E-1);
++#369=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1));
++#370=LINE('',#369,#368);
++#371=DIRECTION('',(1.E0,0.E0,0.E0));
++#372=VECTOR('',#371,2.525E-1);
++#373=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0));
++#374=LINE('',#373,#372);
++#375=DIRECTION('',(0.E0,0.E0,-1.E0));
++#376=VECTOR('',#375,3.E0);
++#377=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1));
++#378=LINE('',#377,#376);
++#379=CARTESIAN_POINT('',(1.25E0,0.E0,1.35E1));
++#380=DIRECTION('',(0.E0,-1.E0,0.E0));
++#381=DIRECTION('',(-1.E0,0.E0,0.E0));
++#382=AXIS2_PLACEMENT_3D('',#379,#380,#381);
++#384=DIRECTION('',(0.E0,0.E0,1.E0));
++#385=VECTOR('',#384,3.E0);
++#386=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1));
++#387=LINE('',#386,#385);
++#388=CARTESIAN_POINT('',(1.25E0,0.E0,1.65E1));
++#389=DIRECTION('',(0.E0,-1.E0,0.E0));
++#390=DIRECTION('',(1.E0,0.E0,0.E0));
++#391=AXIS2_PLACEMENT_3D('',#388,#389,#390);
++#393=DIRECTION('',(0.E0,0.E0,-1.E0));
++#394=VECTOR('',#393,3.E0);
++#395=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1));
++#396=LINE('',#395,#394);
++#397=CARTESIAN_POINT('',(1.25E0,0.E0,1.95E1));
++#398=DIRECTION('',(0.E0,-1.E0,0.E0));
++#399=DIRECTION('',(-1.E0,0.E0,0.E0));
++#400=AXIS2_PLACEMENT_3D('',#397,#398,#399);
++#402=DIRECTION('',(0.E0,0.E0,1.E0));
++#403=VECTOR('',#402,3.E0);
++#404=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1));
++#405=LINE('',#404,#403);
++#406=CARTESIAN_POINT('',(1.25E0,0.E0,2.25E1));
++#407=DIRECTION('',(0.E0,-1.E0,0.E0));
++#408=DIRECTION('',(1.E0,0.E0,0.E0));
++#409=AXIS2_PLACEMENT_3D('',#406,#407,#408);
++#411=DIRECTION('',(1.E0,0.E0,0.E0));
++#412=VECTOR('',#411,3.E0);
++#413=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0));
++#414=LINE('',#413,#412);
++#415=CARTESIAN_POINT('',(1.05E1,0.E0,9.E0));
++#416=DIRECTION('',(0.E0,-1.E0,0.E0));
++#417=DIRECTION('',(0.E0,0.E0,-1.E0));
++#418=AXIS2_PLACEMENT_3D('',#415,#416,#417);
++#420=DIRECTION('',(-1.E0,0.E0,0.E0));
++#421=VECTOR('',#420,3.E0);
++#422=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0));
++#423=LINE('',#422,#421);
++#424=CARTESIAN_POINT('',(7.5E0,0.E0,9.E0));
++#425=DIRECTION('',(0.E0,-1.E0,0.E0));
++#426=DIRECTION('',(0.E0,0.E0,1.E0));
++#427=AXIS2_PLACEMENT_3D('',#424,#425,#426);
++#429=DIRECTION('',(1.E0,0.E0,0.E0));
++#430=VECTOR('',#429,3.E0);
++#431=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1));
++#432=LINE('',#431,#430);
++#433=CARTESIAN_POINT('',(1.05E1,0.E0,1.8E1));
++#434=DIRECTION('',(0.E0,-1.E0,0.E0));
++#435=DIRECTION('',(0.E0,0.E0,-1.E0));
++#436=AXIS2_PLACEMENT_3D('',#433,#434,#435);
++#438=DIRECTION('',(-1.E0,0.E0,0.E0));
++#439=VECTOR('',#438,3.E0);
++#440=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1));
++#441=LINE('',#440,#439);
++#442=CARTESIAN_POINT('',(7.5E0,0.E0,1.8E1));
++#443=DIRECTION('',(0.E0,-1.E0,0.E0));
++#444=DIRECTION('',(0.E0,0.E0,1.E0));
++#445=AXIS2_PLACEMENT_3D('',#442,#443,#444);
++#447=DIRECTION('',(1.E0,0.E0,0.E0));
++#448=VECTOR('',#447,3.E0);
++#449=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1));
++#450=LINE('',#449,#448);
++#451=CARTESIAN_POINT('',(7.5E0,0.E0,3.075E1));
++#452=DIRECTION('',(0.E0,1.E0,0.E0));
++#453=DIRECTION('',(0.E0,0.E0,-1.E0));
++#454=AXIS2_PLACEMENT_3D('',#451,#452,#453);
++#456=DIRECTION('',(-1.E0,0.E0,0.E0));
++#457=VECTOR('',#456,3.E0);
++#458=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1));
++#459=LINE('',#458,#457);
++#460=CARTESIAN_POINT('',(1.05E1,0.E0,3.075E1));
++#461=DIRECTION('',(0.E0,1.E0,0.E0));
++#462=DIRECTION('',(0.E0,0.E0,1.E0));
++#463=AXIS2_PLACEMENT_3D('',#460,#461,#462);
++#465=DIRECTION('',(-1.E0,0.E0,0.E0));
++#466=VECTOR('',#465,3.E0);
++#467=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1));
++#468=LINE('',#467,#466);
++#469=CARTESIAN_POINT('',(1.65E1,0.E0,1.25E0));
++#470=DIRECTION('',(0.E0,1.E0,0.E0));
++#471=DIRECTION('',(0.E0,0.E0,1.E0));
++#472=AXIS2_PLACEMENT_3D('',#469,#470,#471);
++#474=DIRECTION('',(1.E0,0.E0,0.E0));
++#475=VECTOR('',#474,3.E0);
++#476=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0));
++#477=LINE('',#476,#475);
++#478=CARTESIAN_POINT('',(1.35E1,0.E0,1.25E0));
++#479=DIRECTION('',(0.E0,1.E0,0.E0));
++#480=DIRECTION('',(0.E0,0.E0,-1.E0));
++#481=AXIS2_PLACEMENT_3D('',#478,#479,#480);
++#483=DIRECTION('',(0.E0,0.E0,-1.E0));
++#484=VECTOR('',#483,3.E0);
++#485=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1));
++#486=LINE('',#485,#484);
++#487=CARTESIAN_POINT('',(2.275E1,0.E0,1.65E1));
++#488=DIRECTION('',(0.E0,1.E0,0.E0));
++#489=DIRECTION('',(-1.E0,0.E0,0.E0));
++#490=AXIS2_PLACEMENT_3D('',#487,#488,#489);
++#492=DIRECTION('',(0.E0,0.E0,1.E0));
++#493=VECTOR('',#492,3.E0);
++#494=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1));
++#495=LINE('',#494,#493);
++#496=CARTESIAN_POINT('',(2.275E1,0.E0,1.35E1));
++#497=DIRECTION('',(0.E0,1.E0,0.E0));
++#498=DIRECTION('',(1.E0,0.E0,0.E0));
++#499=AXIS2_PLACEMENT_3D('',#496,#497,#498);
++#501=DIRECTION('',(0.E0,0.E0,-1.E0));
++#502=VECTOR('',#501,3.E0);
++#503=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1));
++#504=LINE('',#503,#502);
++#505=CARTESIAN_POINT('',(2.275E1,0.E0,2.25E1));
++#506=DIRECTION('',(0.E0,1.E0,0.E0));
++#507=DIRECTION('',(-1.E0,0.E0,0.E0));
++#508=AXIS2_PLACEMENT_3D('',#505,#506,#507);
++#510=DIRECTION('',(0.E0,0.E0,1.E0));
++#511=VECTOR('',#510,3.E0);
++#512=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1));
++#513=LINE('',#512,#511);
++#514=CARTESIAN_POINT('',(2.275E1,0.E0,1.95E1));
++#515=DIRECTION('',(0.E0,1.E0,0.E0));
++#516=DIRECTION('',(1.E0,0.E0,0.E0));
++#517=AXIS2_PLACEMENT_3D('',#514,#515,#516);
++#519=DIRECTION('',(-1.E0,0.E0,0.E0));
++#520=VECTOR('',#519,3.E0);
++#521=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0));
++#522=LINE('',#521,#520);
++#523=CARTESIAN_POINT('',(1.65E1,0.E0,9.E0));
++#524=DIRECTION('',(0.E0,1.E0,0.E0));
++#525=DIRECTION('',(0.E0,0.E0,1.E0));
++#526=AXIS2_PLACEMENT_3D('',#523,#524,#525);
++#528=DIRECTION('',(1.E0,0.E0,0.E0));
++#529=VECTOR('',#528,3.E0);
++#530=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0));
++#531=LINE('',#530,#529);
++#532=CARTESIAN_POINT('',(1.35E1,0.E0,9.E0));
++#533=DIRECTION('',(0.E0,1.E0,0.E0));
++#534=DIRECTION('',(0.E0,0.E0,-1.E0));
++#535=AXIS2_PLACEMENT_3D('',#532,#533,#534);
++#537=DIRECTION('',(-1.E0,0.E0,0.E0));
++#538=VECTOR('',#537,3.E0);
++#539=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1));
++#540=LINE('',#539,#538);
++#541=CARTESIAN_POINT('',(1.65E1,0.E0,1.8E1));
++#542=DIRECTION('',(0.E0,1.E0,0.E0));
++#543=DIRECTION('',(0.E0,0.E0,1.E0));
++#544=AXIS2_PLACEMENT_3D('',#541,#542,#543);
++#546=DIRECTION('',(1.E0,0.E0,0.E0));
++#547=VECTOR('',#546,3.E0);
++#548=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1));
++#549=LINE('',#548,#547);
++#550=CARTESIAN_POINT('',(1.35E1,0.E0,1.8E1));
++#551=DIRECTION('',(0.E0,1.E0,0.E0));
++#552=DIRECTION('',(0.E0,0.E0,-1.E0));
++#553=AXIS2_PLACEMENT_3D('',#550,#551,#552);
++#555=DIRECTION('',(-1.E0,0.E0,0.E0));
++#556=VECTOR('',#555,3.E0);
++#557=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1));
++#558=LINE('',#557,#556);
++#559=CARTESIAN_POINT('',(1.35E1,0.E0,3.075E1));
++#560=DIRECTION('',(0.E0,-1.E0,0.E0));
++#561=DIRECTION('',(0.E0,0.E0,1.E0));
++#562=AXIS2_PLACEMENT_3D('',#559,#560,#561);
++#564=DIRECTION('',(1.E0,0.E0,0.E0));
++#565=VECTOR('',#564,3.E0);
++#566=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1));
++#567=LINE('',#566,#565);
++#568=CARTESIAN_POINT('',(1.65E1,0.E0,3.075E1));
++#569=DIRECTION('',(0.E0,-1.E0,0.E0));
++#570=DIRECTION('',(0.E0,0.E0,-1.E0));
++#571=AXIS2_PLACEMENT_3D('',#568,#569,#570);
++#573=DIRECTION('',(0.E0,0.E0,1.E0));
++#574=VECTOR('',#573,3.1E-1);
++#575=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0));
++#576=LINE('',#575,#574);
++#577=CARTESIAN_POINT('',(2.274875E1,0.E0,7.5E0));
++#578=DIRECTION('',(0.E0,1.E0,0.E0));
++#579=DIRECTION('',(1.E0,0.E0,-3.956251312695E-14));
++#580=AXIS2_PLACEMENT_3D('',#577,#578,#579);
++#582=DIRECTION('',(2.292073341162E-14,0.E0,-1.E0));
++#583=VECTOR('',#582,3.1E-1);
++#584=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0));
++#585=LINE('',#584,#583);
++#586=DIRECTION('',(-1.E0,0.E0,0.E0));
++#587=VECTOR('',#586,2.425E-1);
++#588=CARTESIAN_POINT('',(2.44325E1,0.E0,8.69E0));
++#589=LINE('',#588,#587);
++#590=DIRECTION('',(0.E0,0.E0,-1.E0));
++#591=VECTOR('',#590,8.E-1);
++#592=CARTESIAN_POINT('',(2.53125E1,0.E0,1.037E1));
++#593=LINE('',#592,#591);
++#594=DIRECTION('',(1.E0,0.E0,0.E0));
++#595=VECTOR('',#594,3.865E0);
++#596=CARTESIAN_POINT('',(2.05675E1,0.E0,1.125E1));
++#597=LINE('',#596,#595);
++#598=DIRECTION('',(0.E0,0.E0,1.E0));
++#599=VECTOR('',#598,8.E-1);
++#600=CARTESIAN_POINT('',(1.96875E1,0.E0,9.57E0));
++#601=LINE('',#600,#599);
++#602=DIRECTION('',(-1.E0,0.E0,0.E0));
++#603=VECTOR('',#602,7.4E-1);
++#604=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0));
++#605=LINE('',#604,#603);
++#606=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
++#607=VECTOR('',#606,4.263248410977E0);
++#608=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0));
++#609=LINE('',#608,#607);
++#610=CARTESIAN_POINT('',(2.239E1,0.E0,4.5E0));
++#611=DIRECTION('',(0.E0,1.E0,0.E0));
++#612=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1));
++#613=AXIS2_PLACEMENT_3D('',#610,#611,#612);
++#615=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0));
++#616=DIRECTION('',(0.E0,1.E0,0.E0));
++#617=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1));
++#618=AXIS2_PLACEMENT_3D('',#615,#616,#617);
++#620=CARTESIAN_POINT('',(1.944696065761E1,0.E0,1.645354088550E0));
++#621=DIRECTION('',(0.E0,1.E0,0.E0));
++#622=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811866E-1));
++#623=AXIS2_PLACEMENT_3D('',#620,#621,#622);
++#625=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
++#626=VECTOR('',#625,4.263248410977E0);
++#627=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1));
++#628=LINE('',#627,#626);
++#629=CARTESIAN_POINT('',(1.61E0,0.E0,2.75E1));
++#630=DIRECTION('',(0.E0,1.E0,0.E0));
++#631=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1));
++#632=AXIS2_PLACEMENT_3D('',#629,#630,#631);
++#634=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1));
++#635=DIRECTION('',(0.E0,1.E0,0.E0));
++#636=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1));
++#637=AXIS2_PLACEMENT_3D('',#634,#635,#636);
++#639=CARTESIAN_POINT('',(4.553039342392E0,0.E0,3.035464591145E1));
++#640=DIRECTION('',(0.E0,1.E0,0.E0));
++#641=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
++#642=AXIS2_PLACEMENT_3D('',#639,#640,#641);
++#644=CARTESIAN_POINT('',(2.239E1,0.E0,2.75E1));
++#645=DIRECTION('',(0.E0,-1.E0,0.E0));
++#646=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1));
++#647=AXIS2_PLACEMENT_3D('',#644,#645,#646);
++#649=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
++#650=VECTOR('',#649,4.263248410977E0);
++#651=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1));
++#652=LINE('',#651,#650);
++#653=CARTESIAN_POINT('',(1.944696065761E1,0.E0,3.035464591145E1));
++#654=DIRECTION('',(0.E0,-1.E0,0.E0));
++#655=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811866E-1));
++#656=AXIS2_PLACEMENT_3D('',#653,#654,#655);
++#658=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1));
++#659=DIRECTION('',(0.E0,-1.E0,0.E0));
++#660=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1));
++#661=AXIS2_PLACEMENT_3D('',#658,#659,#660);
++#663=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0));
++#664=DIRECTION('',(0.E0,0.E0,-1.E0));
++#665=DIRECTION('',(-1.E0,0.E0,0.E0));
++#666=AXIS2_PLACEMENT_3D('',#663,#664,#665);
++#668=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0));
++#669=DIRECTION('',(0.E0,0.E0,-1.E0));
++#670=DIRECTION('',(1.E0,0.E0,0.E0));
++#671=AXIS2_PLACEMENT_3D('',#668,#669,#670);
++#673=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0));
++#674=DIRECTION('',(0.E0,0.E0,-1.E0));
++#675=DIRECTION('',(-1.E0,0.E0,0.E0));
++#676=AXIS2_PLACEMENT_3D('',#673,#674,#675);
++#678=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0));
++#679=DIRECTION('',(0.E0,0.E0,-1.E0));
++#680=DIRECTION('',(1.E0,0.E0,0.E0));
++#681=AXIS2_PLACEMENT_3D('',#678,#679,#680);
++#683=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0));
++#684=DIRECTION('',(0.E0,0.E0,-1.E0));
++#685=DIRECTION('',(-1.E0,0.E0,0.E0));
++#686=AXIS2_PLACEMENT_3D('',#683,#684,#685);
++#688=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0));
++#689=DIRECTION('',(0.E0,0.E0,-1.E0));
++#690=DIRECTION('',(1.E0,0.E0,0.E0));
++#691=AXIS2_PLACEMENT_3D('',#688,#689,#690);
++#693=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0));
++#694=DIRECTION('',(0.E0,0.E0,-1.E0));
++#695=DIRECTION('',(-1.E0,0.E0,0.E0));
++#696=AXIS2_PLACEMENT_3D('',#693,#694,#695);
++#698=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0));
++#699=DIRECTION('',(0.E0,0.E0,-1.E0));
++#700=DIRECTION('',(1.E0,0.E0,0.E0));
++#701=AXIS2_PLACEMENT_3D('',#698,#699,#700);
++#703=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0));
++#704=DIRECTION('',(0.E0,0.E0,1.E0));
++#705=DIRECTION('',(1.E0,0.E0,0.E0));
++#706=AXIS2_PLACEMENT_3D('',#703,#704,#705);
++#708=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0));
++#709=DIRECTION('',(0.E0,0.E0,1.E0));
++#710=DIRECTION('',(-1.E0,0.E0,0.E0));
++#711=AXIS2_PLACEMENT_3D('',#708,#709,#710);
++#713=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0));
++#714=DIRECTION('',(0.E0,0.E0,1.E0));
++#715=DIRECTION('',(1.E0,0.E0,0.E0));
++#716=AXIS2_PLACEMENT_3D('',#713,#714,#715);
++#718=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0));
++#719=DIRECTION('',(0.E0,0.E0,1.E0));
++#720=DIRECTION('',(-1.E0,0.E0,0.E0));
++#721=AXIS2_PLACEMENT_3D('',#718,#719,#720);
++#723=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0));
++#724=DIRECTION('',(0.E0,0.E0,1.E0));
++#725=DIRECTION('',(1.E0,0.E0,0.E0));
++#726=AXIS2_PLACEMENT_3D('',#723,#724,#725);
++#728=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0));
++#729=DIRECTION('',(0.E0,0.E0,1.E0));
++#730=DIRECTION('',(-1.E0,0.E0,0.E0));
++#731=AXIS2_PLACEMENT_3D('',#728,#729,#730);
++#733=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0));
++#734=DIRECTION('',(0.E0,0.E0,1.E0));
++#735=DIRECTION('',(1.E0,0.E0,0.E0));
++#736=AXIS2_PLACEMENT_3D('',#733,#734,#735);
++#738=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0));
++#739=DIRECTION('',(0.E0,0.E0,1.E0));
++#740=DIRECTION('',(-1.E0,0.E0,0.E0));
++#741=AXIS2_PLACEMENT_3D('',#738,#739,#740);
++#743=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
++#744=VECTOR('',#743,1.029563014099E1);
++#745=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
++#746=LINE('',#745,#744);
++#747=DIRECTION('',(-1.E0,0.E0,0.E0));
++#748=VECTOR('',#747,2.E0);
++#749=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
++#750=LINE('',#749,#748);
++#751=DIRECTION('',(-1.E0,0.E0,0.E0));
++#752=VECTOR('',#751,2.E0);
++#753=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
++#754=LINE('',#753,#752);
++#755=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
++#756=VECTOR('',#755,1.029563014099E1);
++#757=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0));
++#758=LINE('',#757,#756);
++#759=DIRECTION('',(-1.E0,0.E0,0.E0));
++#760=VECTOR('',#759,3.895172754280E0);
++#761=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0));
++#762=LINE('',#761,#760);
++#763=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0));
++#764=VECTOR('',#763,6.863753427325E0);
++#765=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0));
++#766=LINE('',#765,#764);
++#767=DIRECTION('',(1.E0,0.E0,0.E0));
++#768=VECTOR('',#767,5.618394209466E-1);
++#769=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0));
++#770=LINE('',#769,#768);
++#771=DIRECTION('',(0.E0,-1.E0,0.E0));
++#772=VECTOR('',#771,6.E0);
++#773=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0));
++#774=LINE('',#773,#772);
++#775=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0));
++#776=VECTOR('',#775,6.863753427325E0);
++#777=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.E0));
++#778=LINE('',#777,#776);
++#779=DIRECTION('',(1.E0,0.E0,0.E0));
++#780=VECTOR('',#779,3.895172754280E0);
++#781=CARTESIAN_POINT('',(2.025E1,2.E0,8.E0));
++#782=LINE('',#781,#780);
++#783=DIRECTION('',(0.E0,-1.E0,0.E0));
++#784=VECTOR('',#783,6.E0);
++#785=CARTESIAN_POINT('',(1.95E1,8.75E0,8.E0));
++#786=LINE('',#785,#784);
++#787=DIRECTION('',(-1.E0,0.E0,0.E0));
++#788=VECTOR('',#787,5.618394209466E-1);
++#789=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.E0));
++#790=LINE('',#789,#788);
++#791=DIRECTION('',(0.E0,0.E0,1.E0));
++#792=VECTOR('',#791,2.5E-1);
++#793=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.E0));
++#794=LINE('',#793,#792);
++#795=DIRECTION('',(0.E0,0.E0,1.E0));
++#796=VECTOR('',#795,2.5E-1);
++#797=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.E0));
++#798=LINE('',#797,#796);
++#799=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0));
++#800=DIRECTION('',(0.E0,0.E0,-1.E0));
++#801=DIRECTION('',(-1.E0,0.E0,0.E0));
++#802=AXIS2_PLACEMENT_3D('',#799,#800,#801);
++#804=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0));
++#805=DIRECTION('',(0.E0,0.E0,-1.E0));
++#806=DIRECTION('',(1.E0,0.E0,0.E0));
++#807=AXIS2_PLACEMENT_3D('',#804,#805,#806);
++#809=DIRECTION('',(0.E0,0.E0,1.E0));
++#810=VECTOR('',#809,2.E0);
++#811=CARTESIAN_POINT('',(1.95875E1,1.05E1,8.E0));
++#812=LINE('',#811,#810);
++#813=DIRECTION('',(0.E0,0.E0,1.E0));
++#814=VECTOR('',#813,2.E0);
++#815=CARTESIAN_POINT('',(1.99125E1,1.05E1,8.E0));
++#816=LINE('',#815,#814);
++#817=CARTESIAN_POINT('',(1.975E1,1.05E1,1.E1));
++#818=DIRECTION('',(0.E0,0.E0,-1.E0));
++#819=DIRECTION('',(-1.E0,0.E0,0.E0));
++#820=AXIS2_PLACEMENT_3D('',#817,#818,#819);
++#822=CARTESIAN_POINT('',(1.975E1,1.05E1,1.E1));
++#823=DIRECTION('',(0.E0,0.E0,-1.E0));
++#824=DIRECTION('',(1.E0,0.E0,0.E0));
++#825=AXIS2_PLACEMENT_3D('',#822,#823,#824);
++#827=DIRECTION('',(0.E0,1.E0,0.E0));
++#828=VECTOR('',#827,5.E0);
++#829=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1));
++#830=LINE('',#829,#828);
++#831=DIRECTION('',(-1.E0,0.E0,0.E0));
++#832=VECTOR('',#831,1.75E0);
++#833=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1));
++#834=LINE('',#833,#832);
++#835=DIRECTION('',(0.E0,1.E0,0.E0));
++#836=VECTOR('',#835,5.E0);
++#837=CARTESIAN_POINT('',(2.2E1,1.5E0,1.E1));
++#838=LINE('',#837,#836);
++#839=DIRECTION('',(0.E0,1.E0,0.E0));
++#840=VECTOR('',#839,1.E1);
++#841=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1));
++#842=LINE('',#841,#840);
++#843=DIRECTION('',(1.E0,0.E0,0.E0));
++#844=VECTOR('',#843,2.E0);
++#845=CARTESIAN_POINT('',(1.9E1,1.15E1,1.E1));
++#846=LINE('',#845,#844);
++#847=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
++#848=VECTOR('',#847,1.029563014099E1);
++#849=CARTESIAN_POINT('',(2.1E1,1.15E1,1.E1));
++#850=LINE('',#849,#848);
++#851=DIRECTION('',(0.E0,-1.E0,0.E0));
++#852=VECTOR('',#851,1.E0);
++#853=CARTESIAN_POINT('',(2.6E1,2.5E0,1.E1));
++#854=LINE('',#853,#852);
++#855=DIRECTION('',(-1.E0,0.E0,0.E0));
++#856=VECTOR('',#855,1.972007605460E-1);
++#857=CARTESIAN_POINT('',(2.204720076055E1,7.E0,1.E1));
++#858=LINE('',#857,#856);
++#859=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
++#860=VECTOR('',#859,2.059126028197E0);
++#861=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,1.E1));
++#862=LINE('',#861,#860);
++#863=DIRECTION('',(1.E0,0.E0,0.E0));
++#864=VECTOR('',#863,1.197200760546E0);
++#865=CARTESIAN_POINT('',(1.985E1,9.5E0,1.E1));
++#866=LINE('',#865,#864);
++#867=DIRECTION('',(0.E0,1.E0,0.E0));
++#868=VECTOR('',#867,6.8E0);
++#869=CARTESIAN_POINT('',(1.95E1,2.35E0,1.E1));
++#870=LINE('',#869,#868);
++#871=DIRECTION('',(-1.E0,0.E0,0.E0));
++#872=VECTOR('',#871,1.3E0);
++#873=CARTESIAN_POINT('',(2.115E1,2.E0,1.E1));
++#874=LINE('',#873,#872);
++#875=DIRECTION('',(0.E0,-1.E0,0.E0));
++#876=VECTOR('',#875,4.3E0);
++#877=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1));
++#878=LINE('',#877,#876);
++#879=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
++#880=VECTOR('',#879,5.773502691896E0);
++#881=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1));
++#882=LINE('',#881,#880);
++#883=CARTESIAN_POINT('',(6.45E0,1.5E0,2.975E1));
++#884=DIRECTION('',(0.E0,-1.E0,0.E0));
++#885=DIRECTION('',(-1.E0,0.E0,0.E0));
++#886=AXIS2_PLACEMENT_3D('',#883,#884,#885);
++#888=CARTESIAN_POINT('',(6.45E0,1.5E0,2.975E1));
++#889=DIRECTION('',(0.E0,-1.E0,0.E0));
++#890=DIRECTION('',(1.E0,0.E0,0.E0));
++#891=AXIS2_PLACEMENT_3D('',#888,#889,#890);
++#893=CARTESIAN_POINT('',(7.45E0,1.5E0,2.975E1));
++#894=DIRECTION('',(0.E0,-1.E0,0.E0));
++#895=DIRECTION('',(-1.E0,0.E0,0.E0));
++#896=AXIS2_PLACEMENT_3D('',#893,#894,#895);
++#898=CARTESIAN_POINT('',(7.45E0,1.5E0,2.975E1));
++#899=DIRECTION('',(0.E0,-1.E0,0.E0));
++#900=DIRECTION('',(1.E0,0.E0,0.E0));
++#901=AXIS2_PLACEMENT_3D('',#898,#899,#900);
++#903=DIRECTION('',(-1.E0,0.E0,0.E0));
++#904=VECTOR('',#903,4.531373033403E0);
++#905=CARTESIAN_POINT('',(2.5E1,1.5E0,8.E0));
++#906=LINE('',#905,#904);
++#907=DIRECTION('',(-1.E0,0.E0,0.E0));
++#908=VECTOR('',#907,9.E0);
++#909=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0));
++#910=LINE('',#909,#908);
++#911=DIRECTION('',(-1.E0,0.E0,0.E0));
++#912=VECTOR('',#911,4.531373033403E0);
++#913=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0));
++#914=LINE('',#913,#912);
++#915=DIRECTION('',(0.E0,0.E0,1.E0));
++#916=VECTOR('',#915,3.E0);
++#917=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0));
++#918=LINE('',#917,#916);
++#919=DIRECTION('',(-1.E0,0.E0,0.E0));
++#920=VECTOR('',#919,1.6E1);
++#921=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0));
++#922=LINE('',#921,#920);
++#923=DIRECTION('',(0.E0,0.E0,-1.E0));
++#924=VECTOR('',#923,3.E0);
++#925=CARTESIAN_POINT('',(2.4E1,1.5E0,7.E0));
++#926=LINE('',#925,#924);
++#927=CARTESIAN_POINT('',(1.755E1,1.5E0,2.975E1));
++#928=DIRECTION('',(0.E0,1.E0,0.E0));
++#929=DIRECTION('',(1.E0,0.E0,0.E0));
++#930=AXIS2_PLACEMENT_3D('',#927,#928,#929);
++#932=CARTESIAN_POINT('',(1.755E1,1.5E0,2.975E1));
++#933=DIRECTION('',(0.E0,1.E0,0.E0));
++#934=DIRECTION('',(-1.E0,0.E0,0.E0));
++#935=AXIS2_PLACEMENT_3D('',#932,#933,#934);
++#937=CARTESIAN_POINT('',(1.655E1,1.5E0,2.975E1));
++#938=DIRECTION('',(0.E0,1.E0,0.E0));
++#939=DIRECTION('',(1.E0,0.E0,0.E0));
++#940=AXIS2_PLACEMENT_3D('',#937,#938,#939);
++#942=CARTESIAN_POINT('',(1.655E1,1.5E0,2.975E1));
++#943=DIRECTION('',(0.E0,1.E0,0.E0));
++#944=DIRECTION('',(-1.E0,0.E0,0.E0));
++#945=AXIS2_PLACEMENT_3D('',#942,#943,#944);
++#947=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
++#948=DIRECTION('',(0.E0,-1.E0,0.E0));
++#949=DIRECTION('',(1.E0,0.E0,0.E0));
++#950=AXIS2_PLACEMENT_3D('',#947,#948,#949);
++#952=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
++#953=DIRECTION('',(0.E0,-1.E0,0.E0));
++#954=DIRECTION('',(-1.E0,0.E0,0.E0));
++#955=AXIS2_PLACEMENT_3D('',#952,#953,#954);
++#957=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
++#958=DIRECTION('',(0.E0,-1.E0,0.E0));
++#959=DIRECTION('',(1.E0,0.E0,0.E0));
++#960=AXIS2_PLACEMENT_3D('',#957,#958,#959);
++#962=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
++#963=DIRECTION('',(0.E0,-1.E0,0.E0));
++#964=DIRECTION('',(-1.E0,0.E0,0.E0));
++#965=AXIS2_PLACEMENT_3D('',#962,#963,#964);
++#967=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
++#968=DIRECTION('',(0.E0,-1.E0,0.E0));
++#969=DIRECTION('',(1.E0,0.E0,0.E0));
++#970=AXIS2_PLACEMENT_3D('',#967,#968,#969);
++#972=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
++#973=DIRECTION('',(0.E0,-1.E0,0.E0));
++#974=DIRECTION('',(-1.E0,0.E0,0.E0));
++#975=AXIS2_PLACEMENT_3D('',#972,#973,#974);
++#977=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
++#978=DIRECTION('',(0.E0,-1.E0,0.E0));
++#979=DIRECTION('',(1.E0,0.E0,0.E0));
++#980=AXIS2_PLACEMENT_3D('',#977,#978,#979);
++#982=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
++#983=DIRECTION('',(0.E0,-1.E0,0.E0));
++#984=DIRECTION('',(-1.E0,0.E0,0.E0));
++#985=AXIS2_PLACEMENT_3D('',#982,#983,#984);
++#987=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
++#988=DIRECTION('',(0.E0,-1.E0,0.E0));
++#989=DIRECTION('',(1.E0,0.E0,0.E0));
++#990=AXIS2_PLACEMENT_3D('',#987,#988,#989);
++#992=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
++#993=DIRECTION('',(0.E0,-1.E0,0.E0));
++#994=DIRECTION('',(-1.E0,0.E0,0.E0));
++#995=AXIS2_PLACEMENT_3D('',#992,#993,#994);
++#997=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
++#998=DIRECTION('',(0.E0,-1.E0,0.E0));
++#999=DIRECTION('',(1.E0,0.E0,0.E0));
++#1000=AXIS2_PLACEMENT_3D('',#997,#998,#999);
++#1002=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
++#1003=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1004=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1005=AXIS2_PLACEMENT_3D('',#1002,#1003,#1004);
++#1007=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
++#1008=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1009=DIRECTION('',(1.E0,0.E0,0.E0));
++#1010=AXIS2_PLACEMENT_3D('',#1007,#1008,#1009);
++#1012=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
++#1013=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1014=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1015=AXIS2_PLACEMENT_3D('',#1012,#1013,#1014);
++#1017=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
++#1018=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1019=DIRECTION('',(1.E0,0.E0,0.E0));
++#1020=AXIS2_PLACEMENT_3D('',#1017,#1018,#1019);
++#1022=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
++#1023=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1024=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1025=AXIS2_PLACEMENT_3D('',#1022,#1023,#1024);
++#1027=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
++#1028=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1029=DIRECTION('',(1.E0,0.E0,0.E0));
++#1030=AXIS2_PLACEMENT_3D('',#1027,#1028,#1029);
++#1032=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
++#1033=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1034=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1035=AXIS2_PLACEMENT_3D('',#1032,#1033,#1034);
++#1037=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
++#1038=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1039=DIRECTION('',(1.E0,0.E0,0.E0));
++#1040=AXIS2_PLACEMENT_3D('',#1037,#1038,#1039);
++#1042=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
++#1043=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1044=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1045=AXIS2_PLACEMENT_3D('',#1042,#1043,#1044);
++#1047=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
++#1048=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1049=DIRECTION('',(1.E0,0.E0,0.E0));
++#1050=AXIS2_PLACEMENT_3D('',#1047,#1048,#1049);
++#1052=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
++#1053=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1054=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1055=AXIS2_PLACEMENT_3D('',#1052,#1053,#1054);
++#1057=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
++#1058=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1059=DIRECTION('',(1.E0,0.E0,0.E0));
++#1060=AXIS2_PLACEMENT_3D('',#1057,#1058,#1059);
++#1062=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
++#1063=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1064=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1065=AXIS2_PLACEMENT_3D('',#1062,#1063,#1064);
++#1067=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1068=VECTOR('',#1067,2.5625E0);
++#1069=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1));
++#1070=LINE('',#1069,#1068);
++#1071=DIRECTION('',(1.E0,0.E0,0.E0));
++#1072=VECTOR('',#1071,1.3E1);
++#1073=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1));
++#1074=LINE('',#1073,#1072);
++#1075=DIRECTION('',(0.E0,0.E0,1.E0));
++#1076=VECTOR('',#1075,2.5625E0);
++#1077=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1));
++#1078=LINE('',#1077,#1076);
++#1079=DIRECTION('',(1.E0,0.E0,0.E0));
++#1080=VECTOR('',#1079,9.E0);
++#1081=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1));
++#1082=LINE('',#1081,#1080);
++#1083=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1084=VECTOR('',#1083,1.3E1);
++#1085=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1));
++#1086=LINE('',#1085,#1084);
++#1087=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1088=VECTOR('',#1087,8.125E-1);
++#1089=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1));
++#1090=LINE('',#1089,#1088);
++#1091=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1092=VECTOR('',#1091,1.E0);
++#1093=CARTESIAN_POINT('',(2.05E1,1.5E0,1.225E1));
++#1094=LINE('',#1093,#1092);
++#1095=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1096=VECTOR('',#1095,7.5E-1);
++#1097=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
++#1098=LINE('',#1097,#1096);
++#1099=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1100=VECTOR('',#1099,7.5E-1);
++#1101=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1));
++#1102=LINE('',#1101,#1100);
++#1103=DIRECTION('',(1.E0,0.E0,0.E0));
++#1104=VECTOR('',#1103,1.E0);
++#1105=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1));
++#1106=LINE('',#1105,#1104);
++#1107=DIRECTION('',(0.E0,0.E0,1.E0));
++#1108=VECTOR('',#1107,8.125E-1);
++#1109=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1));
++#1110=LINE('',#1109,#1108);
++#1111=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
++#1112=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1113=DIRECTION('',(1.E0,0.E0,0.E0));
++#1114=AXIS2_PLACEMENT_3D('',#1111,#1112,#1113);
++#1116=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
++#1117=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1118=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1119=AXIS2_PLACEMENT_3D('',#1116,#1117,#1118);
++#1121=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
++#1122=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1123=DIRECTION('',(1.E0,0.E0,0.E0));
++#1124=AXIS2_PLACEMENT_3D('',#1121,#1122,#1123);
++#1126=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
++#1127=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1128=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1129=AXIS2_PLACEMENT_3D('',#1126,#1127,#1128);
++#1131=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
++#1132=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1133=DIRECTION('',(1.E0,0.E0,0.E0));
++#1134=AXIS2_PLACEMENT_3D('',#1131,#1132,#1133);
++#1136=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
++#1137=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1138=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1139=AXIS2_PLACEMENT_3D('',#1136,#1137,#1138);
++#1141=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
++#1142=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1143=DIRECTION('',(1.E0,0.E0,0.E0));
++#1144=AXIS2_PLACEMENT_3D('',#1141,#1142,#1143);
++#1146=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
++#1147=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1148=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1149=AXIS2_PLACEMENT_3D('',#1146,#1147,#1148);
++#1151=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
++#1152=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1153=DIRECTION('',(1.E0,0.E0,0.E0));
++#1154=AXIS2_PLACEMENT_3D('',#1151,#1152,#1153);
++#1156=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
++#1157=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1158=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1159=AXIS2_PLACEMENT_3D('',#1156,#1157,#1158);
++#1161=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
++#1162=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1163=DIRECTION('',(1.E0,0.E0,0.E0));
++#1164=AXIS2_PLACEMENT_3D('',#1161,#1162,#1163);
++#1166=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
++#1167=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1168=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1169=AXIS2_PLACEMENT_3D('',#1166,#1167,#1168);
++#1171=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1172=VECTOR('',#1171,2.886751345948E0);
++#1173=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1));
++#1174=LINE('',#1173,#1172);
++#1175=DIRECTION('',(1.E0,0.E0,0.E0));
++#1176=VECTOR('',#1175,2.25E0);
++#1177=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1));
++#1178=LINE('',#1177,#1176);
++#1179=DIRECTION('',(0.E0,0.E0,1.E0));
++#1180=VECTOR('',#1179,1.75E0);
++#1181=CARTESIAN_POINT('',(2.6E1,1.5E0,1.E1));
++#1182=LINE('',#1181,#1180);
++#1183=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1184=VECTOR('',#1183,5.E-1);
++#1185=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
++#1186=LINE('',#1185,#1184);
++#1187=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1188=VECTOR('',#1187,1.475E1);
++#1189=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1));
++#1190=LINE('',#1189,#1188);
++#1191=DIRECTION('',(1.E0,0.E0,0.E0));
++#1192=VECTOR('',#1191,1.6E1);
++#1193=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1));
++#1194=LINE('',#1193,#1192);
++#1195=DIRECTION('',(0.E0,0.E0,1.E0));
++#1196=VECTOR('',#1195,1.475E1);
++#1197=CARTESIAN_POINT('',(0.E0,1.5E0,1.325E1));
++#1198=LINE('',#1197,#1196);
++#1199=DIRECTION('',(1.E0,0.E0,0.E0));
++#1200=VECTOR('',#1199,5.E-1);
++#1201=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1));
++#1202=LINE('',#1201,#1200);
++#1203=DIRECTION('',(0.E0,0.E0,1.E0));
++#1204=VECTOR('',#1203,1.75E0);
++#1205=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1));
++#1206=LINE('',#1205,#1204);
++#1207=DIRECTION('',(1.E0,0.E0,0.E0));
++#1208=VECTOR('',#1207,2.25E0);
++#1209=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1));
++#1210=LINE('',#1209,#1208);
++#1211=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1212=VECTOR('',#1211,2.886751345948E0);
++#1213=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1));
++#1214=LINE('',#1213,#1212);
++#1215=DIRECTION('',(1.E0,0.E0,0.E0));
++#1216=VECTOR('',#1215,1.75E0);
++#1217=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1));
++#1218=LINE('',#1217,#1216);
++#1219=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1220=VECTOR('',#1219,2.886751345948E0);
++#1221=CARTESIAN_POINT('',(2.E0,1.5E0,1.288675134595E1));
++#1222=LINE('',#1221,#1220);
++#1223=DIRECTION('',(1.E0,0.E0,0.E0));
++#1224=VECTOR('',#1223,3.E0);
++#1225=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1));
++#1226=LINE('',#1225,#1224);
++#1227=DIRECTION('',(1.E0,0.E0,0.E0));
++#1228=VECTOR('',#1227,1.4E1);
++#1229=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
++#1230=LINE('',#1229,#1228);
++#1231=DIRECTION('',(1.E0,0.E0,0.E0));
++#1232=VECTOR('',#1231,3.E0);
++#1233=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1));
++#1234=LINE('',#1233,#1232);
++#1235=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1236=VECTOR('',#1235,2.886751345948E0);
++#1237=CARTESIAN_POINT('',(2.2E1,1.5E0,1.288675134595E1));
++#1238=LINE('',#1237,#1236);
++#1239=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1240=VECTOR('',#1239,1.75E0);
++#1241=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1));
++#1242=LINE('',#1241,#1240);
++#1243=DIRECTION('',(0.E0,1.E0,0.E0));
++#1244=VECTOR('',#1243,2.5E-1);
++#1245=CARTESIAN_POINT('',(6.35E0,1.25E0,2.975E1));
++#1246=LINE('',#1245,#1244);
++#1247=DIRECTION('',(0.E0,1.E0,0.E0));
++#1248=VECTOR('',#1247,2.5E-1);
++#1249=CARTESIAN_POINT('',(6.55E0,1.25E0,2.975E1));
++#1250=LINE('',#1249,#1248);
++#1251=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0));
++#1252=VECTOR('',#1251,1.154700538379E-1);
++#1253=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1));
++#1254=LINE('',#1253,#1252);
++#1255=CARTESIAN_POINT('',(6.45E0,1.25E0,2.975E1));
++#1256=DIRECTION('',(0.E0,1.E0,0.E0));
++#1257=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1258=AXIS2_PLACEMENT_3D('',#1255,#1256,#1257);
++#1260=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0));
++#1261=VECTOR('',#1260,1.154700538379E-1);
++#1262=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1));
++#1263=LINE('',#1262,#1261);
++#1264=CARTESIAN_POINT('',(6.45E0,1.25E0,2.975E1));
++#1265=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1266=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1267=AXIS2_PLACEMENT_3D('',#1264,#1265,#1266);
++#1269=DIRECTION('',(0.E0,1.E0,0.E0));
++#1270=VECTOR('',#1269,2.5E-1);
++#1271=CARTESIAN_POINT('',(7.35E0,1.25E0,2.975E1));
++#1272=LINE('',#1271,#1270);
++#1273=DIRECTION('',(0.E0,1.E0,0.E0));
++#1274=VECTOR('',#1273,2.5E-1);
++#1275=CARTESIAN_POINT('',(7.55E0,1.25E0,2.975E1));
++#1276=LINE('',#1275,#1274);
++#1277=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0));
++#1278=VECTOR('',#1277,1.154700538379E-1);
++#1279=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1));
++#1280=LINE('',#1279,#1278);
++#1281=CARTESIAN_POINT('',(7.45E0,1.25E0,2.975E1));
++#1282=DIRECTION('',(0.E0,1.E0,0.E0));
++#1283=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1284=AXIS2_PLACEMENT_3D('',#1281,#1282,#1283);
++#1286=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0));
++#1287=VECTOR('',#1286,1.154700538379E-1);
++#1288=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1));
++#1289=LINE('',#1288,#1287);
++#1290=CARTESIAN_POINT('',(7.45E0,1.25E0,2.975E1));
++#1291=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1292=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1293=AXIS2_PLACEMENT_3D('',#1290,#1291,#1292);
++#1295=DIRECTION('',(0.E0,1.E0,0.E0));
++#1296=VECTOR('',#1295,1.5E0);
++#1297=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0));
++#1298=LINE('',#1297,#1296);
++#1299=CARTESIAN_POINT('',(2.046862696660E1,0.E0,7.E0));
++#1300=DIRECTION('',(0.E0,1.E0,0.E0));
++#1301=DIRECTION('',(0.E0,0.E0,1.E0));
++#1302=AXIS2_PLACEMENT_3D('',#1299,#1300,#1301);
++#1304=DIRECTION('',(0.E0,1.E0,0.E0));
++#1305=VECTOR('',#1304,1.5E0);
++#1306=CARTESIAN_POINT('',(2.146078370825E1,0.E0,6.875E0));
++#1307=LINE('',#1306,#1305);
++#1308=CARTESIAN_POINT('',(2.046862696660E1,1.5E0,7.E0));
++#1309=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1310=DIRECTION('',(9.921567416492E-1,0.E0,-1.25E-1));
++#1311=AXIS2_PLACEMENT_3D('',#1308,#1309,#1310);
++#1313=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0));
++#1314=DIRECTION('',(0.E0,1.E0,0.E0));
++#1315=DIRECTION('',(9.921567416492E-1,0.E0,-1.25E-1));
++#1316=AXIS2_PLACEMENT_3D('',#1313,#1314,#1315);
++#1318=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1319=VECTOR('',#1318,1.5E0);
++#1320=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0));
++#1321=LINE('',#1320,#1319);
++#1322=CARTESIAN_POINT('',(1.65E1,1.5E0,7.5E0));
++#1323=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1324=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1325=AXIS2_PLACEMENT_3D('',#1322,#1323,#1324);
++#1327=CARTESIAN_POINT('',(7.5E0,1.5E0,7.5E0));
++#1328=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1329=DIRECTION('',(-9.921567416492E-1,0.E0,-1.25E-1));
++#1330=AXIS2_PLACEMENT_3D('',#1327,#1328,#1329);
++#1332=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1333=VECTOR('',#1332,1.5E0);
++#1334=CARTESIAN_POINT('',(7.5E0,1.5E0,2.5E0));
++#1335=LINE('',#1334,#1333);
++#1336=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0));
++#1337=DIRECTION('',(0.E0,1.E0,0.E0));
++#1338=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1339=AXIS2_PLACEMENT_3D('',#1336,#1337,#1338);
++#1341=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1342=VECTOR('',#1341,1.5E0);
++#1343=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0));
++#1344=LINE('',#1343,#1342);
++#1345=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,7.E0));
++#1346=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1347=DIRECTION('',(0.E0,0.E0,1.E0));
++#1348=AXIS2_PLACEMENT_3D('',#1345,#1346,#1347);
++#1350=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1351=VECTOR('',#1350,1.5E0);
++#1352=CARTESIAN_POINT('',(2.539216291754E0,1.5E0,6.875E0));
++#1353=LINE('',#1352,#1351);
++#1354=CARTESIAN_POINT('',(3.531373033403E0,0.E0,7.E0));
++#1355=DIRECTION('',(0.E0,1.E0,0.E0));
++#1356=DIRECTION('',(-9.921567416492E-1,0.E0,-1.25E-1));
++#1357=AXIS2_PLACEMENT_3D('',#1354,#1355,#1356);
++#1359=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1360=VECTOR('',#1359,1.5E0);
++#1361=CARTESIAN_POINT('',(0.E0,1.5E0,7.E0));
++#1362=LINE('',#1361,#1360);
++#1363=CARTESIAN_POINT('',(-1.E0,1.5E0,7.E0));
++#1364=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1365=DIRECTION('',(1.E0,0.E0,0.E0));
++#1366=AXIS2_PLACEMENT_3D('',#1363,#1364,#1365);
++#1368=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1369=VECTOR('',#1368,1.5E0);
++#1370=CARTESIAN_POINT('',(-1.E0,1.5E0,8.E0));
++#1371=LINE('',#1370,#1369);
++#1372=CARTESIAN_POINT('',(-1.E0,0.E0,7.E0));
++#1373=DIRECTION('',(0.E0,1.E0,0.E0));
++#1374=DIRECTION('',(0.E0,0.E0,1.E0));
++#1375=AXIS2_PLACEMENT_3D('',#1372,#1373,#1374);
++#1377=DIRECTION('',(0.E0,1.E0,0.E0));
++#1378=VECTOR('',#1377,1.5E0);
++#1379=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1));
++#1380=LINE('',#1379,#1378);
++#1381=CARTESIAN_POINT('',(-1.E0,0.E0,1.325E1));
++#1382=DIRECTION('',(0.E0,1.E0,0.E0));
++#1383=DIRECTION('',(1.E0,0.E0,0.E0));
++#1384=AXIS2_PLACEMENT_3D('',#1381,#1382,#1383);
++#1386=DIRECTION('',(0.E0,1.E0,0.E0));
++#1387=VECTOR('',#1386,1.5E0);
++#1388=CARTESIAN_POINT('',(-1.E0,0.E0,1.225E1));
++#1389=LINE('',#1388,#1387);
++#1390=CARTESIAN_POINT('',(-1.E0,1.5E0,1.325E1));
++#1391=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1392=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1393=AXIS2_PLACEMENT_3D('',#1390,#1391,#1392);
++#1395=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1396=VECTOR('',#1395,1.5E0);
++#1397=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1));
++#1398=LINE('',#1397,#1396);
++#1399=CARTESIAN_POINT('',(3.5E0,1.5E0,1.325E1));
++#1400=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1401=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1402=AXIS2_PLACEMENT_3D('',#1399,#1400,#1401);
++#1404=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1405=VECTOR('',#1404,1.5E0);
++#1406=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1));
++#1407=LINE('',#1406,#1405);
++#1408=CARTESIAN_POINT('',(3.5E0,0.E0,1.325E1));
++#1409=DIRECTION('',(0.E0,1.E0,0.E0));
++#1410=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1411=AXIS2_PLACEMENT_3D('',#1408,#1409,#1410);
++#1413=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1414=VECTOR('',#1413,1.5E0);
++#1415=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1));
++#1416=LINE('',#1415,#1414);
++#1417=CARTESIAN_POINT('',(5.5E0,1.5E0,2.19375E1));
++#1418=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1419=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1420=AXIS2_PLACEMENT_3D('',#1417,#1418,#1419);
++#1422=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1423=VECTOR('',#1422,1.5E0);
++#1424=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1));
++#1425=LINE('',#1424,#1423);
++#1426=CARTESIAN_POINT('',(5.5E0,0.E0,2.19375E1));
++#1427=DIRECTION('',(0.E0,1.E0,0.E0));
++#1428=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1429=AXIS2_PLACEMENT_3D('',#1426,#1427,#1428);
++#1431=DIRECTION('',(0.E0,1.E0,0.E0));
++#1432=VECTOR('',#1431,1.5E0);
++#1433=CARTESIAN_POINT('',(2.15E1,0.E0,2.19375E1));
++#1434=LINE('',#1433,#1432);
++#1435=CARTESIAN_POINT('',(1.85E1,0.E0,2.19375E1));
++#1436=DIRECTION('',(0.E0,1.E0,0.E0));
++#1437=DIRECTION('',(1.E0,0.E0,0.E0));
++#1438=AXIS2_PLACEMENT_3D('',#1435,#1436,#1437);
++#1440=DIRECTION('',(0.E0,1.E0,0.E0));
++#1441=VECTOR('',#1440,1.5E0);
++#1442=CARTESIAN_POINT('',(1.85E1,0.E0,1.89375E1));
++#1443=LINE('',#1442,#1441);
++#1444=CARTESIAN_POINT('',(1.85E1,1.5E0,2.19375E1));
++#1445=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1446=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1447=AXIS2_PLACEMENT_3D('',#1444,#1445,#1446);
++#1449=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1450=VECTOR('',#1449,1.5E0);
++#1451=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1));
++#1452=LINE('',#1451,#1450);
++#1453=CARTESIAN_POINT('',(1.65E1,1.5E0,2.45E1));
++#1454=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1455=DIRECTION('',(1.E0,0.E0,0.E0));
++#1456=AXIS2_PLACEMENT_3D('',#1453,#1454,#1455);
++#1458=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1459=VECTOR('',#1458,1.5E0);
++#1460=CARTESIAN_POINT('',(1.65E1,1.5E0,2.95E1));
++#1461=LINE('',#1460,#1459);
++#1462=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1));
++#1463=DIRECTION('',(0.E0,1.E0,0.E0));
++#1464=DIRECTION('',(0.E0,0.E0,1.E0));
++#1465=AXIS2_PLACEMENT_3D('',#1462,#1463,#1464);
++#1467=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1468=VECTOR('',#1467,1.5E0);
++#1469=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1));
++#1470=LINE('',#1469,#1468);
++#1471=CARTESIAN_POINT('',(7.5E0,1.5E0,2.45E1));
++#1472=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1473=DIRECTION('',(0.E0,0.E0,1.E0));
++#1474=AXIS2_PLACEMENT_3D('',#1471,#1472,#1473);
++#1476=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1477=VECTOR('',#1476,1.5E0);
++#1478=CARTESIAN_POINT('',(2.5E0,1.5E0,2.45E1));
++#1479=LINE('',#1478,#1477);
++#1480=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1));
++#1481=DIRECTION('',(0.E0,1.E0,0.E0));
++#1482=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1483=AXIS2_PLACEMENT_3D('',#1480,#1481,#1482);
++#1485=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1486=VECTOR('',#1485,1.5E0);
++#1487=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1));
++#1488=LINE('',#1487,#1486);
++#1489=CARTESIAN_POINT('',(1.85E1,1.5E0,1.40625E1));
++#1490=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1491=DIRECTION('',(1.E0,0.E0,0.E0));
++#1492=AXIS2_PLACEMENT_3D('',#1489,#1490,#1491);
++#1494=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1495=VECTOR('',#1494,1.5E0);
++#1496=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1));
++#1497=LINE('',#1496,#1495);
++#1498=CARTESIAN_POINT('',(1.85E1,0.E0,1.40625E1));
++#1499=DIRECTION('',(0.E0,1.E0,0.E0));
++#1500=DIRECTION('',(0.E0,0.E0,1.E0));
++#1501=AXIS2_PLACEMENT_3D('',#1498,#1499,#1500);
++#1503=DIRECTION('',(0.E0,1.E0,0.E0));
++#1504=VECTOR('',#1503,1.5E0);
++#1505=CARTESIAN_POINT('',(2.5E0,0.E0,1.40625E1));
++#1506=LINE('',#1505,#1504);
++#1507=CARTESIAN_POINT('',(5.5E0,0.E0,1.40625E1));
++#1508=DIRECTION('',(0.E0,1.E0,0.E0));
++#1509=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1510=AXIS2_PLACEMENT_3D('',#1507,#1508,#1509);
++#1512=DIRECTION('',(0.E0,1.E0,0.E0));
++#1513=VECTOR('',#1512,1.5E0);
++#1514=CARTESIAN_POINT('',(5.5E0,0.E0,1.70625E1));
++#1515=LINE('',#1514,#1513);
++#1516=CARTESIAN_POINT('',(5.5E0,1.5E0,1.40625E1));
++#1517=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1518=DIRECTION('',(0.E0,0.E0,1.E0));
++#1519=AXIS2_PLACEMENT_3D('',#1516,#1517,#1518);
++#1521=DIRECTION('',(0.E0,1.E0,0.E0));
++#1522=VECTOR('',#1521,1.5E0);
++#1523=CARTESIAN_POINT('',(2.15E1,0.E0,1.325E1));
++#1524=LINE('',#1523,#1522);
++#1525=CARTESIAN_POINT('',(2.05E1,0.E0,1.325E1));
++#1526=DIRECTION('',(0.E0,1.E0,0.E0));
++#1527=DIRECTION('',(1.E0,0.E0,0.E0));
++#1528=AXIS2_PLACEMENT_3D('',#1525,#1526,#1527);
++#1530=DIRECTION('',(0.E0,1.E0,0.E0));
++#1531=VECTOR('',#1530,1.5E0);
++#1532=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1));
++#1533=LINE('',#1532,#1531);
++#1534=CARTESIAN_POINT('',(2.05E1,1.5E0,1.325E1));
++#1535=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1536=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1537=AXIS2_PLACEMENT_3D('',#1534,#1535,#1536);
++#1539=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1540=VECTOR('',#1539,1.5E0);
++#1541=CARTESIAN_POINT('',(2.4E1,1.5E0,1.325E1));
++#1542=LINE('',#1541,#1540);
++#1543=CARTESIAN_POINT('',(2.5E1,1.5E0,1.325E1));
++#1544=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1545=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1546=AXIS2_PLACEMENT_3D('',#1543,#1544,#1545);
++#1548=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1549=VECTOR('',#1548,1.5E0);
++#1550=CARTESIAN_POINT('',(2.5E1,1.5E0,1.225E1));
++#1551=LINE('',#1550,#1549);
++#1552=CARTESIAN_POINT('',(2.5E1,0.E0,1.325E1));
++#1553=DIRECTION('',(0.E0,1.E0,0.E0));
++#1554=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1555=AXIS2_PLACEMENT_3D('',#1552,#1553,#1554);
++#1557=DIRECTION('',(0.E0,1.E0,0.E0));
++#1558=VECTOR('',#1557,1.5E0);
++#1559=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
++#1560=LINE('',#1559,#1558);
++#1561=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
++#1562=VECTOR('',#1561,5.656854249492E0);
++#1563=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
++#1564=LINE('',#1563,#1562);
++#1565=DIRECTION('',(0.E0,1.E0,0.E0));
++#1566=VECTOR('',#1565,1.5E0);
++#1567=CARTESIAN_POINT('',(2.E1,0.E0,3.2E1));
++#1568=LINE('',#1567,#1566);
++#1569=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
++#1570=VECTOR('',#1569,5.656854249492E0);
++#1571=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1));
++#1572=LINE('',#1571,#1570);
++#1573=DIRECTION('',(0.E0,1.E0,0.E0));
++#1574=VECTOR('',#1573,1.5E0);
++#1575=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
++#1576=LINE('',#1575,#1574);
++#1577=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
++#1578=VECTOR('',#1577,5.656854249492E0);
++#1579=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
++#1580=LINE('',#1579,#1578);
++#1581=DIRECTION('',(0.E0,1.E0,0.E0));
++#1582=VECTOR('',#1581,1.5E0);
++#1583=CARTESIAN_POINT('',(0.E0,0.E0,2.8E1));
++#1584=LINE('',#1583,#1582);
++#1585=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
++#1586=VECTOR('',#1585,5.656854249492E0);
++#1587=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1));
++#1588=LINE('',#1587,#1586);
++#1589=DIRECTION('',(0.E0,1.E0,0.E0));
++#1590=VECTOR('',#1589,1.5E0);
++#1591=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0));
++#1592=LINE('',#1591,#1590);
++#1593=CARTESIAN_POINT('',(2.5E1,0.E0,7.E0));
++#1594=DIRECTION('',(0.E0,1.E0,0.E0));
++#1595=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1596=AXIS2_PLACEMENT_3D('',#1593,#1594,#1595);
++#1598=DIRECTION('',(0.E0,1.E0,0.E0));
++#1599=VECTOR('',#1598,1.5E0);
++#1600=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0));
++#1601=LINE('',#1600,#1599);
++#1602=CARTESIAN_POINT('',(2.5E1,1.5E0,7.E0));
++#1603=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1604=DIRECTION('',(0.E0,0.E0,1.E0));
++#1605=AXIS2_PLACEMENT_3D('',#1602,#1603,#1604);
++#1607=DIRECTION('',(0.E0,1.E0,0.E0));
++#1608=VECTOR('',#1607,1.5E0);
++#1609=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
++#1610=LINE('',#1609,#1608);
++#1611=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
++#1612=VECTOR('',#1611,5.656854249492E0);
++#1613=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
++#1614=LINE('',#1613,#1612);
++#1615=DIRECTION('',(0.E0,1.E0,0.E0));
++#1616=VECTOR('',#1615,1.5E0);
++#1617=CARTESIAN_POINT('',(2.4E1,0.E0,4.E0));
++#1618=LINE('',#1617,#1616);
++#1619=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
++#1620=VECTOR('',#1619,5.656854249492E0);
++#1621=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0));
++#1622=LINE('',#1621,#1620);
++#1623=DIRECTION('',(0.E0,1.E0,0.E0));
++#1624=VECTOR('',#1623,1.5E0);
++#1625=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
++#1626=LINE('',#1625,#1624);
++#1627=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
++#1628=VECTOR('',#1627,5.656854249492E0);
++#1629=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
++#1630=LINE('',#1629,#1628);
++#1631=DIRECTION('',(0.E0,1.E0,0.E0));
++#1632=VECTOR('',#1631,1.5E0);
++#1633=CARTESIAN_POINT('',(4.E0,0.E0,0.E0));
++#1634=LINE('',#1633,#1632);
++#1635=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
++#1636=VECTOR('',#1635,5.656854249492E0);
++#1637=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0));
++#1638=LINE('',#1637,#1636);
++#1639=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1640=VECTOR('',#1639,1.5E0);
++#1641=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
++#1642=LINE('',#1641,#1640);
++#1643=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
++#1644=VECTOR('',#1643,7.071067811865E-1);
++#1645=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
++#1646=LINE('',#1645,#1644);
++#1647=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1648=VECTOR('',#1647,1.5E0);
++#1649=CARTESIAN_POINT('',(2.6E1,1.5E0,1.175E1));
++#1650=LINE('',#1649,#1648);
++#1651=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
++#1652=VECTOR('',#1651,7.071067811865E-1);
++#1653=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1));
++#1654=LINE('',#1653,#1652);
++#1655=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1656=VECTOR('',#1655,2.5E0);
++#1657=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0));
++#1658=LINE('',#1657,#1656);
++#1659=DIRECTION('',(0.E0,0.E0,1.E0));
++#1660=VECTOR('',#1659,2.E0);
++#1661=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0));
++#1662=LINE('',#1661,#1660);
++#1663=DIRECTION('',(0.E0,0.E0,1.E0));
++#1664=VECTOR('',#1663,2.E0);
++#1665=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
++#1666=LINE('',#1665,#1664);
++#1667=DIRECTION('',(0.E0,0.E0,1.E0));
++#1668=VECTOR('',#1667,2.E0);
++#1669=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0));
++#1670=LINE('',#1669,#1668);
++#1671=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0));
++#1672=DIRECTION('',(0.E0,1.E0,0.E0));
++#1673=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1674=AXIS2_PLACEMENT_3D('',#1671,#1672,#1673);
++#1676=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0));
++#1677=DIRECTION('',(0.E0,1.E0,0.E0));
++#1678=DIRECTION('',(1.E0,0.E0,0.E0));
++#1679=AXIS2_PLACEMENT_3D('',#1676,#1677,#1678);
++#1681=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0));
++#1682=DIRECTION('',(0.E0,1.E0,0.E0));
++#1683=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1684=AXIS2_PLACEMENT_3D('',#1681,#1682,#1683);
++#1686=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0));
++#1687=DIRECTION('',(0.E0,1.E0,0.E0));
++#1688=DIRECTION('',(1.E0,0.E0,0.E0));
++#1689=AXIS2_PLACEMENT_3D('',#1686,#1687,#1688);
++#1691=DIRECTION('',(0.E0,0.E0,1.E0));
++#1692=VECTOR('',#1691,2.E0);
++#1693=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
++#1694=LINE('',#1693,#1692);
++#1695=DIRECTION('',(0.E0,1.E0,0.E0));
++#1696=VECTOR('',#1695,1.E1);
++#1697=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
++#1698=LINE('',#1697,#1696);
++#1699=DIRECTION('',(0.E0,1.E0,0.E0));
++#1700=VECTOR('',#1699,1.5E0);
++#1701=CARTESIAN_POINT('',(1.9E1,0.E0,1.1E1));
++#1702=LINE('',#1701,#1700);
++#1703=CARTESIAN_POINT('',(1.8E1,0.E0,1.1E1));
++#1704=DIRECTION('',(0.E0,1.E0,0.E0));
++#1705=DIRECTION('',(1.E0,0.E0,0.E0));
++#1706=AXIS2_PLACEMENT_3D('',#1703,#1704,#1705);
++#1708=DIRECTION('',(0.E0,1.E0,0.E0));
++#1709=VECTOR('',#1708,1.5E0);
++#1710=CARTESIAN_POINT('',(1.8E1,0.E0,1.E1));
++#1711=LINE('',#1710,#1709);
++#1712=CARTESIAN_POINT('',(1.8E1,1.5E0,1.1E1));
++#1713=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1714=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1715=AXIS2_PLACEMENT_3D('',#1712,#1713,#1714);
++#1717=DIRECTION('',(1.E0,0.E0,0.E0));
++#1718=VECTOR('',#1717,1.2E1);
++#1719=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1));
++#1720=LINE('',#1719,#1718);
++#1721=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1722=VECTOR('',#1721,1.5E0);
++#1723=CARTESIAN_POINT('',(5.E0,1.5E0,1.1E1));
++#1724=LINE('',#1723,#1722);
++#1725=CARTESIAN_POINT('',(6.E0,1.5E0,1.1E1));
++#1726=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1727=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1728=AXIS2_PLACEMENT_3D('',#1725,#1726,#1727);
++#1730=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1731=VECTOR('',#1730,1.5E0);
++#1732=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1));
++#1733=LINE('',#1732,#1731);
++#1734=CARTESIAN_POINT('',(6.E0,0.E0,1.1E1));
++#1735=DIRECTION('',(0.E0,1.E0,0.E0));
++#1736=DIRECTION('',(0.E0,0.E0,-1.E0));
++#1737=AXIS2_PLACEMENT_3D('',#1734,#1735,#1736);
++#1739=DIRECTION('',(0.E0,0.E0,1.E0));
++#1740=VECTOR('',#1739,2.E0);
++#1741=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
++#1742=LINE('',#1741,#1740);
++#1743=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1744=VECTOR('',#1743,1.E1);
++#1745=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
++#1746=LINE('',#1745,#1744);
++#1747=DIRECTION('',(0.E0,1.E0,0.E0));
++#1748=VECTOR('',#1747,1.5E0);
++#1749=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
++#1750=LINE('',#1749,#1748);
++#1751=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
++#1752=VECTOR('',#1751,7.071067811865E-1);
++#1753=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
++#1754=LINE('',#1753,#1752);
++#1755=DIRECTION('',(0.E0,1.E0,0.E0));
++#1756=VECTOR('',#1755,1.5E0);
++#1757=CARTESIAN_POINT('',(4.5E0,0.E0,1.225E1));
++#1758=LINE('',#1757,#1756);
++#1759=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
++#1760=VECTOR('',#1759,7.071067811865E-1);
++#1761=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1));
++#1762=LINE('',#1761,#1760);
++#1763=CARTESIAN_POINT('',(4.25E0,1.05E1,1.E1));
++#1764=DIRECTION('',(0.E0,0.E0,1.E0));
++#1765=DIRECTION('',(1.E0,0.E0,0.E0));
++#1766=AXIS2_PLACEMENT_3D('',#1763,#1764,#1765);
++#1768=CARTESIAN_POINT('',(4.25E0,1.05E1,1.E1));
++#1769=DIRECTION('',(0.E0,0.E0,1.E0));
++#1770=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1771=AXIS2_PLACEMENT_3D('',#1768,#1769,#1770);
++#1773=DIRECTION('',(0.E0,1.E0,0.E0));
++#1774=VECTOR('',#1773,5.E0);
++#1775=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.E1));
++#1776=LINE('',#1775,#1774);
++#1777=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1778=VECTOR('',#1777,1.E0);
++#1779=CARTESIAN_POINT('',(-2.E0,2.5E0,1.E1));
++#1780=LINE('',#1779,#1778);
++#1781=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
++#1782=VECTOR('',#1781,1.029563014099E1);
++#1783=CARTESIAN_POINT('',(3.E0,1.15E1,1.E1));
++#1784=LINE('',#1783,#1782);
++#1785=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1786=VECTOR('',#1785,2.E0);
++#1787=CARTESIAN_POINT('',(5.E0,1.15E1,1.E1));
++#1788=LINE('',#1787,#1786);
++#1789=DIRECTION('',(0.E0,1.E0,0.E0));
++#1790=VECTOR('',#1789,1.E1);
++#1791=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1));
++#1792=LINE('',#1791,#1790);
++#1793=DIRECTION('',(0.E0,1.E0,0.E0));
++#1794=VECTOR('',#1793,5.E0);
++#1795=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1));
++#1796=LINE('',#1795,#1794);
++#1797=DIRECTION('',(1.E0,0.E0,0.E0));
++#1798=VECTOR('',#1797,1.75E0);
++#1799=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1));
++#1800=LINE('',#1799,#1798);
++#1801=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1802=VECTOR('',#1801,4.3E0);
++#1803=CARTESIAN_POINT('',(2.5E0,6.65E0,1.E1));
++#1804=LINE('',#1803,#1802);
++#1805=DIRECTION('',(1.E0,0.E0,0.E0));
++#1806=VECTOR('',#1805,1.3E0);
++#1807=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1));
++#1808=LINE('',#1807,#1806);
++#1809=DIRECTION('',(0.E0,1.E0,0.E0));
++#1810=VECTOR('',#1809,6.8E0);
++#1811=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1));
++#1812=LINE('',#1811,#1810);
++#1813=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1814=VECTOR('',#1813,1.197200760546E0);
++#1815=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1));
++#1816=LINE('',#1815,#1814);
++#1817=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
++#1818=VECTOR('',#1817,2.059126028197E0);
++#1819=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1));
++#1820=LINE('',#1819,#1818);
++#1821=DIRECTION('',(1.E0,0.E0,0.E0));
++#1822=VECTOR('',#1821,1.972007605460E-1);
++#1823=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1));
++#1824=LINE('',#1823,#1822);
++#1825=DIRECTION('',(0.E0,0.E0,1.E0));
++#1826=VECTOR('',#1825,2.E0);
++#1827=CARTESIAN_POINT('',(4.4125E0,1.05E1,8.E0));
++#1828=LINE('',#1827,#1826);
++#1829=DIRECTION('',(0.E0,0.E0,1.E0));
++#1830=VECTOR('',#1829,2.E0);
++#1831=CARTESIAN_POINT('',(4.0875E0,1.05E1,8.E0));
++#1832=LINE('',#1831,#1830);
++#1833=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
++#1834=VECTOR('',#1833,5.773502691896E0);
++#1835=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1));
++#1836=LINE('',#1835,#1834);
++#1837=CARTESIAN_POINT('',(8.675E-1,3.035898384862E0,1.2E1));
++#1838=CARTESIAN_POINT('',(8.675E-1,2.930774450068E0,1.206069333205E1));
++#1839=CARTESIAN_POINT('',(9.058386382037E-1,2.745461691651E0,1.216768370301E1));
++#1840=CARTESIAN_POINT('',(1.029862281194E0,2.608885438662E0,1.224653603944E1));
++#1841=CARTESIAN_POINT('',(1.125E0,2.580400233539E0,1.226298198028E1));
++#1842=CARTESIAN_POINT('',(1.220137718806E0,2.608885438662E0,1.224653603944E1));
++#1843=CARTESIAN_POINT('',(1.344161361796E0,2.745461691651E0,1.216768370301E1));
++#1844=CARTESIAN_POINT('',(1.3825E0,2.930774450068E0,1.206069333205E1));
++#1845=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1));
++#1847=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1));
++#1848=CARTESIAN_POINT('',(1.3825E0,3.141022319657E0,1.193930666795E1));
++#1849=CARTESIAN_POINT('',(1.344161361796E0,3.326335078073E0,1.183231629699E1));
++#1850=CARTESIAN_POINT('',(1.220137718806E0,3.462911331062E0,1.175346396056E1));
++#1851=CARTESIAN_POINT('',(1.125E0,3.491396536186E0,1.173701801972E1));
++#1852=CARTESIAN_POINT('',(1.029862281194E0,3.462911331062E0,1.175346396056E1));
++#1853=CARTESIAN_POINT('',(9.058386382037E-1,3.326335078073E0,1.183231629699E1));
++#1854=CARTESIAN_POINT('',(8.675E-1,3.141022319657E0,1.193930666795E1));
++#1855=CARTESIAN_POINT('',(8.675E-1,3.035898384862E0,1.2E1));
++#1857=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
++#1858=VECTOR('',#1857,5.773502691896E0);
++#1859=CARTESIAN_POINT('',(2.E0,6.5E0,1.E1));
++#1860=LINE('',#1859,#1858);
++#1861=DIRECTION('',(0.E0,1.E0,0.E0));
++#1862=VECTOR('',#1861,2.035898384862E0);
++#1863=CARTESIAN_POINT('',(8.675E-1,1.E0,1.2E1));
++#1864=LINE('',#1863,#1862);
++#1865=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1866=VECTOR('',#1865,2.035898384862E0);
++#1867=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1));
++#1868=LINE('',#1867,#1866);
++#1869=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
++#1870=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1871=DIRECTION('',(1.E0,0.E0,0.E0));
++#1872=AXIS2_PLACEMENT_3D('',#1869,#1870,#1871);
++#1874=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
++#1875=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1876=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1877=AXIS2_PLACEMENT_3D('',#1874,#1875,#1876);
++#1879=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
++#1880=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1881=DIRECTION('',(1.E0,0.E0,0.E0));
++#1882=AXIS2_PLACEMENT_3D('',#1879,#1880,#1881);
++#1884=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
++#1885=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1886=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1887=AXIS2_PLACEMENT_3D('',#1884,#1885,#1886);
++#1889=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1890=VECTOR('',#1889,1.E0);
++#1891=CARTESIAN_POINT('',(1.3175E0,1.E0,1.2E1));
++#1892=LINE('',#1891,#1890);
++#1893=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1894=VECTOR('',#1893,1.E0);
++#1895=CARTESIAN_POINT('',(9.325E-1,1.E0,1.2E1));
++#1896=LINE('',#1895,#1894);
++#1897=DIRECTION('',(0.E0,1.E0,0.E0));
++#1898=VECTOR('',#1897,2.5E0);
++#1899=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0));
++#1900=LINE('',#1899,#1898);
++#1901=DIRECTION('',(0.E0,0.E0,1.E0));
++#1902=VECTOR('',#1901,2.E0);
++#1903=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0));
++#1904=LINE('',#1903,#1902);
++#1905=DIRECTION('',(0.E0,1.E0,0.E0));
++#1906=VECTOR('',#1905,1.5E0);
++#1907=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
++#1908=LINE('',#1907,#1906);
++#1909=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
++#1910=VECTOR('',#1909,7.071067811865E-1);
++#1911=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
++#1912=LINE('',#1911,#1910);
++#1913=DIRECTION('',(0.E0,1.E0,0.E0));
++#1914=VECTOR('',#1913,1.5E0);
++#1915=CARTESIAN_POINT('',(-2.E0,0.E0,1.175E1));
++#1916=LINE('',#1915,#1914);
++#1917=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
++#1918=VECTOR('',#1917,7.071067811865E-1);
++#1919=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1));
++#1920=LINE('',#1919,#1918);
++#1921=DIRECTION('',(0.E0,0.E0,1.E0));
++#1922=VECTOR('',#1921,2.E0);
++#1923=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0));
++#1924=LINE('',#1923,#1922);
++#1925=DIRECTION('',(0.E0,0.E0,1.E0));
++#1926=VECTOR('',#1925,2.E0);
++#1927=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
++#1928=LINE('',#1927,#1926);
++#1929=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0));
++#1930=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1931=DIRECTION('',(1.E0,0.E0,0.E0));
++#1932=AXIS2_PLACEMENT_3D('',#1929,#1930,#1931);
++#1934=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0));
++#1935=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1936=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1937=AXIS2_PLACEMENT_3D('',#1934,#1935,#1936);
++#1939=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0));
++#1940=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1941=DIRECTION('',(1.E0,0.E0,0.E0));
++#1942=AXIS2_PLACEMENT_3D('',#1939,#1940,#1941);
++#1944=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0));
++#1945=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1946=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1947=AXIS2_PLACEMENT_3D('',#1944,#1945,#1946);
++#1949=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1950=VECTOR('',#1949,3.75E-1);
++#1951=CARTESIAN_POINT('',(4.095E0,1.15E1,9.E0));
++#1952=LINE('',#1951,#1950);
++#1953=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1954=VECTOR('',#1953,3.75E-1);
++#1955=CARTESIAN_POINT('',(3.905E0,1.15E1,9.E0));
++#1956=LINE('',#1955,#1954);
++#1957=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0));
++#1958=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1959=DIRECTION('',(1.E0,0.E0,0.E0));
++#1960=AXIS2_PLACEMENT_3D('',#1957,#1958,#1959);
++#1962=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0));
++#1963=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1964=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1965=AXIS2_PLACEMENT_3D('',#1962,#1963,#1964);
++#1967=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1968=VECTOR('',#1967,2.5E-1);
++#1969=CARTESIAN_POINT('',(3.929917478528E0,1.15E1,9.132582521472E0));
++#1970=LINE('',#1969,#1968);
++#1971=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1972=VECTOR('',#1971,2.5E-1);
++#1973=CARTESIAN_POINT('',(3.804917478528E0,1.15E1,9.132582521472E0));
++#1974=LINE('',#1973,#1972);
++#1975=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0));
++#1976=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1977=DIRECTION('',(1.E0,0.E0,0.E0));
++#1978=AXIS2_PLACEMENT_3D('',#1975,#1976,#1977);
++#1980=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0));
++#1981=DIRECTION('',(0.E0,-1.E0,0.E0));
++#1982=DIRECTION('',(-1.E0,0.E0,0.E0));
++#1983=AXIS2_PLACEMENT_3D('',#1980,#1981,#1982);
++#1985=DIRECTION('',(0.E0,0.E0,1.E0));
++#1986=VECTOR('',#1985,5.E-1);
++#1987=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0));
++#1988=LINE('',#1987,#1986);
++#1989=CARTESIAN_POINT('',(2.15E0,6.65E0,1.E1));
++#1990=DIRECTION('',(0.E0,0.E0,1.E0));
++#1991=DIRECTION('',(1.E0,0.E0,0.E0));
++#1992=AXIS2_PLACEMENT_3D('',#1989,#1990,#1991);
++#1994=DIRECTION('',(0.E0,0.E0,1.E0));
++#1995=VECTOR('',#1994,5.E-1);
++#1996=CARTESIAN_POINT('',(2.15E0,7.E0,9.5E0));
++#1997=LINE('',#1996,#1995);
++#1998=CARTESIAN_POINT('',(2.15E0,6.65E0,9.5E0));
++#1999=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2000=DIRECTION('',(0.E0,1.E0,0.E0));
++#2001=AXIS2_PLACEMENT_3D('',#1998,#1999,#2000);
++#2003=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2004=VECTOR('',#2003,4.3E0);
++#2005=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0));
++#2006=LINE('',#2005,#2004);
++#2007=DIRECTION('',(1.E0,0.E0,0.E0));
++#2008=VECTOR('',#2007,1.972007605460E-1);
++#2009=CARTESIAN_POINT('',(1.952799239454E0,7.E0,9.5E0));
++#2010=LINE('',#2009,#2008);
++#2011=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
++#2012=VECTOR('',#2011,2.059126028197E0);
++#2013=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,9.5E0));
++#2014=LINE('',#2013,#2012);
++#2015=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2016=VECTOR('',#2015,1.197200760546E0);
++#2017=CARTESIAN_POINT('',(4.15E0,9.5E0,9.5E0));
++#2018=LINE('',#2017,#2016);
++#2019=DIRECTION('',(0.E0,1.E0,0.E0));
++#2020=VECTOR('',#2019,6.8E0);
++#2021=CARTESIAN_POINT('',(4.5E0,2.35E0,9.5E0));
++#2022=LINE('',#2021,#2020);
++#2023=DIRECTION('',(1.E0,0.E0,0.E0));
++#2024=VECTOR('',#2023,1.3E0);
++#2025=CARTESIAN_POINT('',(2.85E0,2.E0,9.5E0));
++#2026=LINE('',#2025,#2024);
++#2027=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2028=VECTOR('',#2027,5.E-1);
++#2029=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1));
++#2030=LINE('',#2029,#2028);
++#2031=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,1.E1));
++#2032=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2033=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2034=AXIS2_PLACEMENT_3D('',#2031,#2032,#2033);
++#2036=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2037=VECTOR('',#2036,5.E-1);
++#2038=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,1.E1));
++#2039=LINE('',#2038,#2037);
++#2040=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,9.5E0));
++#2041=DIRECTION('',(0.E0,0.E0,1.E0));
++#2042=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
++#2043=AXIS2_PLACEMENT_3D('',#2040,#2041,#2042);
++#2045=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2046=VECTOR('',#2045,5.E-1);
++#2047=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1));
++#2048=LINE('',#2047,#2046);
++#2049=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,1.E1));
++#2050=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2051=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
++#2052=AXIS2_PLACEMENT_3D('',#2049,#2050,#2051);
++#2054=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2055=VECTOR('',#2054,5.E-1);
++#2056=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,1.E1));
++#2057=LINE('',#2056,#2055);
++#2058=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,9.5E0));
++#2059=DIRECTION('',(0.E0,0.E0,1.E0));
++#2060=DIRECTION('',(0.E0,1.E0,0.E0));
++#2061=AXIS2_PLACEMENT_3D('',#2058,#2059,#2060);
++#2063=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2064=VECTOR('',#2063,5.E-1);
++#2065=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1));
++#2066=LINE('',#2065,#2064);
++#2067=CARTESIAN_POINT('',(4.15E0,9.15E0,1.E1));
++#2068=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2069=DIRECTION('',(0.E0,1.E0,0.E0));
++#2070=AXIS2_PLACEMENT_3D('',#2067,#2068,#2069);
++#2072=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2073=VECTOR('',#2072,5.E-1);
++#2074=CARTESIAN_POINT('',(4.5E0,9.15E0,1.E1));
++#2075=LINE('',#2074,#2073);
++#2076=CARTESIAN_POINT('',(4.15E0,9.15E0,9.5E0));
++#2077=DIRECTION('',(0.E0,0.E0,1.E0));
++#2078=DIRECTION('',(1.E0,0.E0,0.E0));
++#2079=AXIS2_PLACEMENT_3D('',#2076,#2077,#2078);
++#2081=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2082=VECTOR('',#2081,5.E-1);
++#2083=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1));
++#2084=LINE('',#2083,#2082);
++#2085=CARTESIAN_POINT('',(4.15E0,2.35E0,1.E1));
++#2086=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2087=DIRECTION('',(1.E0,0.E0,0.E0));
++#2088=AXIS2_PLACEMENT_3D('',#2085,#2086,#2087);
++#2090=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2091=VECTOR('',#2090,5.E-1);
++#2092=CARTESIAN_POINT('',(4.15E0,2.E0,1.E1));
++#2093=LINE('',#2092,#2091);
++#2094=CARTESIAN_POINT('',(4.15E0,2.35E0,9.5E0));
++#2095=DIRECTION('',(0.E0,0.E0,1.E0));
++#2096=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2097=AXIS2_PLACEMENT_3D('',#2094,#2095,#2096);
++#2099=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2100=VECTOR('',#2099,5.E-1);
++#2101=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1));
++#2102=LINE('',#2101,#2100);
++#2103=CARTESIAN_POINT('',(2.85E0,2.35E0,1.E1));
++#2104=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2105=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2106=AXIS2_PLACEMENT_3D('',#2103,#2104,#2105);
++#2108=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2109=VECTOR('',#2108,5.E-1);
++#2110=CARTESIAN_POINT('',(2.5E0,2.35E0,1.E1));
++#2111=LINE('',#2110,#2109);
++#2112=CARTESIAN_POINT('',(2.85E0,2.35E0,9.5E0));
++#2113=DIRECTION('',(0.E0,0.E0,1.E0));
++#2114=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2115=AXIS2_PLACEMENT_3D('',#2112,#2113,#2114);
++#2117=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2118=VECTOR('',#2117,1.5E0);
++#2119=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
++#2120=LINE('',#2119,#2118);
++#2121=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
++#2122=VECTOR('',#2121,7.071067811865E-1);
++#2123=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
++#2124=LINE('',#2123,#2122);
++#2125=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2126=VECTOR('',#2125,1.5E0);
++#2127=CARTESIAN_POINT('',(1.95E1,1.5E0,1.225E1));
++#2128=LINE('',#2127,#2126);
++#2129=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
++#2130=VECTOR('',#2129,7.071067811865E-1);
++#2131=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1));
++#2132=LINE('',#2131,#2130);
++#2133=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2134=VECTOR('',#2133,3.75E-1);
++#2135=CARTESIAN_POINT('',(1.9905E1,1.15E1,9.E0));
++#2136=LINE('',#2135,#2134);
++#2137=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2138=VECTOR('',#2137,3.75E-1);
++#2139=CARTESIAN_POINT('',(2.0095E1,1.15E1,9.E0));
++#2140=LINE('',#2139,#2138);
++#2141=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0));
++#2142=DIRECTION('',(0.E0,1.E0,0.E0));
++#2143=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2144=AXIS2_PLACEMENT_3D('',#2141,#2142,#2143);
++#2146=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0));
++#2147=DIRECTION('',(0.E0,1.E0,0.E0));
++#2148=DIRECTION('',(1.E0,0.E0,0.E0));
++#2149=AXIS2_PLACEMENT_3D('',#2146,#2147,#2148);
++#2151=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2152=VECTOR('',#2151,2.5E-1);
++#2153=CARTESIAN_POINT('',(2.007008252147E1,1.15E1,9.132582521472E0));
++#2154=LINE('',#2153,#2152);
++#2155=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2156=VECTOR('',#2155,2.5E-1);
++#2157=CARTESIAN_POINT('',(2.019508252147E1,1.15E1,9.132582521472E0));
++#2158=LINE('',#2157,#2156);
++#2159=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0));
++#2160=DIRECTION('',(0.E0,1.E0,0.E0));
++#2161=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2162=AXIS2_PLACEMENT_3D('',#2159,#2160,#2161);
++#2164=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0));
++#2165=DIRECTION('',(0.E0,1.E0,0.E0));
++#2166=DIRECTION('',(1.E0,0.E0,0.E0));
++#2167=AXIS2_PLACEMENT_3D('',#2164,#2165,#2166);
++#2169=DIRECTION('',(1.421085471520E-14,1.E0,0.E0));
++#2170=VECTOR('',#2169,2.5E-1);
++#2171=CARTESIAN_POINT('',(1.745E1,1.25E0,2.975E1));
++#2172=LINE('',#2171,#2170);
++#2173=DIRECTION('',(-1.421085471520E-14,1.E0,0.E0));
++#2174=VECTOR('',#2173,2.5E-1);
++#2175=CARTESIAN_POINT('',(1.765E1,1.25E0,2.975E1));
++#2176=LINE('',#2175,#2174);
++#2177=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0));
++#2178=VECTOR('',#2177,1.154700538379E-1);
++#2179=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1));
++#2180=LINE('',#2179,#2178);
++#2181=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0));
++#2182=VECTOR('',#2181,1.154700538379E-1);
++#2183=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1));
++#2184=LINE('',#2183,#2182);
++#2185=CARTESIAN_POINT('',(1.755E1,1.25E0,2.975E1));
++#2186=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2187=DIRECTION('',(1.E0,0.E0,0.E0));
++#2188=AXIS2_PLACEMENT_3D('',#2185,#2186,#2187);
++#2190=CARTESIAN_POINT('',(1.755E1,1.25E0,2.975E1));
++#2191=DIRECTION('',(0.E0,1.E0,0.E0));
++#2192=DIRECTION('',(1.E0,0.E0,0.E0));
++#2193=AXIS2_PLACEMENT_3D('',#2190,#2191,#2192);
++#2195=DIRECTION('',(1.421085471520E-14,1.E0,0.E0));
++#2196=VECTOR('',#2195,2.5E-1);
++#2197=CARTESIAN_POINT('',(1.645E1,1.25E0,2.975E1));
++#2198=LINE('',#2197,#2196);
++#2199=DIRECTION('',(-1.421085471520E-14,1.E0,0.E0));
++#2200=VECTOR('',#2199,2.5E-1);
++#2201=CARTESIAN_POINT('',(1.665E1,1.25E0,2.975E1));
++#2202=LINE('',#2201,#2200);
++#2203=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0));
++#2204=VECTOR('',#2203,1.154700538379E-1);
++#2205=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1));
++#2206=LINE('',#2205,#2204);
++#2207=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0));
++#2208=VECTOR('',#2207,1.154700538379E-1);
++#2209=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1));
++#2210=LINE('',#2209,#2208);
++#2211=CARTESIAN_POINT('',(1.655E1,1.25E0,2.975E1));
++#2212=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2213=DIRECTION('',(1.E0,0.E0,0.E0));
++#2214=AXIS2_PLACEMENT_3D('',#2211,#2212,#2213);
++#2216=CARTESIAN_POINT('',(1.655E1,1.25E0,2.975E1));
++#2217=DIRECTION('',(0.E0,1.E0,0.E0));
++#2218=DIRECTION('',(1.E0,0.E0,0.E0));
++#2219=AXIS2_PLACEMENT_3D('',#2216,#2217,#2218);
++#2221=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2222=VECTOR('',#2221,5.E-1);
++#2223=CARTESIAN_POINT('',(1.3825E0,1.5E0,6.E0));
++#2224=LINE('',#2223,#2222);
++#2225=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2226=VECTOR('',#2225,5.E-1);
++#2227=CARTESIAN_POINT('',(8.675E-1,1.5E0,6.E0));
++#2228=LINE('',#2227,#2226);
++#2229=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
++#2230=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2231=DIRECTION('',(1.E0,0.E0,0.E0));
++#2232=AXIS2_PLACEMENT_3D('',#2229,#2230,#2231);
++#2234=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
++#2235=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2236=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2237=AXIS2_PLACEMENT_3D('',#2234,#2235,#2236);
++#2239=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
++#2240=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2241=DIRECTION('',(1.E0,0.E0,0.E0));
++#2242=AXIS2_PLACEMENT_3D('',#2239,#2240,#2241);
++#2244=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
++#2245=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2246=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2247=AXIS2_PLACEMENT_3D('',#2244,#2245,#2246);
++#2249=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2250=VECTOR('',#2249,1.E0);
++#2251=CARTESIAN_POINT('',(1.3175E0,1.E0,6.E0));
++#2252=LINE('',#2251,#2250);
++#2253=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2254=VECTOR('',#2253,1.E0);
++#2255=CARTESIAN_POINT('',(9.325E-1,1.E0,6.E0));
++#2256=LINE('',#2255,#2254);
++#2257=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2258=VECTOR('',#2257,5.E-1);
++#2259=CARTESIAN_POINT('',(1.3825E0,1.5E0,1.8E1));
++#2260=LINE('',#2259,#2258);
++#2261=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2262=VECTOR('',#2261,5.E-1);
++#2263=CARTESIAN_POINT('',(8.675E-1,1.5E0,1.8E1));
++#2264=LINE('',#2263,#2262);
++#2265=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
++#2266=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2267=DIRECTION('',(1.E0,0.E0,0.E0));
++#2268=AXIS2_PLACEMENT_3D('',#2265,#2266,#2267);
++#2270=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
++#2271=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2272=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2273=AXIS2_PLACEMENT_3D('',#2270,#2271,#2272);
++#2275=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
++#2276=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2277=DIRECTION('',(1.E0,0.E0,0.E0));
++#2278=AXIS2_PLACEMENT_3D('',#2275,#2276,#2277);
++#2280=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
++#2281=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2282=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2283=AXIS2_PLACEMENT_3D('',#2280,#2281,#2282);
++#2285=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2286=VECTOR('',#2285,1.E0);
++#2287=CARTESIAN_POINT('',(1.3175E0,1.E0,1.8E1));
++#2288=LINE('',#2287,#2286);
++#2289=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2290=VECTOR('',#2289,1.E0);
++#2291=CARTESIAN_POINT('',(9.325E-1,1.E0,1.8E1));
++#2292=LINE('',#2291,#2290);
++#2293=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2294=VECTOR('',#2293,5.E-1);
++#2295=CARTESIAN_POINT('',(1.3825E0,1.5E0,2.4E1));
++#2296=LINE('',#2295,#2294);
++#2297=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2298=VECTOR('',#2297,5.E-1);
++#2299=CARTESIAN_POINT('',(8.675E-1,1.5E0,2.4E1));
++#2300=LINE('',#2299,#2298);
++#2301=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
++#2302=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2303=DIRECTION('',(1.E0,0.E0,0.E0));
++#2304=AXIS2_PLACEMENT_3D('',#2301,#2302,#2303);
++#2306=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
++#2307=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2308=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2309=AXIS2_PLACEMENT_3D('',#2306,#2307,#2308);
++#2311=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
++#2312=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2313=DIRECTION('',(1.E0,0.E0,0.E0));
++#2314=AXIS2_PLACEMENT_3D('',#2311,#2312,#2313);
++#2316=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
++#2317=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2318=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2319=AXIS2_PLACEMENT_3D('',#2316,#2317,#2318);
++#2321=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2322=VECTOR('',#2321,1.E0);
++#2323=CARTESIAN_POINT('',(1.3175E0,1.E0,2.4E1));
++#2324=LINE('',#2323,#2322);
++#2325=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2326=VECTOR('',#2325,1.E0);
++#2327=CARTESIAN_POINT('',(9.325E-1,1.E0,2.4E1));
++#2328=LINE('',#2327,#2326);
++#2329=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2330=VECTOR('',#2329,5.E-1);
++#2331=CARTESIAN_POINT('',(2.31325E1,1.5E0,6.E0));
++#2332=LINE('',#2331,#2330);
++#2333=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2334=VECTOR('',#2333,5.E-1);
++#2335=CARTESIAN_POINT('',(2.26175E1,1.5E0,6.E0));
++#2336=LINE('',#2335,#2334);
++#2337=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
++#2338=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2339=DIRECTION('',(1.E0,0.E0,0.E0));
++#2340=AXIS2_PLACEMENT_3D('',#2337,#2338,#2339);
++#2342=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
++#2343=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2344=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2345=AXIS2_PLACEMENT_3D('',#2342,#2343,#2344);
++#2347=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
++#2348=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2349=DIRECTION('',(1.E0,0.E0,0.E0));
++#2350=AXIS2_PLACEMENT_3D('',#2347,#2348,#2349);
++#2352=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
++#2353=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2354=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2355=AXIS2_PLACEMENT_3D('',#2352,#2353,#2354);
++#2357=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2358=VECTOR('',#2357,1.E0);
++#2359=CARTESIAN_POINT('',(2.30675E1,1.E0,6.E0));
++#2360=LINE('',#2359,#2358);
++#2361=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2362=VECTOR('',#2361,1.E0);
++#2363=CARTESIAN_POINT('',(2.26825E1,1.E0,6.E0));
++#2364=LINE('',#2363,#2362);
++#2365=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2366=VECTOR('',#2365,5.E-1);
++#2367=CARTESIAN_POINT('',(2.31325E1,1.5E0,1.8E1));
++#2368=LINE('',#2367,#2366);
++#2369=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2370=VECTOR('',#2369,5.E-1);
++#2371=CARTESIAN_POINT('',(2.26175E1,1.5E0,1.8E1));
++#2372=LINE('',#2371,#2370);
++#2373=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
++#2374=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2375=DIRECTION('',(1.E0,0.E0,0.E0));
++#2376=AXIS2_PLACEMENT_3D('',#2373,#2374,#2375);
++#2378=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
++#2379=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2380=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2381=AXIS2_PLACEMENT_3D('',#2378,#2379,#2380);
++#2383=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
++#2384=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2385=DIRECTION('',(1.E0,0.E0,0.E0));
++#2386=AXIS2_PLACEMENT_3D('',#2383,#2384,#2385);
++#2388=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
++#2389=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2390=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2391=AXIS2_PLACEMENT_3D('',#2388,#2389,#2390);
++#2393=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2394=VECTOR('',#2393,1.E0);
++#2395=CARTESIAN_POINT('',(2.30675E1,1.E0,1.8E1));
++#2396=LINE('',#2395,#2394);
++#2397=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2398=VECTOR('',#2397,1.E0);
++#2399=CARTESIAN_POINT('',(2.26825E1,1.E0,1.8E1));
++#2400=LINE('',#2399,#2398);
++#2401=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2402=VECTOR('',#2401,5.E-1);
++#2403=CARTESIAN_POINT('',(2.31325E1,1.5E0,2.4E1));
++#2404=LINE('',#2403,#2402);
++#2405=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2406=VECTOR('',#2405,5.E-1);
++#2407=CARTESIAN_POINT('',(2.26175E1,1.5E0,2.4E1));
++#2408=LINE('',#2407,#2406);
++#2409=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
++#2410=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2411=DIRECTION('',(1.E0,0.E0,0.E0));
++#2412=AXIS2_PLACEMENT_3D('',#2409,#2410,#2411);
++#2414=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
++#2415=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2416=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2417=AXIS2_PLACEMENT_3D('',#2414,#2415,#2416);
++#2419=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
++#2420=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2421=DIRECTION('',(1.E0,0.E0,0.E0));
++#2422=AXIS2_PLACEMENT_3D('',#2419,#2420,#2421);
++#2424=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
++#2425=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2426=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2427=AXIS2_PLACEMENT_3D('',#2424,#2425,#2426);
++#2429=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2430=VECTOR('',#2429,1.E0);
++#2431=CARTESIAN_POINT('',(2.30675E1,1.E0,2.4E1));
++#2432=LINE('',#2431,#2430);
++#2433=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2434=VECTOR('',#2433,1.E0);
++#2435=CARTESIAN_POINT('',(2.26825E1,1.E0,2.4E1));
++#2436=LINE('',#2435,#2434);
++#2437=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2438=VECTOR('',#2437,5.E-1);
++#2439=CARTESIAN_POINT('',(6.256E0,1.5E0,1.25E0));
++#2440=LINE('',#2439,#2438);
++#2441=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2442=VECTOR('',#2441,5.E-1);
++#2443=CARTESIAN_POINT('',(5.744E0,1.5E0,1.25E0));
++#2444=LINE('',#2443,#2442);
++#2445=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
++#2446=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2447=DIRECTION('',(1.E0,0.E0,0.E0));
++#2448=AXIS2_PLACEMENT_3D('',#2445,#2446,#2447);
++#2450=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
++#2451=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2452=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2453=AXIS2_PLACEMENT_3D('',#2450,#2451,#2452);
++#2455=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
++#2456=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2457=DIRECTION('',(1.E0,0.E0,0.E0));
++#2458=AXIS2_PLACEMENT_3D('',#2455,#2456,#2457);
++#2460=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
++#2461=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2462=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2463=AXIS2_PLACEMENT_3D('',#2460,#2461,#2462);
++#2465=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2466=VECTOR('',#2465,1.E0);
++#2467=CARTESIAN_POINT('',(6.1925E0,1.E0,1.25E0));
++#2468=LINE('',#2467,#2466);
++#2469=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2470=VECTOR('',#2469,1.E0);
++#2471=CARTESIAN_POINT('',(5.8075E0,1.E0,1.25E0));
++#2472=LINE('',#2471,#2470);
++#2473=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2474=VECTOR('',#2473,5.E-1);
++#2475=CARTESIAN_POINT('',(1.2256E1,1.5E0,1.25E0));
++#2476=LINE('',#2475,#2474);
++#2477=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2478=VECTOR('',#2477,5.E-1);
++#2479=CARTESIAN_POINT('',(1.1744E1,1.5E0,1.25E0));
++#2480=LINE('',#2479,#2478);
++#2481=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
++#2482=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2483=DIRECTION('',(1.E0,0.E0,0.E0));
++#2484=AXIS2_PLACEMENT_3D('',#2481,#2482,#2483);
++#2486=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
++#2487=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2488=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2489=AXIS2_PLACEMENT_3D('',#2486,#2487,#2488);
++#2491=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
++#2492=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2493=DIRECTION('',(1.E0,0.E0,0.E0));
++#2494=AXIS2_PLACEMENT_3D('',#2491,#2492,#2493);
++#2496=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
++#2497=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2498=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2499=AXIS2_PLACEMENT_3D('',#2496,#2497,#2498);
++#2501=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2502=VECTOR('',#2501,1.E0);
++#2503=CARTESIAN_POINT('',(1.21925E1,1.E0,1.25E0));
++#2504=LINE('',#2503,#2502);
++#2505=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2506=VECTOR('',#2505,1.E0);
++#2507=CARTESIAN_POINT('',(1.18075E1,1.E0,1.25E0));
++#2508=LINE('',#2507,#2506);
++#2509=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2510=VECTOR('',#2509,5.E-1);
++#2511=CARTESIAN_POINT('',(1.8256E1,1.5E0,1.25E0));
++#2512=LINE('',#2511,#2510);
++#2513=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2514=VECTOR('',#2513,5.E-1);
++#2515=CARTESIAN_POINT('',(1.7744E1,1.5E0,1.25E0));
++#2516=LINE('',#2515,#2514);
++#2517=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
++#2518=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2519=DIRECTION('',(1.E0,0.E0,0.E0));
++#2520=AXIS2_PLACEMENT_3D('',#2517,#2518,#2519);
++#2522=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
++#2523=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2524=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2525=AXIS2_PLACEMENT_3D('',#2522,#2523,#2524);
++#2527=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
++#2528=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2529=DIRECTION('',(1.E0,0.E0,0.E0));
++#2530=AXIS2_PLACEMENT_3D('',#2527,#2528,#2529);
++#2532=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
++#2533=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2534=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2535=AXIS2_PLACEMENT_3D('',#2532,#2533,#2534);
++#2537=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2538=VECTOR('',#2537,1.E0);
++#2539=CARTESIAN_POINT('',(1.81925E1,1.E0,1.25E0));
++#2540=LINE('',#2539,#2538);
++#2541=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2542=VECTOR('',#2541,1.E0);
++#2543=CARTESIAN_POINT('',(1.78075E1,1.E0,1.25E0));
++#2544=LINE('',#2543,#2542);
++#2545=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2546=VECTOR('',#2545,5.E-1);
++#2547=CARTESIAN_POINT('',(6.256E0,1.5E0,3.075E1));
++#2548=LINE('',#2547,#2546);
++#2549=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2550=VECTOR('',#2549,5.E-1);
++#2551=CARTESIAN_POINT('',(5.744E0,1.5E0,3.075E1));
++#2552=LINE('',#2551,#2550);
++#2553=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
++#2554=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2555=DIRECTION('',(1.E0,0.E0,0.E0));
++#2556=AXIS2_PLACEMENT_3D('',#2553,#2554,#2555);
++#2558=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
++#2559=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2560=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2561=AXIS2_PLACEMENT_3D('',#2558,#2559,#2560);
++#2563=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
++#2564=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2565=DIRECTION('',(1.E0,0.E0,0.E0));
++#2566=AXIS2_PLACEMENT_3D('',#2563,#2564,#2565);
++#2568=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
++#2569=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2570=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2571=AXIS2_PLACEMENT_3D('',#2568,#2569,#2570);
++#2573=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2574=VECTOR('',#2573,1.E0);
++#2575=CARTESIAN_POINT('',(6.1925E0,1.E0,3.075E1));
++#2576=LINE('',#2575,#2574);
++#2577=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2578=VECTOR('',#2577,1.E0);
++#2579=CARTESIAN_POINT('',(5.8075E0,1.E0,3.075E1));
++#2580=LINE('',#2579,#2578);
++#2581=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2582=VECTOR('',#2581,5.E-1);
++#2583=CARTESIAN_POINT('',(1.2256E1,1.5E0,3.075E1));
++#2584=LINE('',#2583,#2582);
++#2585=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2586=VECTOR('',#2585,5.E-1);
++#2587=CARTESIAN_POINT('',(1.1744E1,1.5E0,3.075E1));
++#2588=LINE('',#2587,#2586);
++#2589=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
++#2590=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2591=DIRECTION('',(1.E0,0.E0,0.E0));
++#2592=AXIS2_PLACEMENT_3D('',#2589,#2590,#2591);
++#2594=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
++#2595=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2596=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2597=AXIS2_PLACEMENT_3D('',#2594,#2595,#2596);
++#2599=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
++#2600=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2601=DIRECTION('',(1.E0,0.E0,0.E0));
++#2602=AXIS2_PLACEMENT_3D('',#2599,#2600,#2601);
++#2604=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
++#2605=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2606=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2607=AXIS2_PLACEMENT_3D('',#2604,#2605,#2606);
++#2609=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2610=VECTOR('',#2609,1.E0);
++#2611=CARTESIAN_POINT('',(1.21925E1,1.E0,3.075E1));
++#2612=LINE('',#2611,#2610);
++#2613=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2614=VECTOR('',#2613,1.E0);
++#2615=CARTESIAN_POINT('',(1.18075E1,1.E0,3.075E1));
++#2616=LINE('',#2615,#2614);
++#2617=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2618=VECTOR('',#2617,5.E-1);
++#2619=CARTESIAN_POINT('',(1.8256E1,1.5E0,3.075E1));
++#2620=LINE('',#2619,#2618);
++#2621=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2622=VECTOR('',#2621,5.E-1);
++#2623=CARTESIAN_POINT('',(1.7744E1,1.5E0,3.075E1));
++#2624=LINE('',#2623,#2622);
++#2625=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
++#2626=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2627=DIRECTION('',(1.E0,0.E0,0.E0));
++#2628=AXIS2_PLACEMENT_3D('',#2625,#2626,#2627);
++#2630=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
++#2631=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2632=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2633=AXIS2_PLACEMENT_3D('',#2630,#2631,#2632);
++#2635=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
++#2636=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2637=DIRECTION('',(1.E0,0.E0,0.E0));
++#2638=AXIS2_PLACEMENT_3D('',#2635,#2636,#2637);
++#2640=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
++#2641=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2642=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2643=AXIS2_PLACEMENT_3D('',#2640,#2641,#2642);
++#2645=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2646=VECTOR('',#2645,1.E0);
++#2647=CARTESIAN_POINT('',(1.81925E1,1.E0,3.075E1));
++#2648=LINE('',#2647,#2646);
++#2649=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2650=VECTOR('',#2649,1.E0);
++#2651=CARTESIAN_POINT('',(1.78075E1,1.E0,3.075E1));
++#2652=LINE('',#2651,#2650);
++#2653=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2654=VECTOR('',#2653,5.E-1);
++#2655=CARTESIAN_POINT('',(6.2575E0,1.5E0,9.E0));
++#2656=LINE('',#2655,#2654);
++#2657=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2658=VECTOR('',#2657,5.E-1);
++#2659=CARTESIAN_POINT('',(5.7425E0,1.5E0,9.E0));
++#2660=LINE('',#2659,#2658);
++#2661=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
++#2662=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2663=DIRECTION('',(1.E0,0.E0,0.E0));
++#2664=AXIS2_PLACEMENT_3D('',#2661,#2662,#2663);
++#2666=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
++#2667=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2668=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2669=AXIS2_PLACEMENT_3D('',#2666,#2667,#2668);
++#2671=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
++#2672=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2673=DIRECTION('',(1.E0,0.E0,0.E0));
++#2674=AXIS2_PLACEMENT_3D('',#2671,#2672,#2673);
++#2676=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
++#2677=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2678=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2679=AXIS2_PLACEMENT_3D('',#2676,#2677,#2678);
++#2681=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2682=VECTOR('',#2681,1.E0);
++#2683=CARTESIAN_POINT('',(6.1925E0,1.E0,9.E0));
++#2684=LINE('',#2683,#2682);
++#2685=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2686=VECTOR('',#2685,1.E0);
++#2687=CARTESIAN_POINT('',(5.8075E0,1.E0,9.E0));
++#2688=LINE('',#2687,#2686);
++#2689=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2690=VECTOR('',#2689,5.E-1);
++#2691=CARTESIAN_POINT('',(1.22575E1,1.5E0,9.E0));
++#2692=LINE('',#2691,#2690);
++#2693=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2694=VECTOR('',#2693,5.E-1);
++#2695=CARTESIAN_POINT('',(1.17425E1,1.5E0,9.E0));
++#2696=LINE('',#2695,#2694);
++#2697=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
++#2698=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2699=DIRECTION('',(1.E0,0.E0,0.E0));
++#2700=AXIS2_PLACEMENT_3D('',#2697,#2698,#2699);
++#2702=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
++#2703=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2704=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2705=AXIS2_PLACEMENT_3D('',#2702,#2703,#2704);
++#2707=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
++#2708=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2709=DIRECTION('',(1.E0,0.E0,0.E0));
++#2710=AXIS2_PLACEMENT_3D('',#2707,#2708,#2709);
++#2712=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
++#2713=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2714=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2715=AXIS2_PLACEMENT_3D('',#2712,#2713,#2714);
++#2717=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2718=VECTOR('',#2717,1.E0);
++#2719=CARTESIAN_POINT('',(1.21925E1,1.E0,9.E0));
++#2720=LINE('',#2719,#2718);
++#2721=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2722=VECTOR('',#2721,1.E0);
++#2723=CARTESIAN_POINT('',(1.18075E1,1.E0,9.E0));
++#2724=LINE('',#2723,#2722);
++#2725=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2726=VECTOR('',#2725,5.E-1);
++#2727=CARTESIAN_POINT('',(1.82575E1,1.5E0,9.E0));
++#2728=LINE('',#2727,#2726);
++#2729=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2730=VECTOR('',#2729,5.E-1);
++#2731=CARTESIAN_POINT('',(1.77425E1,1.5E0,9.E0));
++#2732=LINE('',#2731,#2730);
++#2733=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
++#2734=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2735=DIRECTION('',(1.E0,0.E0,0.E0));
++#2736=AXIS2_PLACEMENT_3D('',#2733,#2734,#2735);
++#2738=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
++#2739=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2740=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2741=AXIS2_PLACEMENT_3D('',#2738,#2739,#2740);
++#2743=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
++#2744=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2745=DIRECTION('',(1.E0,0.E0,0.E0));
++#2746=AXIS2_PLACEMENT_3D('',#2743,#2744,#2745);
++#2748=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
++#2749=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2750=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2751=AXIS2_PLACEMENT_3D('',#2748,#2749,#2750);
++#2753=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2754=VECTOR('',#2753,1.E0);
++#2755=CARTESIAN_POINT('',(1.81925E1,1.E0,9.E0));
++#2756=LINE('',#2755,#2754);
++#2757=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2758=VECTOR('',#2757,1.E0);
++#2759=CARTESIAN_POINT('',(1.78075E1,1.E0,9.E0));
++#2760=LINE('',#2759,#2758);
++#2761=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2762=VECTOR('',#2761,5.E-1);
++#2763=CARTESIAN_POINT('',(6.2575E0,1.5E0,1.8E1));
++#2764=LINE('',#2763,#2762);
++#2765=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2766=VECTOR('',#2765,5.E-1);
++#2767=CARTESIAN_POINT('',(5.7425E0,1.5E0,1.8E1));
++#2768=LINE('',#2767,#2766);
++#2769=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
++#2770=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2771=DIRECTION('',(1.E0,0.E0,0.E0));
++#2772=AXIS2_PLACEMENT_3D('',#2769,#2770,#2771);
++#2774=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
++#2775=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2776=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2777=AXIS2_PLACEMENT_3D('',#2774,#2775,#2776);
++#2779=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
++#2780=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2781=DIRECTION('',(1.E0,0.E0,0.E0));
++#2782=AXIS2_PLACEMENT_3D('',#2779,#2780,#2781);
++#2784=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
++#2785=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2786=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2787=AXIS2_PLACEMENT_3D('',#2784,#2785,#2786);
++#2789=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2790=VECTOR('',#2789,1.E0);
++#2791=CARTESIAN_POINT('',(6.1925E0,1.E0,1.8E1));
++#2792=LINE('',#2791,#2790);
++#2793=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2794=VECTOR('',#2793,1.E0);
++#2795=CARTESIAN_POINT('',(5.8075E0,1.E0,1.8E1));
++#2796=LINE('',#2795,#2794);
++#2797=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2798=VECTOR('',#2797,5.E-1);
++#2799=CARTESIAN_POINT('',(1.22575E1,1.5E0,1.8E1));
++#2800=LINE('',#2799,#2798);
++#2801=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2802=VECTOR('',#2801,5.E-1);
++#2803=CARTESIAN_POINT('',(1.17425E1,1.5E0,1.8E1));
++#2804=LINE('',#2803,#2802);
++#2805=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
++#2806=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2807=DIRECTION('',(1.E0,0.E0,0.E0));
++#2808=AXIS2_PLACEMENT_3D('',#2805,#2806,#2807);
++#2810=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
++#2811=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2812=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2813=AXIS2_PLACEMENT_3D('',#2810,#2811,#2812);
++#2815=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
++#2816=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2817=DIRECTION('',(1.E0,0.E0,0.E0));
++#2818=AXIS2_PLACEMENT_3D('',#2815,#2816,#2817);
++#2820=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
++#2821=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2822=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2823=AXIS2_PLACEMENT_3D('',#2820,#2821,#2822);
++#2825=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2826=VECTOR('',#2825,1.E0);
++#2827=CARTESIAN_POINT('',(1.21925E1,1.E0,1.8E1));
++#2828=LINE('',#2827,#2826);
++#2829=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2830=VECTOR('',#2829,1.E0);
++#2831=CARTESIAN_POINT('',(1.18075E1,1.E0,1.8E1));
++#2832=LINE('',#2831,#2830);
++#2833=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2834=VECTOR('',#2833,5.E-1);
++#2835=CARTESIAN_POINT('',(1.82575E1,1.5E0,1.8E1));
++#2836=LINE('',#2835,#2834);
++#2837=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2838=VECTOR('',#2837,5.E-1);
++#2839=CARTESIAN_POINT('',(1.77425E1,1.5E0,1.8E1));
++#2840=LINE('',#2839,#2838);
++#2841=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
++#2842=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2843=DIRECTION('',(1.E0,0.E0,0.E0));
++#2844=AXIS2_PLACEMENT_3D('',#2841,#2842,#2843);
++#2846=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
++#2847=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2848=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2849=AXIS2_PLACEMENT_3D('',#2846,#2847,#2848);
++#2851=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
++#2852=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2853=DIRECTION('',(1.E0,0.E0,0.E0));
++#2854=AXIS2_PLACEMENT_3D('',#2851,#2852,#2853);
++#2856=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
++#2857=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2858=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2859=AXIS2_PLACEMENT_3D('',#2856,#2857,#2858);
++#2861=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2862=VECTOR('',#2861,1.E0);
++#2863=CARTESIAN_POINT('',(1.81925E1,1.E0,1.8E1));
++#2864=LINE('',#2863,#2862);
++#2865=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2866=VECTOR('',#2865,1.E0);
++#2867=CARTESIAN_POINT('',(1.78075E1,1.E0,1.8E1));
++#2868=LINE('',#2867,#2866);
++#2869=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
++#2870=VECTOR('',#2869,5.773502691896E0);
++#2871=CARTESIAN_POINT('',(2.2E1,6.5E0,1.E1));
++#2872=LINE('',#2871,#2870);
++#2873=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1));
++#2874=CARTESIAN_POINT('',(2.31325E1,2.930774450068E0,1.206069333205E1));
++#2875=CARTESIAN_POINT('',(2.309416136180E1,2.745461691651E0,1.216768370301E1));
++#2876=CARTESIAN_POINT('',(2.297013771881E1,2.608885438662E0,1.224653603944E1));
++#2877=CARTESIAN_POINT('',(2.2875E1,2.580400233539E0,1.226298198028E1));
++#2878=CARTESIAN_POINT('',(2.277986228119E1,2.608885438662E0,1.224653603944E1));
++#2879=CARTESIAN_POINT('',(2.265583863820E1,2.745461691651E0,1.216768370301E1));
++#2880=CARTESIAN_POINT('',(2.26175E1,2.930774450068E0,1.206069333205E1));
++#2881=CARTESIAN_POINT('',(2.26175E1,3.035898384862E0,1.2E1));
++#2883=CARTESIAN_POINT('',(2.26175E1,3.035898384862E0,1.2E1));
++#2884=CARTESIAN_POINT('',(2.26175E1,3.141022319657E0,1.193930666795E1));
++#2885=CARTESIAN_POINT('',(2.265583863820E1,3.326335078073E0,1.183231629699E1));
++#2886=CARTESIAN_POINT('',(2.277986228119E1,3.462911331062E0,1.175346396056E1));
++#2887=CARTESIAN_POINT('',(2.2875E1,3.491396536186E0,1.173701801972E1));
++#2888=CARTESIAN_POINT('',(2.297013771881E1,3.462911331062E0,1.175346396056E1));
++#2889=CARTESIAN_POINT('',(2.309416136180E1,3.326335078073E0,1.183231629699E1));
++#2890=CARTESIAN_POINT('',(2.31325E1,3.141022319657E0,1.193930666795E1));
++#2891=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1));
++#2893=DIRECTION('',(0.E0,1.E0,0.E0));
++#2894=VECTOR('',#2893,2.035898384862E0);
++#2895=CARTESIAN_POINT('',(2.26175E1,1.E0,1.2E1));
++#2896=LINE('',#2895,#2894);
++#2897=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2898=VECTOR('',#2897,2.035898384862E0);
++#2899=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1));
++#2900=LINE('',#2899,#2898);
++#2901=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
++#2902=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2903=DIRECTION('',(1.E0,0.E0,0.E0));
++#2904=AXIS2_PLACEMENT_3D('',#2901,#2902,#2903);
++#2906=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
++#2907=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2908=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2909=AXIS2_PLACEMENT_3D('',#2906,#2907,#2908);
++#2911=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
++#2912=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2913=DIRECTION('',(1.E0,0.E0,0.E0));
++#2914=AXIS2_PLACEMENT_3D('',#2911,#2912,#2913);
++#2916=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
++#2917=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2918=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2919=AXIS2_PLACEMENT_3D('',#2916,#2917,#2918);
++#2921=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2922=VECTOR('',#2921,1.E0);
++#2923=CARTESIAN_POINT('',(2.30675E1,1.E0,1.2E1));
++#2924=LINE('',#2923,#2922);
++#2925=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2926=VECTOR('',#2925,1.E0);
++#2927=CARTESIAN_POINT('',(2.26825E1,1.E0,1.2E1));
++#2928=LINE('',#2927,#2926);
++#2929=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2930=VECTOR('',#2929,5.E-1);
++#2931=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1));
++#2932=LINE('',#2931,#2930);
++#2933=CARTESIAN_POINT('',(2.185E1,6.65E0,9.5E0));
++#2934=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2935=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2936=AXIS2_PLACEMENT_3D('',#2933,#2934,#2935);
++#2938=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2939=VECTOR('',#2938,5.E-1);
++#2940=CARTESIAN_POINT('',(2.185E1,7.E0,1.E1));
++#2941=LINE('',#2940,#2939);
++#2942=CARTESIAN_POINT('',(2.185E1,6.65E0,1.E1));
++#2943=DIRECTION('',(0.E0,0.E0,1.E0));
++#2944=DIRECTION('',(1.015061051086E-14,1.E0,0.E0));
++#2945=AXIS2_PLACEMENT_3D('',#2942,#2943,#2944);
++#2947=DIRECTION('',(0.E0,0.E0,1.E0));
++#2948=VECTOR('',#2947,5.E-1);
++#2949=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0));
++#2950=LINE('',#2949,#2948);
++#2951=CARTESIAN_POINT('',(2.115E1,2.35E0,9.5E0));
++#2952=DIRECTION('',(0.E0,0.E0,1.E0));
++#2953=DIRECTION('',(0.E0,-1.E0,0.E0));
++#2954=AXIS2_PLACEMENT_3D('',#2951,#2952,#2953);
++#2956=DIRECTION('',(0.E0,0.E0,1.E0));
++#2957=VECTOR('',#2956,5.E-1);
++#2958=CARTESIAN_POINT('',(2.15E1,2.35E0,9.5E0));
++#2959=LINE('',#2958,#2957);
++#2960=CARTESIAN_POINT('',(2.115E1,2.35E0,1.E1));
++#2961=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2962=DIRECTION('',(1.E0,0.E0,0.E0));
++#2963=AXIS2_PLACEMENT_3D('',#2960,#2961,#2962);
++#2965=DIRECTION('',(0.E0,0.E0,1.E0));
++#2966=VECTOR('',#2965,5.E-1);
++#2967=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0));
++#2968=LINE('',#2967,#2966);
++#2969=CARTESIAN_POINT('',(1.985E1,2.35E0,9.5E0));
++#2970=DIRECTION('',(0.E0,0.E0,1.E0));
++#2971=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2972=AXIS2_PLACEMENT_3D('',#2969,#2970,#2971);
++#2974=DIRECTION('',(0.E0,0.E0,1.E0));
++#2975=VECTOR('',#2974,5.E-1);
++#2976=CARTESIAN_POINT('',(1.985E1,2.E0,9.5E0));
++#2977=LINE('',#2976,#2975);
++#2978=CARTESIAN_POINT('',(1.985E1,2.35E0,1.E1));
++#2979=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2980=DIRECTION('',(1.015061051086E-14,-1.E0,0.E0));
++#2981=AXIS2_PLACEMENT_3D('',#2978,#2979,#2980);
++#2983=DIRECTION('',(0.E0,0.E0,1.E0));
++#2984=VECTOR('',#2983,5.E-1);
++#2985=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0));
++#2986=LINE('',#2985,#2984);
++#2987=CARTESIAN_POINT('',(1.985E1,9.15E0,9.5E0));
++#2988=DIRECTION('',(0.E0,0.E0,1.E0));
++#2989=DIRECTION('',(1.015061051086E-14,1.E0,0.E0));
++#2990=AXIS2_PLACEMENT_3D('',#2987,#2988,#2989);
++#2992=DIRECTION('',(0.E0,0.E0,1.E0));
++#2993=VECTOR('',#2992,5.E-1);
++#2994=CARTESIAN_POINT('',(1.95E1,9.15E0,9.5E0));
++#2995=LINE('',#2994,#2993);
++#2996=CARTESIAN_POINT('',(1.985E1,9.15E0,1.E1));
++#2997=DIRECTION('',(0.E0,0.E0,-1.E0));
++#2998=DIRECTION('',(-1.E0,0.E0,0.E0));
++#2999=AXIS2_PLACEMENT_3D('',#2996,#2997,#2998);
++#3001=DIRECTION('',(0.E0,0.E0,1.E0));
++#3002=VECTOR('',#3001,5.E-1);
++#3003=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0));
++#3004=LINE('',#3003,#3002);
++#3005=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,9.5E0));
++#3006=DIRECTION('',(0.E0,0.E0,1.E0));
++#3007=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
++#3008=AXIS2_PLACEMENT_3D('',#3005,#3006,#3007);
++#3010=DIRECTION('',(0.E0,0.E0,1.E0));
++#3011=VECTOR('',#3010,5.E-1);
++#3012=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,9.5E0));
++#3013=LINE('',#3012,#3011);
++#3014=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,1.E1));
++#3015=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3016=DIRECTION('',(0.E0,1.E0,0.E0));
++#3017=AXIS2_PLACEMENT_3D('',#3014,#3015,#3016);
++#3019=DIRECTION('',(0.E0,0.E0,1.E0));
++#3020=VECTOR('',#3019,5.E-1);
++#3021=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0));
++#3022=LINE('',#3021,#3020);
++#3023=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,9.5E0));
++#3024=DIRECTION('',(0.E0,0.E0,1.E0));
++#3025=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3026=AXIS2_PLACEMENT_3D('',#3023,#3024,#3025);
++#3028=DIRECTION('',(0.E0,0.E0,1.E0));
++#3029=VECTOR('',#3028,5.E-1);
++#3030=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,9.5E0));
++#3031=LINE('',#3030,#3029);
++#3032=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,1.E1));
++#3033=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3034=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
++#3035=AXIS2_PLACEMENT_3D('',#3032,#3033,#3034);
++#3037=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3038=VECTOR('',#3037,1.972007605460E-1);
++#3039=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0));
++#3040=LINE('',#3039,#3038);
++#3041=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3042=VECTOR('',#3041,4.3E0);
++#3043=CARTESIAN_POINT('',(2.15E1,6.65E0,9.5E0));
++#3044=LINE('',#3043,#3042);
++#3045=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3046=VECTOR('',#3045,1.3E0);
++#3047=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0));
++#3048=LINE('',#3047,#3046);
++#3049=DIRECTION('',(0.E0,1.E0,0.E0));
++#3050=VECTOR('',#3049,6.8E0);
++#3051=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0));
++#3052=LINE('',#3051,#3050);
++#3053=DIRECTION('',(1.E0,0.E0,0.E0));
++#3054=VECTOR('',#3053,1.197200760546E0);
++#3055=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0));
++#3056=LINE('',#3055,#3054);
++#3057=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
++#3058=VECTOR('',#3057,2.059126028197E0);
++#3059=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0));
++#3060=LINE('',#3059,#3058);
++#3061=DIRECTION('',(0.E0,0.E0,1.E0));
++#3062=VECTOR('',#3061,2.5E-1);
++#3063=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.E0));
++#3064=LINE('',#3063,#3062);
++#3065=DIRECTION('',(0.E0,0.E0,1.E0));
++#3066=VECTOR('',#3065,2.5E-1);
++#3067=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.E0));
++#3068=LINE('',#3067,#3066);
++#3069=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0));
++#3070=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3071=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3072=AXIS2_PLACEMENT_3D('',#3069,#3070,#3071);
++#3074=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0));
++#3075=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3076=DIRECTION('',(1.E0,0.E0,0.E0));
++#3077=AXIS2_PLACEMENT_3D('',#3074,#3075,#3076);
++#3079=DIRECTION('',(0.E0,0.E0,1.E0));
++#3080=VECTOR('',#3079,2.5E-1);
++#3081=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.E0));
++#3082=LINE('',#3081,#3080);
++#3083=DIRECTION('',(0.E0,0.E0,1.E0));
++#3084=VECTOR('',#3083,2.5E-1);
++#3085=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.E0));
++#3086=LINE('',#3085,#3084);
++#3087=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0));
++#3088=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3089=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3090=AXIS2_PLACEMENT_3D('',#3087,#3088,#3089);
++#3092=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0));
++#3093=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3094=DIRECTION('',(1.E0,0.E0,0.E0));
++#3095=AXIS2_PLACEMENT_3D('',#3092,#3093,#3094);
++#3097=DIRECTION('',(0.E0,0.E0,1.E0));
++#3098=VECTOR('',#3097,2.5E-1);
++#3099=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.E0));
++#3100=LINE('',#3099,#3098);
++#3101=DIRECTION('',(0.E0,0.E0,1.E0));
++#3102=VECTOR('',#3101,2.5E-1);
++#3103=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.E0));
++#3104=LINE('',#3103,#3102);
++#3105=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0));
++#3106=DIRECTION('',(0.E0,0.E0,1.E0));
++#3107=DIRECTION('',(1.E0,0.E0,0.E0));
++#3108=AXIS2_PLACEMENT_3D('',#3105,#3106,#3107);
++#3110=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0));
++#3111=DIRECTION('',(0.E0,0.E0,1.E0));
++#3112=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3113=AXIS2_PLACEMENT_3D('',#3110,#3111,#3112);
++#3115=DIRECTION('',(0.E0,0.E0,1.E0));
++#3116=VECTOR('',#3115,2.5E-1);
++#3117=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.E0));
++#3118=LINE('',#3117,#3116);
++#3119=DIRECTION('',(0.E0,0.E0,1.E0));
++#3120=VECTOR('',#3119,2.5E-1);
++#3121=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.E0));
++#3122=LINE('',#3121,#3120);
++#3123=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0));
++#3124=DIRECTION('',(0.E0,0.E0,1.E0));
++#3125=DIRECTION('',(1.E0,0.E0,0.E0));
++#3126=AXIS2_PLACEMENT_3D('',#3123,#3124,#3125);
++#3128=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0));
++#3129=DIRECTION('',(0.E0,0.E0,1.E0));
++#3130=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3131=AXIS2_PLACEMENT_3D('',#3128,#3129,#3130);
++#3133=DIRECTION('',(0.E0,0.E0,1.E0));
++#3134=VECTOR('',#3133,2.5E-1);
++#3135=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.E0));
++#3136=LINE('',#3135,#3134);
++#3137=DIRECTION('',(0.E0,0.E0,1.E0));
++#3138=VECTOR('',#3137,2.5E-1);
++#3139=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.E0));
++#3140=LINE('',#3139,#3138);
++#3141=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0));
++#3142=DIRECTION('',(0.E0,0.E0,1.E0));
++#3143=DIRECTION('',(1.E0,0.E0,0.E0));
++#3144=AXIS2_PLACEMENT_3D('',#3141,#3142,#3143);
++#3146=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0));
++#3147=DIRECTION('',(0.E0,0.E0,1.E0));
++#3148=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3149=AXIS2_PLACEMENT_3D('',#3146,#3147,#3148);
++#3151=DIRECTION('',(0.E0,0.E0,1.E0));
++#3152=VECTOR('',#3151,5.E-1);
++#3153=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0));
++#3154=LINE('',#3153,#3152);
++#3155=CARTESIAN_POINT('',(3.75E0,2.75E0,8.E0));
++#3156=DIRECTION('',(0.E0,0.E0,1.E0));
++#3157=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3158=AXIS2_PLACEMENT_3D('',#3155,#3156,#3157);
++#3160=DIRECTION('',(0.E0,0.E0,1.E0));
++#3161=VECTOR('',#3160,5.E-1);
++#3162=CARTESIAN_POINT('',(4.5E0,2.75E0,8.E0));
++#3163=LINE('',#3162,#3161);
++#3164=CARTESIAN_POINT('',(3.75E0,2.75E0,8.5E0));
++#3165=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3166=DIRECTION('',(1.E0,0.E0,0.E0));
++#3167=AXIS2_PLACEMENT_3D('',#3164,#3165,#3166);
++#3169=DIRECTION('',(0.E0,0.E0,1.E0));
++#3170=VECTOR('',#3169,5.E-1);
++#3171=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0));
++#3172=LINE('',#3171,#3170);
++#3173=CARTESIAN_POINT('',(3.75E0,8.75E0,8.E0));
++#3174=DIRECTION('',(0.E0,0.E0,1.E0));
++#3175=DIRECTION('',(1.E0,0.E0,0.E0));
++#3176=AXIS2_PLACEMENT_3D('',#3173,#3174,#3175);
++#3178=DIRECTION('',(0.E0,0.E0,1.E0));
++#3179=VECTOR('',#3178,5.E-1);
++#3180=CARTESIAN_POINT('',(3.75E0,9.5E0,8.E0));
++#3181=LINE('',#3180,#3179);
++#3182=CARTESIAN_POINT('',(3.75E0,8.75E0,8.5E0));
++#3183=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3184=DIRECTION('',(0.E0,1.E0,0.E0));
++#3185=AXIS2_PLACEMENT_3D('',#3182,#3183,#3184);
++#3187=DIRECTION('',(0.E0,0.E0,1.E0));
++#3188=VECTOR('',#3187,5.E-1);
++#3189=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0));
++#3190=LINE('',#3189,#3188);
++#3191=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,8.E0));
++#3192=DIRECTION('',(0.E0,0.E0,1.E0));
++#3193=DIRECTION('',(0.E0,1.E0,0.E0));
++#3194=AXIS2_PLACEMENT_3D('',#3191,#3192,#3193);
++#3196=DIRECTION('',(0.E0,0.E0,1.E0));
++#3197=VECTOR('',#3196,5.E-1);
++#3198=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.E0));
++#3199=LINE('',#3198,#3197);
++#3200=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,8.5E0));
++#3201=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3202=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
++#3203=AXIS2_PLACEMENT_3D('',#3200,#3201,#3202);
++#3205=DIRECTION('',(0.E0,0.E0,1.E0));
++#3206=VECTOR('',#3205,5.E-1);
++#3207=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0));
++#3208=LINE('',#3207,#3206);
++#3209=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,8.E0));
++#3210=DIRECTION('',(0.E0,0.E0,1.E0));
++#3211=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
++#3212=AXIS2_PLACEMENT_3D('',#3209,#3210,#3211);
++#3214=DIRECTION('',(0.E0,0.E0,1.E0));
++#3215=VECTOR('',#3214,5.E-1);
++#3216=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.E0));
++#3217=LINE('',#3216,#3215);
++#3218=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,8.5E0));
++#3219=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3220=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3221=AXIS2_PLACEMENT_3D('',#3218,#3219,#3220);
++#3223=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3224=VECTOR('',#3223,6.E0);
++#3225=CARTESIAN_POINT('',(4.5E0,8.75E0,8.5E0));
++#3226=LINE('',#3225,#3224);
++#3227=DIRECTION('',(1.E0,0.E0,0.E0));
++#3228=VECTOR('',#3227,5.618394209466E-1);
++#3229=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.5E0));
++#3230=LINE('',#3229,#3228);
++#3231=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0));
++#3232=VECTOR('',#3231,6.863753427325E0);
++#3233=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.5E0));
++#3234=LINE('',#3233,#3232);
++#3235=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3236=VECTOR('',#3235,3.895172754280E0);
++#3237=CARTESIAN_POINT('',(3.75E0,2.E0,8.5E0));
++#3238=LINE('',#3237,#3236);
++#3239=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3240=VECTOR('',#3239,5.E-1);
++#3241=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0));
++#3242=LINE('',#3241,#3240);
++#3243=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.5E0));
++#3244=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3245=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
++#3246=AXIS2_PLACEMENT_3D('',#3243,#3244,#3245);
++#3248=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3249=VECTOR('',#3248,5.E-1);
++#3250=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.5E0));
++#3251=LINE('',#3250,#3249);
++#3252=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.E0));
++#3253=DIRECTION('',(0.E0,0.E0,1.E0));
++#3254=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3255=AXIS2_PLACEMENT_3D('',#3252,#3253,#3254);
++#3257=DIRECTION('',(1.E0,0.E0,0.E0));
++#3258=VECTOR('',#3257,3.895172754280E0);
++#3259=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0));
++#3260=LINE('',#3259,#3258);
++#3261=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0));
++#3262=VECTOR('',#3261,6.863753427325E0);
++#3263=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0));
++#3264=LINE('',#3263,#3262);
++#3265=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3266=VECTOR('',#3265,5.618394209466E-1);
++#3267=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0));
++#3268=LINE('',#3267,#3266);
++#3269=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3270=VECTOR('',#3269,6.E0);
++#3271=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0));
++#3272=LINE('',#3271,#3270);
++#3273=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3274=VECTOR('',#3273,5.E-1);
++#3275=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0));
++#3276=LINE('',#3275,#3274);
++#3277=CARTESIAN_POINT('',(2.025E1,2.75E0,8.5E0));
++#3278=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3279=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3280=AXIS2_PLACEMENT_3D('',#3277,#3278,#3279);
++#3282=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3283=VECTOR('',#3282,5.E-1);
++#3284=CARTESIAN_POINT('',(1.95E1,2.75E0,8.5E0));
++#3285=LINE('',#3284,#3283);
++#3286=CARTESIAN_POINT('',(2.025E1,2.75E0,8.E0));
++#3287=DIRECTION('',(0.E0,0.E0,1.E0));
++#3288=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3289=AXIS2_PLACEMENT_3D('',#3286,#3287,#3288);
++#3291=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3292=VECTOR('',#3291,5.E-1);
++#3293=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0));
++#3294=LINE('',#3293,#3292);
++#3295=CARTESIAN_POINT('',(2.025E1,8.75E0,8.5E0));
++#3296=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3297=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3298=AXIS2_PLACEMENT_3D('',#3295,#3296,#3297);
++#3300=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3301=VECTOR('',#3300,5.E-1);
++#3302=CARTESIAN_POINT('',(2.025E1,9.5E0,8.5E0));
++#3303=LINE('',#3302,#3301);
++#3304=CARTESIAN_POINT('',(2.025E1,8.75E0,8.E0));
++#3305=DIRECTION('',(0.E0,0.E0,1.E0));
++#3306=DIRECTION('',(0.E0,1.E0,0.E0));
++#3307=AXIS2_PLACEMENT_3D('',#3304,#3305,#3306);
++#3309=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3310=VECTOR('',#3309,5.E-1);
++#3311=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0));
++#3312=LINE('',#3311,#3310);
++#3313=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.5E0));
++#3314=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3315=DIRECTION('',(0.E0,1.E0,0.E0));
++#3316=AXIS2_PLACEMENT_3D('',#3313,#3314,#3315);
++#3318=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3319=VECTOR('',#3318,5.E-1);
++#3320=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.5E0));
++#3321=LINE('',#3320,#3319);
++#3322=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.E0));
++#3323=DIRECTION('',(0.E0,0.E0,1.E0));
++#3324=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
++#3325=AXIS2_PLACEMENT_3D('',#3322,#3323,#3324);
++#3327=DIRECTION('',(0.E0,1.E0,0.E0));
++#3328=VECTOR('',#3327,6.875E-1);
++#3329=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1));
++#3330=LINE('',#3329,#3328);
++#3331=DIRECTION('',(0.E0,1.E0,0.E0));
++#3332=VECTOR('',#3331,6.875E-1);
++#3333=CARTESIAN_POINT('',(7.5E0,0.E0,1.8125E0));
++#3334=LINE('',#3333,#3332);
++#3335=DIRECTION('',(0.E0,1.E0,0.E0));
++#3336=VECTOR('',#3335,6.875E-1);
++#3337=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0));
++#3338=LINE('',#3337,#3336);
++#3339=DIRECTION('',(0.E0,1.E0,0.E0));
++#3340=VECTOR('',#3339,6.875E-1);
++#3341=CARTESIAN_POINT('',(1.05E1,0.E0,6.875E-1));
++#3342=LINE('',#3341,#3340);
++#3343=DIRECTION('',(1.E0,0.E0,0.E0));
++#3344=VECTOR('',#3343,3.E0);
++#3345=CARTESIAN_POINT('',(7.5E0,6.875E-1,6.875E-1));
++#3346=LINE('',#3345,#3344);
++#3347=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.25E0));
++#3348=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3349=DIRECTION('',(0.E0,0.E0,1.E0));
++#3350=AXIS2_PLACEMENT_3D('',#3347,#3348,#3349);
++#3352=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3353=VECTOR('',#3352,3.E0);
++#3354=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8125E0));
++#3355=LINE('',#3354,#3353);
++#3356=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.25E0));
++#3357=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3358=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3359=AXIS2_PLACEMENT_3D('',#3356,#3357,#3358);
++#3361=CARTESIAN_POINT('',(1.61E0,6.875E-1,4.5E0));
++#3362=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3363=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1));
++#3364=AXIS2_PLACEMENT_3D('',#3361,#3362,#3363);
++#3366=CARTESIAN_POINT('',(7.5E0,6.875E-1,7.5E0));
++#3367=DIRECTION('',(0.E0,1.E0,0.E0));
++#3368=DIRECTION('',(-4.496088413988E-1,0.E0,-8.932255536739E-1));
++#3369=AXIS2_PLACEMENT_3D('',#3366,#3367,#3368);
++#3371=CARTESIAN_POINT('',(4.553039342392E0,6.875E-1,1.645354088550E0));
++#3372=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3373=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
++#3374=AXIS2_PLACEMENT_3D('',#3371,#3372,#3373);
++#3376=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
++#3377=VECTOR('',#3376,4.263248410977E0);
++#3378=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,4.046865146430E0));
++#3379=LINE('',#3378,#3377);
++#3380=DIRECTION('',(0.E0,1.E0,0.E0));
++#3381=VECTOR('',#3380,6.875E-1);
++#3382=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0));
++#3383=LINE('',#3382,#3381);
++#3384=CARTESIAN_POINT('',(1.455736763592E0,0.E0,4.577195232320E0));
++#3385=DIRECTION('',(0.E0,1.E0,0.E0));
++#3386=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
++#3387=AXIS2_PLACEMENT_3D('',#3384,#3385,#3386);
++#3389=DIRECTION('',(0.E0,1.E0,0.E0));
++#3390=VECTOR('',#3389,6.875E-1);
++#3391=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,4.912826677187E0));
++#3392=LINE('',#3391,#3390);
++#3393=CARTESIAN_POINT('',(1.455736763592E0,6.875E-1,4.577195232320E0));
++#3394=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3395=DIRECTION('',(-8.942796313519E-1,0.E0,4.475085931567E-1));
++#3396=AXIS2_PLACEMENT_3D('',#3393,#3394,#3395);
++#3398=DIRECTION('',(0.E0,1.E0,0.E0));
++#3399=VECTOR('',#3398,6.875E-1);
++#3400=CARTESIAN_POINT('',(3.939978538987E0,0.E0,1.032293285145E0));
++#3401=LINE('',#3400,#3399);
++#3402=DIRECTION('',(0.E0,1.E0,0.E0));
++#3403=VECTOR('',#3402,6.875E-1);
++#3404=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.419779663480E0));
++#3405=LINE('',#3404,#3403);
++#3406=DIRECTION('',(0.E0,1.E0,0.E0));
++#3407=VECTOR('',#3406,6.875E-1);
++#3408=CARTESIAN_POINT('',(2.432015885023E0,0.E0,4.918683812405E0));
++#3409=LINE('',#3408,#3407);
++#3410=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3411=VECTOR('',#3410,6.875E-1);
++#3412=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0));
++#3413=LINE('',#3412,#3411);
++#3414=CARTESIAN_POINT('',(-1.85E-1,0.E0,7.815E0));
++#3415=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3416=DIRECTION('',(1.E0,0.E0,0.E0));
++#3417=AXIS2_PLACEMENT_3D('',#3414,#3415,#3416);
++#3419=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3420=VECTOR('',#3419,6.875E-1);
++#3421=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,8.69E0));
++#3422=LINE('',#3421,#3420);
++#3423=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,7.815E0));
++#3424=DIRECTION('',(0.E0,1.E0,0.E0));
++#3425=DIRECTION('',(0.E0,0.E0,1.E0));
++#3426=AXIS2_PLACEMENT_3D('',#3423,#3424,#3425);
++#3428=DIRECTION('',(1.E0,0.E0,0.E0));
++#3429=VECTOR('',#3428,7.5E-1);
++#3430=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0));
++#3431=LINE('',#3430,#3429);
++#3432=DIRECTION('',(0.E0,0.E0,1.E0));
++#3433=VECTOR('',#3432,3.15E-1);
++#3434=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.5E0));
++#3435=LINE('',#3434,#3433);
++#3436=CARTESIAN_POINT('',(1.25125E0,6.875E-1,7.5E0));
++#3437=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3438=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3439=AXIS2_PLACEMENT_3D('',#3436,#3437,#3438);
++#3441=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3442=VECTOR('',#3441,3.15E-1);
++#3443=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0));
++#3444=LINE('',#3443,#3442);
++#3445=DIRECTION('',(1.E0,0.E0,0.E0));
++#3446=VECTOR('',#3445,2.525E-1);
++#3447=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,8.69E0));
++#3448=LINE('',#3447,#3446);
++#3449=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3450=VECTOR('',#3449,8.1E-1);
++#3451=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,1.0375E1));
++#3452=LINE('',#3451,#3450);
++#3453=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3454=VECTOR('',#3453,3.875E0);
++#3455=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.125E1));
++#3456=LINE('',#3455,#3454);
++#3457=DIRECTION('',(0.E0,0.E0,1.E0));
++#3458=VECTOR('',#3457,8.1E-1);
++#3459=CARTESIAN_POINT('',(4.3125E0,6.875E-1,9.565E0));
++#3460=LINE('',#3459,#3458);
++#3461=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3462=VECTOR('',#3461,6.875E-1);
++#3463=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0));
++#3464=LINE('',#3463,#3462);
++#3465=CARTESIAN_POINT('',(2.6875E0,0.E0,7.815E0));
++#3466=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3467=DIRECTION('',(0.E0,0.E0,1.E0));
++#3468=AXIS2_PLACEMENT_3D('',#3465,#3466,#3467);
++#3470=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3471=VECTOR('',#3470,6.875E-1);
++#3472=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.815E0));
++#3473=LINE('',#3472,#3471);
++#3474=CARTESIAN_POINT('',(2.6875E0,6.875E-1,7.815E0));
++#3475=DIRECTION('',(0.E0,1.E0,0.E0));
++#3476=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3477=AXIS2_PLACEMENT_3D('',#3474,#3475,#3476);
++#3479=DIRECTION('',(0.E0,1.E0,0.E0));
++#3480=VECTOR('',#3479,6.875E-1);
++#3481=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0));
++#3482=LINE('',#3481,#3480);
++#3483=DIRECTION('',(0.E0,1.E0,0.E0));
++#3484=VECTOR('',#3483,6.875E-1);
++#3485=CARTESIAN_POINT('',(6.9E-1,0.E0,7.5E0));
++#3486=LINE('',#3485,#3484);
++#3487=DIRECTION('',(0.E0,1.E0,0.E0));
++#3488=VECTOR('',#3487,6.875E-1);
++#3489=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0));
++#3490=LINE('',#3489,#3488);
++#3491=CARTESIAN_POINT('',(3.4375E0,0.E0,9.565E0));
++#3492=DIRECTION('',(0.E0,1.E0,0.E0));
++#3493=DIRECTION('',(1.E0,0.E0,0.E0));
++#3494=AXIS2_PLACEMENT_3D('',#3491,#3492,#3493);
++#3496=DIRECTION('',(0.E0,1.E0,0.E0));
++#3497=VECTOR('',#3496,6.875E-1);
++#3498=CARTESIAN_POINT('',(3.4375E0,0.E0,8.69E0));
++#3499=LINE('',#3498,#3497);
++#3500=CARTESIAN_POINT('',(3.4375E0,6.875E-1,9.565E0));
++#3501=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3502=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3503=AXIS2_PLACEMENT_3D('',#3500,#3501,#3502);
++#3505=DIRECTION('',(0.E0,1.E0,0.E0));
++#3506=VECTOR('',#3505,6.875E-1);
++#3507=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1));
++#3508=LINE('',#3507,#3506);
++#3509=CARTESIAN_POINT('',(3.4375E0,0.E0,1.0375E1));
++#3510=DIRECTION('',(0.E0,1.E0,0.E0));
++#3511=DIRECTION('',(0.E0,0.E0,1.E0));
++#3512=AXIS2_PLACEMENT_3D('',#3509,#3510,#3511);
++#3514=DIRECTION('',(0.E0,1.E0,0.E0));
++#3515=VECTOR('',#3514,6.875E-1);
++#3516=CARTESIAN_POINT('',(4.3125E0,0.E0,1.0375E1));
++#3517=LINE('',#3516,#3515);
++#3518=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.0375E1));
++#3519=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3520=DIRECTION('',(1.E0,0.E0,0.E0));
++#3521=AXIS2_PLACEMENT_3D('',#3518,#3519,#3520);
++#3523=DIRECTION('',(0.E0,1.E0,0.E0));
++#3524=VECTOR('',#3523,6.875E-1);
++#3525=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1));
++#3526=LINE('',#3525,#3524);
++#3527=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.0375E1));
++#3528=DIRECTION('',(0.E0,1.E0,0.E0));
++#3529=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3530=AXIS2_PLACEMENT_3D('',#3527,#3528,#3529);
++#3532=DIRECTION('',(0.E0,1.E0,0.E0));
++#3533=VECTOR('',#3532,6.875E-1);
++#3534=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.125E1));
++#3535=LINE('',#3534,#3533);
++#3536=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,1.0375E1));
++#3537=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3538=DIRECTION('',(0.E0,0.E0,1.E0));
++#3539=AXIS2_PLACEMENT_3D('',#3536,#3537,#3538);
++#3541=DIRECTION('',(0.E0,1.E0,0.E0));
++#3542=VECTOR('',#3541,6.875E-1);
++#3543=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0));
++#3544=LINE('',#3543,#3542);
++#3545=CARTESIAN_POINT('',(-4.375E-1,0.E0,9.565E0));
++#3546=DIRECTION('',(0.E0,1.E0,0.E0));
++#3547=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3548=AXIS2_PLACEMENT_3D('',#3545,#3546,#3547);
++#3550=DIRECTION('',(0.E0,1.E0,0.E0));
++#3551=VECTOR('',#3550,6.875E-1);
++#3552=CARTESIAN_POINT('',(-1.3125E0,0.E0,9.565E0));
++#3553=LINE('',#3552,#3551);
++#3554=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,9.565E0));
++#3555=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3556=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3557=AXIS2_PLACEMENT_3D('',#3554,#3555,#3556);
++#3559=DIRECTION('',(0.E0,1.E0,0.E0));
++#3560=VECTOR('',#3559,6.875E-1);
++#3561=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1));
++#3562=LINE('',#3561,#3560);
++#3563=DIRECTION('',(0.E0,1.E0,0.E0));
++#3564=VECTOR('',#3563,6.875E-1);
++#3565=CARTESIAN_POINT('',(1.8125E0,0.E0,1.65E1));
++#3566=LINE('',#3565,#3564);
++#3567=DIRECTION('',(0.E0,1.E0,0.E0));
++#3568=VECTOR('',#3567,6.875E-1);
++#3569=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1));
++#3570=LINE('',#3569,#3568);
++#3571=DIRECTION('',(0.E0,1.E0,0.E0));
++#3572=VECTOR('',#3571,6.875E-1);
++#3573=CARTESIAN_POINT('',(6.875E-1,0.E0,1.35E1));
++#3574=LINE('',#3573,#3572);
++#3575=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3576=VECTOR('',#3575,3.E0);
++#3577=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.65E1));
++#3578=LINE('',#3577,#3576);
++#3579=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.65E1));
++#3580=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3581=DIRECTION('',(1.E0,0.E0,0.E0));
++#3582=AXIS2_PLACEMENT_3D('',#3579,#3580,#3581);
++#3584=DIRECTION('',(0.E0,0.E0,1.E0));
++#3585=VECTOR('',#3584,3.E0);
++#3586=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.35E1));
++#3587=LINE('',#3586,#3585);
++#3588=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.35E1));
++#3589=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3590=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3591=AXIS2_PLACEMENT_3D('',#3588,#3589,#3590);
++#3593=DIRECTION('',(0.E0,1.E0,0.E0));
++#3594=VECTOR('',#3593,6.875E-1);
++#3595=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1));
++#3596=LINE('',#3595,#3594);
++#3597=DIRECTION('',(0.E0,1.E0,0.E0));
++#3598=VECTOR('',#3597,6.875E-1);
++#3599=CARTESIAN_POINT('',(1.8125E0,0.E0,2.25E1));
++#3600=LINE('',#3599,#3598);
++#3601=DIRECTION('',(0.E0,1.E0,0.E0));
++#3602=VECTOR('',#3601,6.875E-1);
++#3603=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1));
++#3604=LINE('',#3603,#3602);
++#3605=DIRECTION('',(0.E0,1.E0,0.E0));
++#3606=VECTOR('',#3605,6.875E-1);
++#3607=CARTESIAN_POINT('',(6.875E-1,0.E0,1.95E1));
++#3608=LINE('',#3607,#3606);
++#3609=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3610=VECTOR('',#3609,3.E0);
++#3611=CARTESIAN_POINT('',(6.875E-1,6.875E-1,2.25E1));
++#3612=LINE('',#3611,#3610);
++#3613=CARTESIAN_POINT('',(1.25E0,6.875E-1,2.25E1));
++#3614=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3615=DIRECTION('',(1.E0,0.E0,0.E0));
++#3616=AXIS2_PLACEMENT_3D('',#3613,#3614,#3615);
++#3618=DIRECTION('',(0.E0,0.E0,1.E0));
++#3619=VECTOR('',#3618,3.E0);
++#3620=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.95E1));
++#3621=LINE('',#3620,#3619);
++#3622=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.95E1));
++#3623=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3624=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3625=AXIS2_PLACEMENT_3D('',#3622,#3623,#3624);
++#3627=DIRECTION('',(0.E0,1.E0,0.E0));
++#3628=VECTOR('',#3627,6.875E-1);
++#3629=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0));
++#3630=LINE('',#3629,#3628);
++#3631=DIRECTION('',(0.E0,1.E0,0.E0));
++#3632=VECTOR('',#3631,6.875E-1);
++#3633=CARTESIAN_POINT('',(7.5E0,0.E0,9.5E0));
++#3634=LINE('',#3633,#3632);
++#3635=DIRECTION('',(0.E0,1.E0,0.E0));
++#3636=VECTOR('',#3635,6.875E-1);
++#3637=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0));
++#3638=LINE('',#3637,#3636);
++#3639=DIRECTION('',(0.E0,1.E0,0.E0));
++#3640=VECTOR('',#3639,6.875E-1);
++#3641=CARTESIAN_POINT('',(1.05E1,0.E0,8.5E0));
++#3642=LINE('',#3641,#3640);
++#3643=DIRECTION('',(1.E0,0.E0,0.E0));
++#3644=VECTOR('',#3643,3.E0);
++#3645=CARTESIAN_POINT('',(7.5E0,6.875E-1,8.5E0));
++#3646=LINE('',#3645,#3644);
++#3647=CARTESIAN_POINT('',(7.5E0,6.875E-1,9.E0));
++#3648=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3649=DIRECTION('',(0.E0,0.E0,1.E0));
++#3650=AXIS2_PLACEMENT_3D('',#3647,#3648,#3649);
++#3652=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3653=VECTOR('',#3652,3.E0);
++#3654=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.5E0));
++#3655=LINE('',#3654,#3653);
++#3656=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.E0));
++#3657=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3658=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3659=AXIS2_PLACEMENT_3D('',#3656,#3657,#3658);
++#3661=DIRECTION('',(0.E0,1.E0,0.E0));
++#3662=VECTOR('',#3661,6.875E-1);
++#3663=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1));
++#3664=LINE('',#3663,#3662);
++#3665=DIRECTION('',(0.E0,1.E0,0.E0));
++#3666=VECTOR('',#3665,6.875E-1);
++#3667=CARTESIAN_POINT('',(7.5E0,0.E0,1.84375E1));
++#3668=LINE('',#3667,#3666);
++#3669=DIRECTION('',(0.E0,1.E0,0.E0));
++#3670=VECTOR('',#3669,6.875E-1);
++#3671=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1));
++#3672=LINE('',#3671,#3670);
++#3673=DIRECTION('',(0.E0,1.E0,0.E0));
++#3674=VECTOR('',#3673,6.875E-1);
++#3675=CARTESIAN_POINT('',(1.05E1,0.E0,1.75625E1));
++#3676=LINE('',#3675,#3674);
++#3677=DIRECTION('',(1.E0,0.E0,0.E0));
++#3678=VECTOR('',#3677,3.E0);
++#3679=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.75625E1));
++#3680=LINE('',#3679,#3678);
++#3681=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.8E1));
++#3682=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3683=DIRECTION('',(0.E0,0.E0,1.E0));
++#3684=AXIS2_PLACEMENT_3D('',#3681,#3682,#3683);
++#3686=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3687=VECTOR('',#3686,3.E0);
++#3688=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.84375E1));
++#3689=LINE('',#3688,#3687);
++#3690=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8E1));
++#3691=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3692=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3693=AXIS2_PLACEMENT_3D('',#3690,#3691,#3692);
++#3695=DIRECTION('',(0.E0,1.E0,0.E0));
++#3696=VECTOR('',#3695,6.875E-1);
++#3697=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1));
++#3698=LINE('',#3697,#3696);
++#3699=DIRECTION('',(0.E0,1.E0,0.E0));
++#3700=VECTOR('',#3699,6.875E-1);
++#3701=CARTESIAN_POINT('',(1.05E1,0.E0,3.13125E1));
++#3702=LINE('',#3701,#3700);
++#3703=DIRECTION('',(0.E0,1.E0,0.E0));
++#3704=VECTOR('',#3703,6.875E-1);
++#3705=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1));
++#3706=LINE('',#3705,#3704);
++#3707=DIRECTION('',(0.E0,1.E0,0.E0));
++#3708=VECTOR('',#3707,6.875E-1);
++#3709=CARTESIAN_POINT('',(7.5E0,0.E0,3.01875E1));
++#3710=LINE('',#3709,#3708);
++#3711=DIRECTION('',(1.E0,0.E0,0.E0));
++#3712=VECTOR('',#3711,3.E0);
++#3713=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.13125E1));
++#3714=LINE('',#3713,#3712);
++#3715=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.075E1));
++#3716=DIRECTION('',(0.E0,1.E0,0.E0));
++#3717=DIRECTION('',(0.E0,0.E0,1.E0));
++#3718=AXIS2_PLACEMENT_3D('',#3715,#3716,#3717);
++#3720=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3721=VECTOR('',#3720,3.E0);
++#3722=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.01875E1));
++#3723=LINE('',#3722,#3721);
++#3724=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.075E1));
++#3725=DIRECTION('',(0.E0,1.E0,0.E0));
++#3726=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3727=AXIS2_PLACEMENT_3D('',#3724,#3725,#3726);
++#3729=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
++#3730=VECTOR('',#3729,4.263248410977E0);
++#3731=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,2.795313485357E1));
++#3732=LINE('',#3731,#3730);
++#3733=CARTESIAN_POINT('',(4.553039342392E0,6.875E-1,3.035464591145E1));
++#3734=DIRECTION('',(0.E0,1.E0,0.E0));
++#3735=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
++#3736=AXIS2_PLACEMENT_3D('',#3733,#3734,#3735);
++#3738=CARTESIAN_POINT('',(7.5E0,6.875E-1,2.45E1));
++#3739=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3740=DIRECTION('',(-4.496088413988E-1,0.E0,8.932255536739E-1));
++#3741=AXIS2_PLACEMENT_3D('',#3738,#3739,#3740);
++#3743=CARTESIAN_POINT('',(1.61E0,6.875E-1,2.75E1));
++#3744=DIRECTION('',(0.E0,1.E0,0.E0));
++#3745=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1));
++#3746=AXIS2_PLACEMENT_3D('',#3743,#3744,#3745);
++#3748=DIRECTION('',(0.E0,1.E0,-1.033516706560E-14));
++#3749=VECTOR('',#3748,6.875E-1);
++#3750=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,2.708717332281E1));
++#3751=LINE('',#3750,#3749);
++#3752=CARTESIAN_POINT('',(1.455736763592E0,0.E0,2.742280476768E1));
++#3753=DIRECTION('',(0.E0,1.E0,0.E0));
++#3754=DIRECTION('',(-8.942796313519E-1,0.E0,-4.475085931567E-1));
++#3755=AXIS2_PLACEMENT_3D('',#3752,#3753,#3754);
++#3757=DIRECTION('',(0.E0,1.E0,1.033516706560E-14));
++#3758=VECTOR('',#3757,6.875E-1);
++#3759=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1));
++#3760=LINE('',#3759,#3758);
++#3761=CARTESIAN_POINT('',(1.455736763592E0,6.875E-1,2.742280476768E1));
++#3762=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3763=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811866E-1));
++#3764=AXIS2_PLACEMENT_3D('',#3761,#3762,#3763);
++#3766=DIRECTION('',(0.E0,1.E0,1.033516706560E-14));
++#3767=VECTOR('',#3766,6.875E-1);
++#3768=CARTESIAN_POINT('',(2.432015885023E0,0.E0,2.708131618759E1));
++#3769=LINE('',#3768,#3767);
++#3770=DIRECTION('',(0.E0,1.E0,0.E0));
++#3771=VECTOR('',#3770,6.875E-1);
++#3772=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.958022033652E1));
++#3773=LINE('',#3772,#3771);
++#3774=DIRECTION('',(0.E0,1.E0,0.E0));
++#3775=VECTOR('',#3774,6.875E-1);
++#3776=CARTESIAN_POINT('',(3.939978538987E0,0.E0,3.096770671486E1));
++#3777=LINE('',#3776,#3775);
++#3778=DIRECTION('',(0.E0,1.E0,0.E0));
++#3779=VECTOR('',#3778,6.875E-1);
++#3780=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1));
++#3781=LINE('',#3780,#3779);
++#3782=DIRECTION('',(0.E0,1.E0,0.E0));
++#3783=VECTOR('',#3782,6.875E-1);
++#3784=CARTESIAN_POINT('',(1.35E1,0.E0,6.875E-1));
++#3785=LINE('',#3784,#3783);
++#3786=DIRECTION('',(0.E0,1.E0,0.E0));
++#3787=VECTOR('',#3786,6.875E-1);
++#3788=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0));
++#3789=LINE('',#3788,#3787);
++#3790=DIRECTION('',(0.E0,1.E0,0.E0));
++#3791=VECTOR('',#3790,6.875E-1);
++#3792=CARTESIAN_POINT('',(1.65E1,0.E0,1.8125E0));
++#3793=LINE('',#3792,#3791);
++#3794=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3795=VECTOR('',#3794,3.E0);
++#3796=CARTESIAN_POINT('',(1.65E1,6.875E-1,6.875E-1));
++#3797=LINE('',#3796,#3795);
++#3798=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.25E0));
++#3799=DIRECTION('',(0.E0,1.E0,0.E0));
++#3800=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3801=AXIS2_PLACEMENT_3D('',#3798,#3799,#3800);
++#3803=DIRECTION('',(1.E0,0.E0,0.E0));
++#3804=VECTOR('',#3803,3.E0);
++#3805=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8125E0));
++#3806=LINE('',#3805,#3804);
++#3807=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.25E0));
++#3808=DIRECTION('',(0.E0,1.E0,0.E0));
++#3809=DIRECTION('',(0.E0,0.E0,1.E0));
++#3810=AXIS2_PLACEMENT_3D('',#3807,#3808,#3809);
++#3812=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
++#3813=VECTOR('',#3812,4.263248410977E0);
++#3814=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,4.046865146430E0));
++#3815=LINE('',#3814,#3813);
++#3816=CARTESIAN_POINT('',(1.944696065761E1,6.875E-1,1.645354088550E0));
++#3817=DIRECTION('',(0.E0,1.E0,0.E0));
++#3818=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
++#3819=AXIS2_PLACEMENT_3D('',#3816,#3817,#3818);
++#3821=CARTESIAN_POINT('',(1.65E1,6.875E-1,7.5E0));
++#3822=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3823=DIRECTION('',(4.496088413988E-1,0.E0,-8.932255536739E-1));
++#3824=AXIS2_PLACEMENT_3D('',#3821,#3822,#3823);
++#3826=CARTESIAN_POINT('',(2.239E1,6.875E-1,4.5E0));
++#3827=DIRECTION('',(0.E0,1.E0,0.E0));
++#3828=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1));
++#3829=AXIS2_PLACEMENT_3D('',#3826,#3827,#3828);
++#3831=DIRECTION('',(-1.033516706560E-14,1.E0,2.583791766400E-14));
++#3832=VECTOR('',#3831,6.875E-1);
++#3833=CARTESIAN_POINT('',(2.321497295992E1,0.E0,4.912826677187E0));
++#3834=LINE('',#3833,#3832);
++#3835=CARTESIAN_POINT('',(2.254426323641E1,0.E0,4.577195232320E0));
++#3836=DIRECTION('',(0.E0,1.E0,0.E0));
++#3837=DIRECTION('',(8.942796313519E-1,0.E0,4.475085931567E-1));
++#3838=AXIS2_PLACEMENT_3D('',#3835,#3836,#3837);
++#3840=DIRECTION('',(0.E0,1.E0,0.E0));
++#3841=VECTOR('',#3840,6.875E-1);
++#3842=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0));
++#3843=LINE('',#3842,#3841);
++#3844=CARTESIAN_POINT('',(2.254426323641E1,6.875E-1,4.577195232320E0));
++#3845=DIRECTION('',(0.E0,-1.E0,0.E0));
++#3846=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
++#3847=AXIS2_PLACEMENT_3D('',#3844,#3845,#3846);
++#3849=DIRECTION('',(-1.550275059840E-14,1.E0,-2.067033413120E-14));
++#3850=VECTOR('',#3849,6.875E-1);
++#3851=CARTESIAN_POINT('',(2.156798411498E1,0.E0,4.918683812405E0));
++#3852=LINE('',#3851,#3850);
++#3853=DIRECTION('',(1.550275059840E-14,1.E0,0.E0));
++#3854=VECTOR('',#3853,6.875E-1);
++#3855=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.419779663480E0));
++#3856=LINE('',#3855,#3854);
++#3857=DIRECTION('',(0.E0,1.E0,0.E0));
++#3858=VECTOR('',#3857,6.875E-1);
++#3859=CARTESIAN_POINT('',(2.006002146101E1,0.E0,1.032293285145E0));
++#3860=LINE('',#3859,#3858);
++#3861=DIRECTION('',(0.E0,1.E0,0.E0));
++#3862=VECTOR('',#3861,6.875E-1);
++#3863=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1));
++#3864=LINE('',#3863,#3862);
++#3865=DIRECTION('',(0.E0,1.E0,0.E0));
++#3866=VECTOR('',#3865,6.875E-1);
++#3867=CARTESIAN_POINT('',(2.33125E1,0.E0,1.35E1));
++#3868=LINE('',#3867,#3866);
++#3869=DIRECTION('',(0.E0,1.E0,0.E0));
++#3870=VECTOR('',#3869,6.875E-1);
++#3871=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1));
++#3872=LINE('',#3871,#3870);
++#3873=DIRECTION('',(0.E0,1.E0,0.E0));
++#3874=VECTOR('',#3873,6.875E-1);
++#3875=CARTESIAN_POINT('',(2.21875E1,0.E0,1.65E1));
++#3876=LINE('',#3875,#3874);
++#3877=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3878=VECTOR('',#3877,3.E0);
++#3879=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.65E1));
++#3880=LINE('',#3879,#3878);
++#3881=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.35E1));
++#3882=DIRECTION('',(0.E0,1.E0,0.E0));
++#3883=DIRECTION('',(1.E0,0.E0,0.E0));
++#3884=AXIS2_PLACEMENT_3D('',#3881,#3882,#3883);
++#3886=DIRECTION('',(0.E0,0.E0,1.E0));
++#3887=VECTOR('',#3886,3.E0);
++#3888=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.35E1));
++#3889=LINE('',#3888,#3887);
++#3890=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.65E1));
++#3891=DIRECTION('',(0.E0,1.E0,0.E0));
++#3892=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3893=AXIS2_PLACEMENT_3D('',#3890,#3891,#3892);
++#3895=DIRECTION('',(0.E0,1.E0,0.E0));
++#3896=VECTOR('',#3895,6.875E-1);
++#3897=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1));
++#3898=LINE('',#3897,#3896);
++#3899=DIRECTION('',(0.E0,1.E0,0.E0));
++#3900=VECTOR('',#3899,6.875E-1);
++#3901=CARTESIAN_POINT('',(2.33125E1,0.E0,1.95E1));
++#3902=LINE('',#3901,#3900);
++#3903=DIRECTION('',(0.E0,1.E0,0.E0));
++#3904=VECTOR('',#3903,6.875E-1);
++#3905=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1));
++#3906=LINE('',#3905,#3904);
++#3907=DIRECTION('',(0.E0,1.E0,0.E0));
++#3908=VECTOR('',#3907,6.875E-1);
++#3909=CARTESIAN_POINT('',(2.21875E1,0.E0,2.25E1));
++#3910=LINE('',#3909,#3908);
++#3911=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3912=VECTOR('',#3911,3.E0);
++#3913=CARTESIAN_POINT('',(2.33125E1,6.875E-1,2.25E1));
++#3914=LINE('',#3913,#3912);
++#3915=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.95E1));
++#3916=DIRECTION('',(0.E0,1.E0,0.E0));
++#3917=DIRECTION('',(1.E0,0.E0,0.E0));
++#3918=AXIS2_PLACEMENT_3D('',#3915,#3916,#3917);
++#3920=DIRECTION('',(0.E0,0.E0,1.E0));
++#3921=VECTOR('',#3920,3.E0);
++#3922=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.95E1));
++#3923=LINE('',#3922,#3921);
++#3924=CARTESIAN_POINT('',(2.275E1,6.875E-1,2.25E1));
++#3925=DIRECTION('',(0.E0,1.E0,0.E0));
++#3926=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3927=AXIS2_PLACEMENT_3D('',#3924,#3925,#3926);
++#3929=DIRECTION('',(0.E0,1.E0,0.E0));
++#3930=VECTOR('',#3929,6.875E-1);
++#3931=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0));
++#3932=LINE('',#3931,#3930);
++#3933=DIRECTION('',(0.E0,1.E0,0.E0));
++#3934=VECTOR('',#3933,6.875E-1);
++#3935=CARTESIAN_POINT('',(1.35E1,0.E0,8.5E0));
++#3936=LINE('',#3935,#3934);
++#3937=DIRECTION('',(0.E0,1.E0,0.E0));
++#3938=VECTOR('',#3937,6.875E-1);
++#3939=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0));
++#3940=LINE('',#3939,#3938);
++#3941=DIRECTION('',(0.E0,1.E0,0.E0));
++#3942=VECTOR('',#3941,6.875E-1);
++#3943=CARTESIAN_POINT('',(1.65E1,0.E0,9.5E0));
++#3944=LINE('',#3943,#3942);
++#3945=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3946=VECTOR('',#3945,3.E0);
++#3947=CARTESIAN_POINT('',(1.65E1,6.875E-1,8.5E0));
++#3948=LINE('',#3947,#3946);
++#3949=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.E0));
++#3950=DIRECTION('',(0.E0,1.E0,0.E0));
++#3951=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3952=AXIS2_PLACEMENT_3D('',#3949,#3950,#3951);
++#3954=DIRECTION('',(1.E0,0.E0,0.E0));
++#3955=VECTOR('',#3954,3.E0);
++#3956=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.5E0));
++#3957=LINE('',#3956,#3955);
++#3958=CARTESIAN_POINT('',(1.65E1,6.875E-1,9.E0));
++#3959=DIRECTION('',(0.E0,1.E0,0.E0));
++#3960=DIRECTION('',(0.E0,0.E0,1.E0));
++#3961=AXIS2_PLACEMENT_3D('',#3958,#3959,#3960);
++#3963=DIRECTION('',(0.E0,1.E0,0.E0));
++#3964=VECTOR('',#3963,6.875E-1);
++#3965=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1));
++#3966=LINE('',#3965,#3964);
++#3967=DIRECTION('',(0.E0,1.E0,0.E0));
++#3968=VECTOR('',#3967,6.875E-1);
++#3969=CARTESIAN_POINT('',(1.35E1,0.E0,1.75625E1));
++#3970=LINE('',#3969,#3968);
++#3971=DIRECTION('',(0.E0,1.E0,0.E0));
++#3972=VECTOR('',#3971,6.875E-1);
++#3973=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1));
++#3974=LINE('',#3973,#3972);
++#3975=DIRECTION('',(0.E0,1.E0,0.E0));
++#3976=VECTOR('',#3975,6.875E-1);
++#3977=CARTESIAN_POINT('',(1.65E1,0.E0,1.84375E1));
++#3978=LINE('',#3977,#3976);
++#3979=DIRECTION('',(-1.E0,0.E0,0.E0));
++#3980=VECTOR('',#3979,3.E0);
++#3981=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.75625E1));
++#3982=LINE('',#3981,#3980);
++#3983=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8E1));
++#3984=DIRECTION('',(0.E0,1.E0,0.E0));
++#3985=DIRECTION('',(0.E0,0.E0,-1.E0));
++#3986=AXIS2_PLACEMENT_3D('',#3983,#3984,#3985);
++#3988=DIRECTION('',(1.E0,0.E0,0.E0));
++#3989=VECTOR('',#3988,3.E0);
++#3990=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.84375E1));
++#3991=LINE('',#3990,#3989);
++#3992=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.8E1));
++#3993=DIRECTION('',(0.E0,1.E0,0.E0));
++#3994=DIRECTION('',(0.E0,0.E0,1.E0));
++#3995=AXIS2_PLACEMENT_3D('',#3992,#3993,#3994);
++#3997=DIRECTION('',(0.E0,1.E0,0.E0));
++#3998=VECTOR('',#3997,6.875E-1);
++#3999=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1));
++#4000=LINE('',#3999,#3998);
++#4001=DIRECTION('',(0.E0,1.E0,0.E0));
++#4002=VECTOR('',#4001,6.875E-1);
++#4003=CARTESIAN_POINT('',(1.65E1,0.E0,3.01875E1));
++#4004=LINE('',#4003,#4002);
++#4005=DIRECTION('',(0.E0,1.E0,0.E0));
++#4006=VECTOR('',#4005,6.875E-1);
++#4007=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1));
++#4008=LINE('',#4007,#4006);
++#4009=DIRECTION('',(0.E0,1.E0,0.E0));
++#4010=VECTOR('',#4009,6.875E-1);
++#4011=CARTESIAN_POINT('',(1.35E1,0.E0,3.13125E1));
++#4012=LINE('',#4011,#4010);
++#4013=DIRECTION('',(-1.E0,0.E0,0.E0));
++#4014=VECTOR('',#4013,3.E0);
++#4015=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.13125E1));
++#4016=LINE('',#4015,#4014);
++#4017=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.075E1));
++#4018=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4019=DIRECTION('',(0.E0,0.E0,-1.E0));
++#4020=AXIS2_PLACEMENT_3D('',#4017,#4018,#4019);
++#4022=DIRECTION('',(1.E0,0.E0,0.E0));
++#4023=VECTOR('',#4022,3.E0);
++#4024=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.01875E1));
++#4025=LINE('',#4024,#4023);
++#4026=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.075E1));
++#4027=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4028=DIRECTION('',(0.E0,0.E0,1.E0));
++#4029=AXIS2_PLACEMENT_3D('',#4026,#4027,#4028);
++#4031=CARTESIAN_POINT('',(2.239E1,6.875E-1,2.75E1));
++#4032=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4033=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1));
++#4034=AXIS2_PLACEMENT_3D('',#4031,#4032,#4033);
++#4036=CARTESIAN_POINT('',(1.65E1,6.875E-1,2.45E1));
++#4037=DIRECTION('',(0.E0,1.E0,0.E0));
++#4038=DIRECTION('',(4.496088413988E-1,0.E0,8.932255536739E-1));
++#4039=AXIS2_PLACEMENT_3D('',#4036,#4037,#4038);
++#4041=CARTESIAN_POINT('',(1.944696065761E1,6.875E-1,3.035464591145E1));
++#4042=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4043=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
++#4044=AXIS2_PLACEMENT_3D('',#4041,#4042,#4043);
++#4046=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
++#4047=VECTOR('',#4046,4.263248410977E0);
++#4048=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,2.795313485357E1));
++#4049=LINE('',#4048,#4047);
++#4050=DIRECTION('',(0.E0,1.E0,0.E0));
++#4051=VECTOR('',#4050,6.875E-1);
++#4052=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1));
++#4053=LINE('',#4052,#4051);
++#4054=CARTESIAN_POINT('',(2.254426323641E1,0.E0,2.742280476768E1));
++#4055=DIRECTION('',(0.E0,1.E0,0.E0));
++#4056=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
++#4057=AXIS2_PLACEMENT_3D('',#4054,#4055,#4056);
++#4059=DIRECTION('',(0.E0,1.E0,2.067033413120E-14));
++#4060=VECTOR('',#4059,6.875E-1);
++#4061=CARTESIAN_POINT('',(2.321497295992E1,0.E0,2.708717332281E1));
++#4062=LINE('',#4061,#4060);
++#4063=CARTESIAN_POINT('',(2.254426323641E1,6.875E-1,2.742280476768E1));
++#4064=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4065=DIRECTION('',(8.942796313519E-1,0.E0,-4.475085931567E-1));
++#4066=AXIS2_PLACEMENT_3D('',#4063,#4064,#4065);
++#4068=DIRECTION('',(0.E0,1.E0,0.E0));
++#4069=VECTOR('',#4068,6.875E-1);
++#4070=CARTESIAN_POINT('',(2.006002146101E1,0.E0,3.096770671486E1));
++#4071=LINE('',#4070,#4069);
++#4072=DIRECTION('',(1.033516706560E-14,1.E0,0.E0));
++#4073=VECTOR('',#4072,6.875E-1);
++#4074=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.958022033652E1));
++#4075=LINE('',#4074,#4073);
++#4076=DIRECTION('',(-2.067033413120E-14,1.E0,3.100550119680E-14));
++#4077=VECTOR('',#4076,6.875E-1);
++#4078=CARTESIAN_POINT('',(2.156798411498E1,0.E0,2.708131618759E1));
++#4079=LINE('',#4078,#4077);
++#4080=DIRECTION('',(0.E0,1.E0,0.E0));
++#4081=VECTOR('',#4080,6.875E-1);
++#4082=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0));
++#4083=LINE('',#4082,#4081);
++#4084=CARTESIAN_POINT('',(2.13075E1,6.875E-1,7.81E0));
++#4085=DIRECTION('',(0.E0,1.E0,0.E0));
++#4086=DIRECTION('',(0.E0,0.E0,1.E0));
++#4087=AXIS2_PLACEMENT_3D('',#4084,#4085,#4086);
++#4089=DIRECTION('',(0.E0,1.E0,0.E0));
++#4090=VECTOR('',#4089,6.875E-1);
++#4091=CARTESIAN_POINT('',(2.21875E1,0.E0,7.81E0));
++#4092=LINE('',#4091,#4090);
++#4093=CARTESIAN_POINT('',(2.13075E1,0.E0,7.81E0));
++#4094=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4095=DIRECTION('',(1.E0,0.E0,0.E0));
++#4096=AXIS2_PLACEMENT_3D('',#4093,#4094,#4095);
++#4098=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4099=VECTOR('',#4098,6.875E-1);
++#4100=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0));
++#4101=LINE('',#4100,#4099);
++#4102=CARTESIAN_POINT('',(2.05675E1,6.875E-1,9.57E0));
++#4103=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4104=DIRECTION('',(-1.E0,0.E0,0.E0));
++#4105=AXIS2_PLACEMENT_3D('',#4102,#4103,#4104);
++#4107=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4108=VECTOR('',#4107,6.875E-1);
++#4109=CARTESIAN_POINT('',(2.05675E1,6.875E-1,8.69E0));
++#4110=LINE('',#4109,#4108);
++#4111=CARTESIAN_POINT('',(2.05675E1,0.E0,9.57E0));
++#4112=DIRECTION('',(0.E0,1.E0,0.E0));
++#4113=DIRECTION('',(0.E0,0.E0,-1.E0));
++#4114=AXIS2_PLACEMENT_3D('',#4111,#4112,#4113);
++#4116=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4117=VECTOR('',#4116,6.875E-1);
++#4118=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1));
++#4119=LINE('',#4118,#4117);
++#4120=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.037E1));
++#4121=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4122=DIRECTION('',(0.E0,0.E0,1.E0));
++#4123=AXIS2_PLACEMENT_3D('',#4120,#4121,#4122);
++#4125=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4126=VECTOR('',#4125,6.875E-1);
++#4127=CARTESIAN_POINT('',(1.96875E1,6.875E-1,1.037E1));
++#4128=LINE('',#4127,#4126);
++#4129=CARTESIAN_POINT('',(2.05675E1,0.E0,1.037E1));
++#4130=DIRECTION('',(0.E0,1.E0,0.E0));
++#4131=DIRECTION('',(-1.E0,0.E0,0.E0));
++#4132=AXIS2_PLACEMENT_3D('',#4129,#4130,#4131);
++#4134=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4135=VECTOR('',#4134,6.875E-1);
++#4136=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1));
++#4137=LINE('',#4136,#4135);
++#4138=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.037E1));
++#4139=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4140=DIRECTION('',(1.E0,0.E0,0.E0));
++#4141=AXIS2_PLACEMENT_3D('',#4138,#4139,#4140);
++#4143=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4144=VECTOR('',#4143,6.875E-1);
++#4145=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.125E1));
++#4146=LINE('',#4145,#4144);
++#4147=CARTESIAN_POINT('',(2.44325E1,0.E0,1.037E1));
++#4148=DIRECTION('',(0.E0,1.E0,0.E0));
++#4149=DIRECTION('',(0.E0,0.E0,1.E0));
++#4150=AXIS2_PLACEMENT_3D('',#4147,#4148,#4149);
++#4152=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4153=VECTOR('',#4152,6.875E-1);
++#4154=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0));
++#4155=LINE('',#4154,#4153);
++#4156=CARTESIAN_POINT('',(2.44325E1,6.875E-1,9.57E0));
++#4157=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4158=DIRECTION('',(0.E0,0.E0,-1.E0));
++#4159=AXIS2_PLACEMENT_3D('',#4156,#4157,#4158);
++#4161=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4162=VECTOR('',#4161,6.875E-1);
++#4163=CARTESIAN_POINT('',(2.53125E1,6.875E-1,9.57E0));
++#4164=LINE('',#4163,#4162);
++#4165=CARTESIAN_POINT('',(2.44325E1,0.E0,9.57E0));
++#4166=DIRECTION('',(0.E0,1.E0,0.E0));
++#4167=DIRECTION('',(1.E0,0.E0,0.E0));
++#4168=AXIS2_PLACEMENT_3D('',#4165,#4166,#4167);
++#4170=DIRECTION('',(0.E0,1.E0,0.E0));
++#4171=VECTOR('',#4170,6.875E-1);
++#4172=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0));
++#4173=LINE('',#4172,#4171);
++#4174=CARTESIAN_POINT('',(2.419E1,6.875E-1,7.81E0));
++#4175=DIRECTION('',(0.E0,1.E0,0.E0));
++#4176=DIRECTION('',(-1.E0,0.E0,0.E0));
++#4177=AXIS2_PLACEMENT_3D('',#4174,#4175,#4176);
++#4179=DIRECTION('',(0.E0,1.E0,0.E0));
++#4180=VECTOR('',#4179,6.875E-1);
++#4181=CARTESIAN_POINT('',(2.419E1,0.E0,8.69E0));
++#4182=LINE('',#4181,#4180);
++#4183=CARTESIAN_POINT('',(2.419E1,0.E0,7.81E0));
++#4184=DIRECTION('',(0.E0,-1.E0,0.E0));
++#4185=DIRECTION('',(0.E0,0.E0,1.E0));
++#4186=AXIS2_PLACEMENT_3D('',#4183,#4184,#4185);
++#4188=DIRECTION('',(0.E0,1.E0,1.033516706560E-14));
++#4189=VECTOR('',#4188,6.875E-1);
++#4190=CARTESIAN_POINT('',(2.331E1,0.E0,7.5E0));
++#4191=LINE('',#4190,#4189);
++#4192=DIRECTION('',(0.E0,1.E0,0.E0));
++#4193=VECTOR('',#4192,6.875E-1);
++#4194=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0));
++#4195=LINE('',#4194,#4193);
++#4196=DIRECTION('',(-1.E0,0.E0,0.E0));
++#4197=VECTOR('',#4196,2.425E-1);
++#4198=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0));
++#4199=LINE('',#4198,#4197);
++#4200=DIRECTION('',(0.E0,0.E0,-1.E0));
++#4201=VECTOR('',#4200,3.1E-1);
++#4202=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.81E0));
++#4203=LINE('',#4202,#4201);
++#4204=CARTESIAN_POINT('',(2.274875E1,6.875E-1,7.5E0));
++#4205=DIRECTION('',(0.E0,1.E0,0.E0));
++#4206=DIRECTION('',(1.E0,0.E0,0.E0));
++#4207=AXIS2_PLACEMENT_3D('',#4204,#4205,#4206);
++#4209=DIRECTION('',(0.E0,0.E0,1.E0));
++#4210=VECTOR('',#4209,3.1E-1);
++#4211=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.5E0));
++#4212=LINE('',#4211,#4210);
++#4213=DIRECTION('',(-1.E0,0.E0,0.E0));
++#4214=VECTOR('',#4213,7.4E-1);
++#4215=CARTESIAN_POINT('',(2.13075E1,6.875E-1,8.69E0));
++#4216=LINE('',#4215,#4214);
++#4217=DIRECTION('',(0.E0,0.E0,1.E0));
++#4218=VECTOR('',#4217,8.E-1);
++#4219=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0));
++#4220=LINE('',#4219,#4218);
++#4221=DIRECTION('',(1.E0,0.E0,0.E0));
++#4222=VECTOR('',#4221,3.865E0);
++#4223=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1));
++#4224=LINE('',#4223,#4222);
++#4225=DIRECTION('',(0.E0,0.E0,-1.E0));
++#4226=VECTOR('',#4225,8.E-1);
++#4227=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1));
++#4228=LINE('',#4227,#4226);
++#4229=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
++#4230=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1));
++#4231=VERTEX_POINT('',#4229);
++#4232=VERTEX_POINT('',#4230);
++#4233=CARTESIAN_POINT('',(2.E1,0.E0,3.2E1));
++#4234=CARTESIAN_POINT('',(2.E1,1.5E0,3.2E1));
++#4235=VERTEX_POINT('',#4233);
++#4236=VERTEX_POINT('',#4234);
++#4237=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
++#4238=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0));
++#4239=VERTEX_POINT('',#4237);
++#4240=VERTEX_POINT('',#4238);
++#4241=CARTESIAN_POINT('',(2.4E1,0.E0,4.E0));
++#4242=CARTESIAN_POINT('',(2.4E1,1.5E0,4.E0));
++#4243=VERTEX_POINT('',#4241);
++#4244=VERTEX_POINT('',#4242);
++#4245=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
++#4246=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1));
++#4247=VERTEX_POINT('',#4245);
++#4248=VERTEX_POINT('',#4246);
++#4249=CARTESIAN_POINT('',(0.E0,0.E0,2.8E1));
++#4250=CARTESIAN_POINT('',(0.E0,1.5E0,2.8E1));
++#4251=VERTEX_POINT('',#4249);
++#4252=VERTEX_POINT('',#4250);
++#4253=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
++#4254=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0));
++#4255=VERTEX_POINT('',#4253);
++#4256=VERTEX_POINT('',#4254);
++#4257=CARTESIAN_POINT('',(4.E0,0.E0,0.E0));
++#4258=CARTESIAN_POINT('',(4.E0,1.5E0,0.E0));
++#4259=VERTEX_POINT('',#4257);
++#4260=VERTEX_POINT('',#4258);
++#4261=CARTESIAN_POINT('',(7.5E0,1.5E0,2.5E0));
++#4262=CARTESIAN_POINT('',(7.5E0,0.E0,2.5E0));
++#4263=VERTEX_POINT('',#4261);
++#4264=VERTEX_POINT('',#4262);
++#4265=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0));
++#4266=CARTESIAN_POINT('',(1.65E1,0.E0,2.5E0));
++#4267=VERTEX_POINT('',#4265);
++#4268=VERTEX_POINT('',#4266);
++#4269=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1));
++#4270=CARTESIAN_POINT('',(7.5E0,0.E0,2.95E1));
++#4271=VERTEX_POINT('',#4269);
++#4272=VERTEX_POINT('',#4270);
++#4273=CARTESIAN_POINT('',(2.5E0,1.5E0,2.45E1));
++#4274=CARTESIAN_POINT('',(2.5E0,0.E0,2.45E1));
++#4275=VERTEX_POINT('',#4273);
++#4276=VERTEX_POINT('',#4274);
++#4277=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1));
++#4278=CARTESIAN_POINT('',(2.15E1,0.E0,2.45E1));
++#4279=VERTEX_POINT('',#4277);
++#4280=VERTEX_POINT('',#4278);
++#4281=CARTESIAN_POINT('',(1.65E1,1.5E0,2.95E1));
++#4282=CARTESIAN_POINT('',(1.65E1,0.E0,2.95E1));
++#4283=VERTEX_POINT('',#4281);
++#4284=VERTEX_POINT('',#4282);
++#4285=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
++#4286=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0));
++#4287=VERTEX_POINT('',#4285);
++#4288=VERTEX_POINT('',#4286);
++#4289=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0));
++#4290=VERTEX_POINT('',#4289);
++#4291=CARTESIAN_POINT('',(5.E0,1.15E1,1.E1));
++#4292=CARTESIAN_POINT('',(3.E0,1.15E1,1.E1));
++#4293=VERTEX_POINT('',#4291);
++#4294=VERTEX_POINT('',#4292);
++#4295=CARTESIAN_POINT('',(-2.E0,2.5E0,1.E1));
++#4296=VERTEX_POINT('',#4295);
++#4297=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1));
++#4298=VERTEX_POINT('',#4297);
++#4299=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0));
++#4300=VERTEX_POINT('',#4299);
++#4301=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1));
++#4302=CARTESIAN_POINT('',(2.5E0,0.E0,1.325E1));
++#4303=VERTEX_POINT('',#4301);
++#4304=VERTEX_POINT('',#4302);
++#4305=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1));
++#4306=CARTESIAN_POINT('',(3.5E0,0.E0,1.225E1));
++#4307=VERTEX_POINT('',#4305);
++#4308=VERTEX_POINT('',#4306);
++#4309=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1));
++#4310=CARTESIAN_POINT('',(0.E0,1.5E0,1.325E1));
++#4311=VERTEX_POINT('',#4309);
++#4312=VERTEX_POINT('',#4310);
++#4313=CARTESIAN_POINT('',(-1.E0,0.E0,1.225E1));
++#4314=CARTESIAN_POINT('',(-1.E0,1.5E0,1.225E1));
++#4315=VERTEX_POINT('',#4313);
++#4316=VERTEX_POINT('',#4314);
++#4317=CARTESIAN_POINT('',(0.E0,1.5E0,7.E0));
++#4318=CARTESIAN_POINT('',(0.E0,0.E0,7.E0));
++#4319=VERTEX_POINT('',#4317);
++#4320=VERTEX_POINT('',#4318);
++#4321=CARTESIAN_POINT('',(-1.E0,1.5E0,8.E0));
++#4322=CARTESIAN_POINT('',(-1.E0,0.E0,8.E0));
++#4323=VERTEX_POINT('',#4321);
++#4324=VERTEX_POINT('',#4322);
++#4325=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0));
++#4326=CARTESIAN_POINT('',(3.531373033403E0,0.E0,8.E0));
++#4327=VERTEX_POINT('',#4325);
++#4328=VERTEX_POINT('',#4326);
++#4329=CARTESIAN_POINT('',(2.539216291754E0,1.5E0,6.875E0));
++#4330=CARTESIAN_POINT('',(2.539216291754E0,0.E0,6.875E0));
++#4331=VERTEX_POINT('',#4329);
++#4332=VERTEX_POINT('',#4330);
++#4333=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
++#4334=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1));
++#4335=VERTEX_POINT('',#4333);
++#4336=VERTEX_POINT('',#4334);
++#4337=CARTESIAN_POINT('',(4.5E0,0.E0,1.225E1));
++#4338=CARTESIAN_POINT('',(4.5E0,1.5E0,1.225E1));
++#4339=VERTEX_POINT('',#4337);
++#4340=VERTEX_POINT('',#4338);
++#4341=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
++#4342=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1));
++#4343=VERTEX_POINT('',#4341);
++#4344=VERTEX_POINT('',#4342);
++#4345=CARTESIAN_POINT('',(-2.E0,0.E0,1.175E1));
++#4346=CARTESIAN_POINT('',(-2.E0,1.5E0,1.175E1));
++#4347=VERTEX_POINT('',#4345);
++#4348=VERTEX_POINT('',#4346);
++#4349=CARTESIAN_POINT('',(4.095E0,1.1125E1,9.E0));
++#4350=CARTESIAN_POINT('',(3.905E0,1.1125E1,9.E0));
++#4351=VERTEX_POINT('',#4349);
++#4352=VERTEX_POINT('',#4350);
++#4353=CARTESIAN_POINT('',(4.095E0,1.15E1,9.E0));
++#4354=CARTESIAN_POINT('',(3.905E0,1.15E1,9.E0));
++#4355=VERTEX_POINT('',#4353);
++#4356=VERTEX_POINT('',#4354);
++#4357=CARTESIAN_POINT('',(3.929917478528E0,1.125E1,9.132582521472E0));
++#4358=CARTESIAN_POINT('',(3.804917478528E0,1.125E1,9.132582521472E0));
++#4359=VERTEX_POINT('',#4357);
++#4360=VERTEX_POINT('',#4358);
++#4361=CARTESIAN_POINT('',(3.929917478528E0,1.15E1,9.132582521472E0));
++#4362=CARTESIAN_POINT('',(3.804917478528E0,1.15E1,9.132582521472E0));
++#4363=VERTEX_POINT('',#4361);
++#4364=VERTEX_POINT('',#4362);
++#4365=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1));
++#4366=CARTESIAN_POINT('',(6.55E0,1.25E0,2.975E1));
++#4367=VERTEX_POINT('',#4365);
++#4368=VERTEX_POINT('',#4366);
++#4369=CARTESIAN_POINT('',(6.35E0,1.25E0,2.975E1));
++#4370=VERTEX_POINT('',#4369);
++#4371=CARTESIAN_POINT('',(6.35E0,1.5E0,2.975E1));
++#4372=CARTESIAN_POINT('',(6.55E0,1.5E0,2.975E1));
++#4373=VERTEX_POINT('',#4371);
++#4374=VERTEX_POINT('',#4372);
++#4375=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1));
++#4376=CARTESIAN_POINT('',(7.55E0,1.25E0,2.975E1));
++#4377=VERTEX_POINT('',#4375);
++#4378=VERTEX_POINT('',#4376);
++#4379=CARTESIAN_POINT('',(7.35E0,1.25E0,2.975E1));
++#4380=VERTEX_POINT('',#4379);
++#4381=CARTESIAN_POINT('',(7.35E0,1.5E0,2.975E1));
++#4382=CARTESIAN_POINT('',(7.55E0,1.5E0,2.975E1));
++#4383=VERTEX_POINT('',#4381);
++#4384=VERTEX_POINT('',#4382);
++#4385=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
++#4386=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0));
++#4387=VERTEX_POINT('',#4385);
++#4388=VERTEX_POINT('',#4386);
++#4389=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0));
++#4390=VERTEX_POINT('',#4389);
++#4391=CARTESIAN_POINT('',(1.9E1,1.15E1,1.E1));
++#4392=CARTESIAN_POINT('',(2.1E1,1.15E1,1.E1));
++#4393=VERTEX_POINT('',#4391);
++#4394=VERTEX_POINT('',#4392);
++#4395=CARTESIAN_POINT('',(2.6E1,2.5E0,1.E1));
++#4396=VERTEX_POINT('',#4395);
++#4397=CARTESIAN_POINT('',(2.6E1,1.5E0,1.E1));
++#4398=VERTEX_POINT('',#4397);
++#4399=CARTESIAN_POINT('',(2.6E1,0.E0,8.E0));
++#4400=VERTEX_POINT('',#4399);
++#4401=CARTESIAN_POINT('',(2.4E1,1.5E0,1.325E1));
++#4402=CARTESIAN_POINT('',(2.4E1,0.E0,1.325E1));
++#4403=VERTEX_POINT('',#4401);
++#4404=VERTEX_POINT('',#4402);
++#4405=CARTESIAN_POINT('',(2.5E1,1.5E0,1.225E1));
++#4406=CARTESIAN_POINT('',(2.5E1,0.E0,1.225E1));
++#4407=VERTEX_POINT('',#4405);
++#4408=VERTEX_POINT('',#4406);
++#4409=CARTESIAN_POINT('',(2.15E1,0.E0,1.325E1));
++#4410=CARTESIAN_POINT('',(2.15E1,1.5E0,1.325E1));
++#4411=VERTEX_POINT('',#4409);
++#4412=VERTEX_POINT('',#4410);
++#4413=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1));
++#4414=CARTESIAN_POINT('',(2.05E1,1.5E0,1.225E1));
++#4415=VERTEX_POINT('',#4413);
++#4416=VERTEX_POINT('',#4414);
++#4417=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0));
++#4418=CARTESIAN_POINT('',(2.4E1,1.5E0,7.E0));
++#4419=VERTEX_POINT('',#4417);
++#4420=VERTEX_POINT('',#4418);
++#4421=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0));
++#4422=CARTESIAN_POINT('',(2.5E1,1.5E0,8.E0));
++#4423=VERTEX_POINT('',#4421);
++#4424=VERTEX_POINT('',#4422);
++#4425=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0));
++#4426=CARTESIAN_POINT('',(2.046862696660E1,1.5E0,8.E0));
++#4427=VERTEX_POINT('',#4425);
++#4428=VERTEX_POINT('',#4426);
++#4429=CARTESIAN_POINT('',(2.146078370825E1,0.E0,6.875E0));
++#4430=CARTESIAN_POINT('',(2.146078370825E1,1.5E0,6.875E0));
++#4431=VERTEX_POINT('',#4429);
++#4432=VERTEX_POINT('',#4430);
++#4433=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
++#4434=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1));
++#4435=VERTEX_POINT('',#4433);
++#4436=VERTEX_POINT('',#4434);
++#4437=CARTESIAN_POINT('',(1.95E1,1.5E0,1.225E1));
++#4438=CARTESIAN_POINT('',(1.95E1,0.E0,1.225E1));
++#4439=VERTEX_POINT('',#4437);
++#4440=VERTEX_POINT('',#4438);
++#4441=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
++#4442=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1));
++#4443=VERTEX_POINT('',#4441);
++#4444=VERTEX_POINT('',#4442);
++#4445=CARTESIAN_POINT('',(2.6E1,1.5E0,1.175E1));
++#4446=CARTESIAN_POINT('',(2.6E1,0.E0,1.175E1));
++#4447=VERTEX_POINT('',#4445);
++#4448=VERTEX_POINT('',#4446);
++#4449=CARTESIAN_POINT('',(1.9905E1,1.1125E1,9.E0));
++#4450=CARTESIAN_POINT('',(2.0095E1,1.1125E1,9.E0));
++#4451=VERTEX_POINT('',#4449);
++#4452=VERTEX_POINT('',#4450);
++#4453=CARTESIAN_POINT('',(1.9905E1,1.15E1,9.E0));
++#4454=CARTESIAN_POINT('',(2.0095E1,1.15E1,9.E0));
++#4455=VERTEX_POINT('',#4453);
++#4456=VERTEX_POINT('',#4454);
++#4457=CARTESIAN_POINT('',(2.007008252147E1,1.125E1,9.132582521472E0));
++#4458=CARTESIAN_POINT('',(2.019508252147E1,1.125E1,9.132582521472E0));
++#4459=VERTEX_POINT('',#4457);
++#4460=VERTEX_POINT('',#4458);
++#4461=CARTESIAN_POINT('',(2.007008252147E1,1.15E1,9.132582521472E0));
++#4462=CARTESIAN_POINT('',(2.019508252147E1,1.15E1,9.132582521472E0));
++#4463=VERTEX_POINT('',#4461);
++#4464=VERTEX_POINT('',#4462);
++#4465=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1));
++#4466=CARTESIAN_POINT('',(1.745E1,1.25E0,2.975E1));
++#4467=VERTEX_POINT('',#4465);
++#4468=VERTEX_POINT('',#4466);
++#4469=CARTESIAN_POINT('',(1.765E1,1.25E0,2.975E1));
++#4470=VERTEX_POINT('',#4469);
++#4471=CARTESIAN_POINT('',(1.765E1,1.5E0,2.975E1));
++#4472=CARTESIAN_POINT('',(1.745E1,1.5E0,2.975E1));
++#4473=VERTEX_POINT('',#4471);
++#4474=VERTEX_POINT('',#4472);
++#4475=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1));
++#4476=CARTESIAN_POINT('',(1.645E1,1.25E0,2.975E1));
++#4477=VERTEX_POINT('',#4475);
++#4478=VERTEX_POINT('',#4476);
++#4479=CARTESIAN_POINT('',(1.665E1,1.25E0,2.975E1));
++#4480=VERTEX_POINT('',#4479);
++#4481=CARTESIAN_POINT('',(1.665E1,1.5E0,2.975E1));
++#4482=CARTESIAN_POINT('',(1.645E1,1.5E0,2.975E1));
++#4483=VERTEX_POINT('',#4481);
++#4484=VERTEX_POINT('',#4482);
++#4485=CARTESIAN_POINT('',(1.3175E0,0.E0,6.E0));
++#4486=CARTESIAN_POINT('',(9.325E-1,0.E0,6.E0));
++#4487=VERTEX_POINT('',#4485);
++#4488=VERTEX_POINT('',#4486);
++#4489=CARTESIAN_POINT('',(1.3825E0,1.E0,6.E0));
++#4490=CARTESIAN_POINT('',(8.675E-1,1.E0,6.E0));
++#4491=VERTEX_POINT('',#4489);
++#4492=VERTEX_POINT('',#4490);
++#4493=CARTESIAN_POINT('',(1.3825E0,1.5E0,6.E0));
++#4494=CARTESIAN_POINT('',(8.675E-1,1.5E0,6.E0));
++#4495=VERTEX_POINT('',#4493);
++#4496=VERTEX_POINT('',#4494);
++#4497=CARTESIAN_POINT('',(1.3175E0,1.E0,6.E0));
++#4498=CARTESIAN_POINT('',(9.325E-1,1.E0,6.E0));
++#4499=VERTEX_POINT('',#4497);
++#4500=VERTEX_POINT('',#4498);
++#4501=CARTESIAN_POINT('',(1.3175E0,0.E0,1.2E1));
++#4502=CARTESIAN_POINT('',(9.325E-1,0.E0,1.2E1));
++#4503=VERTEX_POINT('',#4501);
++#4504=VERTEX_POINT('',#4502);
++#4505=CARTESIAN_POINT('',(1.3175E0,0.E0,1.8E1));
++#4506=CARTESIAN_POINT('',(9.325E-1,0.E0,1.8E1));
++#4507=VERTEX_POINT('',#4505);
++#4508=VERTEX_POINT('',#4506);
++#4509=CARTESIAN_POINT('',(1.3175E0,0.E0,2.4E1));
++#4510=CARTESIAN_POINT('',(9.325E-1,0.E0,2.4E1));
++#4511=VERTEX_POINT('',#4509);
++#4512=VERTEX_POINT('',#4510);
++#4513=CARTESIAN_POINT('',(2.30675E1,0.E0,6.E0));
++#4514=CARTESIAN_POINT('',(2.26825E1,0.E0,6.E0));
++#4515=VERTEX_POINT('',#4513);
++#4516=VERTEX_POINT('',#4514);
++#4517=CARTESIAN_POINT('',(2.30675E1,0.E0,1.2E1));
++#4518=CARTESIAN_POINT('',(2.26825E1,0.E0,1.2E1));
++#4519=VERTEX_POINT('',#4517);
++#4520=VERTEX_POINT('',#4518);
++#4521=CARTESIAN_POINT('',(2.30675E1,0.E0,1.8E1));
++#4522=CARTESIAN_POINT('',(2.26825E1,0.E0,1.8E1));
++#4523=VERTEX_POINT('',#4521);
++#4524=VERTEX_POINT('',#4522);
++#4525=CARTESIAN_POINT('',(2.30675E1,0.E0,2.4E1));
++#4526=CARTESIAN_POINT('',(2.26825E1,0.E0,2.4E1));
++#4527=VERTEX_POINT('',#4525);
++#4528=VERTEX_POINT('',#4526);
++#4529=CARTESIAN_POINT('',(1.3825E0,1.E0,1.2E1));
++#4530=CARTESIAN_POINT('',(8.675E-1,1.E0,1.2E1));
++#4531=VERTEX_POINT('',#4529);
++#4532=VERTEX_POINT('',#4530);
++#4533=CARTESIAN_POINT('',(1.3175E0,1.E0,1.2E1));
++#4534=CARTESIAN_POINT('',(9.325E-1,1.E0,1.2E1));
++#4535=VERTEX_POINT('',#4533);
++#4536=VERTEX_POINT('',#4534);
++#4537=CARTESIAN_POINT('',(1.3825E0,1.E0,1.8E1));
++#4538=CARTESIAN_POINT('',(8.675E-1,1.E0,1.8E1));
++#4539=VERTEX_POINT('',#4537);
++#4540=VERTEX_POINT('',#4538);
++#4541=CARTESIAN_POINT('',(1.3825E0,1.5E0,1.8E1));
++#4542=CARTESIAN_POINT('',(8.675E-1,1.5E0,1.8E1));
++#4543=VERTEX_POINT('',#4541);
++#4544=VERTEX_POINT('',#4542);
++#4545=CARTESIAN_POINT('',(1.3175E0,1.E0,1.8E1));
++#4546=CARTESIAN_POINT('',(9.325E-1,1.E0,1.8E1));
++#4547=VERTEX_POINT('',#4545);
++#4548=VERTEX_POINT('',#4546);
++#4549=CARTESIAN_POINT('',(1.3825E0,1.E0,2.4E1));
++#4550=CARTESIAN_POINT('',(8.675E-1,1.E0,2.4E1));
++#4551=VERTEX_POINT('',#4549);
++#4552=VERTEX_POINT('',#4550);
++#4553=CARTESIAN_POINT('',(1.3825E0,1.5E0,2.4E1));
++#4554=CARTESIAN_POINT('',(8.675E-1,1.5E0,2.4E1));
++#4555=VERTEX_POINT('',#4553);
++#4556=VERTEX_POINT('',#4554);
++#4557=CARTESIAN_POINT('',(1.3175E0,1.E0,2.4E1));
++#4558=CARTESIAN_POINT('',(9.325E-1,1.E0,2.4E1));
++#4559=VERTEX_POINT('',#4557);
++#4560=VERTEX_POINT('',#4558);
++#4561=CARTESIAN_POINT('',(2.31325E1,1.E0,6.E0));
++#4562=CARTESIAN_POINT('',(2.26175E1,1.E0,6.E0));
++#4563=VERTEX_POINT('',#4561);
++#4564=VERTEX_POINT('',#4562);
++#4565=CARTESIAN_POINT('',(2.31325E1,1.5E0,6.E0));
++#4566=CARTESIAN_POINT('',(2.26175E1,1.5E0,6.E0));
++#4567=VERTEX_POINT('',#4565);
++#4568=VERTEX_POINT('',#4566);
++#4569=CARTESIAN_POINT('',(2.30675E1,1.E0,6.E0));
++#4570=CARTESIAN_POINT('',(2.26825E1,1.E0,6.E0));
++#4571=VERTEX_POINT('',#4569);
++#4572=VERTEX_POINT('',#4570);
++#4573=CARTESIAN_POINT('',(2.31325E1,1.E0,1.2E1));
++#4574=CARTESIAN_POINT('',(2.26175E1,1.E0,1.2E1));
++#4575=VERTEX_POINT('',#4573);
++#4576=VERTEX_POINT('',#4574);
++#4577=CARTESIAN_POINT('',(2.30675E1,1.E0,1.2E1));
++#4578=CARTESIAN_POINT('',(2.26825E1,1.E0,1.2E1));
++#4579=VERTEX_POINT('',#4577);
++#4580=VERTEX_POINT('',#4578);
++#4581=CARTESIAN_POINT('',(2.31325E1,1.E0,1.8E1));
++#4582=CARTESIAN_POINT('',(2.26175E1,1.E0,1.8E1));
++#4583=VERTEX_POINT('',#4581);
++#4584=VERTEX_POINT('',#4582);
++#4585=CARTESIAN_POINT('',(2.31325E1,1.5E0,1.8E1));
++#4586=CARTESIAN_POINT('',(2.26175E1,1.5E0,1.8E1));
++#4587=VERTEX_POINT('',#4585);
++#4588=VERTEX_POINT('',#4586);
++#4589=CARTESIAN_POINT('',(2.30675E1,1.E0,1.8E1));
++#4590=CARTESIAN_POINT('',(2.26825E1,1.E0,1.8E1));
++#4591=VERTEX_POINT('',#4589);
++#4592=VERTEX_POINT('',#4590);
++#4593=CARTESIAN_POINT('',(2.31325E1,1.E0,2.4E1));
++#4594=CARTESIAN_POINT('',(2.26175E1,1.E0,2.4E1));
++#4595=VERTEX_POINT('',#4593);
++#4596=VERTEX_POINT('',#4594);
++#4597=CARTESIAN_POINT('',(2.31325E1,1.5E0,2.4E1));
++#4598=CARTESIAN_POINT('',(2.26175E1,1.5E0,2.4E1));
++#4599=VERTEX_POINT('',#4597);
++#4600=VERTEX_POINT('',#4598);
++#4601=CARTESIAN_POINT('',(2.30675E1,1.E0,2.4E1));
++#4602=CARTESIAN_POINT('',(2.26825E1,1.E0,2.4E1));
++#4603=VERTEX_POINT('',#4601);
++#4604=VERTEX_POINT('',#4602);
++#4605=CARTESIAN_POINT('',(6.1925E0,0.E0,1.25E0));
++#4606=CARTESIAN_POINT('',(5.8075E0,0.E0,1.25E0));
++#4607=VERTEX_POINT('',#4605);
++#4608=VERTEX_POINT('',#4606);
++#4609=CARTESIAN_POINT('',(6.256E0,1.E0,1.25E0));
++#4610=CARTESIAN_POINT('',(5.744E0,1.E0,1.25E0));
++#4611=VERTEX_POINT('',#4609);
++#4612=VERTEX_POINT('',#4610);
++#4613=CARTESIAN_POINT('',(6.256E0,1.5E0,1.25E0));
++#4614=CARTESIAN_POINT('',(5.744E0,1.5E0,1.25E0));
++#4615=VERTEX_POINT('',#4613);
++#4616=VERTEX_POINT('',#4614);
++#4617=CARTESIAN_POINT('',(6.1925E0,1.E0,1.25E0));
++#4618=CARTESIAN_POINT('',(5.8075E0,1.E0,1.25E0));
++#4619=VERTEX_POINT('',#4617);
++#4620=VERTEX_POINT('',#4618);
++#4621=CARTESIAN_POINT('',(1.21925E1,0.E0,1.25E0));
++#4622=CARTESIAN_POINT('',(1.18075E1,0.E0,1.25E0));
++#4623=VERTEX_POINT('',#4621);
++#4624=VERTEX_POINT('',#4622);
++#4625=CARTESIAN_POINT('',(6.1925E0,0.E0,3.075E1));
++#4626=CARTESIAN_POINT('',(5.8075E0,0.E0,3.075E1));
++#4627=VERTEX_POINT('',#4625);
++#4628=VERTEX_POINT('',#4626);
++#4629=CARTESIAN_POINT('',(1.21925E1,0.E0,3.075E1));
++#4630=CARTESIAN_POINT('',(1.18075E1,0.E0,3.075E1));
++#4631=VERTEX_POINT('',#4629);
++#4632=VERTEX_POINT('',#4630);
++#4633=CARTESIAN_POINT('',(1.81925E1,0.E0,1.25E0));
++#4634=CARTESIAN_POINT('',(1.78075E1,0.E0,1.25E0));
++#4635=VERTEX_POINT('',#4633);
++#4636=VERTEX_POINT('',#4634);
++#4637=CARTESIAN_POINT('',(1.81925E1,0.E0,3.075E1));
++#4638=CARTESIAN_POINT('',(1.78075E1,0.E0,3.075E1));
++#4639=VERTEX_POINT('',#4637);
++#4640=VERTEX_POINT('',#4638);
++#4641=CARTESIAN_POINT('',(1.2256E1,1.E0,1.25E0));
++#4642=CARTESIAN_POINT('',(1.1744E1,1.E0,1.25E0));
++#4643=VERTEX_POINT('',#4641);
++#4644=VERTEX_POINT('',#4642);
++#4645=CARTESIAN_POINT('',(1.2256E1,1.5E0,1.25E0));
++#4646=CARTESIAN_POINT('',(1.1744E1,1.5E0,1.25E0));
++#4647=VERTEX_POINT('',#4645);
++#4648=VERTEX_POINT('',#4646);
++#4649=CARTESIAN_POINT('',(1.21925E1,1.E0,1.25E0));
++#4650=CARTESIAN_POINT('',(1.18075E1,1.E0,1.25E0));
++#4651=VERTEX_POINT('',#4649);
++#4652=VERTEX_POINT('',#4650);
++#4653=CARTESIAN_POINT('',(1.8256E1,1.E0,1.25E0));
++#4654=CARTESIAN_POINT('',(1.7744E1,1.E0,1.25E0));
++#4655=VERTEX_POINT('',#4653);
++#4656=VERTEX_POINT('',#4654);
++#4657=CARTESIAN_POINT('',(1.8256E1,1.5E0,1.25E0));
++#4658=CARTESIAN_POINT('',(1.7744E1,1.5E0,1.25E0));
++#4659=VERTEX_POINT('',#4657);
++#4660=VERTEX_POINT('',#4658);
++#4661=CARTESIAN_POINT('',(1.81925E1,1.E0,1.25E0));
++#4662=CARTESIAN_POINT('',(1.78075E1,1.E0,1.25E0));
++#4663=VERTEX_POINT('',#4661);
++#4664=VERTEX_POINT('',#4662);
++#4665=CARTESIAN_POINT('',(6.256E0,1.E0,3.075E1));
++#4666=CARTESIAN_POINT('',(5.744E0,1.E0,3.075E1));
++#4667=VERTEX_POINT('',#4665);
++#4668=VERTEX_POINT('',#4666);
++#4669=CARTESIAN_POINT('',(6.256E0,1.5E0,3.075E1));
++#4670=CARTESIAN_POINT('',(5.744E0,1.5E0,3.075E1));
++#4671=VERTEX_POINT('',#4669);
++#4672=VERTEX_POINT('',#4670);
++#4673=CARTESIAN_POINT('',(6.1925E0,1.E0,3.075E1));
++#4674=CARTESIAN_POINT('',(5.8075E0,1.E0,3.075E1));
++#4675=VERTEX_POINT('',#4673);
++#4676=VERTEX_POINT('',#4674);
++#4677=CARTESIAN_POINT('',(1.2256E1,1.E0,3.075E1));
++#4678=CARTESIAN_POINT('',(1.1744E1,1.E0,3.075E1));
++#4679=VERTEX_POINT('',#4677);
++#4680=VERTEX_POINT('',#4678);
++#4681=CARTESIAN_POINT('',(1.2256E1,1.5E0,3.075E1));
++#4682=CARTESIAN_POINT('',(1.1744E1,1.5E0,3.075E1));
++#4683=VERTEX_POINT('',#4681);
++#4684=VERTEX_POINT('',#4682);
++#4685=CARTESIAN_POINT('',(1.21925E1,1.E0,3.075E1));
++#4686=CARTESIAN_POINT('',(1.18075E1,1.E0,3.075E1));
++#4687=VERTEX_POINT('',#4685);
++#4688=VERTEX_POINT('',#4686);
++#4689=CARTESIAN_POINT('',(1.8256E1,1.E0,3.075E1));
++#4690=CARTESIAN_POINT('',(1.7744E1,1.E0,3.075E1));
++#4691=VERTEX_POINT('',#4689);
++#4692=VERTEX_POINT('',#4690);
++#4693=CARTESIAN_POINT('',(1.8256E1,1.5E0,3.075E1));
++#4694=CARTESIAN_POINT('',(1.7744E1,1.5E0,3.075E1));
++#4695=VERTEX_POINT('',#4693);
++#4696=VERTEX_POINT('',#4694);
++#4697=CARTESIAN_POINT('',(1.81925E1,1.E0,3.075E1));
++#4698=CARTESIAN_POINT('',(1.78075E1,1.E0,3.075E1));
++#4699=VERTEX_POINT('',#4697);
++#4700=VERTEX_POINT('',#4698);
++#4701=CARTESIAN_POINT('',(4.4125E0,1.05E1,8.E0));
++#4702=CARTESIAN_POINT('',(4.0875E0,1.05E1,8.E0));
++#4703=VERTEX_POINT('',#4701);
++#4704=VERTEX_POINT('',#4702);
++#4705=CARTESIAN_POINT('',(4.4125E0,1.05E1,1.E1));
++#4706=CARTESIAN_POINT('',(4.0875E0,1.05E1,1.E1));
++#4707=VERTEX_POINT('',#4705);
++#4708=VERTEX_POINT('',#4706);
++#4709=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.25E0));
++#4710=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.25E0));
++#4711=VERTEX_POINT('',#4709);
++#4712=VERTEX_POINT('',#4710);
++#4713=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.E0));
++#4714=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.E0));
++#4715=VERTEX_POINT('',#4713);
++#4716=VERTEX_POINT('',#4714);
++#4717=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.25E0));
++#4718=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.25E0));
++#4719=VERTEX_POINT('',#4717);
++#4720=VERTEX_POINT('',#4718);
++#4721=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.E0));
++#4722=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.E0));
++#4723=VERTEX_POINT('',#4721);
++#4724=VERTEX_POINT('',#4722);
++#4725=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.25E0));
++#4726=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.25E0));
++#4727=VERTEX_POINT('',#4725);
++#4728=VERTEX_POINT('',#4726);
++#4729=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.E0));
++#4730=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.E0));
++#4731=VERTEX_POINT('',#4729);
++#4732=VERTEX_POINT('',#4730);
++#4733=CARTESIAN_POINT('',(1.95875E1,1.05E1,8.E0));
++#4734=CARTESIAN_POINT('',(1.99125E1,1.05E1,8.E0));
++#4735=VERTEX_POINT('',#4733);
++#4736=VERTEX_POINT('',#4734);
++#4737=CARTESIAN_POINT('',(1.95875E1,1.05E1,1.E1));
++#4738=CARTESIAN_POINT('',(1.99125E1,1.05E1,1.E1));
++#4739=VERTEX_POINT('',#4737);
++#4740=VERTEX_POINT('',#4738);
++#4741=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.25E0));
++#4742=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.25E0));
++#4743=VERTEX_POINT('',#4741);
++#4744=VERTEX_POINT('',#4742);
++#4745=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.E0));
++#4746=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.E0));
++#4747=VERTEX_POINT('',#4745);
++#4748=VERTEX_POINT('',#4746);
++#4749=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.25E0));
++#4750=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.25E0));
++#4751=VERTEX_POINT('',#4749);
++#4752=VERTEX_POINT('',#4750);
++#4753=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.E0));
++#4754=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.E0));
++#4755=VERTEX_POINT('',#4753);
++#4756=VERTEX_POINT('',#4754);
++#4757=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.25E0));
++#4758=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.25E0));
++#4759=VERTEX_POINT('',#4757);
++#4760=VERTEX_POINT('',#4758);
++#4761=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.E0));
++#4762=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.E0));
++#4763=VERTEX_POINT('',#4761);
++#4764=VERTEX_POINT('',#4762);
++#4765=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
++#4766=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
++#4767=VERTEX_POINT('',#4765);
++#4768=VERTEX_POINT('',#4766);
++#4769=CARTESIAN_POINT('',(5.E0,1.5E0,1.1E1));
++#4770=CARTESIAN_POINT('',(5.E0,0.E0,1.1E1));
++#4771=VERTEX_POINT('',#4769);
++#4772=VERTEX_POINT('',#4770);
++#4773=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1));
++#4774=CARTESIAN_POINT('',(6.E0,0.E0,1.E1));
++#4775=VERTEX_POINT('',#4773);
++#4776=VERTEX_POINT('',#4774);
++#4777=CARTESIAN_POINT('',(1.9E1,0.E0,1.1E1));
++#4778=CARTESIAN_POINT('',(1.9E1,1.5E0,1.1E1));
++#4779=VERTEX_POINT('',#4777);
++#4780=VERTEX_POINT('',#4778);
++#4781=CARTESIAN_POINT('',(1.8E1,0.E0,1.E1));
++#4782=CARTESIAN_POINT('',(1.8E1,1.5E0,1.E1));
++#4783=VERTEX_POINT('',#4781);
++#4784=VERTEX_POINT('',#4782);
++#4785=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1));
++#4786=VERTEX_POINT('',#4785);
++#4787=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1));
++#4788=VERTEX_POINT('',#4787);
++#4789=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1));
++#4790=CARTESIAN_POINT('',(2.5E0,0.E0,2.19375E1));
++#4791=VERTEX_POINT('',#4789);
++#4792=VERTEX_POINT('',#4790);
++#4793=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1));
++#4794=CARTESIAN_POINT('',(5.5E0,0.E0,1.89375E1));
++#4795=VERTEX_POINT('',#4793);
++#4796=VERTEX_POINT('',#4794);
++#4797=CARTESIAN_POINT('',(2.15E1,0.E0,2.19375E1));
++#4798=CARTESIAN_POINT('',(2.15E1,1.5E0,2.19375E1));
++#4799=VERTEX_POINT('',#4797);
++#4800=VERTEX_POINT('',#4798);
++#4801=CARTESIAN_POINT('',(1.85E1,0.E0,1.89375E1));
++#4802=CARTESIAN_POINT('',(1.85E1,1.5E0,1.89375E1));
++#4803=VERTEX_POINT('',#4801);
++#4804=VERTEX_POINT('',#4802);
++#4805=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1));
++#4806=CARTESIAN_POINT('',(2.15E1,0.E0,1.40625E1));
++#4807=VERTEX_POINT('',#4805);
++#4808=VERTEX_POINT('',#4806);
++#4809=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1));
++#4810=CARTESIAN_POINT('',(1.85E1,0.E0,1.70625E1));
++#4811=VERTEX_POINT('',#4809);
++#4812=VERTEX_POINT('',#4810);
++#4813=CARTESIAN_POINT('',(2.5E0,0.E0,1.40625E1));
++#4814=CARTESIAN_POINT('',(2.5E0,1.5E0,1.40625E1));
++#4815=VERTEX_POINT('',#4813);
++#4816=VERTEX_POINT('',#4814);
++#4817=CARTESIAN_POINT('',(5.5E0,0.E0,1.70625E1));
++#4818=CARTESIAN_POINT('',(5.5E0,1.5E0,1.70625E1));
++#4819=VERTEX_POINT('',#4817);
++#4820=VERTEX_POINT('',#4818);
++#4821=CARTESIAN_POINT('',(6.1925E0,0.E0,9.E0));
++#4822=CARTESIAN_POINT('',(5.8075E0,0.E0,9.E0));
++#4823=VERTEX_POINT('',#4821);
++#4824=VERTEX_POINT('',#4822);
++#4825=CARTESIAN_POINT('',(6.2575E0,1.E0,9.E0));
++#4826=CARTESIAN_POINT('',(5.7425E0,1.E0,9.E0));
++#4827=VERTEX_POINT('',#4825);
++#4828=VERTEX_POINT('',#4826);
++#4829=CARTESIAN_POINT('',(6.2575E0,1.5E0,9.E0));
++#4830=CARTESIAN_POINT('',(5.7425E0,1.5E0,9.E0));
++#4831=VERTEX_POINT('',#4829);
++#4832=VERTEX_POINT('',#4830);
++#4833=CARTESIAN_POINT('',(6.1925E0,1.E0,9.E0));
++#4834=CARTESIAN_POINT('',(5.8075E0,1.E0,9.E0));
++#4835=VERTEX_POINT('',#4833);
++#4836=VERTEX_POINT('',#4834);
++#4837=CARTESIAN_POINT('',(1.21925E1,0.E0,9.E0));
++#4838=CARTESIAN_POINT('',(1.18075E1,0.E0,9.E0));
++#4839=VERTEX_POINT('',#4837);
++#4840=VERTEX_POINT('',#4838);
++#4841=CARTESIAN_POINT('',(1.81925E1,0.E0,9.E0));
++#4842=CARTESIAN_POINT('',(1.78075E1,0.E0,9.E0));
++#4843=VERTEX_POINT('',#4841);
++#4844=VERTEX_POINT('',#4842);
++#4845=CARTESIAN_POINT('',(6.1925E0,0.E0,1.8E1));
++#4846=CARTESIAN_POINT('',(5.8075E0,0.E0,1.8E1));
++#4847=VERTEX_POINT('',#4845);
++#4848=VERTEX_POINT('',#4846);
++#4849=CARTESIAN_POINT('',(1.21925E1,0.E0,1.8E1));
++#4850=CARTESIAN_POINT('',(1.18075E1,0.E0,1.8E1));
++#4851=VERTEX_POINT('',#4849);
++#4852=VERTEX_POINT('',#4850);
++#4853=CARTESIAN_POINT('',(1.81925E1,0.E0,1.8E1));
++#4854=CARTESIAN_POINT('',(1.78075E1,0.E0,1.8E1));
++#4855=VERTEX_POINT('',#4853);
++#4856=VERTEX_POINT('',#4854);
++#4857=CARTESIAN_POINT('',(1.22575E1,1.E0,9.E0));
++#4858=CARTESIAN_POINT('',(1.17425E1,1.E0,9.E0));
++#4859=VERTEX_POINT('',#4857);
++#4860=VERTEX_POINT('',#4858);
++#4861=CARTESIAN_POINT('',(1.22575E1,1.5E0,9.E0));
++#4862=CARTESIAN_POINT('',(1.17425E1,1.5E0,9.E0));
++#4863=VERTEX_POINT('',#4861);
++#4864=VERTEX_POINT('',#4862);
++#4865=CARTESIAN_POINT('',(1.21925E1,1.E0,9.E0));
++#4866=CARTESIAN_POINT('',(1.18075E1,1.E0,9.E0));
++#4867=VERTEX_POINT('',#4865);
++#4868=VERTEX_POINT('',#4866);
++#4869=CARTESIAN_POINT('',(1.82575E1,1.E0,9.E0));
++#4870=CARTESIAN_POINT('',(1.77425E1,1.E0,9.E0));
++#4871=VERTEX_POINT('',#4869);
++#4872=VERTEX_POINT('',#4870);
++#4873=CARTESIAN_POINT('',(1.82575E1,1.5E0,9.E0));
++#4874=CARTESIAN_POINT('',(1.77425E1,1.5E0,9.E0));
++#4875=VERTEX_POINT('',#4873);
++#4876=VERTEX_POINT('',#4874);
++#4877=CARTESIAN_POINT('',(1.81925E1,1.E0,9.E0));
++#4878=CARTESIAN_POINT('',(1.78075E1,1.E0,9.E0));
++#4879=VERTEX_POINT('',#4877);
++#4880=VERTEX_POINT('',#4878);
++#4881=CARTESIAN_POINT('',(6.2575E0,1.E0,1.8E1));
++#4882=CARTESIAN_POINT('',(5.7425E0,1.E0,1.8E1));
++#4883=VERTEX_POINT('',#4881);
++#4884=VERTEX_POINT('',#4882);
++#4885=CARTESIAN_POINT('',(6.2575E0,1.5E0,1.8E1));
++#4886=CARTESIAN_POINT('',(5.7425E0,1.5E0,1.8E1));
++#4887=VERTEX_POINT('',#4885);
++#4888=VERTEX_POINT('',#4886);
++#4889=CARTESIAN_POINT('',(6.1925E0,1.E0,1.8E1));
++#4890=CARTESIAN_POINT('',(5.8075E0,1.E0,1.8E1));
++#4891=VERTEX_POINT('',#4889);
++#4892=VERTEX_POINT('',#4890);
++#4893=CARTESIAN_POINT('',(1.22575E1,1.E0,1.8E1));
++#4894=CARTESIAN_POINT('',(1.17425E1,1.E0,1.8E1));
++#4895=VERTEX_POINT('',#4893);
++#4896=VERTEX_POINT('',#4894);
++#4897=CARTESIAN_POINT('',(1.22575E1,1.5E0,1.8E1));
++#4898=CARTESIAN_POINT('',(1.17425E1,1.5E0,1.8E1));
++#4899=VERTEX_POINT('',#4897);
++#4900=VERTEX_POINT('',#4898);
++#4901=CARTESIAN_POINT('',(1.21925E1,1.E0,1.8E1));
++#4902=CARTESIAN_POINT('',(1.18075E1,1.E0,1.8E1));
++#4903=VERTEX_POINT('',#4901);
++#4904=VERTEX_POINT('',#4902);
++#4905=CARTESIAN_POINT('',(1.82575E1,1.E0,1.8E1));
++#4906=CARTESIAN_POINT('',(1.77425E1,1.E0,1.8E1));
++#4907=VERTEX_POINT('',#4905);
++#4908=VERTEX_POINT('',#4906);
++#4909=CARTESIAN_POINT('',(1.82575E1,1.5E0,1.8E1));
++#4910=CARTESIAN_POINT('',(1.77425E1,1.5E0,1.8E1));
++#4911=VERTEX_POINT('',#4909);
++#4912=VERTEX_POINT('',#4910);
++#4913=CARTESIAN_POINT('',(1.81925E1,1.E0,1.8E1));
++#4914=CARTESIAN_POINT('',(1.78075E1,1.E0,1.8E1));
++#4915=VERTEX_POINT('',#4913);
++#4916=VERTEX_POINT('',#4914);
++#4917=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1));
++#4918=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.E1));
++#4919=VERTEX_POINT('',#4917);
++#4920=VERTEX_POINT('',#4918);
++#4921=CARTESIAN_POINT('',(2.E0,1.5E0,1.288675134595E1));
++#4922=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1));
++#4923=VERTEX_POINT('',#4921);
++#4924=VERTEX_POINT('',#4922);
++#4925=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1));
++#4926=VERTEX_POINT('',#4925);
++#4927=CARTESIAN_POINT('',(2.E0,6.5E0,1.E1));
++#4928=VERTEX_POINT('',#4927);
++#4929=VERTEX_POINT('',#1837);
++#4930=VERTEX_POINT('',#1845);
++#4931=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1));
++#4932=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1));
++#4933=VERTEX_POINT('',#4931);
++#4934=VERTEX_POINT('',#4932);
++#4935=CARTESIAN_POINT('',(2.2E1,1.5E0,1.288675134595E1));
++#4936=CARTESIAN_POINT('',(2.2E1,1.5E0,1.E1));
++#4937=VERTEX_POINT('',#4935);
++#4938=VERTEX_POINT('',#4936);
++#4939=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1));
++#4940=VERTEX_POINT('',#4939);
++#4941=CARTESIAN_POINT('',(2.2E1,6.5E0,1.E1));
++#4942=VERTEX_POINT('',#4941);
++#4943=VERTEX_POINT('',#2873);
++#4944=VERTEX_POINT('',#2881);
++#4945=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0));
++#4946=CARTESIAN_POINT('',(3.75E0,2.E0,8.5E0));
++#4947=VERTEX_POINT('',#4945);
++#4948=VERTEX_POINT('',#4946);
++#4949=CARTESIAN_POINT('',(4.5E0,2.75E0,8.E0));
++#4950=CARTESIAN_POINT('',(4.5E0,2.75E0,8.5E0));
++#4951=VERTEX_POINT('',#4949);
++#4952=VERTEX_POINT('',#4950);
++#4953=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0));
++#4954=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.5E0));
++#4955=VERTEX_POINT('',#4953);
++#4956=VERTEX_POINT('',#4954);
++#4957=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.E0));
++#4958=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.5E0));
++#4959=VERTEX_POINT('',#4957);
++#4960=VERTEX_POINT('',#4958);
++#4961=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0));
++#4962=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.5E0));
++#4963=VERTEX_POINT('',#4961);
++#4964=VERTEX_POINT('',#4962);
++#4965=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.E0));
++#4966=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.5E0));
++#4967=VERTEX_POINT('',#4965);
++#4968=VERTEX_POINT('',#4966);
++#4969=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0));
++#4970=CARTESIAN_POINT('',(4.5E0,8.75E0,8.5E0));
++#4971=VERTEX_POINT('',#4969);
++#4972=VERTEX_POINT('',#4970);
++#4973=CARTESIAN_POINT('',(3.75E0,9.5E0,8.E0));
++#4974=CARTESIAN_POINT('',(3.75E0,9.5E0,8.5E0));
++#4975=VERTEX_POINT('',#4973);
++#4976=VERTEX_POINT('',#4974);
++#4977=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1));
++#4978=CARTESIAN_POINT('',(2.85E0,2.E0,9.5E0));
++#4979=VERTEX_POINT('',#4977);
++#4980=VERTEX_POINT('',#4978);
++#4981=CARTESIAN_POINT('',(2.5E0,2.35E0,1.E1));
++#4982=CARTESIAN_POINT('',(2.5E0,2.35E0,9.5E0));
++#4983=VERTEX_POINT('',#4981);
++#4984=VERTEX_POINT('',#4982);
++#4985=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1));
++#4986=CARTESIAN_POINT('',(4.5E0,2.35E0,9.5E0));
++#4987=VERTEX_POINT('',#4985);
++#4988=VERTEX_POINT('',#4986);
++#4989=CARTESIAN_POINT('',(4.15E0,2.E0,1.E1));
++#4990=CARTESIAN_POINT('',(4.15E0,2.E0,9.5E0));
++#4991=VERTEX_POINT('',#4989);
++#4992=VERTEX_POINT('',#4990);
++#4993=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1));
++#4994=CARTESIAN_POINT('',(1.952799239454E0,7.E0,9.5E0));
++#4995=VERTEX_POINT('',#4993);
++#4996=VERTEX_POINT('',#4994);
++#4997=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,1.E1));
++#4998=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,9.5E0));
++#4999=VERTEX_POINT('',#4997);
++#5000=VERTEX_POINT('',#4998);
++#5001=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1));
++#5002=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,9.5E0));
++#5003=VERTEX_POINT('',#5001);
++#5004=VERTEX_POINT('',#5002);
++#5005=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,1.E1));
++#5006=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,9.5E0));
++#5007=VERTEX_POINT('',#5005);
++#5008=VERTEX_POINT('',#5006);
++#5009=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1));
++#5010=CARTESIAN_POINT('',(4.15E0,9.5E0,9.5E0));
++#5011=VERTEX_POINT('',#5009);
++#5012=VERTEX_POINT('',#5010);
++#5013=CARTESIAN_POINT('',(4.5E0,9.15E0,1.E1));
++#5014=CARTESIAN_POINT('',(4.5E0,9.15E0,9.5E0));
++#5015=VERTEX_POINT('',#5013);
++#5016=VERTEX_POINT('',#5014);
++#5017=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0));
++#5018=CARTESIAN_POINT('',(2.5E0,6.65E0,1.E1));
++#5019=VERTEX_POINT('',#5017);
++#5020=VERTEX_POINT('',#5018);
++#5021=CARTESIAN_POINT('',(2.15E0,7.E0,1.E1));
++#5022=VERTEX_POINT('',#5021);
++#5023=CARTESIAN_POINT('',(2.15E0,7.E0,9.5E0));
++#5024=VERTEX_POINT('',#5023);
++#5025=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0));
++#5026=CARTESIAN_POINT('',(2.025E1,2.E0,8.E0));
++#5027=VERTEX_POINT('',#5025);
++#5028=VERTEX_POINT('',#5026);
++#5029=CARTESIAN_POINT('',(1.95E1,2.75E0,8.5E0));
++#5030=VERTEX_POINT('',#5029);
++#5031=CARTESIAN_POINT('',(1.95E1,2.75E0,8.E0));
++#5032=VERTEX_POINT('',#5031);
++#5033=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0));
++#5034=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.E0));
++#5035=VERTEX_POINT('',#5033);
++#5036=VERTEX_POINT('',#5034);
++#5037=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.5E0));
++#5038=VERTEX_POINT('',#5037);
++#5039=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.E0));
++#5040=VERTEX_POINT('',#5039);
++#5041=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0));
++#5042=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.E0));
++#5043=VERTEX_POINT('',#5041);
++#5044=VERTEX_POINT('',#5042);
++#5045=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.5E0));
++#5046=VERTEX_POINT('',#5045);
++#5047=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.E0));
++#5048=VERTEX_POINT('',#5047);
++#5049=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0));
++#5050=CARTESIAN_POINT('',(1.95E1,8.75E0,8.E0));
++#5051=VERTEX_POINT('',#5049);
++#5052=VERTEX_POINT('',#5050);
++#5053=CARTESIAN_POINT('',(2.025E1,9.5E0,8.5E0));
++#5054=VERTEX_POINT('',#5053);
++#5055=CARTESIAN_POINT('',(2.025E1,9.5E0,8.E0));
++#5056=VERTEX_POINT('',#5055);
++#5057=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0));
++#5058=CARTESIAN_POINT('',(2.115E1,2.E0,1.E1));
++#5059=VERTEX_POINT('',#5057);
++#5060=VERTEX_POINT('',#5058);
++#5061=CARTESIAN_POINT('',(2.15E1,2.35E0,9.5E0));
++#5062=VERTEX_POINT('',#5061);
++#5063=CARTESIAN_POINT('',(2.15E1,2.35E0,1.E1));
++#5064=VERTEX_POINT('',#5063);
++#5065=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0));
++#5066=CARTESIAN_POINT('',(1.95E1,2.35E0,1.E1));
++#5067=VERTEX_POINT('',#5065);
++#5068=VERTEX_POINT('',#5066);
++#5069=CARTESIAN_POINT('',(1.985E1,2.E0,9.5E0));
++#5070=VERTEX_POINT('',#5069);
++#5071=CARTESIAN_POINT('',(1.985E1,2.E0,1.E1));
++#5072=VERTEX_POINT('',#5071);
++#5073=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0));
++#5074=CARTESIAN_POINT('',(2.204720076055E1,7.E0,1.E1));
++#5075=VERTEX_POINT('',#5073);
++#5076=VERTEX_POINT('',#5074);
++#5077=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,9.5E0));
++#5078=VERTEX_POINT('',#5077);
++#5079=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,1.E1));
++#5080=VERTEX_POINT('',#5079);
++#5081=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0));
++#5082=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,1.E1));
++#5083=VERTEX_POINT('',#5081);
++#5084=VERTEX_POINT('',#5082);
++#5085=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,9.5E0));
++#5086=VERTEX_POINT('',#5085);
++#5087=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,1.E1));
++#5088=VERTEX_POINT('',#5087);
++#5089=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0));
++#5090=CARTESIAN_POINT('',(1.985E1,9.5E0,1.E1));
++#5091=VERTEX_POINT('',#5089);
++#5092=VERTEX_POINT('',#5090);
++#5093=CARTESIAN_POINT('',(1.95E1,9.15E0,9.5E0));
++#5094=VERTEX_POINT('',#5093);
++#5095=CARTESIAN_POINT('',(1.95E1,9.15E0,1.E1));
++#5096=VERTEX_POINT('',#5095);
++#5097=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1));
++#5098=CARTESIAN_POINT('',(2.15E1,6.65E0,9.5E0));
++#5099=VERTEX_POINT('',#5097);
++#5100=VERTEX_POINT('',#5098);
++#5101=CARTESIAN_POINT('',(2.185E1,7.E0,1.E1));
++#5102=CARTESIAN_POINT('',(2.185E1,7.E0,9.5E0));
++#5103=VERTEX_POINT('',#5101);
++#5104=VERTEX_POINT('',#5102);
++#5105=CARTESIAN_POINT('',(7.5E0,6.875E-1,6.875E-1));
++#5106=CARTESIAN_POINT('',(1.05E1,6.875E-1,6.875E-1));
++#5107=VERTEX_POINT('',#5105);
++#5108=VERTEX_POINT('',#5106);
++#5109=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8125E0));
++#5110=VERTEX_POINT('',#5109);
++#5111=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.8125E0));
++#5112=VERTEX_POINT('',#5111);
++#5113=CARTESIAN_POINT('',(3.939978538987E0,6.875E-1,1.032293285145E0));
++#5114=CARTESIAN_POINT('',(4.942849714544E0,6.875E-1,2.419779663480E0));
++#5115=VERTEX_POINT('',#5113);
++#5116=VERTEX_POINT('',#5114);
++#5117=CARTESIAN_POINT('',(2.432015885023E0,6.875E-1,4.918683812405E0));
++#5118=VERTEX_POINT('',#5117);
++#5119=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1));
++#5120=CARTESIAN_POINT('',(1.05E1,0.E0,6.875E-1));
++#5121=VERTEX_POINT('',#5119);
++#5122=VERTEX_POINT('',#5120);
++#5123=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0));
++#5124=VERTEX_POINT('',#5123);
++#5125=CARTESIAN_POINT('',(7.5E0,0.E0,1.8125E0));
++#5126=VERTEX_POINT('',#5125);
++#5127=CARTESIAN_POINT('',(3.939978538987E0,0.E0,1.032293285145E0));
++#5128=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.419779663480E0));
++#5129=VERTEX_POINT('',#5127);
++#5130=VERTEX_POINT('',#5128);
++#5131=CARTESIAN_POINT('',(2.432015885023E0,0.E0,4.918683812405E0));
++#5132=VERTEX_POINT('',#5131);
++#5133=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0));
++#5134=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,4.046865146430E0));
++#5135=VERTEX_POINT('',#5133);
++#5136=VERTEX_POINT('',#5134);
++#5137=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,4.912826677187E0));
++#5138=CARTESIAN_POINT('',(7.850270400779E-1,6.875E-1,4.912826677187E0));
++#5139=VERTEX_POINT('',#5137);
++#5140=VERTEX_POINT('',#5138);
++#5141=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.5E0));
++#5142=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.5E0));
++#5143=VERTEX_POINT('',#5141);
++#5144=VERTEX_POINT('',#5142);
++#5145=CARTESIAN_POINT('',(6.9E-1,0.E0,7.5E0));
++#5146=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0));
++#5147=VERTEX_POINT('',#5145);
++#5148=VERTEX_POINT('',#5146);
++#5149=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1));
++#5150=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,1.0375E1));
++#5151=VERTEX_POINT('',#5149);
++#5152=VERTEX_POINT('',#5150);
++#5153=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.125E1));
++#5154=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,1.125E1));
++#5155=VERTEX_POINT('',#5153);
++#5156=VERTEX_POINT('',#5154);
++#5157=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0));
++#5158=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,8.69E0));
++#5159=VERTEX_POINT('',#5157);
++#5160=VERTEX_POINT('',#5158);
++#5161=CARTESIAN_POINT('',(-1.3125E0,0.E0,9.565E0));
++#5162=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,9.565E0));
++#5163=VERTEX_POINT('',#5161);
++#5164=VERTEX_POINT('',#5162);
++#5165=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0));
++#5166=CARTESIAN_POINT('',(4.3125E0,6.875E-1,9.565E0));
++#5167=VERTEX_POINT('',#5165);
++#5168=VERTEX_POINT('',#5166);
++#5169=CARTESIAN_POINT('',(3.4375E0,0.E0,8.69E0));
++#5170=CARTESIAN_POINT('',(3.4375E0,6.875E-1,8.69E0));
++#5171=VERTEX_POINT('',#5169);
++#5172=VERTEX_POINT('',#5170);
++#5173=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1));
++#5174=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.125E1));
++#5175=VERTEX_POINT('',#5173);
++#5176=VERTEX_POINT('',#5174);
++#5177=CARTESIAN_POINT('',(4.3125E0,0.E0,1.0375E1));
++#5178=CARTESIAN_POINT('',(4.3125E0,6.875E-1,1.0375E1));
++#5179=VERTEX_POINT('',#5177);
++#5180=VERTEX_POINT('',#5178);
++#5181=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0));
++#5182=CARTESIAN_POINT('',(6.9E-1,0.E0,7.815E0));
++#5183=VERTEX_POINT('',#5181);
++#5184=VERTEX_POINT('',#5182);
++#5185=CARTESIAN_POINT('',(-1.85E-1,0.E0,8.69E0));
++#5186=VERTEX_POINT('',#5185);
++#5187=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,8.69E0));
++#5188=VERTEX_POINT('',#5187);
++#5189=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0));
++#5190=CARTESIAN_POINT('',(2.6875E0,0.E0,8.69E0));
++#5191=VERTEX_POINT('',#5189);
++#5192=VERTEX_POINT('',#5190);
++#5193=CARTESIAN_POINT('',(1.8125E0,0.E0,7.815E0));
++#5194=VERTEX_POINT('',#5193);
++#5195=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.815E0));
++#5196=VERTEX_POINT('',#5195);
++#5197=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.65E1));
++#5198=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.35E1));
++#5199=VERTEX_POINT('',#5197);
++#5200=VERTEX_POINT('',#5198);
++#5201=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.35E1));
++#5202=VERTEX_POINT('',#5201);
++#5203=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.65E1));
++#5204=VERTEX_POINT('',#5203);
++#5205=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1));
++#5206=CARTESIAN_POINT('',(6.875E-1,0.E0,1.35E1));
++#5207=VERTEX_POINT('',#5205);
++#5208=VERTEX_POINT('',#5206);
++#5209=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1));
++#5210=VERTEX_POINT('',#5209);
++#5211=CARTESIAN_POINT('',(1.8125E0,0.E0,1.65E1));
++#5212=VERTEX_POINT('',#5211);
++#5213=CARTESIAN_POINT('',(6.875E-1,6.875E-1,2.25E1));
++#5214=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.95E1));
++#5215=VERTEX_POINT('',#5213);
++#5216=VERTEX_POINT('',#5214);
++#5217=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.95E1));
++#5218=VERTEX_POINT('',#5217);
++#5219=CARTESIAN_POINT('',(1.8125E0,6.875E-1,2.25E1));
++#5220=VERTEX_POINT('',#5219);
++#5221=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1));
++#5222=CARTESIAN_POINT('',(6.875E-1,0.E0,1.95E1));
++#5223=VERTEX_POINT('',#5221);
++#5224=VERTEX_POINT('',#5222);
++#5225=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1));
++#5226=VERTEX_POINT('',#5225);
++#5227=CARTESIAN_POINT('',(1.8125E0,0.E0,2.25E1));
++#5228=VERTEX_POINT('',#5227);
++#5229=CARTESIAN_POINT('',(7.5E0,6.875E-1,8.5E0));
++#5230=CARTESIAN_POINT('',(1.05E1,6.875E-1,8.5E0));
++#5231=VERTEX_POINT('',#5229);
++#5232=VERTEX_POINT('',#5230);
++#5233=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.5E0));
++#5234=VERTEX_POINT('',#5233);
++#5235=CARTESIAN_POINT('',(7.5E0,6.875E-1,9.5E0));
++#5236=VERTEX_POINT('',#5235);
++#5237=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0));
++#5238=CARTESIAN_POINT('',(1.05E1,0.E0,8.5E0));
++#5239=VERTEX_POINT('',#5237);
++#5240=VERTEX_POINT('',#5238);
++#5241=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0));
++#5242=VERTEX_POINT('',#5241);
++#5243=CARTESIAN_POINT('',(7.5E0,0.E0,9.5E0));
++#5244=VERTEX_POINT('',#5243);
++#5245=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.75625E1));
++#5246=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.75625E1));
++#5247=VERTEX_POINT('',#5245);
++#5248=VERTEX_POINT('',#5246);
++#5249=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.84375E1));
++#5250=VERTEX_POINT('',#5249);
++#5251=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.84375E1));
++#5252=VERTEX_POINT('',#5251);
++#5253=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1));
++#5254=CARTESIAN_POINT('',(1.05E1,0.E0,1.75625E1));
++#5255=VERTEX_POINT('',#5253);
++#5256=VERTEX_POINT('',#5254);
++#5257=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1));
++#5258=VERTEX_POINT('',#5257);
++#5259=CARTESIAN_POINT('',(7.5E0,0.E0,1.84375E1));
++#5260=VERTEX_POINT('',#5259);
++#5261=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.13125E1));
++#5262=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.13125E1));
++#5263=VERTEX_POINT('',#5261);
++#5264=VERTEX_POINT('',#5262);
++#5265=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.01875E1));
++#5266=VERTEX_POINT('',#5265);
++#5267=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.01875E1));
++#5268=VERTEX_POINT('',#5267);
++#5269=CARTESIAN_POINT('',(3.939978538987E0,6.875E-1,3.096770671486E1));
++#5270=CARTESIAN_POINT('',(4.942849714544E0,6.875E-1,2.958022033652E1));
++#5271=VERTEX_POINT('',#5269);
++#5272=VERTEX_POINT('',#5270);
++#5273=CARTESIAN_POINT('',(2.432015885023E0,6.875E-1,2.708131618759E1));
++#5274=VERTEX_POINT('',#5273);
++#5275=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1));
++#5276=CARTESIAN_POINT('',(1.05E1,0.E0,3.13125E1));
++#5277=VERTEX_POINT('',#5275);
++#5278=VERTEX_POINT('',#5276);
++#5279=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1));
++#5280=VERTEX_POINT('',#5279);
++#5281=CARTESIAN_POINT('',(7.5E0,0.E0,3.01875E1));
++#5282=VERTEX_POINT('',#5281);
++#5283=CARTESIAN_POINT('',(3.939978538987E0,0.E0,3.096770671486E1));
++#5284=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.958022033652E1));
++#5285=VERTEX_POINT('',#5283);
++#5286=VERTEX_POINT('',#5284);
++#5287=CARTESIAN_POINT('',(2.432015885023E0,0.E0,2.708131618759E1));
++#5288=VERTEX_POINT('',#5287);
++#5289=CARTESIAN_POINT('',(1.65E1,6.875E-1,6.875E-1));
++#5290=CARTESIAN_POINT('',(1.35E1,6.875E-1,6.875E-1));
++#5291=VERTEX_POINT('',#5289);
++#5292=VERTEX_POINT('',#5290);
++#5293=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8125E0));
++#5294=VERTEX_POINT('',#5293);
++#5295=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.8125E0));
++#5296=VERTEX_POINT('',#5295);
++#5297=CARTESIAN_POINT('',(2.006002146101E1,6.875E-1,1.032293285145E0));
++#5298=CARTESIAN_POINT('',(1.905715028546E1,6.875E-1,2.419779663480E0));
++#5299=VERTEX_POINT('',#5297);
++#5300=VERTEX_POINT('',#5298);
++#5301=CARTESIAN_POINT('',(2.156798411498E1,6.875E-1,4.918683812405E0));
++#5302=VERTEX_POINT('',#5301);
++#5303=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1));
++#5304=CARTESIAN_POINT('',(1.35E1,0.E0,6.875E-1));
++#5305=VERTEX_POINT('',#5303);
++#5306=VERTEX_POINT('',#5304);
++#5307=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0));
++#5308=VERTEX_POINT('',#5307);
++#5309=CARTESIAN_POINT('',(1.65E1,0.E0,1.8125E0));
++#5310=VERTEX_POINT('',#5309);
++#5311=CARTESIAN_POINT('',(2.006002146101E1,0.E0,1.032293285145E0));
++#5312=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.419779663480E0));
++#5313=VERTEX_POINT('',#5311);
++#5314=VERTEX_POINT('',#5312);
++#5315=CARTESIAN_POINT('',(2.156798411498E1,0.E0,4.918683812405E0));
++#5316=VERTEX_POINT('',#5315);
++#5317=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.5E0));
++#5318=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.5E0));
++#5319=VERTEX_POINT('',#5317);
++#5320=VERTEX_POINT('',#5318);
++#5321=CARTESIAN_POINT('',(2.331E1,0.E0,7.5E0));
++#5322=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0));
++#5323=VERTEX_POINT('',#5321);
++#5324=VERTEX_POINT('',#5322);
++#5325=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.65E1));
++#5326=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.35E1));
++#5327=VERTEX_POINT('',#5325);
++#5328=VERTEX_POINT('',#5326);
++#5329=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.35E1));
++#5330=VERTEX_POINT('',#5329);
++#5331=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.65E1));
++#5332=VERTEX_POINT('',#5331);
++#5333=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1));
++#5334=CARTESIAN_POINT('',(2.33125E1,0.E0,1.35E1));
++#5335=VERTEX_POINT('',#5333);
++#5336=VERTEX_POINT('',#5334);
++#5337=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1));
++#5338=VERTEX_POINT('',#5337);
++#5339=CARTESIAN_POINT('',(2.21875E1,0.E0,1.65E1));
++#5340=VERTEX_POINT('',#5339);
++#5341=CARTESIAN_POINT('',(2.33125E1,6.875E-1,2.25E1));
++#5342=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.95E1));
++#5343=VERTEX_POINT('',#5341);
++#5344=VERTEX_POINT('',#5342);
++#5345=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.95E1));
++#5346=VERTEX_POINT('',#5345);
++#5347=CARTESIAN_POINT('',(2.21875E1,6.875E-1,2.25E1));
++#5348=VERTEX_POINT('',#5347);
++#5349=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1));
++#5350=CARTESIAN_POINT('',(2.33125E1,0.E0,1.95E1));
++#5351=VERTEX_POINT('',#5349);
++#5352=VERTEX_POINT('',#5350);
++#5353=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1));
++#5354=VERTEX_POINT('',#5353);
++#5355=CARTESIAN_POINT('',(2.21875E1,0.E0,2.25E1));
++#5356=VERTEX_POINT('',#5355);
++#5357=CARTESIAN_POINT('',(1.65E1,6.875E-1,8.5E0));
++#5358=CARTESIAN_POINT('',(1.35E1,6.875E-1,8.5E0));
++#5359=VERTEX_POINT('',#5357);
++#5360=VERTEX_POINT('',#5358);
++#5361=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.5E0));
++#5362=VERTEX_POINT('',#5361);
++#5363=CARTESIAN_POINT('',(1.65E1,6.875E-1,9.5E0));
++#5364=VERTEX_POINT('',#5363);
++#5365=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0));
++#5366=CARTESIAN_POINT('',(1.35E1,0.E0,8.5E0));
++#5367=VERTEX_POINT('',#5365);
++#5368=VERTEX_POINT('',#5366);
++#5369=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0));
++#5370=VERTEX_POINT('',#5369);
++#5371=CARTESIAN_POINT('',(1.65E1,0.E0,9.5E0));
++#5372=VERTEX_POINT('',#5371);
++#5373=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.75625E1));
++#5374=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.75625E1));
++#5375=VERTEX_POINT('',#5373);
++#5376=VERTEX_POINT('',#5374);
++#5377=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.84375E1));
++#5378=VERTEX_POINT('',#5377);
++#5379=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.84375E1));
++#5380=VERTEX_POINT('',#5379);
++#5381=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1));
++#5382=CARTESIAN_POINT('',(1.35E1,0.E0,1.75625E1));
++#5383=VERTEX_POINT('',#5381);
++#5384=VERTEX_POINT('',#5382);
++#5385=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1));
++#5386=VERTEX_POINT('',#5385);
++#5387=CARTESIAN_POINT('',(1.65E1,0.E0,1.84375E1));
++#5388=VERTEX_POINT('',#5387);
++#5389=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.13125E1));
++#5390=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.13125E1));
++#5391=VERTEX_POINT('',#5389);
++#5392=VERTEX_POINT('',#5390);
++#5393=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.01875E1));
++#5394=VERTEX_POINT('',#5393);
++#5395=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.01875E1));
++#5396=VERTEX_POINT('',#5395);
++#5397=CARTESIAN_POINT('',(2.006002146101E1,6.875E-1,3.096770671486E1));
++#5398=CARTESIAN_POINT('',(1.905715028546E1,6.875E-1,2.958022033652E1));
++#5399=VERTEX_POINT('',#5397);
++#5400=VERTEX_POINT('',#5398);
++#5401=CARTESIAN_POINT('',(2.156798411498E1,6.875E-1,2.708131618759E1));
++#5402=VERTEX_POINT('',#5401);
++#5403=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1));
++#5404=CARTESIAN_POINT('',(1.35E1,0.E0,3.13125E1));
++#5405=VERTEX_POINT('',#5403);
++#5406=VERTEX_POINT('',#5404);
++#5407=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1));
++#5408=VERTEX_POINT('',#5407);
++#5409=CARTESIAN_POINT('',(1.65E1,0.E0,3.01875E1));
++#5410=VERTEX_POINT('',#5409);
++#5411=CARTESIAN_POINT('',(2.006002146101E1,0.E0,3.096770671486E1));
++#5412=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.958022033652E1));
++#5413=VERTEX_POINT('',#5411);
++#5414=VERTEX_POINT('',#5412);
++#5415=CARTESIAN_POINT('',(2.156798411498E1,0.E0,2.708131618759E1));
++#5416=VERTEX_POINT('',#5415);
++#5417=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0));
++#5418=CARTESIAN_POINT('',(1.96875E1,0.E0,9.57E0));
++#5419=VERTEX_POINT('',#5417);
++#5420=VERTEX_POINT('',#5418);
++#5421=CARTESIAN_POINT('',(2.05675E1,6.875E-1,8.69E0));
++#5422=VERTEX_POINT('',#5421);
++#5423=CARTESIAN_POINT('',(2.05675E1,0.E0,8.69E0));
++#5424=VERTEX_POINT('',#5423);
++#5425=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1));
++#5426=CARTESIAN_POINT('',(2.05675E1,0.E0,1.125E1));
++#5427=VERTEX_POINT('',#5425);
++#5428=VERTEX_POINT('',#5426);
++#5429=CARTESIAN_POINT('',(1.96875E1,6.875E-1,1.037E1));
++#5430=VERTEX_POINT('',#5429);
++#5431=CARTESIAN_POINT('',(1.96875E1,0.E0,1.037E1));
++#5432=VERTEX_POINT('',#5431);
++#5433=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0));
++#5434=CARTESIAN_POINT('',(2.44325E1,0.E0,8.69E0));
++#5435=VERTEX_POINT('',#5433);
++#5436=VERTEX_POINT('',#5434);
++#5437=CARTESIAN_POINT('',(2.53125E1,6.875E-1,9.57E0));
++#5438=VERTEX_POINT('',#5437);
++#5439=CARTESIAN_POINT('',(2.53125E1,0.E0,9.57E0));
++#5440=VERTEX_POINT('',#5439);
++#5441=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1));
++#5442=CARTESIAN_POINT('',(2.53125E1,0.E0,1.037E1));
++#5443=VERTEX_POINT('',#5441);
++#5444=VERTEX_POINT('',#5442);
++#5445=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.125E1));
++#5446=VERTEX_POINT('',#5445);
++#5447=CARTESIAN_POINT('',(2.44325E1,0.E0,1.125E1));
++#5448=VERTEX_POINT('',#5447);
++#5449=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0));
++#5450=CARTESIAN_POINT('',(2.13075E1,6.875E-1,8.69E0));
++#5451=VERTEX_POINT('',#5449);
++#5452=VERTEX_POINT('',#5450);
++#5453=CARTESIAN_POINT('',(2.21875E1,0.E0,7.81E0));
++#5454=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.81E0));
++#5455=VERTEX_POINT('',#5453);
++#5456=VERTEX_POINT('',#5454);
++#5457=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0));
++#5458=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.81E0));
++#5459=VERTEX_POINT('',#5457);
++#5460=VERTEX_POINT('',#5458);
++#5461=CARTESIAN_POINT('',(2.419E1,0.E0,8.69E0));
++#5462=CARTESIAN_POINT('',(2.419E1,6.875E-1,8.69E0));
++#5463=VERTEX_POINT('',#5461);
++#5464=VERTEX_POINT('',#5462);
++#5465=CARTESIAN_POINT('',(2.321497295992E1,0.E0,4.912826677187E0));
++#5466=CARTESIAN_POINT('',(2.321497295992E1,6.875E-1,4.912826677187E0));
++#5467=VERTEX_POINT('',#5465);
++#5468=VERTEX_POINT('',#5466);
++#5469=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0));
++#5470=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,4.046865146430E0));
++#5471=VERTEX_POINT('',#5469);
++#5472=VERTEX_POINT('',#5470);
++#5473=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,2.708717332281E1));
++#5474=CARTESIAN_POINT('',(7.850270400779E-1,6.875E-1,2.708717332281E1));
++#5475=VERTEX_POINT('',#5473);
++#5476=VERTEX_POINT('',#5474);
++#5477=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1));
++#5478=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,2.795313485357E1));
++#5479=VERTEX_POINT('',#5477);
++#5480=VERTEX_POINT('',#5478);
++#5481=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1));
++#5482=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,2.795313485357E1));
++#5483=VERTEX_POINT('',#5481);
++#5484=VERTEX_POINT('',#5482);
++#5485=CARTESIAN_POINT('',(2.321497295992E1,0.E0,2.708717332281E1));
++#5486=CARTESIAN_POINT('',(2.321497295992E1,6.875E-1,2.708717332281E1));
++#5487=VERTEX_POINT('',#5485);
++#5488=VERTEX_POINT('',#5486);
++#5489=CARTESIAN_POINT('',(0.E0,0.E0,0.E0));
++#5490=DIRECTION('',(0.E0,1.E0,0.E0));
++#5491=DIRECTION('',(1.E0,0.E0,0.E0));
++#5492=AXIS2_PLACEMENT_3D('',#5489,#5490,#5491);
++#5493=PLANE('',#5492);
++#5495=ORIENTED_EDGE('',*,*,#5494,.F.);
++#5497=ORIENTED_EDGE('',*,*,#5496,.F.);
++#5499=ORIENTED_EDGE('',*,*,#5498,.T.);
++#5501=ORIENTED_EDGE('',*,*,#5500,.F.);
++#5503=ORIENTED_EDGE('',*,*,#5502,.T.);
++#5505=ORIENTED_EDGE('',*,*,#5504,.F.);
++#5507=ORIENTED_EDGE('',*,*,#5506,.T.);
++#5509=ORIENTED_EDGE('',*,*,#5508,.F.);
++#5511=ORIENTED_EDGE('',*,*,#5510,.T.);
++#5513=ORIENTED_EDGE('',*,*,#5512,.T.);
++#5515=ORIENTED_EDGE('',*,*,#5514,.F.);
++#5517=ORIENTED_EDGE('',*,*,#5516,.T.);
++#5519=ORIENTED_EDGE('',*,*,#5518,.F.);
++#5521=ORIENTED_EDGE('',*,*,#5520,.T.);
++#5523=ORIENTED_EDGE('',*,*,#5522,.F.);
++#5525=ORIENTED_EDGE('',*,*,#5524,.T.);
++#5527=ORIENTED_EDGE('',*,*,#5526,.F.);
++#5529=ORIENTED_EDGE('',*,*,#5528,.T.);
++#5531=ORIENTED_EDGE('',*,*,#5530,.F.);
++#5533=ORIENTED_EDGE('',*,*,#5532,.F.);
++#5535=ORIENTED_EDGE('',*,*,#5534,.T.);
++#5537=ORIENTED_EDGE('',*,*,#5536,.F.);
++#5538=EDGE_LOOP('',(#5495,#5497,#5499,#5501,#5503,#5505,#5507,#5509,#5511,#5513,
++#5515,#5517,#5519,#5521,#5523,#5525,#5527,#5529,#5531,#5533,#5535,#5537));
++#5539=FACE_OUTER_BOUND('',#5538,.F.);
++#5541=ORIENTED_EDGE('',*,*,#5540,.T.);
++#5543=ORIENTED_EDGE('',*,*,#5542,.F.);
++#5545=ORIENTED_EDGE('',*,*,#5544,.F.);
++#5547=ORIENTED_EDGE('',*,*,#5546,.F.);
++#5549=ORIENTED_EDGE('',*,*,#5548,.F.);
++#5551=ORIENTED_EDGE('',*,*,#5550,.F.);
++#5552=EDGE_LOOP('',(#5541,#5543,#5545,#5547,#5549,#5551));
++#5553=FACE_BOUND('',#5552,.F.);
++#5555=ORIENTED_EDGE('',*,*,#5554,.T.);
++#5557=ORIENTED_EDGE('',*,*,#5556,.T.);
++#5558=EDGE_LOOP('',(#5555,#5557));
++#5559=FACE_BOUND('',#5558,.F.);
++#5561=ORIENTED_EDGE('',*,*,#5560,.T.);
++#5563=ORIENTED_EDGE('',*,*,#5562,.T.);
++#5564=EDGE_LOOP('',(#5561,#5563));
++#5565=FACE_BOUND('',#5564,.F.);
++#5567=ORIENTED_EDGE('',*,*,#5566,.T.);
++#5569=ORIENTED_EDGE('',*,*,#5568,.T.);
++#5570=EDGE_LOOP('',(#5567,#5569));
++#5571=FACE_BOUND('',#5570,.F.);
++#5573=ORIENTED_EDGE('',*,*,#5572,.T.);
++#5575=ORIENTED_EDGE('',*,*,#5574,.T.);
++#5576=EDGE_LOOP('',(#5573,#5575));
++#5577=FACE_BOUND('',#5576,.F.);
++#5579=ORIENTED_EDGE('',*,*,#5578,.T.);
++#5581=ORIENTED_EDGE('',*,*,#5580,.T.);
++#5582=EDGE_LOOP('',(#5579,#5581));
++#5583=FACE_BOUND('',#5582,.F.);
++#5585=ORIENTED_EDGE('',*,*,#5584,.T.);
++#5587=ORIENTED_EDGE('',*,*,#5586,.T.);
++#5588=EDGE_LOOP('',(#5585,#5587));
++#5589=FACE_BOUND('',#5588,.F.);
++#5591=ORIENTED_EDGE('',*,*,#5590,.T.);
++#5593=ORIENTED_EDGE('',*,*,#5592,.T.);
++#5594=EDGE_LOOP('',(#5591,#5593));
++#5595=FACE_BOUND('',#5594,.F.);
++#5597=ORIENTED_EDGE('',*,*,#5596,.T.);
++#5599=ORIENTED_EDGE('',*,*,#5598,.T.);
++#5600=EDGE_LOOP('',(#5597,#5599));
++#5601=FACE_BOUND('',#5600,.F.);
++#5603=ORIENTED_EDGE('',*,*,#5602,.T.);
++#5605=ORIENTED_EDGE('',*,*,#5604,.T.);
++#5606=EDGE_LOOP('',(#5603,#5605));
++#5607=FACE_BOUND('',#5606,.F.);
++#5609=ORIENTED_EDGE('',*,*,#5608,.T.);
++#5611=ORIENTED_EDGE('',*,*,#5610,.T.);
++#5612=EDGE_LOOP('',(#5609,#5611));
++#5613=FACE_BOUND('',#5612,.F.);
++#5615=ORIENTED_EDGE('',*,*,#5614,.T.);
++#5617=ORIENTED_EDGE('',*,*,#5616,.T.);
++#5618=EDGE_LOOP('',(#5615,#5617));
++#5619=FACE_BOUND('',#5618,.F.);
++#5621=ORIENTED_EDGE('',*,*,#5620,.T.);
++#5623=ORIENTED_EDGE('',*,*,#5622,.T.);
++#5624=EDGE_LOOP('',(#5621,#5623));
++#5625=FACE_BOUND('',#5624,.F.);
++#5627=ORIENTED_EDGE('',*,*,#5626,.T.);
++#5629=ORIENTED_EDGE('',*,*,#5628,.T.);
++#5630=EDGE_LOOP('',(#5627,#5629));
++#5631=FACE_BOUND('',#5630,.F.);
++#5633=ORIENTED_EDGE('',*,*,#5632,.T.);
++#5635=ORIENTED_EDGE('',*,*,#5634,.T.);
++#5636=EDGE_LOOP('',(#5633,#5635));
++#5637=FACE_BOUND('',#5636,.F.);
++#5639=ORIENTED_EDGE('',*,*,#5638,.T.);
++#5641=ORIENTED_EDGE('',*,*,#5640,.F.);
++#5643=ORIENTED_EDGE('',*,*,#5642,.F.);
++#5645=ORIENTED_EDGE('',*,*,#5644,.F.);
++#5647=ORIENTED_EDGE('',*,*,#5646,.F.);
++#5649=ORIENTED_EDGE('',*,*,#5648,.F.);
++#5651=ORIENTED_EDGE('',*,*,#5650,.F.);
++#5653=ORIENTED_EDGE('',*,*,#5652,.F.);
++#5654=EDGE_LOOP('',(#5639,#5641,#5643,#5645,#5647,#5649,#5651,#5653));
++#5655=FACE_BOUND('',#5654,.F.);
++#5657=ORIENTED_EDGE('',*,*,#5656,.F.);
++#5659=ORIENTED_EDGE('',*,*,#5658,.F.);
++#5661=ORIENTED_EDGE('',*,*,#5660,.T.);
++#5663=ORIENTED_EDGE('',*,*,#5662,.F.);
++#5665=ORIENTED_EDGE('',*,*,#5664,.F.);
++#5667=ORIENTED_EDGE('',*,*,#5666,.F.);
++#5669=ORIENTED_EDGE('',*,*,#5668,.T.);
++#5671=ORIENTED_EDGE('',*,*,#5670,.F.);
++#5673=ORIENTED_EDGE('',*,*,#5672,.T.);
++#5675=ORIENTED_EDGE('',*,*,#5674,.F.);
++#5677=ORIENTED_EDGE('',*,*,#5676,.T.);
++#5679=ORIENTED_EDGE('',*,*,#5678,.F.);
++#5681=ORIENTED_EDGE('',*,*,#5680,.F.);
++#5683=ORIENTED_EDGE('',*,*,#5682,.T.);
++#5685=ORIENTED_EDGE('',*,*,#5684,.F.);
++#5687=ORIENTED_EDGE('',*,*,#5686,.F.);
++#5688=EDGE_LOOP('',(#5657,#5659,#5661,#5663,#5665,#5667,#5669,#5671,#5673,#5675,
++#5677,#5679,#5681,#5683,#5685,#5687));
++#5689=FACE_BOUND('',#5688,.F.);
++#5691=ORIENTED_EDGE('',*,*,#5690,.T.);
++#5693=ORIENTED_EDGE('',*,*,#5692,.T.);
++#5694=EDGE_LOOP('',(#5691,#5693));
++#5695=FACE_BOUND('',#5694,.F.);
++#5697=ORIENTED_EDGE('',*,*,#5696,.T.);
++#5699=ORIENTED_EDGE('',*,*,#5698,.T.);
++#5700=EDGE_LOOP('',(#5697,#5699));
++#5701=FACE_BOUND('',#5700,.F.);
++#5703=ORIENTED_EDGE('',*,*,#5702,.T.);
++#5705=ORIENTED_EDGE('',*,*,#5704,.T.);
++#5706=EDGE_LOOP('',(#5703,#5705));
++#5707=FACE_BOUND('',#5706,.F.);
++#5709=ORIENTED_EDGE('',*,*,#5708,.T.);
++#5711=ORIENTED_EDGE('',*,*,#5710,.T.);
++#5712=EDGE_LOOP('',(#5709,#5711));
++#5713=FACE_BOUND('',#5712,.F.);
++#5715=ORIENTED_EDGE('',*,*,#5714,.T.);
++#5717=ORIENTED_EDGE('',*,*,#5716,.T.);
++#5718=EDGE_LOOP('',(#5715,#5717));
++#5719=FACE_BOUND('',#5718,.F.);
++#5721=ORIENTED_EDGE('',*,*,#5720,.T.);
++#5723=ORIENTED_EDGE('',*,*,#5722,.T.);
++#5724=EDGE_LOOP('',(#5721,#5723));
++#5725=FACE_BOUND('',#5724,.F.);
++#5727=ORIENTED_EDGE('',*,*,#5726,.T.);
++#5729=ORIENTED_EDGE('',*,*,#5728,.T.);
++#5731=ORIENTED_EDGE('',*,*,#5730,.T.);
++#5733=ORIENTED_EDGE('',*,*,#5732,.T.);
++#5734=EDGE_LOOP('',(#5727,#5729,#5731,#5733));
++#5735=FACE_BOUND('',#5734,.F.);
++#5737=ORIENTED_EDGE('',*,*,#5736,.T.);
++#5739=ORIENTED_EDGE('',*,*,#5738,.F.);
++#5741=ORIENTED_EDGE('',*,*,#5740,.T.);
++#5743=ORIENTED_EDGE('',*,*,#5742,.T.);
++#5745=ORIENTED_EDGE('',*,*,#5744,.F.);
++#5746=EDGE_LOOP('',(#5737,#5739,#5741,#5743,#5745));
++#5747=FACE_BOUND('',#5746,.F.);
++#5749=ORIENTED_EDGE('',*,*,#5748,.F.);
++#5751=ORIENTED_EDGE('',*,*,#5750,.T.);
++#5753=ORIENTED_EDGE('',*,*,#5752,.T.);
++#5755=ORIENTED_EDGE('',*,*,#5754,.T.);
++#5757=ORIENTED_EDGE('',*,*,#5756,.F.);
++#5759=ORIENTED_EDGE('',*,*,#5758,.T.);
++#5761=ORIENTED_EDGE('',*,*,#5760,.F.);
++#5763=ORIENTED_EDGE('',*,*,#5762,.T.);
++#5765=ORIENTED_EDGE('',*,*,#5764,.F.);
++#5767=ORIENTED_EDGE('',*,*,#5766,.T.);
++#5769=ORIENTED_EDGE('',*,*,#5768,.F.);
++#5771=ORIENTED_EDGE('',*,*,#5770,.T.);
++#5773=ORIENTED_EDGE('',*,*,#5772,.F.);
++#5775=ORIENTED_EDGE('',*,*,#5774,.T.);
++#5776=EDGE_LOOP('',(#5749,#5751,#5753,#5755,#5757,#5759,#5761,#5763,#5765,#5767,
++#5769,#5771,#5773,#5775));
++#5777=FACE_BOUND('',#5776,.F.);
++#5779=ORIENTED_EDGE('',*,*,#5778,.T.);
++#5781=ORIENTED_EDGE('',*,*,#5780,.T.);
++#5783=ORIENTED_EDGE('',*,*,#5782,.T.);
++#5785=ORIENTED_EDGE('',*,*,#5784,.T.);
++#5786=EDGE_LOOP('',(#5779,#5781,#5783,#5785));
++#5787=FACE_BOUND('',#5786,.F.);
++#5789=ORIENTED_EDGE('',*,*,#5788,.T.);
++#5791=ORIENTED_EDGE('',*,*,#5790,.T.);
++#5793=ORIENTED_EDGE('',*,*,#5792,.T.);
++#5795=ORIENTED_EDGE('',*,*,#5794,.T.);
++#5796=EDGE_LOOP('',(#5789,#5791,#5793,#5795));
++#5797=FACE_BOUND('',#5796,.F.);
++#5799=ORIENTED_EDGE('',*,*,#5798,.T.);
++#5801=ORIENTED_EDGE('',*,*,#5800,.T.);
++#5803=ORIENTED_EDGE('',*,*,#5802,.T.);
++#5805=ORIENTED_EDGE('',*,*,#5804,.T.);
++#5806=EDGE_LOOP('',(#5799,#5801,#5803,#5805));
++#5807=FACE_BOUND('',#5806,.F.);
++#5809=ORIENTED_EDGE('',*,*,#5808,.T.);
++#5811=ORIENTED_EDGE('',*,*,#5810,.T.);
++#5813=ORIENTED_EDGE('',*,*,#5812,.T.);
++#5815=ORIENTED_EDGE('',*,*,#5814,.T.);
++#5816=EDGE_LOOP('',(#5809,#5811,#5813,#5815));
++#5817=FACE_BOUND('',#5816,.F.);
++#5819=ORIENTED_EDGE('',*,*,#5818,.F.);
++#5821=ORIENTED_EDGE('',*,*,#5820,.F.);
++#5823=ORIENTED_EDGE('',*,*,#5822,.F.);
++#5825=ORIENTED_EDGE('',*,*,#5824,.F.);
++#5826=EDGE_LOOP('',(#5819,#5821,#5823,#5825));
++#5827=FACE_BOUND('',#5826,.F.);
++#5829=ORIENTED_EDGE('',*,*,#5828,.F.);
++#5831=ORIENTED_EDGE('',*,*,#5830,.F.);
++#5833=ORIENTED_EDGE('',*,*,#5832,.F.);
++#5835=ORIENTED_EDGE('',*,*,#5834,.F.);
++#5836=EDGE_LOOP('',(#5829,#5831,#5833,#5835));
++#5837=FACE_BOUND('',#5836,.F.);
++#5839=ORIENTED_EDGE('',*,*,#5838,.F.);
++#5841=ORIENTED_EDGE('',*,*,#5840,.F.);
++#5843=ORIENTED_EDGE('',*,*,#5842,.F.);
++#5845=ORIENTED_EDGE('',*,*,#5844,.F.);
++#5846=EDGE_LOOP('',(#5839,#5841,#5843,#5845));
++#5847=FACE_BOUND('',#5846,.F.);
++#5849=ORIENTED_EDGE('',*,*,#5848,.F.);
++#5851=ORIENTED_EDGE('',*,*,#5850,.F.);
++#5853=ORIENTED_EDGE('',*,*,#5852,.F.);
++#5855=ORIENTED_EDGE('',*,*,#5854,.F.);
++#5856=EDGE_LOOP('',(#5849,#5851,#5853,#5855));
++#5857=FACE_BOUND('',#5856,.F.);
++#5859=ORIENTED_EDGE('',*,*,#5858,.F.);
++#5861=ORIENTED_EDGE('',*,*,#5860,.F.);
++#5863=ORIENTED_EDGE('',*,*,#5862,.F.);
++#5865=ORIENTED_EDGE('',*,*,#5864,.F.);
++#5866=EDGE_LOOP('',(#5859,#5861,#5863,#5865));
++#5867=FACE_BOUND('',#5866,.F.);
++#5869=ORIENTED_EDGE('',*,*,#5868,.F.);
++#5871=ORIENTED_EDGE('',*,*,#5870,.F.);
++#5873=ORIENTED_EDGE('',*,*,#5872,.F.);
++#5875=ORIENTED_EDGE('',*,*,#5874,.F.);
++#5876=EDGE_LOOP('',(#5869,#5871,#5873,#5875));
++#5877=FACE_BOUND('',#5876,.F.);
++#5879=ORIENTED_EDGE('',*,*,#5878,.T.);
++#5881=ORIENTED_EDGE('',*,*,#5880,.T.);
++#5883=ORIENTED_EDGE('',*,*,#5882,.T.);
++#5885=ORIENTED_EDGE('',*,*,#5884,.T.);
++#5886=EDGE_LOOP('',(#5879,#5881,#5883,#5885));
++#5887=FACE_BOUND('',#5886,.F.);
++#5889=ORIENTED_EDGE('',*,*,#5888,.F.);
++#5891=ORIENTED_EDGE('',*,*,#5890,.F.);
++#5893=ORIENTED_EDGE('',*,*,#5892,.F.);
++#5895=ORIENTED_EDGE('',*,*,#5894,.F.);
++#5897=ORIENTED_EDGE('',*,*,#5896,.F.);
++#5899=ORIENTED_EDGE('',*,*,#5898,.F.);
++#5901=ORIENTED_EDGE('',*,*,#5900,.F.);
++#5903=ORIENTED_EDGE('',*,*,#5902,.F.);
++#5905=ORIENTED_EDGE('',*,*,#5904,.F.);
++#5907=ORIENTED_EDGE('',*,*,#5906,.F.);
++#5909=ORIENTED_EDGE('',*,*,#5908,.F.);
++#5911=ORIENTED_EDGE('',*,*,#5910,.F.);
++#5913=ORIENTED_EDGE('',*,*,#5912,.F.);
++#5915=ORIENTED_EDGE('',*,*,#5914,.F.);
++#5916=EDGE_LOOP('',(#5889,#5891,#5893,#5895,#5897,#5899,#5901,#5903,#5905,#5907,
++#5909,#5911,#5913,#5915));
++#5917=FACE_BOUND('',#5916,.F.);
++#5919=ORIENTED_EDGE('',*,*,#5918,.F.);
++#5921=ORIENTED_EDGE('',*,*,#5920,.F.);
++#5923=ORIENTED_EDGE('',*,*,#5922,.F.);
++#5925=ORIENTED_EDGE('',*,*,#5924,.T.);
++#5927=ORIENTED_EDGE('',*,*,#5926,.F.);
++#5928=EDGE_LOOP('',(#5919,#5921,#5923,#5925,#5927));
++#5929=FACE_BOUND('',#5928,.F.);
++#5931=ORIENTED_EDGE('',*,*,#5930,.F.);
++#5933=ORIENTED_EDGE('',*,*,#5932,.F.);
++#5935=ORIENTED_EDGE('',*,*,#5934,.F.);
++#5937=ORIENTED_EDGE('',*,*,#5936,.T.);
++#5939=ORIENTED_EDGE('',*,*,#5938,.F.);
++#5940=EDGE_LOOP('',(#5931,#5933,#5935,#5937,#5939));
++#5941=FACE_BOUND('',#5940,.F.);
++#5943=ORIENTED_EDGE('',*,*,#5942,.T.);
++#5945=ORIENTED_EDGE('',*,*,#5944,.F.);
++#5947=ORIENTED_EDGE('',*,*,#5946,.T.);
++#5949=ORIENTED_EDGE('',*,*,#5948,.T.);
++#5951=ORIENTED_EDGE('',*,*,#5950,.F.);
++#5952=EDGE_LOOP('',(#5943,#5945,#5947,#5949,#5951));
++#5953=FACE_BOUND('',#5952,.F.);
++#5954=ADVANCED_FACE('',(#5539,#5553,#5559,#5565,#5571,#5577,#5583,#5589,#5595,
++#5601,#5607,#5613,#5619,#5625,#5631,#5637,#5655,#5689,#5695,#5701,#5707,#5713,
++#5719,#5725,#5735,#5747,#5777,#5787,#5797,#5807,#5817,#5827,#5837,#5847,#5857,
++#5867,#5877,#5887,#5917,#5929,#5941,#5953),#5493,.F.);
++#5955=CARTESIAN_POINT('',(0.E0,0.E0,8.E0));
++#5956=DIRECTION('',(0.E0,0.E0,1.E0));
++#5957=DIRECTION('',(1.E0,0.E0,0.E0));
++#5958=AXIS2_PLACEMENT_3D('',#5955,#5956,#5957);
++#5959=PLANE('',#5958);
++#5960=ORIENTED_EDGE('',*,*,#5540,.F.);
++#5962=ORIENTED_EDGE('',*,*,#5961,.T.);
++#5964=ORIENTED_EDGE('',*,*,#5963,.F.);
++#5966=ORIENTED_EDGE('',*,*,#5965,.F.);
++#5967=ORIENTED_EDGE('',*,*,#5494,.T.);
++#5969=ORIENTED_EDGE('',*,*,#5968,.F.);
++#5971=ORIENTED_EDGE('',*,*,#5970,.F.);
++#5973=ORIENTED_EDGE('',*,*,#5972,.T.);
++#5975=ORIENTED_EDGE('',*,*,#5974,.F.);
++#5977=ORIENTED_EDGE('',*,*,#5976,.F.);
++#5979=ORIENTED_EDGE('',*,*,#5978,.F.);
++#5981=ORIENTED_EDGE('',*,*,#5980,.T.);
++#5983=ORIENTED_EDGE('',*,*,#5982,.T.);
++#5985=ORIENTED_EDGE('',*,*,#5984,.F.);
++#5986=ORIENTED_EDGE('',*,*,#5510,.F.);
++#5988=ORIENTED_EDGE('',*,*,#5987,.F.);
++#5990=ORIENTED_EDGE('',*,*,#5989,.F.);
++#5992=ORIENTED_EDGE('',*,*,#5991,.T.);
++#5993=EDGE_LOOP('',(#5960,#5962,#5964,#5966,#5967,#5969,#5971,#5973,#5975,#5977,
++#5979,#5981,#5983,#5985,#5986,#5988,#5990,#5992));
++#5994=FACE_OUTER_BOUND('',#5993,.F.);
++#5996=ORIENTED_EDGE('',*,*,#5995,.T.);
++#5998=ORIENTED_EDGE('',*,*,#5997,.T.);
++#5999=EDGE_LOOP('',(#5996,#5998));
++#6000=FACE_BOUND('',#5999,.F.);
++#6002=ORIENTED_EDGE('',*,*,#6001,.T.);
++#6004=ORIENTED_EDGE('',*,*,#6003,.T.);
++#6005=EDGE_LOOP('',(#6002,#6004));
++#6006=FACE_BOUND('',#6005,.F.);
++#6008=ORIENTED_EDGE('',*,*,#6007,.T.);
++#6010=ORIENTED_EDGE('',*,*,#6009,.T.);
++#6011=EDGE_LOOP('',(#6008,#6010));
++#6012=FACE_BOUND('',#6011,.F.);
++#6014=ORIENTED_EDGE('',*,*,#6013,.T.);
++#6016=ORIENTED_EDGE('',*,*,#6015,.T.);
++#6017=EDGE_LOOP('',(#6014,#6016));
++#6018=FACE_BOUND('',#6017,.F.);
++#6020=ORIENTED_EDGE('',*,*,#6019,.F.);
++#6022=ORIENTED_EDGE('',*,*,#6021,.F.);
++#6023=EDGE_LOOP('',(#6020,#6022));
++#6024=FACE_BOUND('',#6023,.F.);
++#6026=ORIENTED_EDGE('',*,*,#6025,.F.);
++#6028=ORIENTED_EDGE('',*,*,#6027,.F.);
++#6029=EDGE_LOOP('',(#6026,#6028));
++#6030=FACE_BOUND('',#6029,.F.);
++#6032=ORIENTED_EDGE('',*,*,#6031,.F.);
++#6034=ORIENTED_EDGE('',*,*,#6033,.F.);
++#6035=EDGE_LOOP('',(#6032,#6034));
++#6036=FACE_BOUND('',#6035,.F.);
++#6038=ORIENTED_EDGE('',*,*,#6037,.F.);
++#6040=ORIENTED_EDGE('',*,*,#6039,.F.);
++#6041=EDGE_LOOP('',(#6038,#6040));
++#6042=FACE_BOUND('',#6041,.F.);
++#6044=ORIENTED_EDGE('',*,*,#6043,.T.);
++#6046=ORIENTED_EDGE('',*,*,#6045,.F.);
++#6048=ORIENTED_EDGE('',*,*,#6047,.T.);
++#6050=ORIENTED_EDGE('',*,*,#6049,.F.);
++#6052=ORIENTED_EDGE('',*,*,#6051,.T.);
++#6054=ORIENTED_EDGE('',*,*,#6053,.F.);
++#6056=ORIENTED_EDGE('',*,*,#6055,.T.);
++#6058=ORIENTED_EDGE('',*,*,#6057,.F.);
++#6059=EDGE_LOOP('',(#6044,#6046,#6048,#6050,#6052,#6054,#6056,#6058));
++#6060=FACE_BOUND('',#6059,.F.);
++#6062=ORIENTED_EDGE('',*,*,#6061,.F.);
++#6064=ORIENTED_EDGE('',*,*,#6063,.F.);
++#6066=ORIENTED_EDGE('',*,*,#6065,.F.);
++#6068=ORIENTED_EDGE('',*,*,#6067,.F.);
++#6070=ORIENTED_EDGE('',*,*,#6069,.F.);
++#6072=ORIENTED_EDGE('',*,*,#6071,.F.);
++#6074=ORIENTED_EDGE('',*,*,#6073,.F.);
++#6076=ORIENTED_EDGE('',*,*,#6075,.F.);
++#6077=EDGE_LOOP('',(#6062,#6064,#6066,#6068,#6070,#6072,#6074,#6076));
++#6078=FACE_BOUND('',#6077,.F.);
++#6079=ADVANCED_FACE('',(#5994,#6000,#6006,#6012,#6018,#6024,#6030,#6036,#6042,
++#6060,#6078),#5959,.F.);
++#6080=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0));
++#6081=DIRECTION('',(0.E0,0.E0,-1.E0));
++#6082=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6083=AXIS2_PLACEMENT_3D('',#6080,#6081,#6082);
++#6084=CYLINDRICAL_SURFACE('',#6083,9.5E-2);
++#6085=ORIENTED_EDGE('',*,*,#5995,.F.);
++#6087=ORIENTED_EDGE('',*,*,#6086,.T.);
++#6089=ORIENTED_EDGE('',*,*,#6088,.T.);
++#6091=ORIENTED_EDGE('',*,*,#6090,.F.);
++#6092=EDGE_LOOP('',(#6085,#6087,#6089,#6091));
++#6093=FACE_OUTER_BOUND('',#6092,.F.);
++#6094=ADVANCED_FACE('',(#6093),#6084,.F.);
++#6095=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0));
++#6096=DIRECTION('',(0.E0,0.E0,-1.E0));
++#6097=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6098=AXIS2_PLACEMENT_3D('',#6095,#6096,#6097);
++#6099=CYLINDRICAL_SURFACE('',#6098,9.5E-2);
++#6100=ORIENTED_EDGE('',*,*,#5997,.F.);
++#6101=ORIENTED_EDGE('',*,*,#6090,.T.);
++#6103=ORIENTED_EDGE('',*,*,#6102,.T.);
++#6104=ORIENTED_EDGE('',*,*,#6086,.F.);
++#6105=EDGE_LOOP('',(#6100,#6101,#6103,#6104));
++#6106=FACE_OUTER_BOUND('',#6105,.F.);
++#6107=ADVANCED_FACE('',(#6106),#6099,.F.);
++#6108=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0));
++#6109=DIRECTION('',(0.E0,0.E0,-1.E0));
++#6110=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6111=AXIS2_PLACEMENT_3D('',#6108,#6109,#6110);
++#6112=PLANE('',#6111);
++#6113=ORIENTED_EDGE('',*,*,#6088,.F.);
++#6114=ORIENTED_EDGE('',*,*,#6102,.F.);
++#6115=EDGE_LOOP('',(#6113,#6114));
++#6116=FACE_OUTER_BOUND('',#6115,.F.);
++#6117=ADVANCED_FACE('',(#6116),#6112,.T.);
++#6118=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0));
++#6119=DIRECTION('',(0.E0,0.E0,-1.E0));
++#6120=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6121=AXIS2_PLACEMENT_3D('',#6118,#6119,#6120);
++#6122=CYLINDRICAL_SURFACE('',#6121,1.625E-1);
++#6123=ORIENTED_EDGE('',*,*,#6001,.F.);
++#6125=ORIENTED_EDGE('',*,*,#6124,.T.);
++#6127=ORIENTED_EDGE('',*,*,#6126,.T.);
++#6129=ORIENTED_EDGE('',*,*,#6128,.F.);
++#6130=EDGE_LOOP('',(#6123,#6125,#6127,#6129));
++#6131=FACE_OUTER_BOUND('',#6130,.F.);
++#6132=ADVANCED_FACE('',(#6131),#6122,.F.);
++#6133=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0));
++#6134=DIRECTION('',(0.E0,0.E0,-1.E0));
++#6135=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6136=AXIS2_PLACEMENT_3D('',#6133,#6134,#6135);
++#6137=CYLINDRICAL_SURFACE('',#6136,1.625E-1);
++#6138=ORIENTED_EDGE('',*,*,#6003,.F.);
++#6139=ORIENTED_EDGE('',*,*,#6128,.T.);
++#6141=ORIENTED_EDGE('',*,*,#6140,.T.);
++#6142=ORIENTED_EDGE('',*,*,#6124,.F.);
++#6143=EDGE_LOOP('',(#6138,#6139,#6141,#6142));
++#6144=FACE_OUTER_BOUND('',#6143,.F.);
++#6145=ADVANCED_FACE('',(#6144),#6137,.F.);
++#6146=CARTESIAN_POINT('',(2.4E1,0.E0,1.E1));
++#6147=DIRECTION('',(0.E0,0.E0,-1.E0));
++#6148=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6149=AXIS2_PLACEMENT_3D('',#6146,#6147,#6148);
++#6150=PLANE('',#6149);
++#6152=ORIENTED_EDGE('',*,*,#6151,.T.);
++#6154=ORIENTED_EDGE('',*,*,#6153,.T.);
++#6156=ORIENTED_EDGE('',*,*,#6155,.F.);
++#6158=ORIENTED_EDGE('',*,*,#6157,.F.);
++#6160=ORIENTED_EDGE('',*,*,#6159,.T.);
++#6162=ORIENTED_EDGE('',*,*,#6161,.T.);
++#6164=ORIENTED_EDGE('',*,*,#6163,.T.);
++#6166=ORIENTED_EDGE('',*,*,#6165,.T.);
++#6168=ORIENTED_EDGE('',*,*,#6167,.F.);
++#6169=EDGE_LOOP('',(#6152,#6154,#6156,#6158,#6160,#6162,#6164,#6166,#6168));
++#6170=FACE_OUTER_BOUND('',#6169,.F.);
++#6171=ORIENTED_EDGE('',*,*,#6126,.F.);
++#6172=ORIENTED_EDGE('',*,*,#6140,.F.);
++#6173=EDGE_LOOP('',(#6171,#6172));
++#6174=FACE_BOUND('',#6173,.F.);
++#6176=ORIENTED_EDGE('',*,*,#6175,.F.);
++#6178=ORIENTED_EDGE('',*,*,#6177,.F.);
++#6180=ORIENTED_EDGE('',*,*,#6179,.F.);
++#6182=ORIENTED_EDGE('',*,*,#6181,.F.);
++#6184=ORIENTED_EDGE('',*,*,#6183,.F.);
++#6186=ORIENTED_EDGE('',*,*,#6185,.F.);
++#6188=ORIENTED_EDGE('',*,*,#6187,.F.);
++#6190=ORIENTED_EDGE('',*,*,#6189,.F.);
++#6192=ORIENTED_EDGE('',*,*,#6191,.F.);
++#6194=ORIENTED_EDGE('',*,*,#6193,.F.);
++#6196=ORIENTED_EDGE('',*,*,#6195,.F.);
++#6198=ORIENTED_EDGE('',*,*,#6197,.F.);
++#6199=EDGE_LOOP('',(#6176,#6178,#6180,#6182,#6184,#6186,#6188,#6190,#6192,#6194,
++#6196,#6198));
++#6200=FACE_BOUND('',#6199,.F.);
++#6201=ADVANCED_FACE('',(#6170,#6174,#6200),#6150,.F.);
++#6202=CARTESIAN_POINT('',(2.375E1,1.5E0,1.2E1));
++#6203=DIRECTION('',(1.E0,0.E0,0.E0));
++#6204=DIRECTION('',(0.E0,-1.E0,0.E0));
++#6205=AXIS2_PLACEMENT_3D('',#6202,#6203,#6204);
++#6206=PLANE('',#6205);
++#6208=ORIENTED_EDGE('',*,*,#6207,.F.);
++#6210=ORIENTED_EDGE('',*,*,#6209,.F.);
++#6211=ORIENTED_EDGE('',*,*,#6151,.F.);
++#6212=EDGE_LOOP('',(#6208,#6210,#6211));
++#6213=FACE_OUTER_BOUND('',#6212,.F.);
++#6214=ADVANCED_FACE('',(#6213),#6206,.T.);
++#6215=CARTESIAN_POINT('',(0.E0,1.5E0,0.E0));
++#6216=DIRECTION('',(0.E0,1.E0,0.E0));
++#6217=DIRECTION('',(1.E0,0.E0,0.E0));
++#6218=AXIS2_PLACEMENT_3D('',#6215,#6216,#6217);
++#6219=PLANE('',#6218);
++#6220=ORIENTED_EDGE('',*,*,#5963,.T.);
++#6222=ORIENTED_EDGE('',*,*,#6221,.F.);
++#6224=ORIENTED_EDGE('',*,*,#6223,.F.);
++#6226=ORIENTED_EDGE('',*,*,#6225,.T.);
++#6228=ORIENTED_EDGE('',*,*,#6227,.F.);
++#6230=ORIENTED_EDGE('',*,*,#6229,.F.);
++#6231=ORIENTED_EDGE('',*,*,#5989,.T.);
++#6233=ORIENTED_EDGE('',*,*,#6232,.F.);
++#6235=ORIENTED_EDGE('',*,*,#6234,.F.);
++#6237=ORIENTED_EDGE('',*,*,#6236,.T.);
++#6239=ORIENTED_EDGE('',*,*,#6238,.F.);
++#6241=ORIENTED_EDGE('',*,*,#6240,.T.);
++#6243=ORIENTED_EDGE('',*,*,#6242,.F.);
++#6245=ORIENTED_EDGE('',*,*,#6244,.F.);
++#6246=EDGE_LOOP('',(#6220,#6222,#6224,#6226,#6228,#6230,#6231,#6233,#6235,#6237,
++#6239,#6241,#6243,#6245));
++#6247=FACE_OUTER_BOUND('',#6246,.F.);
++#6249=ORIENTED_EDGE('',*,*,#6248,.F.);
++#6251=ORIENTED_EDGE('',*,*,#6250,.F.);
++#6252=EDGE_LOOP('',(#6249,#6251));
++#6253=FACE_BOUND('',#6252,.F.);
++#6255=ORIENTED_EDGE('',*,*,#6254,.F.);
++#6257=ORIENTED_EDGE('',*,*,#6256,.F.);
++#6258=EDGE_LOOP('',(#6255,#6257));
++#6259=FACE_BOUND('',#6258,.F.);
++#6261=ORIENTED_EDGE('',*,*,#6260,.F.);
++#6263=ORIENTED_EDGE('',*,*,#6262,.F.);
++#6264=EDGE_LOOP('',(#6261,#6263));
++#6265=FACE_BOUND('',#6264,.F.);
++#6267=ORIENTED_EDGE('',*,*,#6266,.F.);
++#6269=ORIENTED_EDGE('',*,*,#6268,.F.);
++#6270=EDGE_LOOP('',(#6267,#6269));
++#6271=FACE_BOUND('',#6270,.F.);
++#6273=ORIENTED_EDGE('',*,*,#6272,.F.);
++#6275=ORIENTED_EDGE('',*,*,#6274,.F.);
++#6276=EDGE_LOOP('',(#6273,#6275));
++#6277=FACE_BOUND('',#6276,.F.);
++#6278=ADVANCED_FACE('',(#6247,#6253,#6259,#6265,#6271,#6277),#6219,.T.);
++#6279=CARTESIAN_POINT('',(0.E0,1.5E0,0.E0));
++#6280=DIRECTION('',(0.E0,1.E0,0.E0));
++#6281=DIRECTION('',(1.E0,0.E0,0.E0));
++#6282=AXIS2_PLACEMENT_3D('',#6279,#6280,#6281);
++#6283=PLANE('',#6282);
++#6284=ORIENTED_EDGE('',*,*,#6207,.T.);
++#6285=ORIENTED_EDGE('',*,*,#6167,.T.);
++#6287=ORIENTED_EDGE('',*,*,#6286,.T.);
++#6289=ORIENTED_EDGE('',*,*,#6288,.F.);
++#6291=ORIENTED_EDGE('',*,*,#6290,.T.);
++#6293=ORIENTED_EDGE('',*,*,#6292,.F.);
++#6295=ORIENTED_EDGE('',*,*,#6294,.F.);
++#6297=ORIENTED_EDGE('',*,*,#6296,.T.);
++#6299=ORIENTED_EDGE('',*,*,#6298,.F.);
++#6301=ORIENTED_EDGE('',*,*,#6300,.T.);
++#6303=ORIENTED_EDGE('',*,*,#6302,.F.);
++#6305=ORIENTED_EDGE('',*,*,#6304,.F.);
++#6307=ORIENTED_EDGE('',*,*,#6306,.F.);
++#6309=ORIENTED_EDGE('',*,*,#6308,.T.);
++#6311=ORIENTED_EDGE('',*,*,#6310,.F.);
++#6313=ORIENTED_EDGE('',*,*,#6312,.T.);
++#6315=ORIENTED_EDGE('',*,*,#6314,.F.);
++#6317=ORIENTED_EDGE('',*,*,#6316,.T.);
++#6319=ORIENTED_EDGE('',*,*,#6318,.T.);
++#6321=ORIENTED_EDGE('',*,*,#6320,.T.);
++#6323=ORIENTED_EDGE('',*,*,#6322,.F.);
++#6324=ORIENTED_EDGE('',*,*,#5976,.T.);
++#6326=ORIENTED_EDGE('',*,*,#6325,.T.);
++#6327=ORIENTED_EDGE('',*,*,#6157,.T.);
++#6329=ORIENTED_EDGE('',*,*,#6328,.F.);
++#6331=ORIENTED_EDGE('',*,*,#6330,.F.);
++#6332=EDGE_LOOP('',(#6284,#6285,#6287,#6289,#6291,#6293,#6295,#6297,#6299,#6301,
++#6303,#6305,#6307,#6309,#6311,#6313,#6315,#6317,#6319,#6321,#6323,#6324,#6326,
++#6327,#6329,#6331));
++#6333=FACE_OUTER_BOUND('',#6332,.F.);
++#6335=ORIENTED_EDGE('',*,*,#6334,.F.);
++#6337=ORIENTED_EDGE('',*,*,#6336,.F.);
++#6338=EDGE_LOOP('',(#6335,#6337));
++#6339=FACE_BOUND('',#6338,.F.);
++#6341=ORIENTED_EDGE('',*,*,#6340,.F.);
++#6343=ORIENTED_EDGE('',*,*,#6342,.F.);
++#6344=EDGE_LOOP('',(#6341,#6343));
++#6345=FACE_BOUND('',#6344,.F.);
++#6347=ORIENTED_EDGE('',*,*,#6346,.T.);
++#6349=ORIENTED_EDGE('',*,*,#6348,.T.);
++#6350=EDGE_LOOP('',(#6347,#6349));
++#6351=FACE_BOUND('',#6350,.F.);
++#6353=ORIENTED_EDGE('',*,*,#6352,.T.);
++#6355=ORIENTED_EDGE('',*,*,#6354,.T.);
++#6356=EDGE_LOOP('',(#6353,#6355));
++#6357=FACE_BOUND('',#6356,.F.);
++#6359=ORIENTED_EDGE('',*,*,#6358,.F.);
++#6361=ORIENTED_EDGE('',*,*,#6360,.F.);
++#6362=EDGE_LOOP('',(#6359,#6361));
++#6363=FACE_BOUND('',#6362,.F.);
++#6365=ORIENTED_EDGE('',*,*,#6364,.F.);
++#6367=ORIENTED_EDGE('',*,*,#6366,.F.);
++#6368=EDGE_LOOP('',(#6365,#6367));
++#6369=FACE_BOUND('',#6368,.F.);
++#6371=ORIENTED_EDGE('',*,*,#6370,.F.);
++#6373=ORIENTED_EDGE('',*,*,#6372,.F.);
++#6374=EDGE_LOOP('',(#6371,#6373));
++#6375=FACE_BOUND('',#6374,.F.);
++#6377=ORIENTED_EDGE('',*,*,#6376,.F.);
++#6379=ORIENTED_EDGE('',*,*,#6378,.F.);
++#6380=EDGE_LOOP('',(#6377,#6379));
++#6381=FACE_BOUND('',#6380,.F.);
++#6383=ORIENTED_EDGE('',*,*,#6382,.F.);
++#6385=ORIENTED_EDGE('',*,*,#6384,.F.);
++#6386=EDGE_LOOP('',(#6383,#6385));
++#6387=FACE_BOUND('',#6386,.F.);
++#6389=ORIENTED_EDGE('',*,*,#6388,.F.);
++#6391=ORIENTED_EDGE('',*,*,#6390,.F.);
++#6392=EDGE_LOOP('',(#6389,#6391));
++#6393=FACE_BOUND('',#6392,.F.);
++#6395=ORIENTED_EDGE('',*,*,#6394,.F.);
++#6397=ORIENTED_EDGE('',*,*,#6396,.F.);
++#6398=EDGE_LOOP('',(#6395,#6397));
++#6399=FACE_BOUND('',#6398,.F.);
++#6401=ORIENTED_EDGE('',*,*,#6400,.T.);
++#6403=ORIENTED_EDGE('',*,*,#6402,.F.);
++#6405=ORIENTED_EDGE('',*,*,#6404,.F.);
++#6407=ORIENTED_EDGE('',*,*,#6406,.F.);
++#6409=ORIENTED_EDGE('',*,*,#6408,.T.);
++#6411=ORIENTED_EDGE('',*,*,#6410,.F.);
++#6413=ORIENTED_EDGE('',*,*,#6412,.T.);
++#6415=ORIENTED_EDGE('',*,*,#6414,.F.);
++#6416=EDGE_LOOP('',(#6401,#6403,#6405,#6407,#6409,#6411,#6413,#6415));
++#6417=FACE_BOUND('',#6416,.F.);
++#6419=ORIENTED_EDGE('',*,*,#6418,.F.);
++#6421=ORIENTED_EDGE('',*,*,#6420,.F.);
++#6423=ORIENTED_EDGE('',*,*,#6422,.T.);
++#6425=ORIENTED_EDGE('',*,*,#6424,.F.);
++#6427=ORIENTED_EDGE('',*,*,#6426,.T.);
++#6429=ORIENTED_EDGE('',*,*,#6428,.F.);
++#6431=ORIENTED_EDGE('',*,*,#6430,.T.);
++#6433=ORIENTED_EDGE('',*,*,#6432,.F.);
++#6435=ORIENTED_EDGE('',*,*,#6434,.F.);
++#6437=ORIENTED_EDGE('',*,*,#6436,.F.);
++#6439=ORIENTED_EDGE('',*,*,#6438,.F.);
++#6441=ORIENTED_EDGE('',*,*,#6440,.T.);
++#6443=ORIENTED_EDGE('',*,*,#6442,.F.);
++#6445=ORIENTED_EDGE('',*,*,#6444,.F.);
++#6447=ORIENTED_EDGE('',*,*,#6446,.T.);
++#6449=ORIENTED_EDGE('',*,*,#6448,.F.);
++#6450=EDGE_LOOP('',(#6419,#6421,#6423,#6425,#6427,#6429,#6431,#6433,#6435,#6437,
++#6439,#6441,#6443,#6445,#6447,#6449));
++#6451=FACE_BOUND('',#6450,.F.);
++#6453=ORIENTED_EDGE('',*,*,#6452,.F.);
++#6455=ORIENTED_EDGE('',*,*,#6454,.F.);
++#6456=EDGE_LOOP('',(#6453,#6455));
++#6457=FACE_BOUND('',#6456,.F.);
++#6459=ORIENTED_EDGE('',*,*,#6458,.F.);
++#6461=ORIENTED_EDGE('',*,*,#6460,.F.);
++#6462=EDGE_LOOP('',(#6459,#6461));
++#6463=FACE_BOUND('',#6462,.F.);
++#6465=ORIENTED_EDGE('',*,*,#6464,.F.);
++#6467=ORIENTED_EDGE('',*,*,#6466,.F.);
++#6468=EDGE_LOOP('',(#6465,#6467));
++#6469=FACE_BOUND('',#6468,.F.);
++#6471=ORIENTED_EDGE('',*,*,#6470,.F.);
++#6473=ORIENTED_EDGE('',*,*,#6472,.F.);
++#6474=EDGE_LOOP('',(#6471,#6473));
++#6475=FACE_BOUND('',#6474,.F.);
++#6477=ORIENTED_EDGE('',*,*,#6476,.F.);
++#6479=ORIENTED_EDGE('',*,*,#6478,.F.);
++#6480=EDGE_LOOP('',(#6477,#6479));
++#6481=FACE_BOUND('',#6480,.F.);
++#6483=ORIENTED_EDGE('',*,*,#6482,.F.);
++#6485=ORIENTED_EDGE('',*,*,#6484,.F.);
++#6486=EDGE_LOOP('',(#6483,#6485));
++#6487=FACE_BOUND('',#6486,.F.);
++#6488=ADVANCED_FACE('',(#6333,#6339,#6345,#6351,#6357,#6363,#6369,#6375,#6381,
++#6387,#6393,#6399,#6417,#6451,#6457,#6463,#6469,#6475,#6481,#6487),#6283,.T.);
++#6489=CARTESIAN_POINT('',(6.45E0,1.176878221735E0,2.975E1));
++#6490=DIRECTION('',(0.E0,1.E0,0.E0));
++#6491=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6492=AXIS2_PLACEMENT_3D('',#6489,#6490,#6491);
++#6493=CYLINDRICAL_SURFACE('',#6492,1.E-1);
++#6494=ORIENTED_EDGE('',*,*,#6334,.T.);
++#6496=ORIENTED_EDGE('',*,*,#6495,.F.);
++#6498=ORIENTED_EDGE('',*,*,#6497,.F.);
++#6500=ORIENTED_EDGE('',*,*,#6499,.T.);
++#6501=EDGE_LOOP('',(#6494,#6496,#6498,#6500));
++#6502=FACE_OUTER_BOUND('',#6501,.F.);
++#6503=ADVANCED_FACE('',(#6502),#6493,.F.);
++#6504=CARTESIAN_POINT('',(6.45E0,1.176878221735E0,2.975E1));
++#6505=DIRECTION('',(0.E0,1.E0,0.E0));
++#6506=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6507=AXIS2_PLACEMENT_3D('',#6504,#6505,#6506);
++#6508=CYLINDRICAL_SURFACE('',#6507,1.E-1);
++#6509=ORIENTED_EDGE('',*,*,#6336,.T.);
++#6510=ORIENTED_EDGE('',*,*,#6499,.F.);
++#6512=ORIENTED_EDGE('',*,*,#6511,.T.);
++#6513=ORIENTED_EDGE('',*,*,#6495,.T.);
++#6514=EDGE_LOOP('',(#6509,#6510,#6512,#6513));
++#6515=FACE_OUTER_BOUND('',#6514,.F.);
++#6516=ADVANCED_FACE('',(#6515),#6508,.F.);
++#6517=CARTESIAN_POINT('',(6.45E0,1.234346967234E0,2.975E1));
++#6518=DIRECTION('',(0.E0,1.E0,0.E0));
++#6519=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6520=AXIS2_PLACEMENT_3D('',#6517,#6518,#6519);
++#6521=CONICAL_SURFACE('',#6520,7.288815195685E-2,6.E1);
++#6523=ORIENTED_EDGE('',*,*,#6522,.T.);
++#6524=ORIENTED_EDGE('',*,*,#6511,.F.);
++#6526=ORIENTED_EDGE('',*,*,#6525,.F.);
++#6527=EDGE_LOOP('',(#6523,#6524,#6526));
++#6528=FACE_OUTER_BOUND('',#6527,.F.);
++#6529=ADVANCED_FACE('',(#6528),#6521,.F.);
++#6530=CARTESIAN_POINT('',(6.45E0,1.234346967234E0,2.975E1));
++#6531=DIRECTION('',(0.E0,1.E0,0.E0));
++#6532=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6533=AXIS2_PLACEMENT_3D('',#6530,#6531,#6532);
++#6534=CONICAL_SURFACE('',#6533,7.288815195685E-2,6.E1);
++#6535=ORIENTED_EDGE('',*,*,#6522,.F.);
++#6536=ORIENTED_EDGE('',*,*,#6525,.T.);
++#6537=ORIENTED_EDGE('',*,*,#6497,.T.);
++#6538=EDGE_LOOP('',(#6535,#6536,#6537));
++#6539=FACE_OUTER_BOUND('',#6538,.F.);
++#6540=ADVANCED_FACE('',(#6539),#6534,.F.);
++#6541=CARTESIAN_POINT('',(7.45E0,1.176878221735E0,2.975E1));
++#6542=DIRECTION('',(0.E0,1.E0,0.E0));
++#6543=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6544=AXIS2_PLACEMENT_3D('',#6541,#6542,#6543);
++#6545=CYLINDRICAL_SURFACE('',#6544,1.E-1);
++#6546=ORIENTED_EDGE('',*,*,#6340,.T.);
++#6548=ORIENTED_EDGE('',*,*,#6547,.F.);
++#6550=ORIENTED_EDGE('',*,*,#6549,.F.);
++#6552=ORIENTED_EDGE('',*,*,#6551,.T.);
++#6553=EDGE_LOOP('',(#6546,#6548,#6550,#6552));
++#6554=FACE_OUTER_BOUND('',#6553,.F.);
++#6555=ADVANCED_FACE('',(#6554),#6545,.F.);
++#6556=CARTESIAN_POINT('',(7.45E0,1.176878221735E0,2.975E1));
++#6557=DIRECTION('',(0.E0,1.E0,0.E0));
++#6558=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6559=AXIS2_PLACEMENT_3D('',#6556,#6557,#6558);
++#6560=CYLINDRICAL_SURFACE('',#6559,1.E-1);
++#6561=ORIENTED_EDGE('',*,*,#6342,.T.);
++#6562=ORIENTED_EDGE('',*,*,#6551,.F.);
++#6564=ORIENTED_EDGE('',*,*,#6563,.T.);
++#6565=ORIENTED_EDGE('',*,*,#6547,.T.);
++#6566=EDGE_LOOP('',(#6561,#6562,#6564,#6565));
++#6567=FACE_OUTER_BOUND('',#6566,.F.);
++#6568=ADVANCED_FACE('',(#6567),#6560,.F.);
++#6569=CARTESIAN_POINT('',(7.45E0,1.234346967234E0,2.975E1));
++#6570=DIRECTION('',(0.E0,1.E0,0.E0));
++#6571=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6572=AXIS2_PLACEMENT_3D('',#6569,#6570,#6571);
++#6573=CONICAL_SURFACE('',#6572,7.288815195685E-2,6.E1);
++#6575=ORIENTED_EDGE('',*,*,#6574,.T.);
++#6576=ORIENTED_EDGE('',*,*,#6563,.F.);
++#6578=ORIENTED_EDGE('',*,*,#6577,.F.);
++#6579=EDGE_LOOP('',(#6575,#6576,#6578));
++#6580=FACE_OUTER_BOUND('',#6579,.F.);
++#6581=ADVANCED_FACE('',(#6580),#6573,.F.);
++#6582=CARTESIAN_POINT('',(7.45E0,1.234346967234E0,2.975E1));
++#6583=DIRECTION('',(0.E0,1.E0,0.E0));
++#6584=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6585=AXIS2_PLACEMENT_3D('',#6582,#6583,#6584);
++#6586=CONICAL_SURFACE('',#6585,7.288815195685E-2,6.E1);
++#6587=ORIENTED_EDGE('',*,*,#6574,.F.);
++#6588=ORIENTED_EDGE('',*,*,#6577,.T.);
++#6589=ORIENTED_EDGE('',*,*,#6549,.T.);
++#6590=EDGE_LOOP('',(#6587,#6588,#6589));
++#6591=FACE_OUTER_BOUND('',#6590,.F.);
++#6592=ADVANCED_FACE('',(#6591),#6586,.F.);
++#6593=CARTESIAN_POINT('',(2.046862696660E1,-7.805924235695E-2,7.E0));
++#6594=DIRECTION('',(0.E0,1.E0,0.E0));
++#6595=DIRECTION('',(0.E0,0.E0,1.E0));
++#6596=AXIS2_PLACEMENT_3D('',#6593,#6594,#6595);
++#6597=CYLINDRICAL_SURFACE('',#6596,1.E0);
++#6598=ORIENTED_EDGE('',*,*,#5961,.F.);
++#6599=ORIENTED_EDGE('',*,*,#5550,.T.);
++#6601=ORIENTED_EDGE('',*,*,#6600,.T.);
++#6602=ORIENTED_EDGE('',*,*,#6221,.T.);
++#6603=EDGE_LOOP('',(#6598,#6599,#6601,#6602));
++#6604=FACE_OUTER_BOUND('',#6603,.F.);
++#6605=ADVANCED_FACE('',(#6604),#6597,.F.);
++#6606=CARTESIAN_POINT('',(1.65E1,1.562633489099E0,7.5E0));
++#6607=DIRECTION('',(0.E0,-1.E0,0.E0));
++#6608=DIRECTION('',(0.E0,0.E0,-1.E0));
++#6609=AXIS2_PLACEMENT_3D('',#6606,#6607,#6608);
++#6610=CYLINDRICAL_SURFACE('',#6609,5.E0);
++#6611=ORIENTED_EDGE('',*,*,#6600,.F.);
++#6612=ORIENTED_EDGE('',*,*,#5548,.T.);
++#6614=ORIENTED_EDGE('',*,*,#6613,.F.);
++#6615=ORIENTED_EDGE('',*,*,#6223,.T.);
++#6616=EDGE_LOOP('',(#6611,#6612,#6614,#6615));
++#6617=FACE_OUTER_BOUND('',#6616,.F.);
++#6618=ADVANCED_FACE('',(#6617),#6610,.F.);
++#6619=CARTESIAN_POINT('',(2.15E1,1.5E0,2.5E0));
++#6620=DIRECTION('',(0.E0,0.E0,-1.E0));
++#6621=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6622=AXIS2_PLACEMENT_3D('',#6619,#6620,#6621);
++#6623=PLANE('',#6622);
++#6625=ORIENTED_EDGE('',*,*,#6624,.F.);
++#6626=ORIENTED_EDGE('',*,*,#6225,.F.);
++#6627=ORIENTED_EDGE('',*,*,#6613,.T.);
++#6628=ORIENTED_EDGE('',*,*,#5546,.T.);
++#6629=EDGE_LOOP('',(#6625,#6626,#6627,#6628));
++#6630=FACE_OUTER_BOUND('',#6629,.F.);
++#6631=ADVANCED_FACE('',(#6630),#6623,.F.);
++#6632=CARTESIAN_POINT('',(7.5E0,1.562633489099E0,7.5E0));
++#6633=DIRECTION('',(0.E0,-1.E0,0.E0));
++#6634=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6635=AXIS2_PLACEMENT_3D('',#6632,#6633,#6634);
++#6636=CYLINDRICAL_SURFACE('',#6635,5.E0);
++#6638=ORIENTED_EDGE('',*,*,#6637,.F.);
++#6639=ORIENTED_EDGE('',*,*,#6227,.T.);
++#6640=ORIENTED_EDGE('',*,*,#6624,.T.);
++#6641=ORIENTED_EDGE('',*,*,#5544,.T.);
++#6642=EDGE_LOOP('',(#6638,#6639,#6640,#6641));
++#6643=FACE_OUTER_BOUND('',#6642,.F.);
++#6644=ADVANCED_FACE('',(#6643),#6636,.F.);
++#6645=CARTESIAN_POINT('',(3.531373033403E0,1.157860978230E1,7.E0));
++#6646=DIRECTION('',(0.E0,-1.E0,0.E0));
++#6647=DIRECTION('',(0.E0,0.E0,1.E0));
++#6648=AXIS2_PLACEMENT_3D('',#6645,#6646,#6647);
++#6649=CYLINDRICAL_SURFACE('',#6648,1.E0);
++#6650=ORIENTED_EDGE('',*,*,#5991,.F.);
++#6651=ORIENTED_EDGE('',*,*,#6229,.T.);
++#6652=ORIENTED_EDGE('',*,*,#6637,.T.);
++#6653=ORIENTED_EDGE('',*,*,#5542,.T.);
++#6654=EDGE_LOOP('',(#6650,#6651,#6652,#6653));
++#6655=FACE_OUTER_BOUND('',#6654,.F.);
++#6656=ADVANCED_FACE('',(#6655),#6649,.F.);
++#6657=CARTESIAN_POINT('',(-1.E0,1.161044894892E1,7.E0));
++#6658=DIRECTION('',(0.E0,-1.E0,0.E0));
++#6659=DIRECTION('',(1.E0,0.E0,0.E0));
++#6660=AXIS2_PLACEMENT_3D('',#6657,#6658,#6659);
++#6661=CYLINDRICAL_SURFACE('',#6660,1.E0);
++#6663=ORIENTED_EDGE('',*,*,#6662,.F.);
++#6664=ORIENTED_EDGE('',*,*,#6232,.T.);
++#6665=ORIENTED_EDGE('',*,*,#5987,.T.);
++#6666=ORIENTED_EDGE('',*,*,#5508,.T.);
++#6667=EDGE_LOOP('',(#6663,#6664,#6665,#6666));
++#6668=FACE_OUTER_BOUND('',#6667,.F.);
++#6669=ADVANCED_FACE('',(#6668),#6661,.F.);
++#6670=CARTESIAN_POINT('',(0.E0,0.E0,0.E0));
++#6671=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6672=DIRECTION('',(0.E0,0.E0,1.E0));
++#6673=AXIS2_PLACEMENT_3D('',#6670,#6671,#6672);
++#6674=PLANE('',#6673);
++#6676=ORIENTED_EDGE('',*,*,#6675,.T.);
++#6677=ORIENTED_EDGE('',*,*,#6302,.T.);
++#6679=ORIENTED_EDGE('',*,*,#6678,.F.);
++#6680=ORIENTED_EDGE('',*,*,#5520,.F.);
++#6681=EDGE_LOOP('',(#6676,#6677,#6679,#6680));
++#6682=FACE_OUTER_BOUND('',#6681,.F.);
++#6683=ADVANCED_FACE('',(#6682),#6674,.T.);
++#6684=CARTESIAN_POINT('',(0.E0,0.E0,0.E0));
++#6685=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6686=DIRECTION('',(0.E0,0.E0,1.E0));
++#6687=AXIS2_PLACEMENT_3D('',#6684,#6685,#6686);
++#6688=PLANE('',#6687);
++#6689=ORIENTED_EDGE('',*,*,#6662,.T.);
++#6690=ORIENTED_EDGE('',*,*,#5506,.F.);
++#6692=ORIENTED_EDGE('',*,*,#6691,.T.);
++#6693=ORIENTED_EDGE('',*,*,#6234,.T.);
++#6694=EDGE_LOOP('',(#6689,#6690,#6692,#6693));
++#6695=FACE_OUTER_BOUND('',#6694,.F.);
++#6696=ADVANCED_FACE('',(#6695),#6688,.T.);
++#6697=CARTESIAN_POINT('',(-1.E0,-5.722942641981E-2,1.325E1));
++#6698=DIRECTION('',(0.E0,1.E0,0.E0));
++#6699=DIRECTION('',(1.E0,0.E0,0.E0));
++#6700=AXIS2_PLACEMENT_3D('',#6697,#6698,#6699);
++#6701=CYLINDRICAL_SURFACE('',#6700,1.E0);
++#6702=ORIENTED_EDGE('',*,*,#6675,.F.);
++#6703=ORIENTED_EDGE('',*,*,#5518,.T.);
++#6705=ORIENTED_EDGE('',*,*,#6704,.T.);
++#6706=ORIENTED_EDGE('',*,*,#6304,.T.);
++#6707=EDGE_LOOP('',(#6702,#6703,#6705,#6706));
++#6708=FACE_OUTER_BOUND('',#6707,.F.);
++#6709=ADVANCED_FACE('',(#6708),#6701,.F.);
++#6710=CARTESIAN_POINT('',(-2.E0,0.E0,1.225E1));
++#6711=DIRECTION('',(0.E0,0.E0,1.E0));
++#6712=DIRECTION('',(1.E0,0.E0,0.E0));
++#6713=AXIS2_PLACEMENT_3D('',#6710,#6711,#6712);
++#6714=PLANE('',#6713);
++#6716=ORIENTED_EDGE('',*,*,#6715,.F.);
++#6717=ORIENTED_EDGE('',*,*,#6442,.T.);
++#6719=ORIENTED_EDGE('',*,*,#6718,.F.);
++#6720=ORIENTED_EDGE('',*,*,#5668,.F.);
++#6721=EDGE_LOOP('',(#6716,#6717,#6719,#6720));
++#6722=FACE_OUTER_BOUND('',#6721,.F.);
++#6723=ADVANCED_FACE('',(#6722),#6714,.T.);
++#6724=CARTESIAN_POINT('',(-2.E0,0.E0,1.225E1));
++#6725=DIRECTION('',(0.E0,0.E0,1.E0));
++#6726=DIRECTION('',(1.E0,0.E0,0.E0));
++#6727=AXIS2_PLACEMENT_3D('',#6724,#6725,#6726);
++#6728=PLANE('',#6727);
++#6729=ORIENTED_EDGE('',*,*,#6704,.F.);
++#6730=ORIENTED_EDGE('',*,*,#5516,.F.);
++#6732=ORIENTED_EDGE('',*,*,#6731,.T.);
++#6733=ORIENTED_EDGE('',*,*,#6306,.T.);
++#6734=EDGE_LOOP('',(#6729,#6730,#6732,#6733));
++#6735=FACE_OUTER_BOUND('',#6734,.F.);
++#6736=ADVANCED_FACE('',(#6735),#6728,.T.);
++#6737=CARTESIAN_POINT('',(3.5E0,1.566978255297E0,1.325E1));
++#6738=DIRECTION('',(0.E0,-1.E0,0.E0));
++#6739=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6740=AXIS2_PLACEMENT_3D('',#6737,#6738,#6739);
++#6741=CYLINDRICAL_SURFACE('',#6740,1.E0);
++#6743=ORIENTED_EDGE('',*,*,#6742,.F.);
++#6744=ORIENTED_EDGE('',*,*,#6444,.T.);
++#6745=ORIENTED_EDGE('',*,*,#6715,.T.);
++#6746=ORIENTED_EDGE('',*,*,#5666,.T.);
++#6747=EDGE_LOOP('',(#6743,#6744,#6745,#6746));
++#6748=FACE_OUTER_BOUND('',#6747,.F.);
++#6749=ADVANCED_FACE('',(#6748),#6741,.F.);
++#6750=CARTESIAN_POINT('',(2.5E0,1.5E0,2.5E0));
++#6751=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6752=DIRECTION('',(0.E0,0.E0,1.E0));
++#6753=AXIS2_PLACEMENT_3D('',#6750,#6751,#6752);
++#6754=PLANE('',#6753);
++#6756=ORIENTED_EDGE('',*,*,#6755,.T.);
++#6757=ORIENTED_EDGE('',*,*,#5650,.T.);
++#6759=ORIENTED_EDGE('',*,*,#6758,.F.);
++#6760=ORIENTED_EDGE('',*,*,#6408,.F.);
++#6761=EDGE_LOOP('',(#6756,#6757,#6759,#6760));
++#6762=FACE_OUTER_BOUND('',#6761,.F.);
++#6763=ADVANCED_FACE('',(#6762),#6754,.F.);
++#6764=CARTESIAN_POINT('',(2.5E0,1.5E0,2.5E0));
++#6765=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6766=DIRECTION('',(0.E0,0.E0,1.E0));
++#6767=AXIS2_PLACEMENT_3D('',#6764,#6765,#6766);
++#6768=PLANE('',#6767);
++#6770=ORIENTED_EDGE('',*,*,#6769,.T.);
++#6771=ORIENTED_EDGE('',*,*,#6446,.F.);
++#6772=ORIENTED_EDGE('',*,*,#6742,.T.);
++#6773=ORIENTED_EDGE('',*,*,#5664,.T.);
++#6774=EDGE_LOOP('',(#6770,#6771,#6772,#6773));
++#6775=FACE_OUTER_BOUND('',#6774,.F.);
++#6776=ADVANCED_FACE('',(#6775),#6768,.F.);
++#6777=CARTESIAN_POINT('',(5.5E0,1.568923974228E0,2.19375E1));
++#6778=DIRECTION('',(0.E0,-1.E0,0.E0));
++#6779=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6780=AXIS2_PLACEMENT_3D('',#6777,#6778,#6779);
++#6781=CYLINDRICAL_SURFACE('',#6780,3.E0);
++#6782=ORIENTED_EDGE('',*,*,#6755,.F.);
++#6783=ORIENTED_EDGE('',*,*,#6406,.T.);
++#6785=ORIENTED_EDGE('',*,*,#6784,.T.);
++#6786=ORIENTED_EDGE('',*,*,#5652,.T.);
++#6787=EDGE_LOOP('',(#6782,#6783,#6785,#6786));
++#6788=FACE_OUTER_BOUND('',#6787,.F.);
++#6789=ADVANCED_FACE('',(#6788),#6781,.F.);
++#6790=CARTESIAN_POINT('',(2.5E0,0.E0,1.89375E1));
++#6791=DIRECTION('',(0.E0,0.E0,1.E0));
++#6792=DIRECTION('',(1.E0,0.E0,0.E0));
++#6793=AXIS2_PLACEMENT_3D('',#6790,#6791,#6792);
++#6794=PLANE('',#6793);
++#6795=ORIENTED_EDGE('',*,*,#6784,.F.);
++#6796=ORIENTED_EDGE('',*,*,#6404,.T.);
++#6798=ORIENTED_EDGE('',*,*,#6797,.F.);
++#6799=ORIENTED_EDGE('',*,*,#5638,.F.);
++#6800=EDGE_LOOP('',(#6795,#6796,#6798,#6799));
++#6801=FACE_OUTER_BOUND('',#6800,.F.);
++#6802=ADVANCED_FACE('',(#6801),#6794,.T.);
++#6803=CARTESIAN_POINT('',(1.85E1,-5.889194178308E-2,2.19375E1));
++#6804=DIRECTION('',(0.E0,1.E0,0.E0));
++#6805=DIRECTION('',(1.E0,0.E0,0.E0));
++#6806=AXIS2_PLACEMENT_3D('',#6803,#6804,#6805);
++#6807=CYLINDRICAL_SURFACE('',#6806,3.E0);
++#6809=ORIENTED_EDGE('',*,*,#6808,.F.);
++#6810=ORIENTED_EDGE('',*,*,#5640,.T.);
++#6811=ORIENTED_EDGE('',*,*,#6797,.T.);
++#6812=ORIENTED_EDGE('',*,*,#6402,.T.);
++#6813=EDGE_LOOP('',(#6809,#6810,#6811,#6812));
++#6814=FACE_OUTER_BOUND('',#6813,.F.);
++#6815=ADVANCED_FACE('',(#6814),#6807,.F.);
++#6816=CARTESIAN_POINT('',(2.15E1,1.5E0,2.95E1));
++#6817=DIRECTION('',(1.E0,0.E0,0.E0));
++#6818=DIRECTION('',(0.E0,0.E0,-1.E0));
++#6819=AXIS2_PLACEMENT_3D('',#6816,#6817,#6818);
++#6820=PLANE('',#6819);
++#6821=ORIENTED_EDGE('',*,*,#6808,.T.);
++#6822=ORIENTED_EDGE('',*,*,#6400,.F.);
++#6824=ORIENTED_EDGE('',*,*,#6823,.T.);
++#6825=ORIENTED_EDGE('',*,*,#5642,.T.);
++#6826=EDGE_LOOP('',(#6821,#6822,#6824,#6825));
++#6827=FACE_OUTER_BOUND('',#6826,.F.);
++#6828=ADVANCED_FACE('',(#6827),#6820,.F.);
++#6829=CARTESIAN_POINT('',(2.15E1,1.5E0,2.95E1));
++#6830=DIRECTION('',(1.E0,0.E0,0.E0));
++#6831=DIRECTION('',(0.E0,0.E0,-1.E0));
++#6832=AXIS2_PLACEMENT_3D('',#6829,#6830,#6831);
++#6833=PLANE('',#6832);
++#6835=ORIENTED_EDGE('',*,*,#6834,.T.);
++#6836=ORIENTED_EDGE('',*,*,#5656,.T.);
++#6838=ORIENTED_EDGE('',*,*,#6837,.T.);
++#6839=ORIENTED_EDGE('',*,*,#6422,.F.);
++#6840=EDGE_LOOP('',(#6835,#6836,#6838,#6839));
++#6841=FACE_OUTER_BOUND('',#6840,.F.);
++#6842=ADVANCED_FACE('',(#6841),#6833,.F.);
++#6843=CARTESIAN_POINT('',(1.65E1,1.562633489099E0,2.45E1));
++#6844=DIRECTION('',(0.E0,-1.E0,0.E0));
++#6845=DIRECTION('',(1.E0,0.E0,0.E0));
++#6846=AXIS2_PLACEMENT_3D('',#6843,#6844,#6845);
++#6847=CYLINDRICAL_SURFACE('',#6846,5.E0);
++#6848=ORIENTED_EDGE('',*,*,#6823,.F.);
++#6849=ORIENTED_EDGE('',*,*,#6414,.T.);
++#6851=ORIENTED_EDGE('',*,*,#6850,.T.);
++#6852=ORIENTED_EDGE('',*,*,#5644,.T.);
++#6853=EDGE_LOOP('',(#6848,#6849,#6851,#6852));
++#6854=FACE_OUTER_BOUND('',#6853,.F.);
++#6855=ADVANCED_FACE('',(#6854),#6847,.F.);
++#6856=CARTESIAN_POINT('',(2.5E0,1.5E0,2.95E1));
++#6857=DIRECTION('',(0.E0,0.E0,1.E0));
++#6858=DIRECTION('',(1.E0,0.E0,0.E0));
++#6859=AXIS2_PLACEMENT_3D('',#6856,#6857,#6858);
++#6860=PLANE('',#6859);
++#6862=ORIENTED_EDGE('',*,*,#6861,.T.);
++#6863=ORIENTED_EDGE('',*,*,#5646,.T.);
++#6864=ORIENTED_EDGE('',*,*,#6850,.F.);
++#6865=ORIENTED_EDGE('',*,*,#6412,.F.);
++#6866=EDGE_LOOP('',(#6862,#6863,#6864,#6865));
++#6867=FACE_OUTER_BOUND('',#6866,.F.);
++#6868=ADVANCED_FACE('',(#6867),#6860,.F.);
++#6869=CARTESIAN_POINT('',(7.5E0,1.562633489099E0,2.45E1));
++#6870=DIRECTION('',(0.E0,-1.E0,0.E0));
++#6871=DIRECTION('',(0.E0,0.E0,1.E0));
++#6872=AXIS2_PLACEMENT_3D('',#6869,#6870,#6871);
++#6873=CYLINDRICAL_SURFACE('',#6872,5.E0);
++#6874=ORIENTED_EDGE('',*,*,#6861,.F.);
++#6875=ORIENTED_EDGE('',*,*,#6410,.T.);
++#6876=ORIENTED_EDGE('',*,*,#6758,.T.);
++#6877=ORIENTED_EDGE('',*,*,#5648,.T.);
++#6878=EDGE_LOOP('',(#6874,#6875,#6876,#6877));
++#6879=FACE_OUTER_BOUND('',#6878,.F.);
++#6880=ADVANCED_FACE('',(#6879),#6873,.F.);
++#6881=CARTESIAN_POINT('',(1.85E1,1.568923974228E0,1.40625E1));
++#6882=DIRECTION('',(0.E0,-1.E0,0.E0));
++#6883=DIRECTION('',(1.E0,0.E0,0.E0));
++#6884=AXIS2_PLACEMENT_3D('',#6881,#6882,#6883);
++#6885=CYLINDRICAL_SURFACE('',#6884,3.E0);
++#6886=ORIENTED_EDGE('',*,*,#6834,.F.);
++#6887=ORIENTED_EDGE('',*,*,#6420,.T.);
++#6889=ORIENTED_EDGE('',*,*,#6888,.T.);
++#6890=ORIENTED_EDGE('',*,*,#5658,.T.);
++#6891=EDGE_LOOP('',(#6886,#6887,#6889,#6890));
++#6892=FACE_OUTER_BOUND('',#6891,.F.);
++#6893=ADVANCED_FACE('',(#6892),#6885,.F.);
++#6894=CARTESIAN_POINT('',(2.15E1,0.E0,1.70625E1));
++#6895=DIRECTION('',(0.E0,0.E0,-1.E0));
++#6896=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6897=AXIS2_PLACEMENT_3D('',#6894,#6895,#6896);
++#6898=PLANE('',#6897);
++#6899=ORIENTED_EDGE('',*,*,#6888,.F.);
++#6900=ORIENTED_EDGE('',*,*,#6418,.T.);
++#6902=ORIENTED_EDGE('',*,*,#6901,.F.);
++#6903=ORIENTED_EDGE('',*,*,#5660,.F.);
++#6904=EDGE_LOOP('',(#6899,#6900,#6902,#6903));
++#6905=FACE_OUTER_BOUND('',#6904,.F.);
++#6906=ADVANCED_FACE('',(#6905),#6898,.T.);
++#6907=CARTESIAN_POINT('',(5.5E0,-5.889194178308E-2,1.40625E1));
++#6908=DIRECTION('',(0.E0,1.E0,0.E0));
++#6909=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6910=AXIS2_PLACEMENT_3D('',#6907,#6908,#6909);
++#6911=CYLINDRICAL_SURFACE('',#6910,3.E0);
++#6912=ORIENTED_EDGE('',*,*,#6769,.F.);
++#6913=ORIENTED_EDGE('',*,*,#5662,.T.);
++#6914=ORIENTED_EDGE('',*,*,#6901,.T.);
++#6915=ORIENTED_EDGE('',*,*,#6448,.T.);
++#6916=EDGE_LOOP('',(#6912,#6913,#6914,#6915));
++#6917=FACE_OUTER_BOUND('',#6916,.F.);
++#6918=ADVANCED_FACE('',(#6917),#6911,.F.);
++#6919=CARTESIAN_POINT('',(2.05E1,-5.889194178308E-2,1.325E1));
++#6920=DIRECTION('',(0.E0,1.E0,0.E0));
++#6921=DIRECTION('',(1.E0,0.E0,0.E0));
++#6922=AXIS2_PLACEMENT_3D('',#6919,#6920,#6921);
++#6923=CYLINDRICAL_SURFACE('',#6922,1.E0);
++#6924=ORIENTED_EDGE('',*,*,#6837,.F.);
++#6925=ORIENTED_EDGE('',*,*,#5686,.T.);
++#6927=ORIENTED_EDGE('',*,*,#6926,.T.);
++#6928=ORIENTED_EDGE('',*,*,#6424,.T.);
++#6929=EDGE_LOOP('',(#6924,#6925,#6927,#6928));
++#6930=FACE_OUTER_BOUND('',#6929,.F.);
++#6931=ADVANCED_FACE('',(#6930),#6923,.F.);
++#6932=CARTESIAN_POINT('',(2.6E1,0.E0,1.225E1));
++#6933=DIRECTION('',(0.E0,0.E0,-1.E0));
++#6934=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6935=AXIS2_PLACEMENT_3D('',#6932,#6933,#6934);
++#6936=PLANE('',#6935);
++#6938=ORIENTED_EDGE('',*,*,#6937,.F.);
++#6939=ORIENTED_EDGE('',*,*,#6290,.F.);
++#6941=ORIENTED_EDGE('',*,*,#6940,.T.);
++#6942=ORIENTED_EDGE('',*,*,#5532,.T.);
++#6943=EDGE_LOOP('',(#6938,#6939,#6941,#6942));
++#6944=FACE_OUTER_BOUND('',#6943,.F.);
++#6945=ADVANCED_FACE('',(#6944),#6936,.F.);
++#6946=CARTESIAN_POINT('',(2.6E1,0.E0,1.225E1));
++#6947=DIRECTION('',(0.E0,0.E0,-1.E0));
++#6948=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6949=AXIS2_PLACEMENT_3D('',#6946,#6947,#6948);
++#6950=PLANE('',#6949);
++#6951=ORIENTED_EDGE('',*,*,#6926,.F.);
++#6952=ORIENTED_EDGE('',*,*,#5684,.T.);
++#6954=ORIENTED_EDGE('',*,*,#6953,.F.);
++#6955=ORIENTED_EDGE('',*,*,#6426,.F.);
++#6956=EDGE_LOOP('',(#6951,#6952,#6954,#6955));
++#6957=FACE_OUTER_BOUND('',#6956,.F.);
++#6958=ADVANCED_FACE('',(#6957),#6950,.F.);
++#6959=CARTESIAN_POINT('',(2.5E1,1.568923974228E0,1.325E1));
++#6960=DIRECTION('',(0.E0,-1.E0,0.E0));
++#6961=DIRECTION('',(-1.E0,0.E0,0.E0));
++#6962=AXIS2_PLACEMENT_3D('',#6959,#6960,#6961);
++#6963=CYLINDRICAL_SURFACE('',#6962,1.E0);
++#6965=ORIENTED_EDGE('',*,*,#6964,.F.);
++#6966=ORIENTED_EDGE('',*,*,#6292,.T.);
++#6967=ORIENTED_EDGE('',*,*,#6937,.T.);
++#6968=ORIENTED_EDGE('',*,*,#5530,.T.);
++#6969=EDGE_LOOP('',(#6965,#6966,#6967,#6968));
++#6970=FACE_OUTER_BOUND('',#6969,.F.);
++#6971=ADVANCED_FACE('',(#6970),#6963,.F.);
++#6972=CARTESIAN_POINT('',(2.4E1,0.E0,3.2E1));
++#6973=DIRECTION('',(1.E0,0.E0,0.E0));
++#6974=DIRECTION('',(0.E0,0.E0,-1.E0));
++#6975=AXIS2_PLACEMENT_3D('',#6972,#6973,#6974);
++#6976=PLANE('',#6975);
++#6977=ORIENTED_EDGE('',*,*,#6964,.T.);
++#6978=ORIENTED_EDGE('',*,*,#5528,.F.);
++#6980=ORIENTED_EDGE('',*,*,#6979,.T.);
++#6981=ORIENTED_EDGE('',*,*,#6294,.T.);
++#6982=EDGE_LOOP('',(#6977,#6978,#6980,#6981));
++#6983=FACE_OUTER_BOUND('',#6982,.F.);
++#6984=ADVANCED_FACE('',(#6983),#6976,.T.);
++#6985=CARTESIAN_POINT('',(2.4E1,0.E0,3.2E1));
++#6986=DIRECTION('',(1.E0,0.E0,0.E0));
++#6987=DIRECTION('',(0.E0,0.E0,-1.E0));
++#6988=AXIS2_PLACEMENT_3D('',#6985,#6986,#6987);
++#6989=PLANE('',#6988);
++#6991=ORIENTED_EDGE('',*,*,#6990,.T.);
++#6992=ORIENTED_EDGE('',*,*,#6242,.T.);
++#6994=ORIENTED_EDGE('',*,*,#6993,.F.);
++#6995=ORIENTED_EDGE('',*,*,#5498,.F.);
++#6996=EDGE_LOOP('',(#6991,#6992,#6994,#6995));
++#6997=FACE_OUTER_BOUND('',#6996,.F.);
++#6998=ADVANCED_FACE('',(#6997),#6989,.T.);
++#6999=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
++#7000=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
++#7001=DIRECTION('',(0.E0,1.E0,0.E0));
++#7002=AXIS2_PLACEMENT_3D('',#6999,#7000,#7001);
++#7003=PLANE('',#7002);
++#7004=ORIENTED_EDGE('',*,*,#6979,.F.);
++#7005=ORIENTED_EDGE('',*,*,#5526,.T.);
++#7007=ORIENTED_EDGE('',*,*,#7006,.T.);
++#7008=ORIENTED_EDGE('',*,*,#6296,.F.);
++#7009=EDGE_LOOP('',(#7004,#7005,#7007,#7008));
++#7010=FACE_OUTER_BOUND('',#7009,.F.);
++#7011=ADVANCED_FACE('',(#7010),#7003,.T.);
++#7012=CARTESIAN_POINT('',(0.E0,0.E0,3.2E1));
++#7013=DIRECTION('',(0.E0,0.E0,1.E0));
++#7014=DIRECTION('',(1.E0,0.E0,0.E0));
++#7015=AXIS2_PLACEMENT_3D('',#7012,#7013,#7014);
++#7016=PLANE('',#7015);
++#7017=ORIENTED_EDGE('',*,*,#5524,.F.);
++#7019=ORIENTED_EDGE('',*,*,#7018,.T.);
++#7020=ORIENTED_EDGE('',*,*,#6298,.T.);
++#7021=ORIENTED_EDGE('',*,*,#7006,.F.);
++#7022=EDGE_LOOP('',(#7017,#7019,#7020,#7021));
++#7023=FACE_OUTER_BOUND('',#7022,.F.);
++#7024=ADVANCED_FACE('',(#7023),#7016,.T.);
++#7025=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
++#7026=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
++#7027=DIRECTION('',(0.E0,1.E0,0.E0));
++#7028=AXIS2_PLACEMENT_3D('',#7025,#7026,#7027);
++#7029=PLANE('',#7028);
++#7030=ORIENTED_EDGE('',*,*,#7018,.F.);
++#7031=ORIENTED_EDGE('',*,*,#5522,.T.);
++#7032=ORIENTED_EDGE('',*,*,#6678,.T.);
++#7033=ORIENTED_EDGE('',*,*,#6300,.F.);
++#7034=EDGE_LOOP('',(#7030,#7031,#7032,#7033));
++#7035=FACE_OUTER_BOUND('',#7034,.F.);
++#7036=ADVANCED_FACE('',(#7035),#7029,.T.);
++#7037=CARTESIAN_POINT('',(2.5E1,-7.055249658685E-2,7.E0));
++#7038=DIRECTION('',(0.E0,1.E0,0.E0));
++#7039=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7040=AXIS2_PLACEMENT_3D('',#7037,#7038,#7039);
++#7041=CYLINDRICAL_SURFACE('',#7040,1.E0);
++#7042=ORIENTED_EDGE('',*,*,#6990,.F.);
++#7043=ORIENTED_EDGE('',*,*,#5496,.T.);
++#7044=ORIENTED_EDGE('',*,*,#5965,.T.);
++#7045=ORIENTED_EDGE('',*,*,#6244,.T.);
++#7046=EDGE_LOOP('',(#7042,#7043,#7044,#7045));
++#7047=FACE_OUTER_BOUND('',#7046,.F.);
++#7048=ADVANCED_FACE('',(#7047),#7041,.F.);
++#7049=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
++#7050=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
++#7051=DIRECTION('',(0.E0,1.E0,0.E0));
++#7052=AXIS2_PLACEMENT_3D('',#7049,#7050,#7051);
++#7053=PLANE('',#7052);
++#7055=ORIENTED_EDGE('',*,*,#7054,.F.);
++#7056=ORIENTED_EDGE('',*,*,#5500,.T.);
++#7057=ORIENTED_EDGE('',*,*,#6993,.T.);
++#7058=ORIENTED_EDGE('',*,*,#6240,.F.);
++#7059=EDGE_LOOP('',(#7055,#7056,#7057,#7058));
++#7060=FACE_OUTER_BOUND('',#7059,.F.);
++#7061=ADVANCED_FACE('',(#7060),#7053,.T.);
++#7062=CARTESIAN_POINT('',(2.4E1,0.E0,0.E0));
++#7063=DIRECTION('',(0.E0,0.E0,-1.E0));
++#7064=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7065=AXIS2_PLACEMENT_3D('',#7062,#7063,#7064);
++#7066=PLANE('',#7065);
++#7067=ORIENTED_EDGE('',*,*,#5502,.F.);
++#7068=ORIENTED_EDGE('',*,*,#7054,.T.);
++#7069=ORIENTED_EDGE('',*,*,#6238,.T.);
++#7071=ORIENTED_EDGE('',*,*,#7070,.F.);
++#7072=EDGE_LOOP('',(#7067,#7068,#7069,#7071));
++#7073=FACE_OUTER_BOUND('',#7072,.F.);
++#7074=ADVANCED_FACE('',(#7073),#7066,.T.);
++#7075=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
++#7076=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
++#7077=DIRECTION('',(0.E0,1.E0,0.E0));
++#7078=AXIS2_PLACEMENT_3D('',#7075,#7076,#7077);
++#7079=PLANE('',#7078);
++#7080=ORIENTED_EDGE('',*,*,#6691,.F.);
++#7081=ORIENTED_EDGE('',*,*,#5504,.T.);
++#7082=ORIENTED_EDGE('',*,*,#7070,.T.);
++#7083=ORIENTED_EDGE('',*,*,#6236,.F.);
++#7084=EDGE_LOOP('',(#7080,#7081,#7082,#7083));
++#7085=FACE_OUTER_BOUND('',#7084,.F.);
++#7086=ADVANCED_FACE('',(#7085),#7079,.T.);
++#7087=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
++#7088=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
++#7089=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7090=AXIS2_PLACEMENT_3D('',#7087,#7088,#7089);
++#7091=PLANE('',#7090);
++#7092=ORIENTED_EDGE('',*,*,#6940,.F.);
++#7093=ORIENTED_EDGE('',*,*,#6288,.T.);
++#7095=ORIENTED_EDGE('',*,*,#7094,.T.);
++#7096=ORIENTED_EDGE('',*,*,#5534,.F.);
++#7097=EDGE_LOOP('',(#7092,#7093,#7095,#7096));
++#7098=FACE_OUTER_BOUND('',#7097,.F.);
++#7099=ADVANCED_FACE('',(#7098),#7091,.T.);
++#7100=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0));
++#7101=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7102=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7103=AXIS2_PLACEMENT_3D('',#7100,#7101,#7102);
++#7104=PLANE('',#7103);
++#7105=ORIENTED_EDGE('',*,*,#5968,.T.);
++#7106=ORIENTED_EDGE('',*,*,#5536,.T.);
++#7107=ORIENTED_EDGE('',*,*,#7094,.F.);
++#7108=ORIENTED_EDGE('',*,*,#6286,.F.);
++#7109=ORIENTED_EDGE('',*,*,#6165,.F.);
++#7111=ORIENTED_EDGE('',*,*,#7110,.F.);
++#7112=EDGE_LOOP('',(#7105,#7106,#7107,#7108,#7109,#7111));
++#7113=FACE_OUTER_BOUND('',#7112,.F.);
++#7114=ADVANCED_FACE('',(#7113),#7104,.F.);
++#7115=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
++#7116=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0));
++#7117=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
++#7118=AXIS2_PLACEMENT_3D('',#7115,#7116,#7117);
++#7119=PLANE('',#7118);
++#7120=ORIENTED_EDGE('',*,*,#5970,.T.);
++#7121=ORIENTED_EDGE('',*,*,#7110,.T.);
++#7122=ORIENTED_EDGE('',*,*,#6163,.F.);
++#7124=ORIENTED_EDGE('',*,*,#7123,.F.);
++#7125=EDGE_LOOP('',(#7120,#7121,#7122,#7124));
++#7126=FACE_OUTER_BOUND('',#7125,.F.);
++#7127=ADVANCED_FACE('',(#7126),#7119,.F.);
++#7128=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0));
++#7129=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7130=DIRECTION('',(1.E0,0.E0,0.E0));
++#7131=AXIS2_PLACEMENT_3D('',#7128,#7129,#7130);
++#7132=PLANE('',#7131);
++#7133=ORIENTED_EDGE('',*,*,#5972,.F.);
++#7134=ORIENTED_EDGE('',*,*,#7123,.T.);
++#7135=ORIENTED_EDGE('',*,*,#6161,.F.);
++#7137=ORIENTED_EDGE('',*,*,#7136,.F.);
++#7138=EDGE_LOOP('',(#7133,#7134,#7135,#7137));
++#7139=FACE_OUTER_BOUND('',#7138,.F.);
++#7141=ORIENTED_EDGE('',*,*,#7140,.T.);
++#7143=ORIENTED_EDGE('',*,*,#7142,.T.);
++#7144=EDGE_LOOP('',(#7141,#7143));
++#7145=FACE_BOUND('',#7144,.F.);
++#7147=ORIENTED_EDGE('',*,*,#7146,.T.);
++#7149=ORIENTED_EDGE('',*,*,#7148,.T.);
++#7150=EDGE_LOOP('',(#7147,#7149));
++#7151=FACE_BOUND('',#7150,.F.);
++#7152=ADVANCED_FACE('',(#7139,#7145,#7151),#7132,.F.);
++#7153=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
++#7154=DIRECTION('',(1.E0,0.E0,0.E0));
++#7155=DIRECTION('',(0.E0,1.E0,0.E0));
++#7156=AXIS2_PLACEMENT_3D('',#7153,#7154,#7155);
++#7157=PLANE('',#7156);
++#7159=ORIENTED_EDGE('',*,*,#7158,.T.);
++#7160=ORIENTED_EDGE('',*,*,#6430,.F.);
++#7162=ORIENTED_EDGE('',*,*,#7161,.T.);
++#7163=ORIENTED_EDGE('',*,*,#5680,.T.);
++#7164=EDGE_LOOP('',(#7159,#7160,#7162,#7163));
++#7165=FACE_OUTER_BOUND('',#7164,.F.);
++#7166=ADVANCED_FACE('',(#7165),#7157,.F.);
++#7167=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
++#7168=DIRECTION('',(1.E0,0.E0,0.E0));
++#7169=DIRECTION('',(0.E0,1.E0,0.E0));
++#7170=AXIS2_PLACEMENT_3D('',#7167,#7168,#7169);
++#7171=PLANE('',#7170);
++#7172=ORIENTED_EDGE('',*,*,#6325,.F.);
++#7173=ORIENTED_EDGE('',*,*,#5974,.T.);
++#7174=ORIENTED_EDGE('',*,*,#7136,.T.);
++#7175=ORIENTED_EDGE('',*,*,#6159,.F.);
++#7176=EDGE_LOOP('',(#7172,#7173,#7174,#7175));
++#7177=FACE_OUTER_BOUND('',#7176,.F.);
++#7178=ADVANCED_FACE('',(#7177),#7171,.F.);
++#7179=CARTESIAN_POINT('',(1.8E1,-7.099592191979E-2,1.1E1));
++#7180=DIRECTION('',(0.E0,1.E0,0.E0));
++#7181=DIRECTION('',(1.E0,0.E0,0.E0));
++#7182=AXIS2_PLACEMENT_3D('',#7179,#7180,#7181);
++#7183=CYLINDRICAL_SURFACE('',#7182,1.E0);
++#7184=ORIENTED_EDGE('',*,*,#7158,.F.);
++#7185=ORIENTED_EDGE('',*,*,#5678,.T.);
++#7187=ORIENTED_EDGE('',*,*,#7186,.T.);
++#7188=ORIENTED_EDGE('',*,*,#6432,.T.);
++#7189=EDGE_LOOP('',(#7184,#7185,#7187,#7188));
++#7190=FACE_OUTER_BOUND('',#7189,.F.);
++#7191=ADVANCED_FACE('',(#7190),#7183,.F.);
++#7192=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1));
++#7193=DIRECTION('',(0.E0,0.E0,1.E0));
++#7194=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7195=AXIS2_PLACEMENT_3D('',#7192,#7193,#7194);
++#7196=PLANE('',#7195);
++#7198=ORIENTED_EDGE('',*,*,#7197,.F.);
++#7199=ORIENTED_EDGE('',*,*,#6434,.T.);
++#7200=ORIENTED_EDGE('',*,*,#7186,.F.);
++#7201=ORIENTED_EDGE('',*,*,#5676,.F.);
++#7202=EDGE_LOOP('',(#7198,#7199,#7200,#7201));
++#7203=FACE_OUTER_BOUND('',#7202,.F.);
++#7204=ADVANCED_FACE('',(#7203),#7196,.T.);
++#7205=CARTESIAN_POINT('',(6.E0,1.567729432957E0,1.1E1));
++#7206=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7207=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7208=AXIS2_PLACEMENT_3D('',#7205,#7206,#7207);
++#7209=CYLINDRICAL_SURFACE('',#7208,1.E0);
++#7211=ORIENTED_EDGE('',*,*,#7210,.F.);
++#7212=ORIENTED_EDGE('',*,*,#6436,.T.);
++#7213=ORIENTED_EDGE('',*,*,#7197,.T.);
++#7214=ORIENTED_EDGE('',*,*,#5674,.T.);
++#7215=EDGE_LOOP('',(#7211,#7212,#7213,#7214));
++#7216=FACE_OUTER_BOUND('',#7215,.F.);
++#7217=ADVANCED_FACE('',(#7216),#7209,.F.);
++#7218=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
++#7219=DIRECTION('',(1.E0,0.E0,0.E0));
++#7220=DIRECTION('',(0.E0,1.E0,0.E0));
++#7221=AXIS2_PLACEMENT_3D('',#7218,#7219,#7220);
++#7222=PLANE('',#7221);
++#7223=ORIENTED_EDGE('',*,*,#7210,.T.);
++#7224=ORIENTED_EDGE('',*,*,#5672,.F.);
++#7226=ORIENTED_EDGE('',*,*,#7225,.T.);
++#7227=ORIENTED_EDGE('',*,*,#6438,.T.);
++#7228=EDGE_LOOP('',(#7223,#7224,#7226,#7227));
++#7229=FACE_OUTER_BOUND('',#7228,.F.);
++#7230=ADVANCED_FACE('',(#7229),#7222,.T.);
++#7231=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
++#7232=DIRECTION('',(1.E0,0.E0,0.E0));
++#7233=DIRECTION('',(0.E0,1.E0,0.E0));
++#7234=AXIS2_PLACEMENT_3D('',#7231,#7232,#7233);
++#7235=PLANE('',#7234);
++#7236=ORIENTED_EDGE('',*,*,#6322,.T.);
++#7238=ORIENTED_EDGE('',*,*,#7237,.T.);
++#7240=ORIENTED_EDGE('',*,*,#7239,.F.);
++#7241=ORIENTED_EDGE('',*,*,#5978,.T.);
++#7242=EDGE_LOOP('',(#7236,#7238,#7240,#7241));
++#7243=FACE_OUTER_BOUND('',#7242,.F.);
++#7244=ADVANCED_FACE('',(#7243),#7235,.T.);
++#7245=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
++#7246=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
++#7247=DIRECTION('',(0.E0,1.E0,0.E0));
++#7248=AXIS2_PLACEMENT_3D('',#7245,#7246,#7247);
++#7249=PLANE('',#7248);
++#7250=ORIENTED_EDGE('',*,*,#7225,.F.);
++#7251=ORIENTED_EDGE('',*,*,#5670,.T.);
++#7252=ORIENTED_EDGE('',*,*,#6718,.T.);
++#7253=ORIENTED_EDGE('',*,*,#6440,.F.);
++#7254=EDGE_LOOP('',(#7250,#7251,#7252,#7253));
++#7255=FACE_OUTER_BOUND('',#7254,.F.);
++#7256=ADVANCED_FACE('',(#7255),#7249,.T.);
++#7257=CARTESIAN_POINT('',(0.E0,0.E0,1.E1));
++#7258=DIRECTION('',(0.E0,0.E0,1.E0));
++#7259=DIRECTION('',(1.E0,0.E0,0.E0));
++#7260=AXIS2_PLACEMENT_3D('',#7257,#7258,#7259);
++#7261=PLANE('',#7260);
++#7263=ORIENTED_EDGE('',*,*,#7262,.F.);
++#7264=ORIENTED_EDGE('',*,*,#6312,.F.);
++#7266=ORIENTED_EDGE('',*,*,#7265,.F.);
++#7268=ORIENTED_EDGE('',*,*,#7267,.F.);
++#7270=ORIENTED_EDGE('',*,*,#7269,.F.);
++#7271=ORIENTED_EDGE('',*,*,#7237,.F.);
++#7272=ORIENTED_EDGE('',*,*,#6320,.F.);
++#7274=ORIENTED_EDGE('',*,*,#7273,.T.);
++#7276=ORIENTED_EDGE('',*,*,#7275,.F.);
++#7277=EDGE_LOOP('',(#7263,#7264,#7266,#7268,#7270,#7271,#7272,#7274,#7276));
++#7278=FACE_OUTER_BOUND('',#7277,.F.);
++#7280=ORIENTED_EDGE('',*,*,#7279,.T.);
++#7282=ORIENTED_EDGE('',*,*,#7281,.T.);
++#7283=EDGE_LOOP('',(#7280,#7282));
++#7284=FACE_BOUND('',#7283,.F.);
++#7286=ORIENTED_EDGE('',*,*,#7285,.F.);
++#7288=ORIENTED_EDGE('',*,*,#7287,.T.);
++#7290=ORIENTED_EDGE('',*,*,#7289,.F.);
++#7292=ORIENTED_EDGE('',*,*,#7291,.T.);
++#7294=ORIENTED_EDGE('',*,*,#7293,.F.);
++#7296=ORIENTED_EDGE('',*,*,#7295,.T.);
++#7298=ORIENTED_EDGE('',*,*,#7297,.F.);
++#7300=ORIENTED_EDGE('',*,*,#7299,.T.);
++#7302=ORIENTED_EDGE('',*,*,#7301,.F.);
++#7304=ORIENTED_EDGE('',*,*,#7303,.T.);
++#7306=ORIENTED_EDGE('',*,*,#7305,.F.);
++#7308=ORIENTED_EDGE('',*,*,#7307,.T.);
++#7309=EDGE_LOOP('',(#7286,#7288,#7290,#7292,#7294,#7296,#7298,#7300,#7302,#7304,
++#7306,#7308));
++#7310=FACE_BOUND('',#7309,.F.);
++#7311=ADVANCED_FACE('',(#7278,#7284,#7310),#7261,.T.);
++#7312=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0));
++#7313=DIRECTION('',(0.E0,0.E0,1.E0));
++#7314=DIRECTION('',(1.E0,0.E0,0.E0));
++#7315=AXIS2_PLACEMENT_3D('',#7312,#7313,#7314);
++#7316=CYLINDRICAL_SURFACE('',#7315,1.625E-1);
++#7317=ORIENTED_EDGE('',*,*,#6031,.T.);
++#7319=ORIENTED_EDGE('',*,*,#7318,.T.);
++#7320=ORIENTED_EDGE('',*,*,#7279,.F.);
++#7322=ORIENTED_EDGE('',*,*,#7321,.F.);
++#7323=EDGE_LOOP('',(#7317,#7319,#7320,#7322));
++#7324=FACE_OUTER_BOUND('',#7323,.F.);
++#7325=ADVANCED_FACE('',(#7324),#7316,.F.);
++#7326=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0));
++#7327=DIRECTION('',(0.E0,0.E0,1.E0));
++#7328=DIRECTION('',(1.E0,0.E0,0.E0));
++#7329=AXIS2_PLACEMENT_3D('',#7326,#7327,#7328);
++#7330=CYLINDRICAL_SURFACE('',#7329,1.625E-1);
++#7331=ORIENTED_EDGE('',*,*,#6033,.T.);
++#7332=ORIENTED_EDGE('',*,*,#7321,.T.);
++#7333=ORIENTED_EDGE('',*,*,#7281,.F.);
++#7334=ORIENTED_EDGE('',*,*,#7318,.F.);
++#7335=EDGE_LOOP('',(#7331,#7332,#7333,#7334));
++#7336=FACE_OUTER_BOUND('',#7335,.F.);
++#7337=ADVANCED_FACE('',(#7336),#7330,.F.);
++#7338=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.2E1));
++#7339=DIRECTION('',(1.E0,0.E0,0.E0));
++#7340=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7341=AXIS2_PLACEMENT_3D('',#7338,#7339,#7340);
++#7342=PLANE('',#7341);
++#7343=ORIENTED_EDGE('',*,*,#6314,.T.);
++#7344=ORIENTED_EDGE('',*,*,#7262,.T.);
++#7346=ORIENTED_EDGE('',*,*,#7345,.T.);
++#7347=EDGE_LOOP('',(#7343,#7344,#7346));
++#7348=FACE_OUTER_BOUND('',#7347,.F.);
++#7349=ADVANCED_FACE('',(#7348),#7342,.F.);
++#7350=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1));
++#7351=DIRECTION('',(0.E0,5.E-1,8.660254037844E-1));
++#7352=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
++#7353=AXIS2_PLACEMENT_3D('',#7350,#7351,#7352);
++#7354=PLANE('',#7353);
++#7355=ORIENTED_EDGE('',*,*,#6316,.F.);
++#7356=ORIENTED_EDGE('',*,*,#7345,.F.);
++#7357=ORIENTED_EDGE('',*,*,#7275,.T.);
++#7359=ORIENTED_EDGE('',*,*,#7358,.T.);
++#7360=EDGE_LOOP('',(#7355,#7356,#7357,#7359));
++#7361=FACE_OUTER_BOUND('',#7360,.F.);
++#7363=ORIENTED_EDGE('',*,*,#7362,.T.);
++#7365=ORIENTED_EDGE('',*,*,#7364,.T.);
++#7366=EDGE_LOOP('',(#7363,#7365));
++#7367=FACE_BOUND('',#7366,.F.);
++#7368=ADVANCED_FACE('',(#7361,#7367),#7354,.T.);
++#7369=CARTESIAN_POINT('',(2.E0,1.5E0,1.2E1));
++#7370=DIRECTION('',(1.E0,0.E0,0.E0));
++#7371=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7372=AXIS2_PLACEMENT_3D('',#7369,#7370,#7371);
++#7373=PLANE('',#7372);
++#7374=ORIENTED_EDGE('',*,*,#6318,.F.);
++#7375=ORIENTED_EDGE('',*,*,#7358,.F.);
++#7376=ORIENTED_EDGE('',*,*,#7273,.F.);
++#7377=EDGE_LOOP('',(#7374,#7375,#7376));
++#7378=FACE_OUTER_BOUND('',#7377,.F.);
++#7379=ADVANCED_FACE('',(#7378),#7373,.T.);
++#7380=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1));
++#7381=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7382=DIRECTION('',(1.E0,0.E0,0.E0));
++#7383=AXIS2_PLACEMENT_3D('',#7380,#7381,#7382);
++#7384=CYLINDRICAL_SURFACE('',#7383,2.575E-1);
++#7386=ORIENTED_EDGE('',*,*,#7385,.F.);
++#7387=ORIENTED_EDGE('',*,*,#7362,.F.);
++#7389=ORIENTED_EDGE('',*,*,#7388,.F.);
++#7391=ORIENTED_EDGE('',*,*,#7390,.F.);
++#7392=EDGE_LOOP('',(#7386,#7387,#7389,#7391));
++#7393=FACE_OUTER_BOUND('',#7392,.F.);
++#7394=ADVANCED_FACE('',(#7393),#7384,.F.);
++#7395=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1));
++#7396=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7397=DIRECTION('',(1.E0,0.E0,0.E0));
++#7398=AXIS2_PLACEMENT_3D('',#7395,#7396,#7397);
++#7399=CYLINDRICAL_SURFACE('',#7398,2.575E-1);
++#7400=ORIENTED_EDGE('',*,*,#7388,.T.);
++#7401=ORIENTED_EDGE('',*,*,#7364,.F.);
++#7402=ORIENTED_EDGE('',*,*,#7385,.T.);
++#7404=ORIENTED_EDGE('',*,*,#7403,.F.);
++#7405=EDGE_LOOP('',(#7400,#7401,#7402,#7404));
++#7406=FACE_OUTER_BOUND('',#7405,.F.);
++#7407=ADVANCED_FACE('',(#7406),#7399,.F.);
++#7408=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
++#7409=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7410=DIRECTION('',(1.E0,0.E0,0.E0));
++#7411=AXIS2_PLACEMENT_3D('',#7408,#7409,#7410);
++#7412=PLANE('',#7411);
++#7413=ORIENTED_EDGE('',*,*,#7390,.T.);
++#7414=ORIENTED_EDGE('',*,*,#7403,.T.);
++#7415=EDGE_LOOP('',(#7413,#7414));
++#7416=FACE_OUTER_BOUND('',#7415,.F.);
++#7418=ORIENTED_EDGE('',*,*,#7417,.F.);
++#7420=ORIENTED_EDGE('',*,*,#7419,.F.);
++#7421=EDGE_LOOP('',(#7418,#7420));
++#7422=FACE_BOUND('',#7421,.F.);
++#7423=ADVANCED_FACE('',(#7416,#7422),#7412,.F.);
++#7424=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1));
++#7425=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7426=DIRECTION('',(1.E0,0.E0,0.E0));
++#7427=AXIS2_PLACEMENT_3D('',#7424,#7425,#7426);
++#7428=CYLINDRICAL_SURFACE('',#7427,1.925E-1);
++#7429=ORIENTED_EDGE('',*,*,#7417,.T.);
++#7431=ORIENTED_EDGE('',*,*,#7430,.T.);
++#7432=ORIENTED_EDGE('',*,*,#5620,.F.);
++#7434=ORIENTED_EDGE('',*,*,#7433,.F.);
++#7435=EDGE_LOOP('',(#7429,#7431,#7432,#7434));
++#7436=FACE_OUTER_BOUND('',#7435,.F.);
++#7437=ADVANCED_FACE('',(#7436),#7428,.F.);
++#7438=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1));
++#7439=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7440=DIRECTION('',(1.E0,0.E0,0.E0));
++#7441=AXIS2_PLACEMENT_3D('',#7438,#7439,#7440);
++#7442=CYLINDRICAL_SURFACE('',#7441,1.925E-1);
++#7443=ORIENTED_EDGE('',*,*,#7419,.T.);
++#7444=ORIENTED_EDGE('',*,*,#7433,.T.);
++#7445=ORIENTED_EDGE('',*,*,#5622,.F.);
++#7446=ORIENTED_EDGE('',*,*,#7430,.F.);
++#7447=EDGE_LOOP('',(#7443,#7444,#7445,#7446));
++#7448=FACE_OUTER_BOUND('',#7447,.F.);
++#7449=ADVANCED_FACE('',(#7448),#7442,.F.);
++#7450=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0));
++#7451=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7452=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7453=AXIS2_PLACEMENT_3D('',#7450,#7451,#7452);
++#7454=PLANE('',#7453);
++#7455=ORIENTED_EDGE('',*,*,#7265,.T.);
++#7456=ORIENTED_EDGE('',*,*,#6310,.T.);
++#7458=ORIENTED_EDGE('',*,*,#7457,.F.);
++#7459=ORIENTED_EDGE('',*,*,#5512,.F.);
++#7460=ORIENTED_EDGE('',*,*,#5984,.T.);
++#7462=ORIENTED_EDGE('',*,*,#7461,.T.);
++#7463=EDGE_LOOP('',(#7455,#7456,#7458,#7459,#7460,#7462));
++#7464=FACE_OUTER_BOUND('',#7463,.F.);
++#7465=ADVANCED_FACE('',(#7464),#7454,.T.);
++#7466=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
++#7467=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
++#7468=DIRECTION('',(0.E0,1.E0,0.E0));
++#7469=AXIS2_PLACEMENT_3D('',#7466,#7467,#7468);
++#7470=PLANE('',#7469);
++#7471=ORIENTED_EDGE('',*,*,#6731,.F.);
++#7472=ORIENTED_EDGE('',*,*,#5514,.T.);
++#7473=ORIENTED_EDGE('',*,*,#7457,.T.);
++#7474=ORIENTED_EDGE('',*,*,#6308,.F.);
++#7475=EDGE_LOOP('',(#7471,#7472,#7473,#7474));
++#7476=FACE_OUTER_BOUND('',#7475,.F.);
++#7477=ADVANCED_FACE('',(#7476),#7470,.T.);
++#7478=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0));
++#7479=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
++#7480=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
++#7481=AXIS2_PLACEMENT_3D('',#7478,#7479,#7480);
++#7482=PLANE('',#7481);
++#7483=ORIENTED_EDGE('',*,*,#5982,.F.);
++#7485=ORIENTED_EDGE('',*,*,#7484,.T.);
++#7486=ORIENTED_EDGE('',*,*,#7267,.T.);
++#7487=ORIENTED_EDGE('',*,*,#7461,.F.);
++#7488=EDGE_LOOP('',(#7483,#7485,#7486,#7487));
++#7489=FACE_OUTER_BOUND('',#7488,.F.);
++#7490=ADVANCED_FACE('',(#7489),#7482,.T.);
++#7491=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
++#7492=DIRECTION('',(0.E0,1.E0,0.E0));
++#7493=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7494=AXIS2_PLACEMENT_3D('',#7491,#7492,#7493);
++#7495=PLANE('',#7494);
++#7496=ORIENTED_EDGE('',*,*,#5980,.F.);
++#7497=ORIENTED_EDGE('',*,*,#7239,.T.);
++#7498=ORIENTED_EDGE('',*,*,#7269,.T.);
++#7499=ORIENTED_EDGE('',*,*,#7484,.F.);
++#7500=EDGE_LOOP('',(#7496,#7497,#7498,#7499));
++#7501=FACE_OUTER_BOUND('',#7500,.F.);
++#7503=ORIENTED_EDGE('',*,*,#7502,.F.);
++#7505=ORIENTED_EDGE('',*,*,#7504,.F.);
++#7506=EDGE_LOOP('',(#7503,#7505));
++#7507=FACE_BOUND('',#7506,.F.);
++#7509=ORIENTED_EDGE('',*,*,#7508,.F.);
++#7511=ORIENTED_EDGE('',*,*,#7510,.F.);
++#7512=EDGE_LOOP('',(#7509,#7511));
++#7513=FACE_BOUND('',#7512,.F.);
++#7514=ADVANCED_FACE('',(#7501,#7507,#7513),#7495,.T.);
++#7515=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0));
++#7516=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7517=DIRECTION('',(1.E0,0.E0,0.E0));
++#7518=AXIS2_PLACEMENT_3D('',#7515,#7516,#7517);
++#7519=CYLINDRICAL_SURFACE('',#7518,9.5E-2);
++#7520=ORIENTED_EDGE('',*,*,#7502,.T.);
++#7522=ORIENTED_EDGE('',*,*,#7521,.T.);
++#7524=ORIENTED_EDGE('',*,*,#7523,.F.);
++#7526=ORIENTED_EDGE('',*,*,#7525,.F.);
++#7527=EDGE_LOOP('',(#7520,#7522,#7524,#7526));
++#7528=FACE_OUTER_BOUND('',#7527,.F.);
++#7529=ADVANCED_FACE('',(#7528),#7519,.F.);
++#7530=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0));
++#7531=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7532=DIRECTION('',(1.E0,0.E0,0.E0));
++#7533=AXIS2_PLACEMENT_3D('',#7530,#7531,#7532);
++#7534=CYLINDRICAL_SURFACE('',#7533,9.5E-2);
++#7535=ORIENTED_EDGE('',*,*,#7504,.T.);
++#7536=ORIENTED_EDGE('',*,*,#7525,.T.);
++#7538=ORIENTED_EDGE('',*,*,#7537,.F.);
++#7539=ORIENTED_EDGE('',*,*,#7521,.F.);
++#7540=EDGE_LOOP('',(#7535,#7536,#7538,#7539));
++#7541=FACE_OUTER_BOUND('',#7540,.F.);
++#7542=ADVANCED_FACE('',(#7541),#7534,.F.);
++#7543=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0));
++#7544=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7545=DIRECTION('',(1.E0,0.E0,0.E0));
++#7546=AXIS2_PLACEMENT_3D('',#7543,#7544,#7545);
++#7547=PLANE('',#7546);
++#7548=ORIENTED_EDGE('',*,*,#7523,.T.);
++#7549=ORIENTED_EDGE('',*,*,#7537,.T.);
++#7550=EDGE_LOOP('',(#7548,#7549));
++#7551=FACE_OUTER_BOUND('',#7550,.F.);
++#7552=ADVANCED_FACE('',(#7551),#7547,.F.);
++#7553=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0));
++#7554=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7555=DIRECTION('',(1.E0,0.E0,0.E0));
++#7556=AXIS2_PLACEMENT_3D('',#7553,#7554,#7555);
++#7557=CYLINDRICAL_SURFACE('',#7556,6.25E-2);
++#7558=ORIENTED_EDGE('',*,*,#7508,.T.);
++#7560=ORIENTED_EDGE('',*,*,#7559,.T.);
++#7562=ORIENTED_EDGE('',*,*,#7561,.F.);
++#7564=ORIENTED_EDGE('',*,*,#7563,.F.);
++#7565=EDGE_LOOP('',(#7558,#7560,#7562,#7564));
++#7566=FACE_OUTER_BOUND('',#7565,.F.);
++#7567=ADVANCED_FACE('',(#7566),#7557,.F.);
++#7568=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0));
++#7569=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7570=DIRECTION('',(1.E0,0.E0,0.E0));
++#7571=AXIS2_PLACEMENT_3D('',#7568,#7569,#7570);
++#7572=CYLINDRICAL_SURFACE('',#7571,6.25E-2);
++#7573=ORIENTED_EDGE('',*,*,#7510,.T.);
++#7574=ORIENTED_EDGE('',*,*,#7563,.T.);
++#7576=ORIENTED_EDGE('',*,*,#7575,.F.);
++#7577=ORIENTED_EDGE('',*,*,#7559,.F.);
++#7578=EDGE_LOOP('',(#7573,#7574,#7576,#7577));
++#7579=FACE_OUTER_BOUND('',#7578,.F.);
++#7580=ADVANCED_FACE('',(#7579),#7572,.F.);
++#7581=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0));
++#7582=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7583=DIRECTION('',(1.E0,0.E0,0.E0));
++#7584=AXIS2_PLACEMENT_3D('',#7581,#7582,#7583);
++#7585=PLANE('',#7584);
++#7586=ORIENTED_EDGE('',*,*,#7561,.T.);
++#7587=ORIENTED_EDGE('',*,*,#7575,.T.);
++#7588=EDGE_LOOP('',(#7586,#7587));
++#7589=FACE_OUTER_BOUND('',#7588,.F.);
++#7590=ADVANCED_FACE('',(#7589),#7585,.F.);
++#7591=CARTESIAN_POINT('',(2.15E0,6.65E0,9.441108058217E0));
++#7592=DIRECTION('',(0.E0,0.E0,1.E0));
++#7593=DIRECTION('',(1.E0,0.E0,0.E0));
++#7594=AXIS2_PLACEMENT_3D('',#7591,#7592,#7593);
++#7595=CYLINDRICAL_SURFACE('',#7594,3.5E-1);
++#7597=ORIENTED_EDGE('',*,*,#7596,.T.);
++#7598=ORIENTED_EDGE('',*,*,#7285,.T.);
++#7600=ORIENTED_EDGE('',*,*,#7599,.F.);
++#7602=ORIENTED_EDGE('',*,*,#7601,.T.);
++#7603=EDGE_LOOP('',(#7597,#7598,#7600,#7602));
++#7604=FACE_OUTER_BOUND('',#7603,.F.);
++#7605=ADVANCED_FACE('',(#7604),#7595,.T.);
++#7606=CARTESIAN_POINT('',(2.5E0,7.E0,1.E1));
++#7607=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7608=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7609=AXIS2_PLACEMENT_3D('',#7606,#7607,#7608);
++#7610=PLANE('',#7609);
++#7611=ORIENTED_EDGE('',*,*,#7596,.F.);
++#7613=ORIENTED_EDGE('',*,*,#7612,.T.);
++#7615=ORIENTED_EDGE('',*,*,#7614,.F.);
++#7616=ORIENTED_EDGE('',*,*,#7287,.F.);
++#7617=EDGE_LOOP('',(#7611,#7613,#7615,#7616));
++#7618=FACE_OUTER_BOUND('',#7617,.F.);
++#7619=ADVANCED_FACE('',(#7618),#7610,.F.);
++#7620=CARTESIAN_POINT('',(0.E0,0.E0,9.5E0));
++#7621=DIRECTION('',(0.E0,0.E0,1.E0));
++#7622=DIRECTION('',(1.E0,0.E0,0.E0));
++#7623=AXIS2_PLACEMENT_3D('',#7620,#7621,#7622);
++#7624=PLANE('',#7623);
++#7625=ORIENTED_EDGE('',*,*,#7612,.F.);
++#7626=ORIENTED_EDGE('',*,*,#7601,.F.);
++#7628=ORIENTED_EDGE('',*,*,#7627,.F.);
++#7630=ORIENTED_EDGE('',*,*,#7629,.F.);
++#7632=ORIENTED_EDGE('',*,*,#7631,.F.);
++#7634=ORIENTED_EDGE('',*,*,#7633,.F.);
++#7636=ORIENTED_EDGE('',*,*,#7635,.F.);
++#7638=ORIENTED_EDGE('',*,*,#7637,.F.);
++#7640=ORIENTED_EDGE('',*,*,#7639,.F.);
++#7642=ORIENTED_EDGE('',*,*,#7641,.F.);
++#7644=ORIENTED_EDGE('',*,*,#7643,.F.);
++#7646=ORIENTED_EDGE('',*,*,#7645,.F.);
++#7647=EDGE_LOOP('',(#7625,#7626,#7628,#7630,#7632,#7634,#7636,#7638,#7640,#7642,
++#7644,#7646));
++#7648=FACE_OUTER_BOUND('',#7647,.F.);
++#7649=ADVANCED_FACE('',(#7648),#7624,.T.);
++#7650=CARTESIAN_POINT('',(1.357969178416E0,7.E0,1.E1));
++#7651=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7652=DIRECTION('',(1.E0,0.E0,0.E0));
++#7653=AXIS2_PLACEMENT_3D('',#7650,#7651,#7652);
++#7654=PLANE('',#7653);
++#7655=ORIENTED_EDGE('',*,*,#7599,.T.);
++#7656=ORIENTED_EDGE('',*,*,#7307,.F.);
++#7658=ORIENTED_EDGE('',*,*,#7657,.T.);
++#7659=ORIENTED_EDGE('',*,*,#7627,.T.);
++#7660=EDGE_LOOP('',(#7655,#7656,#7658,#7659));
++#7661=FACE_OUTER_BOUND('',#7660,.F.);
++#7662=ADVANCED_FACE('',(#7661),#7654,.F.);
++#7663=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,1.006892397423E1));
++#7664=DIRECTION('',(0.E0,0.E0,-1.E0));
++#7665=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7666=AXIS2_PLACEMENT_3D('',#7663,#7664,#7665);
++#7667=CYLINDRICAL_SURFACE('',#7666,3.5E-1);
++#7668=ORIENTED_EDGE('',*,*,#7657,.F.);
++#7669=ORIENTED_EDGE('',*,*,#7305,.T.);
++#7671=ORIENTED_EDGE('',*,*,#7670,.T.);
++#7672=ORIENTED_EDGE('',*,*,#7629,.T.);
++#7673=EDGE_LOOP('',(#7668,#7669,#7671,#7672));
++#7674=FACE_OUTER_BOUND('',#7673,.F.);
++#7675=ADVANCED_FACE('',(#7674),#7667,.F.);
++#7676=CARTESIAN_POINT('',(2.746858067304E0,9.5E0,1.E1));
++#7677=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
++#7678=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
++#7679=AXIS2_PLACEMENT_3D('',#7676,#7677,#7678);
++#7680=PLANE('',#7679);
++#7681=ORIENTED_EDGE('',*,*,#7670,.F.);
++#7682=ORIENTED_EDGE('',*,*,#7303,.F.);
++#7684=ORIENTED_EDGE('',*,*,#7683,.T.);
++#7685=ORIENTED_EDGE('',*,*,#7631,.T.);
++#7686=EDGE_LOOP('',(#7681,#7682,#7684,#7685));
++#7687=FACE_OUTER_BOUND('',#7686,.F.);
++#7688=ADVANCED_FACE('',(#7687),#7680,.F.);
++#7689=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,1.006892397423E1));
++#7690=DIRECTION('',(0.E0,0.E0,-1.E0));
++#7691=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
++#7692=AXIS2_PLACEMENT_3D('',#7689,#7690,#7691);
++#7693=CYLINDRICAL_SURFACE('',#7692,3.5E-1);
++#7694=ORIENTED_EDGE('',*,*,#7683,.F.);
++#7695=ORIENTED_EDGE('',*,*,#7301,.T.);
++#7697=ORIENTED_EDGE('',*,*,#7696,.T.);
++#7698=ORIENTED_EDGE('',*,*,#7633,.T.);
++#7699=EDGE_LOOP('',(#7694,#7695,#7697,#7698));
++#7700=FACE_OUTER_BOUND('',#7699,.F.);
++#7701=ADVANCED_FACE('',(#7700),#7693,.F.);
++#7702=CARTESIAN_POINT('',(4.5E0,9.5E0,1.E1));
++#7703=DIRECTION('',(0.E0,1.E0,0.E0));
++#7704=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7705=AXIS2_PLACEMENT_3D('',#7702,#7703,#7704);
++#7706=PLANE('',#7705);
++#7707=ORIENTED_EDGE('',*,*,#7696,.F.);
++#7708=ORIENTED_EDGE('',*,*,#7299,.F.);
++#7710=ORIENTED_EDGE('',*,*,#7709,.T.);
++#7711=ORIENTED_EDGE('',*,*,#7635,.T.);
++#7712=EDGE_LOOP('',(#7707,#7708,#7710,#7711));
++#7713=FACE_OUTER_BOUND('',#7712,.F.);
++#7714=ADVANCED_FACE('',(#7713),#7706,.F.);
++#7715=CARTESIAN_POINT('',(4.15E0,9.15E0,1.006892397423E1));
++#7716=DIRECTION('',(0.E0,0.E0,-1.E0));
++#7717=DIRECTION('',(0.E0,1.E0,0.E0));
++#7718=AXIS2_PLACEMENT_3D('',#7715,#7716,#7717);
++#7719=CYLINDRICAL_SURFACE('',#7718,3.5E-1);
++#7720=ORIENTED_EDGE('',*,*,#7709,.F.);
++#7721=ORIENTED_EDGE('',*,*,#7297,.T.);
++#7723=ORIENTED_EDGE('',*,*,#7722,.T.);
++#7724=ORIENTED_EDGE('',*,*,#7637,.T.);
++#7725=EDGE_LOOP('',(#7720,#7721,#7723,#7724));
++#7726=FACE_OUTER_BOUND('',#7725,.F.);
++#7727=ADVANCED_FACE('',(#7726),#7719,.F.);
++#7728=CARTESIAN_POINT('',(4.5E0,2.E0,1.E1));
++#7729=DIRECTION('',(1.E0,0.E0,0.E0));
++#7730=DIRECTION('',(0.E0,1.E0,0.E0));
++#7731=AXIS2_PLACEMENT_3D('',#7728,#7729,#7730);
++#7732=PLANE('',#7731);
++#7734=ORIENTED_EDGE('',*,*,#7733,.T.);
++#7735=ORIENTED_EDGE('',*,*,#7639,.T.);
++#7736=ORIENTED_EDGE('',*,*,#7722,.F.);
++#7737=ORIENTED_EDGE('',*,*,#7295,.F.);
++#7738=EDGE_LOOP('',(#7734,#7735,#7736,#7737));
++#7739=FACE_OUTER_BOUND('',#7738,.F.);
++#7740=ADVANCED_FACE('',(#7739),#7732,.F.);
++#7741=CARTESIAN_POINT('',(4.15E0,2.35E0,1.006892397423E1));
++#7742=DIRECTION('',(0.E0,0.E0,-1.E0));
++#7743=DIRECTION('',(1.E0,0.E0,0.E0));
++#7744=AXIS2_PLACEMENT_3D('',#7741,#7742,#7743);
++#7745=CYLINDRICAL_SURFACE('',#7744,3.5E-1);
++#7746=ORIENTED_EDGE('',*,*,#7733,.F.);
++#7747=ORIENTED_EDGE('',*,*,#7293,.T.);
++#7749=ORIENTED_EDGE('',*,*,#7748,.T.);
++#7750=ORIENTED_EDGE('',*,*,#7641,.T.);
++#7751=EDGE_LOOP('',(#7746,#7747,#7749,#7750));
++#7752=FACE_OUTER_BOUND('',#7751,.F.);
++#7753=ADVANCED_FACE('',(#7752),#7745,.F.);
++#7754=CARTESIAN_POINT('',(2.5E0,2.E0,1.E1));
++#7755=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7756=DIRECTION('',(1.E0,0.E0,0.E0));
++#7757=AXIS2_PLACEMENT_3D('',#7754,#7755,#7756);
++#7758=PLANE('',#7757);
++#7760=ORIENTED_EDGE('',*,*,#7759,.T.);
++#7761=ORIENTED_EDGE('',*,*,#7643,.T.);
++#7762=ORIENTED_EDGE('',*,*,#7748,.F.);
++#7763=ORIENTED_EDGE('',*,*,#7291,.F.);
++#7764=EDGE_LOOP('',(#7760,#7761,#7762,#7763));
++#7765=FACE_OUTER_BOUND('',#7764,.F.);
++#7766=ADVANCED_FACE('',(#7765),#7758,.F.);
++#7767=CARTESIAN_POINT('',(2.85E0,2.35E0,1.006892397423E1));
++#7768=DIRECTION('',(0.E0,0.E0,-1.E0));
++#7769=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7770=AXIS2_PLACEMENT_3D('',#7767,#7768,#7769);
++#7771=CYLINDRICAL_SURFACE('',#7770,3.5E-1);
++#7772=ORIENTED_EDGE('',*,*,#7759,.F.);
++#7773=ORIENTED_EDGE('',*,*,#7289,.T.);
++#7774=ORIENTED_EDGE('',*,*,#7614,.T.);
++#7775=ORIENTED_EDGE('',*,*,#7645,.T.);
++#7776=EDGE_LOOP('',(#7772,#7773,#7774,#7775));
++#7777=FACE_OUTER_BOUND('',#7776,.F.);
++#7778=ADVANCED_FACE('',(#7777),#7771,.F.);
++#7779=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
++#7780=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
++#7781=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7782=AXIS2_PLACEMENT_3D('',#7779,#7780,#7781);
++#7783=PLANE('',#7782);
++#7784=ORIENTED_EDGE('',*,*,#7161,.F.);
++#7785=ORIENTED_EDGE('',*,*,#6428,.T.);
++#7786=ORIENTED_EDGE('',*,*,#6953,.T.);
++#7787=ORIENTED_EDGE('',*,*,#5682,.F.);
++#7788=EDGE_LOOP('',(#7784,#7785,#7786,#7787));
++#7789=FACE_OUTER_BOUND('',#7788,.F.);
++#7790=ADVANCED_FACE('',(#7789),#7783,.T.);
++#7791=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0));
++#7792=DIRECTION('',(0.E0,1.E0,0.E0));
++#7793=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7794=AXIS2_PLACEMENT_3D('',#7791,#7792,#7793);
++#7795=CYLINDRICAL_SURFACE('',#7794,9.5E-2);
++#7796=ORIENTED_EDGE('',*,*,#7140,.F.);
++#7798=ORIENTED_EDGE('',*,*,#7797,.T.);
++#7800=ORIENTED_EDGE('',*,*,#7799,.T.);
++#7802=ORIENTED_EDGE('',*,*,#7801,.F.);
++#7803=EDGE_LOOP('',(#7796,#7798,#7800,#7802));
++#7804=FACE_OUTER_BOUND('',#7803,.F.);
++#7805=ADVANCED_FACE('',(#7804),#7795,.F.);
++#7806=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0));
++#7807=DIRECTION('',(0.E0,1.E0,0.E0));
++#7808=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7809=AXIS2_PLACEMENT_3D('',#7806,#7807,#7808);
++#7810=CYLINDRICAL_SURFACE('',#7809,9.5E-2);
++#7811=ORIENTED_EDGE('',*,*,#7142,.F.);
++#7812=ORIENTED_EDGE('',*,*,#7801,.T.);
++#7814=ORIENTED_EDGE('',*,*,#7813,.T.);
++#7815=ORIENTED_EDGE('',*,*,#7797,.F.);
++#7816=EDGE_LOOP('',(#7811,#7812,#7814,#7815));
++#7817=FACE_OUTER_BOUND('',#7816,.F.);
++#7818=ADVANCED_FACE('',(#7817),#7810,.F.);
++#7819=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0));
++#7820=DIRECTION('',(0.E0,1.E0,0.E0));
++#7821=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7822=AXIS2_PLACEMENT_3D('',#7819,#7820,#7821);
++#7823=PLANE('',#7822);
++#7824=ORIENTED_EDGE('',*,*,#7799,.F.);
++#7825=ORIENTED_EDGE('',*,*,#7813,.F.);
++#7826=EDGE_LOOP('',(#7824,#7825));
++#7827=FACE_OUTER_BOUND('',#7826,.F.);
++#7828=ADVANCED_FACE('',(#7827),#7823,.T.);
++#7829=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0));
++#7830=DIRECTION('',(0.E0,1.E0,0.E0));
++#7831=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7832=AXIS2_PLACEMENT_3D('',#7829,#7830,#7831);
++#7833=CYLINDRICAL_SURFACE('',#7832,6.25E-2);
++#7834=ORIENTED_EDGE('',*,*,#7146,.F.);
++#7836=ORIENTED_EDGE('',*,*,#7835,.T.);
++#7838=ORIENTED_EDGE('',*,*,#7837,.T.);
++#7840=ORIENTED_EDGE('',*,*,#7839,.F.);
++#7841=EDGE_LOOP('',(#7834,#7836,#7838,#7840));
++#7842=FACE_OUTER_BOUND('',#7841,.F.);
++#7843=ADVANCED_FACE('',(#7842),#7833,.F.);
++#7844=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0));
++#7845=DIRECTION('',(0.E0,1.E0,0.E0));
++#7846=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7847=AXIS2_PLACEMENT_3D('',#7844,#7845,#7846);
++#7848=CYLINDRICAL_SURFACE('',#7847,6.25E-2);
++#7849=ORIENTED_EDGE('',*,*,#7148,.F.);
++#7850=ORIENTED_EDGE('',*,*,#7839,.T.);
++#7852=ORIENTED_EDGE('',*,*,#7851,.T.);
++#7853=ORIENTED_EDGE('',*,*,#7835,.F.);
++#7854=EDGE_LOOP('',(#7849,#7850,#7852,#7853));
++#7855=FACE_OUTER_BOUND('',#7854,.F.);
++#7856=ADVANCED_FACE('',(#7855),#7848,.F.);
++#7857=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0));
++#7858=DIRECTION('',(0.E0,1.E0,0.E0));
++#7859=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7860=AXIS2_PLACEMENT_3D('',#7857,#7858,#7859);
++#7861=PLANE('',#7860);
++#7862=ORIENTED_EDGE('',*,*,#7837,.F.);
++#7863=ORIENTED_EDGE('',*,*,#7851,.F.);
++#7864=EDGE_LOOP('',(#7862,#7863));
++#7865=FACE_OUTER_BOUND('',#7864,.F.);
++#7866=ADVANCED_FACE('',(#7865),#7861,.T.);
++#7867=CARTESIAN_POINT('',(1.755E1,1.176878221735E0,2.975E1));
++#7868=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7869=DIRECTION('',(1.E0,0.E0,0.E0));
++#7870=AXIS2_PLACEMENT_3D('',#7867,#7868,#7869);
++#7871=CYLINDRICAL_SURFACE('',#7870,1.E-1);
++#7872=ORIENTED_EDGE('',*,*,#6346,.F.);
++#7874=ORIENTED_EDGE('',*,*,#7873,.F.);
++#7876=ORIENTED_EDGE('',*,*,#7875,.T.);
++#7878=ORIENTED_EDGE('',*,*,#7877,.T.);
++#7879=EDGE_LOOP('',(#7872,#7874,#7876,#7878));
++#7880=FACE_OUTER_BOUND('',#7879,.F.);
++#7881=ADVANCED_FACE('',(#7880),#7871,.F.);
++#7882=CARTESIAN_POINT('',(1.755E1,1.176878221735E0,2.975E1));
++#7883=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7884=DIRECTION('',(1.E0,0.E0,0.E0));
++#7885=AXIS2_PLACEMENT_3D('',#7882,#7883,#7884);
++#7886=CYLINDRICAL_SURFACE('',#7885,1.E-1);
++#7887=ORIENTED_EDGE('',*,*,#6348,.F.);
++#7888=ORIENTED_EDGE('',*,*,#7877,.F.);
++#7890=ORIENTED_EDGE('',*,*,#7889,.F.);
++#7891=ORIENTED_EDGE('',*,*,#7873,.T.);
++#7892=EDGE_LOOP('',(#7887,#7888,#7890,#7891));
++#7893=FACE_OUTER_BOUND('',#7892,.F.);
++#7894=ADVANCED_FACE('',(#7893),#7886,.F.);
++#7895=CARTESIAN_POINT('',(1.755E1,1.234346967234E0,2.975E1));
++#7896=DIRECTION('',(0.E0,1.E0,0.E0));
++#7897=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7898=AXIS2_PLACEMENT_3D('',#7895,#7896,#7897);
++#7899=CONICAL_SURFACE('',#7898,7.288815195685E-2,6.E1);
++#7901=ORIENTED_EDGE('',*,*,#7900,.F.);
++#7903=ORIENTED_EDGE('',*,*,#7902,.T.);
++#7904=ORIENTED_EDGE('',*,*,#7889,.T.);
++#7905=EDGE_LOOP('',(#7901,#7903,#7904));
++#7906=FACE_OUTER_BOUND('',#7905,.F.);
++#7907=ADVANCED_FACE('',(#7906),#7899,.F.);
++#7908=CARTESIAN_POINT('',(1.755E1,1.234346967234E0,2.975E1));
++#7909=DIRECTION('',(0.E0,1.E0,0.E0));
++#7910=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7911=AXIS2_PLACEMENT_3D('',#7908,#7909,#7910);
++#7912=CONICAL_SURFACE('',#7911,7.288815195685E-2,6.E1);
++#7913=ORIENTED_EDGE('',*,*,#7900,.T.);
++#7914=ORIENTED_EDGE('',*,*,#7875,.F.);
++#7915=ORIENTED_EDGE('',*,*,#7902,.F.);
++#7916=EDGE_LOOP('',(#7913,#7914,#7915));
++#7917=FACE_OUTER_BOUND('',#7916,.F.);
++#7918=ADVANCED_FACE('',(#7917),#7912,.F.);
++#7919=CARTESIAN_POINT('',(1.655E1,1.176878221735E0,2.975E1));
++#7920=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7921=DIRECTION('',(1.E0,0.E0,0.E0));
++#7922=AXIS2_PLACEMENT_3D('',#7919,#7920,#7921);
++#7923=CYLINDRICAL_SURFACE('',#7922,1.E-1);
++#7924=ORIENTED_EDGE('',*,*,#6352,.F.);
++#7926=ORIENTED_EDGE('',*,*,#7925,.F.);
++#7928=ORIENTED_EDGE('',*,*,#7927,.T.);
++#7930=ORIENTED_EDGE('',*,*,#7929,.T.);
++#7931=EDGE_LOOP('',(#7924,#7926,#7928,#7930));
++#7932=FACE_OUTER_BOUND('',#7931,.F.);
++#7933=ADVANCED_FACE('',(#7932),#7923,.F.);
++#7934=CARTESIAN_POINT('',(1.655E1,1.176878221735E0,2.975E1));
++#7935=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7936=DIRECTION('',(1.E0,0.E0,0.E0));
++#7937=AXIS2_PLACEMENT_3D('',#7934,#7935,#7936);
++#7938=CYLINDRICAL_SURFACE('',#7937,1.E-1);
++#7939=ORIENTED_EDGE('',*,*,#6354,.F.);
++#7940=ORIENTED_EDGE('',*,*,#7929,.F.);
++#7942=ORIENTED_EDGE('',*,*,#7941,.F.);
++#7943=ORIENTED_EDGE('',*,*,#7925,.T.);
++#7944=EDGE_LOOP('',(#7939,#7940,#7942,#7943));
++#7945=FACE_OUTER_BOUND('',#7944,.F.);
++#7946=ADVANCED_FACE('',(#7945),#7938,.F.);
++#7947=CARTESIAN_POINT('',(1.655E1,1.234346967234E0,2.975E1));
++#7948=DIRECTION('',(0.E0,1.E0,0.E0));
++#7949=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7950=AXIS2_PLACEMENT_3D('',#7947,#7948,#7949);
++#7951=CONICAL_SURFACE('',#7950,7.288815195685E-2,6.E1);
++#7953=ORIENTED_EDGE('',*,*,#7952,.F.);
++#7955=ORIENTED_EDGE('',*,*,#7954,.T.);
++#7956=ORIENTED_EDGE('',*,*,#7941,.T.);
++#7957=EDGE_LOOP('',(#7953,#7955,#7956));
++#7958=FACE_OUTER_BOUND('',#7957,.F.);
++#7959=ADVANCED_FACE('',(#7958),#7951,.F.);
++#7960=CARTESIAN_POINT('',(1.655E1,1.234346967234E0,2.975E1));
++#7961=DIRECTION('',(0.E0,1.E0,0.E0));
++#7962=DIRECTION('',(-1.E0,0.E0,0.E0));
++#7963=AXIS2_PLACEMENT_3D('',#7960,#7961,#7962);
++#7964=CONICAL_SURFACE('',#7963,7.288815195685E-2,6.E1);
++#7965=ORIENTED_EDGE('',*,*,#7952,.T.);
++#7966=ORIENTED_EDGE('',*,*,#7927,.F.);
++#7967=ORIENTED_EDGE('',*,*,#7954,.F.);
++#7968=EDGE_LOOP('',(#7965,#7966,#7967));
++#7969=FACE_OUTER_BOUND('',#7968,.F.);
++#7970=ADVANCED_FACE('',(#7969),#7964,.F.);
++#7971=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
++#7972=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7973=DIRECTION('',(1.E0,0.E0,0.E0));
++#7974=AXIS2_PLACEMENT_3D('',#7971,#7972,#7973);
++#7975=CYLINDRICAL_SURFACE('',#7974,2.575E-1);
++#7976=ORIENTED_EDGE('',*,*,#6248,.T.);
++#7978=ORIENTED_EDGE('',*,*,#7977,.T.);
++#7980=ORIENTED_EDGE('',*,*,#7979,.F.);
++#7982=ORIENTED_EDGE('',*,*,#7981,.F.);
++#7983=EDGE_LOOP('',(#7976,#7978,#7980,#7982));
++#7984=FACE_OUTER_BOUND('',#7983,.F.);
++#7985=ADVANCED_FACE('',(#7984),#7975,.F.);
++#7986=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
++#7987=DIRECTION('',(0.E0,-1.E0,0.E0));
++#7988=DIRECTION('',(1.E0,0.E0,0.E0));
++#7989=AXIS2_PLACEMENT_3D('',#7986,#7987,#7988);
++#7990=CYLINDRICAL_SURFACE('',#7989,2.575E-1);
++#7991=ORIENTED_EDGE('',*,*,#6250,.T.);
++#7992=ORIENTED_EDGE('',*,*,#7981,.T.);
++#7994=ORIENTED_EDGE('',*,*,#7993,.F.);
++#7995=ORIENTED_EDGE('',*,*,#7977,.F.);
++#7996=EDGE_LOOP('',(#7991,#7992,#7994,#7995));
++#7997=FACE_OUTER_BOUND('',#7996,.F.);
++#7998=ADVANCED_FACE('',(#7997),#7990,.F.);
++#7999=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
++#8000=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8001=DIRECTION('',(1.E0,0.E0,0.E0));
++#8002=AXIS2_PLACEMENT_3D('',#7999,#8000,#8001);
++#8003=PLANE('',#8002);
++#8004=ORIENTED_EDGE('',*,*,#7979,.T.);
++#8005=ORIENTED_EDGE('',*,*,#7993,.T.);
++#8006=EDGE_LOOP('',(#8004,#8005));
++#8007=FACE_OUTER_BOUND('',#8006,.F.);
++#8009=ORIENTED_EDGE('',*,*,#8008,.F.);
++#8011=ORIENTED_EDGE('',*,*,#8010,.F.);
++#8012=EDGE_LOOP('',(#8009,#8011));
++#8013=FACE_BOUND('',#8012,.F.);
++#8014=ADVANCED_FACE('',(#8007,#8013),#8003,.F.);
++#8015=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
++#8016=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8017=DIRECTION('',(1.E0,0.E0,0.E0));
++#8018=AXIS2_PLACEMENT_3D('',#8015,#8016,#8017);
++#8019=CYLINDRICAL_SURFACE('',#8018,1.925E-1);
++#8020=ORIENTED_EDGE('',*,*,#8008,.T.);
++#8022=ORIENTED_EDGE('',*,*,#8021,.T.);
++#8023=ORIENTED_EDGE('',*,*,#5626,.F.);
++#8025=ORIENTED_EDGE('',*,*,#8024,.F.);
++#8026=EDGE_LOOP('',(#8020,#8022,#8023,#8025));
++#8027=FACE_OUTER_BOUND('',#8026,.F.);
++#8028=ADVANCED_FACE('',(#8027),#8019,.F.);
++#8029=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
++#8030=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8031=DIRECTION('',(1.E0,0.E0,0.E0));
++#8032=AXIS2_PLACEMENT_3D('',#8029,#8030,#8031);
++#8033=CYLINDRICAL_SURFACE('',#8032,1.925E-1);
++#8034=ORIENTED_EDGE('',*,*,#8010,.T.);
++#8035=ORIENTED_EDGE('',*,*,#8024,.T.);
++#8036=ORIENTED_EDGE('',*,*,#5628,.F.);
++#8037=ORIENTED_EDGE('',*,*,#8021,.F.);
++#8038=EDGE_LOOP('',(#8034,#8035,#8036,#8037));
++#8039=FACE_OUTER_BOUND('',#8038,.F.);
++#8040=ADVANCED_FACE('',(#8039),#8033,.F.);
++#8041=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
++#8042=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8043=DIRECTION('',(1.E0,0.E0,0.E0));
++#8044=AXIS2_PLACEMENT_3D('',#8041,#8042,#8043);
++#8045=CYLINDRICAL_SURFACE('',#8044,2.575E-1);
++#8046=ORIENTED_EDGE('',*,*,#6358,.T.);
++#8048=ORIENTED_EDGE('',*,*,#8047,.T.);
++#8050=ORIENTED_EDGE('',*,*,#8049,.F.);
++#8052=ORIENTED_EDGE('',*,*,#8051,.F.);
++#8053=EDGE_LOOP('',(#8046,#8048,#8050,#8052));
++#8054=FACE_OUTER_BOUND('',#8053,.F.);
++#8055=ADVANCED_FACE('',(#8054),#8045,.F.);
++#8056=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
++#8057=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8058=DIRECTION('',(1.E0,0.E0,0.E0));
++#8059=AXIS2_PLACEMENT_3D('',#8056,#8057,#8058);
++#8060=CYLINDRICAL_SURFACE('',#8059,2.575E-1);
++#8061=ORIENTED_EDGE('',*,*,#6360,.T.);
++#8062=ORIENTED_EDGE('',*,*,#8051,.T.);
++#8064=ORIENTED_EDGE('',*,*,#8063,.F.);
++#8065=ORIENTED_EDGE('',*,*,#8047,.F.);
++#8066=EDGE_LOOP('',(#8061,#8062,#8064,#8065));
++#8067=FACE_OUTER_BOUND('',#8066,.F.);
++#8068=ADVANCED_FACE('',(#8067),#8060,.F.);
++#8069=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
++#8070=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8071=DIRECTION('',(1.E0,0.E0,0.E0));
++#8072=AXIS2_PLACEMENT_3D('',#8069,#8070,#8071);
++#8073=PLANE('',#8072);
++#8074=ORIENTED_EDGE('',*,*,#8049,.T.);
++#8075=ORIENTED_EDGE('',*,*,#8063,.T.);
++#8076=EDGE_LOOP('',(#8074,#8075));
++#8077=FACE_OUTER_BOUND('',#8076,.F.);
++#8079=ORIENTED_EDGE('',*,*,#8078,.F.);
++#8081=ORIENTED_EDGE('',*,*,#8080,.F.);
++#8082=EDGE_LOOP('',(#8079,#8081));
++#8083=FACE_BOUND('',#8082,.F.);
++#8084=ADVANCED_FACE('',(#8077,#8083),#8073,.F.);
++#8085=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
++#8086=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8087=DIRECTION('',(1.E0,0.E0,0.E0));
++#8088=AXIS2_PLACEMENT_3D('',#8085,#8086,#8087);
++#8089=CYLINDRICAL_SURFACE('',#8088,1.925E-1);
++#8090=ORIENTED_EDGE('',*,*,#8078,.T.);
++#8092=ORIENTED_EDGE('',*,*,#8091,.T.);
++#8093=ORIENTED_EDGE('',*,*,#5614,.F.);
++#8095=ORIENTED_EDGE('',*,*,#8094,.F.);
++#8096=EDGE_LOOP('',(#8090,#8092,#8093,#8095));
++#8097=FACE_OUTER_BOUND('',#8096,.F.);
++#8098=ADVANCED_FACE('',(#8097),#8089,.F.);
++#8099=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
++#8100=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8101=DIRECTION('',(1.E0,0.E0,0.E0));
++#8102=AXIS2_PLACEMENT_3D('',#8099,#8100,#8101);
++#8103=CYLINDRICAL_SURFACE('',#8102,1.925E-1);
++#8104=ORIENTED_EDGE('',*,*,#8080,.T.);
++#8105=ORIENTED_EDGE('',*,*,#8094,.T.);
++#8106=ORIENTED_EDGE('',*,*,#5616,.F.);
++#8107=ORIENTED_EDGE('',*,*,#8091,.F.);
++#8108=EDGE_LOOP('',(#8104,#8105,#8106,#8107));
++#8109=FACE_OUTER_BOUND('',#8108,.F.);
++#8110=ADVANCED_FACE('',(#8109),#8103,.F.);
++#8111=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
++#8112=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8113=DIRECTION('',(1.E0,0.E0,0.E0));
++#8114=AXIS2_PLACEMENT_3D('',#8111,#8112,#8113);
++#8115=CYLINDRICAL_SURFACE('',#8114,2.575E-1);
++#8116=ORIENTED_EDGE('',*,*,#6364,.T.);
++#8118=ORIENTED_EDGE('',*,*,#8117,.T.);
++#8120=ORIENTED_EDGE('',*,*,#8119,.F.);
++#8122=ORIENTED_EDGE('',*,*,#8121,.F.);
++#8123=EDGE_LOOP('',(#8116,#8118,#8120,#8122));
++#8124=FACE_OUTER_BOUND('',#8123,.F.);
++#8125=ADVANCED_FACE('',(#8124),#8115,.F.);
++#8126=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
++#8127=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8128=DIRECTION('',(1.E0,0.E0,0.E0));
++#8129=AXIS2_PLACEMENT_3D('',#8126,#8127,#8128);
++#8130=CYLINDRICAL_SURFACE('',#8129,2.575E-1);
++#8131=ORIENTED_EDGE('',*,*,#6366,.T.);
++#8132=ORIENTED_EDGE('',*,*,#8121,.T.);
++#8134=ORIENTED_EDGE('',*,*,#8133,.F.);
++#8135=ORIENTED_EDGE('',*,*,#8117,.F.);
++#8136=EDGE_LOOP('',(#8131,#8132,#8134,#8135));
++#8137=FACE_OUTER_BOUND('',#8136,.F.);
++#8138=ADVANCED_FACE('',(#8137),#8130,.F.);
++#8139=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
++#8140=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8141=DIRECTION('',(1.E0,0.E0,0.E0));
++#8142=AXIS2_PLACEMENT_3D('',#8139,#8140,#8141);
++#8143=PLANE('',#8142);
++#8144=ORIENTED_EDGE('',*,*,#8119,.T.);
++#8145=ORIENTED_EDGE('',*,*,#8133,.T.);
++#8146=EDGE_LOOP('',(#8144,#8145));
++#8147=FACE_OUTER_BOUND('',#8146,.F.);
++#8149=ORIENTED_EDGE('',*,*,#8148,.F.);
++#8151=ORIENTED_EDGE('',*,*,#8150,.F.);
++#8152=EDGE_LOOP('',(#8149,#8151));
++#8153=FACE_BOUND('',#8152,.F.);
++#8154=ADVANCED_FACE('',(#8147,#8153),#8143,.F.);
++#8155=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
++#8156=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8157=DIRECTION('',(1.E0,0.E0,0.E0));
++#8158=AXIS2_PLACEMENT_3D('',#8155,#8156,#8157);
++#8159=CYLINDRICAL_SURFACE('',#8158,1.925E-1);
++#8160=ORIENTED_EDGE('',*,*,#8148,.T.);
++#8162=ORIENTED_EDGE('',*,*,#8161,.T.);
++#8163=ORIENTED_EDGE('',*,*,#5608,.F.);
++#8165=ORIENTED_EDGE('',*,*,#8164,.F.);
++#8166=EDGE_LOOP('',(#8160,#8162,#8163,#8165));
++#8167=FACE_OUTER_BOUND('',#8166,.F.);
++#8168=ADVANCED_FACE('',(#8167),#8159,.F.);
++#8169=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
++#8170=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8171=DIRECTION('',(1.E0,0.E0,0.E0));
++#8172=AXIS2_PLACEMENT_3D('',#8169,#8170,#8171);
++#8173=CYLINDRICAL_SURFACE('',#8172,1.925E-1);
++#8174=ORIENTED_EDGE('',*,*,#8150,.T.);
++#8175=ORIENTED_EDGE('',*,*,#8164,.T.);
++#8176=ORIENTED_EDGE('',*,*,#5610,.F.);
++#8177=ORIENTED_EDGE('',*,*,#8161,.F.);
++#8178=EDGE_LOOP('',(#8174,#8175,#8176,#8177));
++#8179=FACE_OUTER_BOUND('',#8178,.F.);
++#8180=ADVANCED_FACE('',(#8179),#8173,.F.);
++#8181=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
++#8182=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8183=DIRECTION('',(1.E0,0.E0,0.E0));
++#8184=AXIS2_PLACEMENT_3D('',#8181,#8182,#8183);
++#8185=CYLINDRICAL_SURFACE('',#8184,2.575E-1);
++#8186=ORIENTED_EDGE('',*,*,#6254,.T.);
++#8188=ORIENTED_EDGE('',*,*,#8187,.T.);
++#8190=ORIENTED_EDGE('',*,*,#8189,.F.);
++#8192=ORIENTED_EDGE('',*,*,#8191,.F.);
++#8193=EDGE_LOOP('',(#8186,#8188,#8190,#8192));
++#8194=FACE_OUTER_BOUND('',#8193,.F.);
++#8195=ADVANCED_FACE('',(#8194),#8185,.F.);
++#8196=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
++#8197=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8198=DIRECTION('',(1.E0,0.E0,0.E0));
++#8199=AXIS2_PLACEMENT_3D('',#8196,#8197,#8198);
++#8200=CYLINDRICAL_SURFACE('',#8199,2.575E-1);
++#8201=ORIENTED_EDGE('',*,*,#6256,.T.);
++#8202=ORIENTED_EDGE('',*,*,#8191,.T.);
++#8204=ORIENTED_EDGE('',*,*,#8203,.F.);
++#8205=ORIENTED_EDGE('',*,*,#8187,.F.);
++#8206=EDGE_LOOP('',(#8201,#8202,#8204,#8205));
++#8207=FACE_OUTER_BOUND('',#8206,.F.);
++#8208=ADVANCED_FACE('',(#8207),#8200,.F.);
++#8209=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
++#8210=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8211=DIRECTION('',(1.E0,0.E0,0.E0));
++#8212=AXIS2_PLACEMENT_3D('',#8209,#8210,#8211);
++#8213=PLANE('',#8212);
++#8214=ORIENTED_EDGE('',*,*,#8189,.T.);
++#8215=ORIENTED_EDGE('',*,*,#8203,.T.);
++#8216=EDGE_LOOP('',(#8214,#8215));
++#8217=FACE_OUTER_BOUND('',#8216,.F.);
++#8219=ORIENTED_EDGE('',*,*,#8218,.F.);
++#8221=ORIENTED_EDGE('',*,*,#8220,.F.);
++#8222=EDGE_LOOP('',(#8219,#8221));
++#8223=FACE_BOUND('',#8222,.F.);
++#8224=ADVANCED_FACE('',(#8217,#8223),#8213,.F.);
++#8225=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
++#8226=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8227=DIRECTION('',(1.E0,0.E0,0.E0));
++#8228=AXIS2_PLACEMENT_3D('',#8225,#8226,#8227);
++#8229=CYLINDRICAL_SURFACE('',#8228,1.925E-1);
++#8230=ORIENTED_EDGE('',*,*,#8218,.T.);
++#8232=ORIENTED_EDGE('',*,*,#8231,.T.);
++#8233=ORIENTED_EDGE('',*,*,#5602,.F.);
++#8235=ORIENTED_EDGE('',*,*,#8234,.F.);
++#8236=EDGE_LOOP('',(#8230,#8232,#8233,#8235));
++#8237=FACE_OUTER_BOUND('',#8236,.F.);
++#8238=ADVANCED_FACE('',(#8237),#8229,.F.);
++#8239=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
++#8240=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8241=DIRECTION('',(1.E0,0.E0,0.E0));
++#8242=AXIS2_PLACEMENT_3D('',#8239,#8240,#8241);
++#8243=CYLINDRICAL_SURFACE('',#8242,1.925E-1);
++#8244=ORIENTED_EDGE('',*,*,#8220,.T.);
++#8245=ORIENTED_EDGE('',*,*,#8234,.T.);
++#8246=ORIENTED_EDGE('',*,*,#5604,.F.);
++#8247=ORIENTED_EDGE('',*,*,#8231,.F.);
++#8248=EDGE_LOOP('',(#8244,#8245,#8246,#8247));
++#8249=FACE_OUTER_BOUND('',#8248,.F.);
++#8250=ADVANCED_FACE('',(#8249),#8243,.F.);
++#8251=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
++#8252=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8253=DIRECTION('',(1.E0,0.E0,0.E0));
++#8254=AXIS2_PLACEMENT_3D('',#8251,#8252,#8253);
++#8255=CYLINDRICAL_SURFACE('',#8254,2.575E-1);
++#8256=ORIENTED_EDGE('',*,*,#6370,.T.);
++#8258=ORIENTED_EDGE('',*,*,#8257,.T.);
++#8260=ORIENTED_EDGE('',*,*,#8259,.F.);
++#8262=ORIENTED_EDGE('',*,*,#8261,.F.);
++#8263=EDGE_LOOP('',(#8256,#8258,#8260,#8262));
++#8264=FACE_OUTER_BOUND('',#8263,.F.);
++#8265=ADVANCED_FACE('',(#8264),#8255,.F.);
++#8266=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
++#8267=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8268=DIRECTION('',(1.E0,0.E0,0.E0));
++#8269=AXIS2_PLACEMENT_3D('',#8266,#8267,#8268);
++#8270=CYLINDRICAL_SURFACE('',#8269,2.575E-1);
++#8271=ORIENTED_EDGE('',*,*,#6372,.T.);
++#8272=ORIENTED_EDGE('',*,*,#8261,.T.);
++#8274=ORIENTED_EDGE('',*,*,#8273,.F.);
++#8275=ORIENTED_EDGE('',*,*,#8257,.F.);
++#8276=EDGE_LOOP('',(#8271,#8272,#8274,#8275));
++#8277=FACE_OUTER_BOUND('',#8276,.F.);
++#8278=ADVANCED_FACE('',(#8277),#8270,.F.);
++#8279=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
++#8280=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8281=DIRECTION('',(1.E0,0.E0,0.E0));
++#8282=AXIS2_PLACEMENT_3D('',#8279,#8280,#8281);
++#8283=PLANE('',#8282);
++#8284=ORIENTED_EDGE('',*,*,#8259,.T.);
++#8285=ORIENTED_EDGE('',*,*,#8273,.T.);
++#8286=EDGE_LOOP('',(#8284,#8285));
++#8287=FACE_OUTER_BOUND('',#8286,.F.);
++#8289=ORIENTED_EDGE('',*,*,#8288,.F.);
++#8291=ORIENTED_EDGE('',*,*,#8290,.F.);
++#8292=EDGE_LOOP('',(#8289,#8291));
++#8293=FACE_BOUND('',#8292,.F.);
++#8294=ADVANCED_FACE('',(#8287,#8293),#8283,.F.);
++#8295=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
++#8296=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8297=DIRECTION('',(1.E0,0.E0,0.E0));
++#8298=AXIS2_PLACEMENT_3D('',#8295,#8296,#8297);
++#8299=CYLINDRICAL_SURFACE('',#8298,1.925E-1);
++#8300=ORIENTED_EDGE('',*,*,#8288,.T.);
++#8302=ORIENTED_EDGE('',*,*,#8301,.T.);
++#8303=ORIENTED_EDGE('',*,*,#5590,.F.);
++#8305=ORIENTED_EDGE('',*,*,#8304,.F.);
++#8306=EDGE_LOOP('',(#8300,#8302,#8303,#8305));
++#8307=FACE_OUTER_BOUND('',#8306,.F.);
++#8308=ADVANCED_FACE('',(#8307),#8299,.F.);
++#8309=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
++#8310=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8311=DIRECTION('',(1.E0,0.E0,0.E0));
++#8312=AXIS2_PLACEMENT_3D('',#8309,#8310,#8311);
++#8313=CYLINDRICAL_SURFACE('',#8312,1.925E-1);
++#8314=ORIENTED_EDGE('',*,*,#8290,.T.);
++#8315=ORIENTED_EDGE('',*,*,#8304,.T.);
++#8316=ORIENTED_EDGE('',*,*,#5592,.F.);
++#8317=ORIENTED_EDGE('',*,*,#8301,.F.);
++#8318=EDGE_LOOP('',(#8314,#8315,#8316,#8317));
++#8319=FACE_OUTER_BOUND('',#8318,.F.);
++#8320=ADVANCED_FACE('',(#8319),#8313,.F.);
++#8321=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
++#8322=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8323=DIRECTION('',(1.E0,0.E0,0.E0));
++#8324=AXIS2_PLACEMENT_3D('',#8321,#8322,#8323);
++#8325=CYLINDRICAL_SURFACE('',#8324,2.575E-1);
++#8326=ORIENTED_EDGE('',*,*,#6376,.T.);
++#8328=ORIENTED_EDGE('',*,*,#8327,.T.);
++#8330=ORIENTED_EDGE('',*,*,#8329,.F.);
++#8332=ORIENTED_EDGE('',*,*,#8331,.F.);
++#8333=EDGE_LOOP('',(#8326,#8328,#8330,#8332));
++#8334=FACE_OUTER_BOUND('',#8333,.F.);
++#8335=ADVANCED_FACE('',(#8334),#8325,.F.);
++#8336=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
++#8337=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8338=DIRECTION('',(1.E0,0.E0,0.E0));
++#8339=AXIS2_PLACEMENT_3D('',#8336,#8337,#8338);
++#8340=CYLINDRICAL_SURFACE('',#8339,2.575E-1);
++#8341=ORIENTED_EDGE('',*,*,#6378,.T.);
++#8342=ORIENTED_EDGE('',*,*,#8331,.T.);
++#8344=ORIENTED_EDGE('',*,*,#8343,.F.);
++#8345=ORIENTED_EDGE('',*,*,#8327,.F.);
++#8346=EDGE_LOOP('',(#8341,#8342,#8344,#8345));
++#8347=FACE_OUTER_BOUND('',#8346,.F.);
++#8348=ADVANCED_FACE('',(#8347),#8340,.F.);
++#8349=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
++#8350=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8351=DIRECTION('',(1.E0,0.E0,0.E0));
++#8352=AXIS2_PLACEMENT_3D('',#8349,#8350,#8351);
++#8353=PLANE('',#8352);
++#8354=ORIENTED_EDGE('',*,*,#8329,.T.);
++#8355=ORIENTED_EDGE('',*,*,#8343,.T.);
++#8356=EDGE_LOOP('',(#8354,#8355));
++#8357=FACE_OUTER_BOUND('',#8356,.F.);
++#8359=ORIENTED_EDGE('',*,*,#8358,.F.);
++#8361=ORIENTED_EDGE('',*,*,#8360,.F.);
++#8362=EDGE_LOOP('',(#8359,#8361));
++#8363=FACE_BOUND('',#8362,.F.);
++#8364=ADVANCED_FACE('',(#8357,#8363),#8353,.F.);
++#8365=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
++#8366=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8367=DIRECTION('',(1.E0,0.E0,0.E0));
++#8368=AXIS2_PLACEMENT_3D('',#8365,#8366,#8367);
++#8369=CYLINDRICAL_SURFACE('',#8368,1.925E-1);
++#8370=ORIENTED_EDGE('',*,*,#8358,.T.);
++#8372=ORIENTED_EDGE('',*,*,#8371,.T.);
++#8373=ORIENTED_EDGE('',*,*,#5584,.F.);
++#8375=ORIENTED_EDGE('',*,*,#8374,.F.);
++#8376=EDGE_LOOP('',(#8370,#8372,#8373,#8375));
++#8377=FACE_OUTER_BOUND('',#8376,.F.);
++#8378=ADVANCED_FACE('',(#8377),#8369,.F.);
++#8379=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
++#8380=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8381=DIRECTION('',(1.E0,0.E0,0.E0));
++#8382=AXIS2_PLACEMENT_3D('',#8379,#8380,#8381);
++#8383=CYLINDRICAL_SURFACE('',#8382,1.925E-1);
++#8384=ORIENTED_EDGE('',*,*,#8360,.T.);
++#8385=ORIENTED_EDGE('',*,*,#8374,.T.);
++#8386=ORIENTED_EDGE('',*,*,#5586,.F.);
++#8387=ORIENTED_EDGE('',*,*,#8371,.F.);
++#8388=EDGE_LOOP('',(#8384,#8385,#8386,#8387));
++#8389=FACE_OUTER_BOUND('',#8388,.F.);
++#8390=ADVANCED_FACE('',(#8389),#8383,.F.);
++#8391=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
++#8392=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8393=DIRECTION('',(1.E0,0.E0,0.E0));
++#8394=AXIS2_PLACEMENT_3D('',#8391,#8392,#8393);
++#8395=CYLINDRICAL_SURFACE('',#8394,2.56E-1);
++#8396=ORIENTED_EDGE('',*,*,#6260,.T.);
++#8398=ORIENTED_EDGE('',*,*,#8397,.T.);
++#8400=ORIENTED_EDGE('',*,*,#8399,.F.);
++#8402=ORIENTED_EDGE('',*,*,#8401,.F.);
++#8403=EDGE_LOOP('',(#8396,#8398,#8400,#8402));
++#8404=FACE_OUTER_BOUND('',#8403,.F.);
++#8405=ADVANCED_FACE('',(#8404),#8395,.F.);
++#8406=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
++#8407=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8408=DIRECTION('',(1.E0,0.E0,0.E0));
++#8409=AXIS2_PLACEMENT_3D('',#8406,#8407,#8408);
++#8410=CYLINDRICAL_SURFACE('',#8409,2.56E-1);
++#8411=ORIENTED_EDGE('',*,*,#6262,.T.);
++#8412=ORIENTED_EDGE('',*,*,#8401,.T.);
++#8414=ORIENTED_EDGE('',*,*,#8413,.F.);
++#8415=ORIENTED_EDGE('',*,*,#8397,.F.);
++#8416=EDGE_LOOP('',(#8411,#8412,#8414,#8415));
++#8417=FACE_OUTER_BOUND('',#8416,.F.);
++#8418=ADVANCED_FACE('',(#8417),#8410,.F.);
++#8419=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
++#8420=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8421=DIRECTION('',(1.E0,0.E0,0.E0));
++#8422=AXIS2_PLACEMENT_3D('',#8419,#8420,#8421);
++#8423=PLANE('',#8422);
++#8424=ORIENTED_EDGE('',*,*,#8399,.T.);
++#8425=ORIENTED_EDGE('',*,*,#8413,.T.);
++#8426=EDGE_LOOP('',(#8424,#8425));
++#8427=FACE_OUTER_BOUND('',#8426,.F.);
++#8429=ORIENTED_EDGE('',*,*,#8428,.F.);
++#8431=ORIENTED_EDGE('',*,*,#8430,.F.);
++#8432=EDGE_LOOP('',(#8429,#8431));
++#8433=FACE_BOUND('',#8432,.F.);
++#8434=ADVANCED_FACE('',(#8427,#8433),#8423,.F.);
++#8435=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
++#8436=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8437=DIRECTION('',(1.E0,0.E0,0.E0));
++#8438=AXIS2_PLACEMENT_3D('',#8435,#8436,#8437);
++#8439=CYLINDRICAL_SURFACE('',#8438,1.925E-1);
++#8440=ORIENTED_EDGE('',*,*,#8428,.T.);
++#8442=ORIENTED_EDGE('',*,*,#8441,.T.);
++#8443=ORIENTED_EDGE('',*,*,#5632,.F.);
++#8445=ORIENTED_EDGE('',*,*,#8444,.F.);
++#8446=EDGE_LOOP('',(#8440,#8442,#8443,#8445));
++#8447=FACE_OUTER_BOUND('',#8446,.F.);
++#8448=ADVANCED_FACE('',(#8447),#8439,.F.);
++#8449=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
++#8450=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8451=DIRECTION('',(1.E0,0.E0,0.E0));
++#8452=AXIS2_PLACEMENT_3D('',#8449,#8450,#8451);
++#8453=CYLINDRICAL_SURFACE('',#8452,1.925E-1);
++#8454=ORIENTED_EDGE('',*,*,#8430,.T.);
++#8455=ORIENTED_EDGE('',*,*,#8444,.T.);
++#8456=ORIENTED_EDGE('',*,*,#5634,.F.);
++#8457=ORIENTED_EDGE('',*,*,#8441,.F.);
++#8458=EDGE_LOOP('',(#8454,#8455,#8456,#8457));
++#8459=FACE_OUTER_BOUND('',#8458,.F.);
++#8460=ADVANCED_FACE('',(#8459),#8453,.F.);
++#8461=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
++#8462=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8463=DIRECTION('',(1.E0,0.E0,0.E0));
++#8464=AXIS2_PLACEMENT_3D('',#8461,#8462,#8463);
++#8465=CYLINDRICAL_SURFACE('',#8464,2.56E-1);
++#8466=ORIENTED_EDGE('',*,*,#6266,.T.);
++#8468=ORIENTED_EDGE('',*,*,#8467,.T.);
++#8470=ORIENTED_EDGE('',*,*,#8469,.F.);
++#8472=ORIENTED_EDGE('',*,*,#8471,.F.);
++#8473=EDGE_LOOP('',(#8466,#8468,#8470,#8472));
++#8474=FACE_OUTER_BOUND('',#8473,.F.);
++#8475=ADVANCED_FACE('',(#8474),#8465,.F.);
++#8476=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
++#8477=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8478=DIRECTION('',(1.E0,0.E0,0.E0));
++#8479=AXIS2_PLACEMENT_3D('',#8476,#8477,#8478);
++#8480=CYLINDRICAL_SURFACE('',#8479,2.56E-1);
++#8481=ORIENTED_EDGE('',*,*,#6268,.T.);
++#8482=ORIENTED_EDGE('',*,*,#8471,.T.);
++#8484=ORIENTED_EDGE('',*,*,#8483,.F.);
++#8485=ORIENTED_EDGE('',*,*,#8467,.F.);
++#8486=EDGE_LOOP('',(#8481,#8482,#8484,#8485));
++#8487=FACE_OUTER_BOUND('',#8486,.F.);
++#8488=ADVANCED_FACE('',(#8487),#8480,.F.);
++#8489=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
++#8490=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8491=DIRECTION('',(1.E0,0.E0,0.E0));
++#8492=AXIS2_PLACEMENT_3D('',#8489,#8490,#8491);
++#8493=PLANE('',#8492);
++#8494=ORIENTED_EDGE('',*,*,#8469,.T.);
++#8495=ORIENTED_EDGE('',*,*,#8483,.T.);
++#8496=EDGE_LOOP('',(#8494,#8495));
++#8497=FACE_OUTER_BOUND('',#8496,.F.);
++#8499=ORIENTED_EDGE('',*,*,#8498,.F.);
++#8501=ORIENTED_EDGE('',*,*,#8500,.F.);
++#8502=EDGE_LOOP('',(#8499,#8501));
++#8503=FACE_BOUND('',#8502,.F.);
++#8504=ADVANCED_FACE('',(#8497,#8503),#8493,.F.);
++#8505=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
++#8506=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8507=DIRECTION('',(1.E0,0.E0,0.E0));
++#8508=AXIS2_PLACEMENT_3D('',#8505,#8506,#8507);
++#8509=CYLINDRICAL_SURFACE('',#8508,1.925E-1);
++#8510=ORIENTED_EDGE('',*,*,#8498,.T.);
++#8512=ORIENTED_EDGE('',*,*,#8511,.T.);
++#8513=ORIENTED_EDGE('',*,*,#5578,.F.);
++#8515=ORIENTED_EDGE('',*,*,#8514,.F.);
++#8516=EDGE_LOOP('',(#8510,#8512,#8513,#8515));
++#8517=FACE_OUTER_BOUND('',#8516,.F.);
++#8518=ADVANCED_FACE('',(#8517),#8509,.F.);
++#8519=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
++#8520=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8521=DIRECTION('',(1.E0,0.E0,0.E0));
++#8522=AXIS2_PLACEMENT_3D('',#8519,#8520,#8521);
++#8523=CYLINDRICAL_SURFACE('',#8522,1.925E-1);
++#8524=ORIENTED_EDGE('',*,*,#8500,.T.);
++#8525=ORIENTED_EDGE('',*,*,#8514,.T.);
++#8526=ORIENTED_EDGE('',*,*,#5580,.F.);
++#8527=ORIENTED_EDGE('',*,*,#8511,.F.);
++#8528=EDGE_LOOP('',(#8524,#8525,#8526,#8527));
++#8529=FACE_OUTER_BOUND('',#8528,.F.);
++#8530=ADVANCED_FACE('',(#8529),#8523,.F.);
++#8531=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
++#8532=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8533=DIRECTION('',(1.E0,0.E0,0.E0));
++#8534=AXIS2_PLACEMENT_3D('',#8531,#8532,#8533);
++#8535=CYLINDRICAL_SURFACE('',#8534,2.56E-1);
++#8536=ORIENTED_EDGE('',*,*,#6272,.T.);
++#8538=ORIENTED_EDGE('',*,*,#8537,.T.);
++#8540=ORIENTED_EDGE('',*,*,#8539,.F.);
++#8542=ORIENTED_EDGE('',*,*,#8541,.F.);
++#8543=EDGE_LOOP('',(#8536,#8538,#8540,#8542));
++#8544=FACE_OUTER_BOUND('',#8543,.F.);
++#8545=ADVANCED_FACE('',(#8544),#8535,.F.);
++#8546=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
++#8547=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8548=DIRECTION('',(1.E0,0.E0,0.E0));
++#8549=AXIS2_PLACEMENT_3D('',#8546,#8547,#8548);
++#8550=CYLINDRICAL_SURFACE('',#8549,2.56E-1);
++#8551=ORIENTED_EDGE('',*,*,#6274,.T.);
++#8552=ORIENTED_EDGE('',*,*,#8541,.T.);
++#8554=ORIENTED_EDGE('',*,*,#8553,.F.);
++#8555=ORIENTED_EDGE('',*,*,#8537,.F.);
++#8556=EDGE_LOOP('',(#8551,#8552,#8554,#8555));
++#8557=FACE_OUTER_BOUND('',#8556,.F.);
++#8558=ADVANCED_FACE('',(#8557),#8550,.F.);
++#8559=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
++#8560=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8561=DIRECTION('',(1.E0,0.E0,0.E0));
++#8562=AXIS2_PLACEMENT_3D('',#8559,#8560,#8561);
++#8563=PLANE('',#8562);
++#8564=ORIENTED_EDGE('',*,*,#8539,.T.);
++#8565=ORIENTED_EDGE('',*,*,#8553,.T.);
++#8566=EDGE_LOOP('',(#8564,#8565));
++#8567=FACE_OUTER_BOUND('',#8566,.F.);
++#8569=ORIENTED_EDGE('',*,*,#8568,.F.);
++#8571=ORIENTED_EDGE('',*,*,#8570,.F.);
++#8572=EDGE_LOOP('',(#8569,#8571));
++#8573=FACE_BOUND('',#8572,.F.);
++#8574=ADVANCED_FACE('',(#8567,#8573),#8563,.F.);
++#8575=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
++#8576=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8577=DIRECTION('',(1.E0,0.E0,0.E0));
++#8578=AXIS2_PLACEMENT_3D('',#8575,#8576,#8577);
++#8579=CYLINDRICAL_SURFACE('',#8578,1.925E-1);
++#8580=ORIENTED_EDGE('',*,*,#8568,.T.);
++#8582=ORIENTED_EDGE('',*,*,#8581,.T.);
++#8583=ORIENTED_EDGE('',*,*,#5560,.F.);
++#8585=ORIENTED_EDGE('',*,*,#8584,.F.);
++#8586=EDGE_LOOP('',(#8580,#8582,#8583,#8585));
++#8587=FACE_OUTER_BOUND('',#8586,.F.);
++#8588=ADVANCED_FACE('',(#8587),#8579,.F.);
++#8589=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
++#8590=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8591=DIRECTION('',(1.E0,0.E0,0.E0));
++#8592=AXIS2_PLACEMENT_3D('',#8589,#8590,#8591);
++#8593=CYLINDRICAL_SURFACE('',#8592,1.925E-1);
++#8594=ORIENTED_EDGE('',*,*,#8570,.T.);
++#8595=ORIENTED_EDGE('',*,*,#8584,.T.);
++#8596=ORIENTED_EDGE('',*,*,#5562,.F.);
++#8597=ORIENTED_EDGE('',*,*,#8581,.F.);
++#8598=EDGE_LOOP('',(#8594,#8595,#8596,#8597));
++#8599=FACE_OUTER_BOUND('',#8598,.F.);
++#8600=ADVANCED_FACE('',(#8599),#8593,.F.);
++#8601=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
++#8602=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8603=DIRECTION('',(1.E0,0.E0,0.E0));
++#8604=AXIS2_PLACEMENT_3D('',#8601,#8602,#8603);
++#8605=CYLINDRICAL_SURFACE('',#8604,2.56E-1);
++#8606=ORIENTED_EDGE('',*,*,#6382,.T.);
++#8608=ORIENTED_EDGE('',*,*,#8607,.T.);
++#8610=ORIENTED_EDGE('',*,*,#8609,.F.);
++#8612=ORIENTED_EDGE('',*,*,#8611,.F.);
++#8613=EDGE_LOOP('',(#8606,#8608,#8610,#8612));
++#8614=FACE_OUTER_BOUND('',#8613,.F.);
++#8615=ADVANCED_FACE('',(#8614),#8605,.F.);
++#8616=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
++#8617=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8618=DIRECTION('',(1.E0,0.E0,0.E0));
++#8619=AXIS2_PLACEMENT_3D('',#8616,#8617,#8618);
++#8620=CYLINDRICAL_SURFACE('',#8619,2.56E-1);
++#8621=ORIENTED_EDGE('',*,*,#6384,.T.);
++#8622=ORIENTED_EDGE('',*,*,#8611,.T.);
++#8624=ORIENTED_EDGE('',*,*,#8623,.F.);
++#8625=ORIENTED_EDGE('',*,*,#8607,.F.);
++#8626=EDGE_LOOP('',(#8621,#8622,#8624,#8625));
++#8627=FACE_OUTER_BOUND('',#8626,.F.);
++#8628=ADVANCED_FACE('',(#8627),#8620,.F.);
++#8629=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
++#8630=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8631=DIRECTION('',(1.E0,0.E0,0.E0));
++#8632=AXIS2_PLACEMENT_3D('',#8629,#8630,#8631);
++#8633=PLANE('',#8632);
++#8634=ORIENTED_EDGE('',*,*,#8609,.T.);
++#8635=ORIENTED_EDGE('',*,*,#8623,.T.);
++#8636=EDGE_LOOP('',(#8634,#8635));
++#8637=FACE_OUTER_BOUND('',#8636,.F.);
++#8639=ORIENTED_EDGE('',*,*,#8638,.F.);
++#8641=ORIENTED_EDGE('',*,*,#8640,.F.);
++#8642=EDGE_LOOP('',(#8639,#8641));
++#8643=FACE_BOUND('',#8642,.F.);
++#8644=ADVANCED_FACE('',(#8637,#8643),#8633,.F.);
++#8645=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
++#8646=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8647=DIRECTION('',(1.E0,0.E0,0.E0));
++#8648=AXIS2_PLACEMENT_3D('',#8645,#8646,#8647);
++#8649=CYLINDRICAL_SURFACE('',#8648,1.925E-1);
++#8650=ORIENTED_EDGE('',*,*,#8638,.T.);
++#8652=ORIENTED_EDGE('',*,*,#8651,.T.);
++#8653=ORIENTED_EDGE('',*,*,#5572,.F.);
++#8655=ORIENTED_EDGE('',*,*,#8654,.F.);
++#8656=EDGE_LOOP('',(#8650,#8652,#8653,#8655));
++#8657=FACE_OUTER_BOUND('',#8656,.F.);
++#8658=ADVANCED_FACE('',(#8657),#8649,.F.);
++#8659=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
++#8660=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8661=DIRECTION('',(1.E0,0.E0,0.E0));
++#8662=AXIS2_PLACEMENT_3D('',#8659,#8660,#8661);
++#8663=CYLINDRICAL_SURFACE('',#8662,1.925E-1);
++#8664=ORIENTED_EDGE('',*,*,#8640,.T.);
++#8665=ORIENTED_EDGE('',*,*,#8654,.T.);
++#8666=ORIENTED_EDGE('',*,*,#5574,.F.);
++#8667=ORIENTED_EDGE('',*,*,#8651,.F.);
++#8668=EDGE_LOOP('',(#8664,#8665,#8666,#8667));
++#8669=FACE_OUTER_BOUND('',#8668,.F.);
++#8670=ADVANCED_FACE('',(#8669),#8663,.F.);
++#8671=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
++#8672=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8673=DIRECTION('',(1.E0,0.E0,0.E0));
++#8674=AXIS2_PLACEMENT_3D('',#8671,#8672,#8673);
++#8675=CYLINDRICAL_SURFACE('',#8674,2.56E-1);
++#8676=ORIENTED_EDGE('',*,*,#6388,.T.);
++#8678=ORIENTED_EDGE('',*,*,#8677,.T.);
++#8680=ORIENTED_EDGE('',*,*,#8679,.F.);
++#8682=ORIENTED_EDGE('',*,*,#8681,.F.);
++#8683=EDGE_LOOP('',(#8676,#8678,#8680,#8682));
++#8684=FACE_OUTER_BOUND('',#8683,.F.);
++#8685=ADVANCED_FACE('',(#8684),#8675,.F.);
++#8686=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
++#8687=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8688=DIRECTION('',(1.E0,0.E0,0.E0));
++#8689=AXIS2_PLACEMENT_3D('',#8686,#8687,#8688);
++#8690=CYLINDRICAL_SURFACE('',#8689,2.56E-1);
++#8691=ORIENTED_EDGE('',*,*,#6390,.T.);
++#8692=ORIENTED_EDGE('',*,*,#8681,.T.);
++#8694=ORIENTED_EDGE('',*,*,#8693,.F.);
++#8695=ORIENTED_EDGE('',*,*,#8677,.F.);
++#8696=EDGE_LOOP('',(#8691,#8692,#8694,#8695));
++#8697=FACE_OUTER_BOUND('',#8696,.F.);
++#8698=ADVANCED_FACE('',(#8697),#8690,.F.);
++#8699=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
++#8700=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8701=DIRECTION('',(1.E0,0.E0,0.E0));
++#8702=AXIS2_PLACEMENT_3D('',#8699,#8700,#8701);
++#8703=PLANE('',#8702);
++#8704=ORIENTED_EDGE('',*,*,#8679,.T.);
++#8705=ORIENTED_EDGE('',*,*,#8693,.T.);
++#8706=EDGE_LOOP('',(#8704,#8705));
++#8707=FACE_OUTER_BOUND('',#8706,.F.);
++#8709=ORIENTED_EDGE('',*,*,#8708,.F.);
++#8711=ORIENTED_EDGE('',*,*,#8710,.F.);
++#8712=EDGE_LOOP('',(#8709,#8711));
++#8713=FACE_BOUND('',#8712,.F.);
++#8714=ADVANCED_FACE('',(#8707,#8713),#8703,.F.);
++#8715=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
++#8716=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8717=DIRECTION('',(1.E0,0.E0,0.E0));
++#8718=AXIS2_PLACEMENT_3D('',#8715,#8716,#8717);
++#8719=CYLINDRICAL_SURFACE('',#8718,1.925E-1);
++#8720=ORIENTED_EDGE('',*,*,#8708,.T.);
++#8722=ORIENTED_EDGE('',*,*,#8721,.T.);
++#8723=ORIENTED_EDGE('',*,*,#5566,.F.);
++#8725=ORIENTED_EDGE('',*,*,#8724,.F.);
++#8726=EDGE_LOOP('',(#8720,#8722,#8723,#8725));
++#8727=FACE_OUTER_BOUND('',#8726,.F.);
++#8728=ADVANCED_FACE('',(#8727),#8719,.F.);
++#8729=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
++#8730=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8731=DIRECTION('',(1.E0,0.E0,0.E0));
++#8732=AXIS2_PLACEMENT_3D('',#8729,#8730,#8731);
++#8733=CYLINDRICAL_SURFACE('',#8732,1.925E-1);
++#8734=ORIENTED_EDGE('',*,*,#8710,.T.);
++#8735=ORIENTED_EDGE('',*,*,#8724,.T.);
++#8736=ORIENTED_EDGE('',*,*,#5568,.F.);
++#8737=ORIENTED_EDGE('',*,*,#8721,.F.);
++#8738=EDGE_LOOP('',(#8734,#8735,#8736,#8737));
++#8739=FACE_OUTER_BOUND('',#8738,.F.);
++#8740=ADVANCED_FACE('',(#8739),#8733,.F.);
++#8741=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
++#8742=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8743=DIRECTION('',(1.E0,0.E0,0.E0));
++#8744=AXIS2_PLACEMENT_3D('',#8741,#8742,#8743);
++#8745=CYLINDRICAL_SURFACE('',#8744,2.56E-1);
++#8746=ORIENTED_EDGE('',*,*,#6394,.T.);
++#8748=ORIENTED_EDGE('',*,*,#8747,.T.);
++#8750=ORIENTED_EDGE('',*,*,#8749,.F.);
++#8752=ORIENTED_EDGE('',*,*,#8751,.F.);
++#8753=EDGE_LOOP('',(#8746,#8748,#8750,#8752));
++#8754=FACE_OUTER_BOUND('',#8753,.F.);
++#8755=ADVANCED_FACE('',(#8754),#8745,.F.);
++#8756=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
++#8757=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8758=DIRECTION('',(1.E0,0.E0,0.E0));
++#8759=AXIS2_PLACEMENT_3D('',#8756,#8757,#8758);
++#8760=CYLINDRICAL_SURFACE('',#8759,2.56E-1);
++#8761=ORIENTED_EDGE('',*,*,#6396,.T.);
++#8762=ORIENTED_EDGE('',*,*,#8751,.T.);
++#8764=ORIENTED_EDGE('',*,*,#8763,.F.);
++#8765=ORIENTED_EDGE('',*,*,#8747,.F.);
++#8766=EDGE_LOOP('',(#8761,#8762,#8764,#8765));
++#8767=FACE_OUTER_BOUND('',#8766,.F.);
++#8768=ADVANCED_FACE('',(#8767),#8760,.F.);
++#8769=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
++#8770=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8771=DIRECTION('',(1.E0,0.E0,0.E0));
++#8772=AXIS2_PLACEMENT_3D('',#8769,#8770,#8771);
++#8773=PLANE('',#8772);
++#8774=ORIENTED_EDGE('',*,*,#8749,.T.);
++#8775=ORIENTED_EDGE('',*,*,#8763,.T.);
++#8776=EDGE_LOOP('',(#8774,#8775));
++#8777=FACE_OUTER_BOUND('',#8776,.F.);
++#8779=ORIENTED_EDGE('',*,*,#8778,.F.);
++#8781=ORIENTED_EDGE('',*,*,#8780,.F.);
++#8782=EDGE_LOOP('',(#8779,#8781));
++#8783=FACE_BOUND('',#8782,.F.);
++#8784=ADVANCED_FACE('',(#8777,#8783),#8773,.F.);
++#8785=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
++#8786=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8787=DIRECTION('',(1.E0,0.E0,0.E0));
++#8788=AXIS2_PLACEMENT_3D('',#8785,#8786,#8787);
++#8789=CYLINDRICAL_SURFACE('',#8788,1.925E-1);
++#8790=ORIENTED_EDGE('',*,*,#8778,.T.);
++#8792=ORIENTED_EDGE('',*,*,#8791,.T.);
++#8793=ORIENTED_EDGE('',*,*,#5554,.F.);
++#8795=ORIENTED_EDGE('',*,*,#8794,.F.);
++#8796=EDGE_LOOP('',(#8790,#8792,#8793,#8795));
++#8797=FACE_OUTER_BOUND('',#8796,.F.);
++#8798=ADVANCED_FACE('',(#8797),#8789,.F.);
++#8799=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
++#8800=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8801=DIRECTION('',(1.E0,0.E0,0.E0));
++#8802=AXIS2_PLACEMENT_3D('',#8799,#8800,#8801);
++#8803=CYLINDRICAL_SURFACE('',#8802,1.925E-1);
++#8804=ORIENTED_EDGE('',*,*,#8780,.T.);
++#8805=ORIENTED_EDGE('',*,*,#8794,.T.);
++#8806=ORIENTED_EDGE('',*,*,#5556,.F.);
++#8807=ORIENTED_EDGE('',*,*,#8791,.F.);
++#8808=EDGE_LOOP('',(#8804,#8805,#8806,#8807));
++#8809=FACE_OUTER_BOUND('',#8808,.F.);
++#8810=ADVANCED_FACE('',(#8809),#8803,.F.);
++#8811=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
++#8812=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8813=DIRECTION('',(1.E0,0.E0,0.E0));
++#8814=AXIS2_PLACEMENT_3D('',#8811,#8812,#8813);
++#8815=CYLINDRICAL_SURFACE('',#8814,2.575E-1);
++#8816=ORIENTED_EDGE('',*,*,#6452,.T.);
++#8818=ORIENTED_EDGE('',*,*,#8817,.T.);
++#8820=ORIENTED_EDGE('',*,*,#8819,.F.);
++#8822=ORIENTED_EDGE('',*,*,#8821,.F.);
++#8823=EDGE_LOOP('',(#8816,#8818,#8820,#8822));
++#8824=FACE_OUTER_BOUND('',#8823,.F.);
++#8825=ADVANCED_FACE('',(#8824),#8815,.F.);
++#8826=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
++#8827=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8828=DIRECTION('',(1.E0,0.E0,0.E0));
++#8829=AXIS2_PLACEMENT_3D('',#8826,#8827,#8828);
++#8830=CYLINDRICAL_SURFACE('',#8829,2.575E-1);
++#8831=ORIENTED_EDGE('',*,*,#6454,.T.);
++#8832=ORIENTED_EDGE('',*,*,#8821,.T.);
++#8834=ORIENTED_EDGE('',*,*,#8833,.F.);
++#8835=ORIENTED_EDGE('',*,*,#8817,.F.);
++#8836=EDGE_LOOP('',(#8831,#8832,#8834,#8835));
++#8837=FACE_OUTER_BOUND('',#8836,.F.);
++#8838=ADVANCED_FACE('',(#8837),#8830,.F.);
++#8839=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
++#8840=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8841=DIRECTION('',(1.E0,0.E0,0.E0));
++#8842=AXIS2_PLACEMENT_3D('',#8839,#8840,#8841);
++#8843=PLANE('',#8842);
++#8844=ORIENTED_EDGE('',*,*,#8819,.T.);
++#8845=ORIENTED_EDGE('',*,*,#8833,.T.);
++#8846=EDGE_LOOP('',(#8844,#8845));
++#8847=FACE_OUTER_BOUND('',#8846,.F.);
++#8849=ORIENTED_EDGE('',*,*,#8848,.F.);
++#8851=ORIENTED_EDGE('',*,*,#8850,.F.);
++#8852=EDGE_LOOP('',(#8849,#8851));
++#8853=FACE_BOUND('',#8852,.F.);
++#8854=ADVANCED_FACE('',(#8847,#8853),#8843,.F.);
++#8855=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
++#8856=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8857=DIRECTION('',(1.E0,0.E0,0.E0));
++#8858=AXIS2_PLACEMENT_3D('',#8855,#8856,#8857);
++#8859=CYLINDRICAL_SURFACE('',#8858,1.925E-1);
++#8860=ORIENTED_EDGE('',*,*,#8848,.T.);
++#8862=ORIENTED_EDGE('',*,*,#8861,.T.);
++#8863=ORIENTED_EDGE('',*,*,#5690,.F.);
++#8865=ORIENTED_EDGE('',*,*,#8864,.F.);
++#8866=EDGE_LOOP('',(#8860,#8862,#8863,#8865));
++#8867=FACE_OUTER_BOUND('',#8866,.F.);
++#8868=ADVANCED_FACE('',(#8867),#8859,.F.);
++#8869=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
++#8870=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8871=DIRECTION('',(1.E0,0.E0,0.E0));
++#8872=AXIS2_PLACEMENT_3D('',#8869,#8870,#8871);
++#8873=CYLINDRICAL_SURFACE('',#8872,1.925E-1);
++#8874=ORIENTED_EDGE('',*,*,#8850,.T.);
++#8875=ORIENTED_EDGE('',*,*,#8864,.T.);
++#8876=ORIENTED_EDGE('',*,*,#5692,.F.);
++#8877=ORIENTED_EDGE('',*,*,#8861,.F.);
++#8878=EDGE_LOOP('',(#8874,#8875,#8876,#8877));
++#8879=FACE_OUTER_BOUND('',#8878,.F.);
++#8880=ADVANCED_FACE('',(#8879),#8873,.F.);
++#8881=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
++#8882=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8883=DIRECTION('',(1.E0,0.E0,0.E0));
++#8884=AXIS2_PLACEMENT_3D('',#8881,#8882,#8883);
++#8885=CYLINDRICAL_SURFACE('',#8884,2.575E-1);
++#8886=ORIENTED_EDGE('',*,*,#6458,.T.);
++#8888=ORIENTED_EDGE('',*,*,#8887,.T.);
++#8890=ORIENTED_EDGE('',*,*,#8889,.F.);
++#8892=ORIENTED_EDGE('',*,*,#8891,.F.);
++#8893=EDGE_LOOP('',(#8886,#8888,#8890,#8892));
++#8894=FACE_OUTER_BOUND('',#8893,.F.);
++#8895=ADVANCED_FACE('',(#8894),#8885,.F.);
++#8896=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
++#8897=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8898=DIRECTION('',(1.E0,0.E0,0.E0));
++#8899=AXIS2_PLACEMENT_3D('',#8896,#8897,#8898);
++#8900=CYLINDRICAL_SURFACE('',#8899,2.575E-1);
++#8901=ORIENTED_EDGE('',*,*,#6460,.T.);
++#8902=ORIENTED_EDGE('',*,*,#8891,.T.);
++#8904=ORIENTED_EDGE('',*,*,#8903,.F.);
++#8905=ORIENTED_EDGE('',*,*,#8887,.F.);
++#8906=EDGE_LOOP('',(#8901,#8902,#8904,#8905));
++#8907=FACE_OUTER_BOUND('',#8906,.F.);
++#8908=ADVANCED_FACE('',(#8907),#8900,.F.);
++#8909=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
++#8910=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8911=DIRECTION('',(1.E0,0.E0,0.E0));
++#8912=AXIS2_PLACEMENT_3D('',#8909,#8910,#8911);
++#8913=PLANE('',#8912);
++#8914=ORIENTED_EDGE('',*,*,#8889,.T.);
++#8915=ORIENTED_EDGE('',*,*,#8903,.T.);
++#8916=EDGE_LOOP('',(#8914,#8915));
++#8917=FACE_OUTER_BOUND('',#8916,.F.);
++#8919=ORIENTED_EDGE('',*,*,#8918,.F.);
++#8921=ORIENTED_EDGE('',*,*,#8920,.F.);
++#8922=EDGE_LOOP('',(#8919,#8921));
++#8923=FACE_BOUND('',#8922,.F.);
++#8924=ADVANCED_FACE('',(#8917,#8923),#8913,.F.);
++#8925=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
++#8926=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8927=DIRECTION('',(1.E0,0.E0,0.E0));
++#8928=AXIS2_PLACEMENT_3D('',#8925,#8926,#8927);
++#8929=CYLINDRICAL_SURFACE('',#8928,1.925E-1);
++#8930=ORIENTED_EDGE('',*,*,#8918,.T.);
++#8932=ORIENTED_EDGE('',*,*,#8931,.T.);
++#8933=ORIENTED_EDGE('',*,*,#5696,.F.);
++#8935=ORIENTED_EDGE('',*,*,#8934,.F.);
++#8936=EDGE_LOOP('',(#8930,#8932,#8933,#8935));
++#8937=FACE_OUTER_BOUND('',#8936,.F.);
++#8938=ADVANCED_FACE('',(#8937),#8929,.F.);
++#8939=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
++#8940=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8941=DIRECTION('',(1.E0,0.E0,0.E0));
++#8942=AXIS2_PLACEMENT_3D('',#8939,#8940,#8941);
++#8943=CYLINDRICAL_SURFACE('',#8942,1.925E-1);
++#8944=ORIENTED_EDGE('',*,*,#8920,.T.);
++#8945=ORIENTED_EDGE('',*,*,#8934,.T.);
++#8946=ORIENTED_EDGE('',*,*,#5698,.F.);
++#8947=ORIENTED_EDGE('',*,*,#8931,.F.);
++#8948=EDGE_LOOP('',(#8944,#8945,#8946,#8947));
++#8949=FACE_OUTER_BOUND('',#8948,.F.);
++#8950=ADVANCED_FACE('',(#8949),#8943,.F.);
++#8951=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
++#8952=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8953=DIRECTION('',(1.E0,0.E0,0.E0));
++#8954=AXIS2_PLACEMENT_3D('',#8951,#8952,#8953);
++#8955=CYLINDRICAL_SURFACE('',#8954,2.575E-1);
++#8956=ORIENTED_EDGE('',*,*,#6464,.T.);
++#8958=ORIENTED_EDGE('',*,*,#8957,.T.);
++#8960=ORIENTED_EDGE('',*,*,#8959,.F.);
++#8962=ORIENTED_EDGE('',*,*,#8961,.F.);
++#8963=EDGE_LOOP('',(#8956,#8958,#8960,#8962));
++#8964=FACE_OUTER_BOUND('',#8963,.F.);
++#8965=ADVANCED_FACE('',(#8964),#8955,.F.);
++#8966=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
++#8967=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8968=DIRECTION('',(1.E0,0.E0,0.E0));
++#8969=AXIS2_PLACEMENT_3D('',#8966,#8967,#8968);
++#8970=CYLINDRICAL_SURFACE('',#8969,2.575E-1);
++#8971=ORIENTED_EDGE('',*,*,#6466,.T.);
++#8972=ORIENTED_EDGE('',*,*,#8961,.T.);
++#8974=ORIENTED_EDGE('',*,*,#8973,.F.);
++#8975=ORIENTED_EDGE('',*,*,#8957,.F.);
++#8976=EDGE_LOOP('',(#8971,#8972,#8974,#8975));
++#8977=FACE_OUTER_BOUND('',#8976,.F.);
++#8978=ADVANCED_FACE('',(#8977),#8970,.F.);
++#8979=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
++#8980=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8981=DIRECTION('',(1.E0,0.E0,0.E0));
++#8982=AXIS2_PLACEMENT_3D('',#8979,#8980,#8981);
++#8983=PLANE('',#8982);
++#8984=ORIENTED_EDGE('',*,*,#8959,.T.);
++#8985=ORIENTED_EDGE('',*,*,#8973,.T.);
++#8986=EDGE_LOOP('',(#8984,#8985));
++#8987=FACE_OUTER_BOUND('',#8986,.F.);
++#8989=ORIENTED_EDGE('',*,*,#8988,.F.);
++#8991=ORIENTED_EDGE('',*,*,#8990,.F.);
++#8992=EDGE_LOOP('',(#8989,#8991));
++#8993=FACE_BOUND('',#8992,.F.);
++#8994=ADVANCED_FACE('',(#8987,#8993),#8983,.F.);
++#8995=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
++#8996=DIRECTION('',(0.E0,-1.E0,0.E0));
++#8997=DIRECTION('',(1.E0,0.E0,0.E0));
++#8998=AXIS2_PLACEMENT_3D('',#8995,#8996,#8997);
++#8999=CYLINDRICAL_SURFACE('',#8998,1.925E-1);
++#9000=ORIENTED_EDGE('',*,*,#8988,.T.);
++#9002=ORIENTED_EDGE('',*,*,#9001,.T.);
++#9003=ORIENTED_EDGE('',*,*,#5702,.F.);
++#9005=ORIENTED_EDGE('',*,*,#9004,.F.);
++#9006=EDGE_LOOP('',(#9000,#9002,#9003,#9005));
++#9007=FACE_OUTER_BOUND('',#9006,.F.);
++#9008=ADVANCED_FACE('',(#9007),#8999,.F.);
++#9009=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
++#9010=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9011=DIRECTION('',(1.E0,0.E0,0.E0));
++#9012=AXIS2_PLACEMENT_3D('',#9009,#9010,#9011);
++#9013=CYLINDRICAL_SURFACE('',#9012,1.925E-1);
++#9014=ORIENTED_EDGE('',*,*,#8990,.T.);
++#9015=ORIENTED_EDGE('',*,*,#9004,.T.);
++#9016=ORIENTED_EDGE('',*,*,#5704,.F.);
++#9017=ORIENTED_EDGE('',*,*,#9001,.F.);
++#9018=EDGE_LOOP('',(#9014,#9015,#9016,#9017));
++#9019=FACE_OUTER_BOUND('',#9018,.F.);
++#9020=ADVANCED_FACE('',(#9019),#9013,.F.);
++#9021=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
++#9022=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9023=DIRECTION('',(1.E0,0.E0,0.E0));
++#9024=AXIS2_PLACEMENT_3D('',#9021,#9022,#9023);
++#9025=CYLINDRICAL_SURFACE('',#9024,2.575E-1);
++#9026=ORIENTED_EDGE('',*,*,#6470,.T.);
++#9028=ORIENTED_EDGE('',*,*,#9027,.T.);
++#9030=ORIENTED_EDGE('',*,*,#9029,.F.);
++#9032=ORIENTED_EDGE('',*,*,#9031,.F.);
++#9033=EDGE_LOOP('',(#9026,#9028,#9030,#9032));
++#9034=FACE_OUTER_BOUND('',#9033,.F.);
++#9035=ADVANCED_FACE('',(#9034),#9025,.F.);
++#9036=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
++#9037=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9038=DIRECTION('',(1.E0,0.E0,0.E0));
++#9039=AXIS2_PLACEMENT_3D('',#9036,#9037,#9038);
++#9040=CYLINDRICAL_SURFACE('',#9039,2.575E-1);
++#9041=ORIENTED_EDGE('',*,*,#6472,.T.);
++#9042=ORIENTED_EDGE('',*,*,#9031,.T.);
++#9044=ORIENTED_EDGE('',*,*,#9043,.F.);
++#9045=ORIENTED_EDGE('',*,*,#9027,.F.);
++#9046=EDGE_LOOP('',(#9041,#9042,#9044,#9045));
++#9047=FACE_OUTER_BOUND('',#9046,.F.);
++#9048=ADVANCED_FACE('',(#9047),#9040,.F.);
++#9049=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
++#9050=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9051=DIRECTION('',(1.E0,0.E0,0.E0));
++#9052=AXIS2_PLACEMENT_3D('',#9049,#9050,#9051);
++#9053=PLANE('',#9052);
++#9054=ORIENTED_EDGE('',*,*,#9029,.T.);
++#9055=ORIENTED_EDGE('',*,*,#9043,.T.);
++#9056=EDGE_LOOP('',(#9054,#9055));
++#9057=FACE_OUTER_BOUND('',#9056,.F.);
++#9059=ORIENTED_EDGE('',*,*,#9058,.F.);
++#9061=ORIENTED_EDGE('',*,*,#9060,.F.);
++#9062=EDGE_LOOP('',(#9059,#9061));
++#9063=FACE_BOUND('',#9062,.F.);
++#9064=ADVANCED_FACE('',(#9057,#9063),#9053,.F.);
++#9065=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
++#9066=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9067=DIRECTION('',(1.E0,0.E0,0.E0));
++#9068=AXIS2_PLACEMENT_3D('',#9065,#9066,#9067);
++#9069=CYLINDRICAL_SURFACE('',#9068,1.925E-1);
++#9070=ORIENTED_EDGE('',*,*,#9058,.T.);
++#9072=ORIENTED_EDGE('',*,*,#9071,.T.);
++#9073=ORIENTED_EDGE('',*,*,#5708,.F.);
++#9075=ORIENTED_EDGE('',*,*,#9074,.F.);
++#9076=EDGE_LOOP('',(#9070,#9072,#9073,#9075));
++#9077=FACE_OUTER_BOUND('',#9076,.F.);
++#9078=ADVANCED_FACE('',(#9077),#9069,.F.);
++#9079=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
++#9080=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9081=DIRECTION('',(1.E0,0.E0,0.E0));
++#9082=AXIS2_PLACEMENT_3D('',#9079,#9080,#9081);
++#9083=CYLINDRICAL_SURFACE('',#9082,1.925E-1);
++#9084=ORIENTED_EDGE('',*,*,#9060,.T.);
++#9085=ORIENTED_EDGE('',*,*,#9074,.T.);
++#9086=ORIENTED_EDGE('',*,*,#5710,.F.);
++#9087=ORIENTED_EDGE('',*,*,#9071,.F.);
++#9088=EDGE_LOOP('',(#9084,#9085,#9086,#9087));
++#9089=FACE_OUTER_BOUND('',#9088,.F.);
++#9090=ADVANCED_FACE('',(#9089),#9083,.F.);
++#9091=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
++#9092=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9093=DIRECTION('',(1.E0,0.E0,0.E0));
++#9094=AXIS2_PLACEMENT_3D('',#9091,#9092,#9093);
++#9095=CYLINDRICAL_SURFACE('',#9094,2.575E-1);
++#9096=ORIENTED_EDGE('',*,*,#6476,.T.);
++#9098=ORIENTED_EDGE('',*,*,#9097,.T.);
++#9100=ORIENTED_EDGE('',*,*,#9099,.F.);
++#9102=ORIENTED_EDGE('',*,*,#9101,.F.);
++#9103=EDGE_LOOP('',(#9096,#9098,#9100,#9102));
++#9104=FACE_OUTER_BOUND('',#9103,.F.);
++#9105=ADVANCED_FACE('',(#9104),#9095,.F.);
++#9106=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
++#9107=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9108=DIRECTION('',(1.E0,0.E0,0.E0));
++#9109=AXIS2_PLACEMENT_3D('',#9106,#9107,#9108);
++#9110=CYLINDRICAL_SURFACE('',#9109,2.575E-1);
++#9111=ORIENTED_EDGE('',*,*,#6478,.T.);
++#9112=ORIENTED_EDGE('',*,*,#9101,.T.);
++#9114=ORIENTED_EDGE('',*,*,#9113,.F.);
++#9115=ORIENTED_EDGE('',*,*,#9097,.F.);
++#9116=EDGE_LOOP('',(#9111,#9112,#9114,#9115));
++#9117=FACE_OUTER_BOUND('',#9116,.F.);
++#9118=ADVANCED_FACE('',(#9117),#9110,.F.);
++#9119=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
++#9120=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9121=DIRECTION('',(1.E0,0.E0,0.E0));
++#9122=AXIS2_PLACEMENT_3D('',#9119,#9120,#9121);
++#9123=PLANE('',#9122);
++#9124=ORIENTED_EDGE('',*,*,#9099,.T.);
++#9125=ORIENTED_EDGE('',*,*,#9113,.T.);
++#9126=EDGE_LOOP('',(#9124,#9125));
++#9127=FACE_OUTER_BOUND('',#9126,.F.);
++#9129=ORIENTED_EDGE('',*,*,#9128,.F.);
++#9131=ORIENTED_EDGE('',*,*,#9130,.F.);
++#9132=EDGE_LOOP('',(#9129,#9131));
++#9133=FACE_BOUND('',#9132,.F.);
++#9134=ADVANCED_FACE('',(#9127,#9133),#9123,.F.);
++#9135=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
++#9136=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9137=DIRECTION('',(1.E0,0.E0,0.E0));
++#9138=AXIS2_PLACEMENT_3D('',#9135,#9136,#9137);
++#9139=CYLINDRICAL_SURFACE('',#9138,1.925E-1);
++#9140=ORIENTED_EDGE('',*,*,#9128,.T.);
++#9142=ORIENTED_EDGE('',*,*,#9141,.T.);
++#9143=ORIENTED_EDGE('',*,*,#5714,.F.);
++#9145=ORIENTED_EDGE('',*,*,#9144,.F.);
++#9146=EDGE_LOOP('',(#9140,#9142,#9143,#9145));
++#9147=FACE_OUTER_BOUND('',#9146,.F.);
++#9148=ADVANCED_FACE('',(#9147),#9139,.F.);
++#9149=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
++#9150=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9151=DIRECTION('',(1.E0,0.E0,0.E0));
++#9152=AXIS2_PLACEMENT_3D('',#9149,#9150,#9151);
++#9153=CYLINDRICAL_SURFACE('',#9152,1.925E-1);
++#9154=ORIENTED_EDGE('',*,*,#9130,.T.);
++#9155=ORIENTED_EDGE('',*,*,#9144,.T.);
++#9156=ORIENTED_EDGE('',*,*,#5716,.F.);
++#9157=ORIENTED_EDGE('',*,*,#9141,.F.);
++#9158=EDGE_LOOP('',(#9154,#9155,#9156,#9157));
++#9159=FACE_OUTER_BOUND('',#9158,.F.);
++#9160=ADVANCED_FACE('',(#9159),#9153,.F.);
++#9161=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
++#9162=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9163=DIRECTION('',(1.E0,0.E0,0.E0));
++#9164=AXIS2_PLACEMENT_3D('',#9161,#9162,#9163);
++#9165=CYLINDRICAL_SURFACE('',#9164,2.575E-1);
++#9166=ORIENTED_EDGE('',*,*,#6482,.T.);
++#9168=ORIENTED_EDGE('',*,*,#9167,.T.);
++#9170=ORIENTED_EDGE('',*,*,#9169,.F.);
++#9172=ORIENTED_EDGE('',*,*,#9171,.F.);
++#9173=EDGE_LOOP('',(#9166,#9168,#9170,#9172));
++#9174=FACE_OUTER_BOUND('',#9173,.F.);
++#9175=ADVANCED_FACE('',(#9174),#9165,.F.);
++#9176=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
++#9177=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9178=DIRECTION('',(1.E0,0.E0,0.E0));
++#9179=AXIS2_PLACEMENT_3D('',#9176,#9177,#9178);
++#9180=CYLINDRICAL_SURFACE('',#9179,2.575E-1);
++#9181=ORIENTED_EDGE('',*,*,#6484,.T.);
++#9182=ORIENTED_EDGE('',*,*,#9171,.T.);
++#9184=ORIENTED_EDGE('',*,*,#9183,.F.);
++#9185=ORIENTED_EDGE('',*,*,#9167,.F.);
++#9186=EDGE_LOOP('',(#9181,#9182,#9184,#9185));
++#9187=FACE_OUTER_BOUND('',#9186,.F.);
++#9188=ADVANCED_FACE('',(#9187),#9180,.F.);
++#9189=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
++#9190=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9191=DIRECTION('',(1.E0,0.E0,0.E0));
++#9192=AXIS2_PLACEMENT_3D('',#9189,#9190,#9191);
++#9193=PLANE('',#9192);
++#9194=ORIENTED_EDGE('',*,*,#9169,.T.);
++#9195=ORIENTED_EDGE('',*,*,#9183,.T.);
++#9196=EDGE_LOOP('',(#9194,#9195));
++#9197=FACE_OUTER_BOUND('',#9196,.F.);
++#9199=ORIENTED_EDGE('',*,*,#9198,.F.);
++#9201=ORIENTED_EDGE('',*,*,#9200,.F.);
++#9202=EDGE_LOOP('',(#9199,#9201));
++#9203=FACE_BOUND('',#9202,.F.);
++#9204=ADVANCED_FACE('',(#9197,#9203),#9193,.F.);
++#9205=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
++#9206=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9207=DIRECTION('',(1.E0,0.E0,0.E0));
++#9208=AXIS2_PLACEMENT_3D('',#9205,#9206,#9207);
++#9209=CYLINDRICAL_SURFACE('',#9208,1.925E-1);
++#9210=ORIENTED_EDGE('',*,*,#9198,.T.);
++#9212=ORIENTED_EDGE('',*,*,#9211,.T.);
++#9213=ORIENTED_EDGE('',*,*,#5720,.F.);
++#9215=ORIENTED_EDGE('',*,*,#9214,.F.);
++#9216=EDGE_LOOP('',(#9210,#9212,#9213,#9215));
++#9217=FACE_OUTER_BOUND('',#9216,.F.);
++#9218=ADVANCED_FACE('',(#9217),#9209,.F.);
++#9219=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
++#9220=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9221=DIRECTION('',(1.E0,0.E0,0.E0));
++#9222=AXIS2_PLACEMENT_3D('',#9219,#9220,#9221);
++#9223=CYLINDRICAL_SURFACE('',#9222,1.925E-1);
++#9224=ORIENTED_EDGE('',*,*,#9200,.T.);
++#9225=ORIENTED_EDGE('',*,*,#9214,.T.);
++#9226=ORIENTED_EDGE('',*,*,#5722,.F.);
++#9227=ORIENTED_EDGE('',*,*,#9211,.F.);
++#9228=EDGE_LOOP('',(#9224,#9225,#9226,#9227));
++#9229=FACE_OUTER_BOUND('',#9228,.F.);
++#9230=ADVANCED_FACE('',(#9229),#9223,.F.);
++#9231=CARTESIAN_POINT('',(2.2E1,1.5E0,1.2E1));
++#9232=DIRECTION('',(1.E0,0.E0,0.E0));
++#9233=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9234=AXIS2_PLACEMENT_3D('',#9231,#9232,#9233);
++#9235=PLANE('',#9234);
++#9236=ORIENTED_EDGE('',*,*,#6328,.T.);
++#9237=ORIENTED_EDGE('',*,*,#6155,.T.);
++#9239=ORIENTED_EDGE('',*,*,#9238,.T.);
++#9240=EDGE_LOOP('',(#9236,#9237,#9239));
++#9241=FACE_OUTER_BOUND('',#9240,.F.);
++#9242=ADVANCED_FACE('',(#9241),#9235,.F.);
++#9243=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1));
++#9244=DIRECTION('',(0.E0,-5.E-1,-8.660254037844E-1));
++#9245=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
++#9246=AXIS2_PLACEMENT_3D('',#9243,#9244,#9245);
++#9247=PLANE('',#9246);
++#9248=ORIENTED_EDGE('',*,*,#6330,.T.);
++#9249=ORIENTED_EDGE('',*,*,#9238,.F.);
++#9250=ORIENTED_EDGE('',*,*,#6153,.F.);
++#9251=ORIENTED_EDGE('',*,*,#6209,.T.);
++#9252=EDGE_LOOP('',(#9248,#9249,#9250,#9251));
++#9253=FACE_OUTER_BOUND('',#9252,.F.);
++#9255=ORIENTED_EDGE('',*,*,#9254,.F.);
++#9257=ORIENTED_EDGE('',*,*,#9256,.F.);
++#9258=EDGE_LOOP('',(#9255,#9257));
++#9259=FACE_BOUND('',#9258,.F.);
++#9260=ADVANCED_FACE('',(#9253,#9259),#9247,.F.);
++#9261=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1));
++#9262=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9263=DIRECTION('',(1.E0,0.E0,0.E0));
++#9264=AXIS2_PLACEMENT_3D('',#9261,#9262,#9263);
++#9265=CYLINDRICAL_SURFACE('',#9264,2.575E-1);
++#9267=ORIENTED_EDGE('',*,*,#9266,.F.);
++#9268=ORIENTED_EDGE('',*,*,#9254,.T.);
++#9270=ORIENTED_EDGE('',*,*,#9269,.F.);
++#9272=ORIENTED_EDGE('',*,*,#9271,.F.);
++#9273=EDGE_LOOP('',(#9267,#9268,#9270,#9272));
++#9274=FACE_OUTER_BOUND('',#9273,.F.);
++#9275=ADVANCED_FACE('',(#9274),#9265,.F.);
++#9276=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1));
++#9277=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9278=DIRECTION('',(1.E0,0.E0,0.E0));
++#9279=AXIS2_PLACEMENT_3D('',#9276,#9277,#9278);
++#9280=CYLINDRICAL_SURFACE('',#9279,2.575E-1);
++#9281=ORIENTED_EDGE('',*,*,#9269,.T.);
++#9282=ORIENTED_EDGE('',*,*,#9256,.T.);
++#9283=ORIENTED_EDGE('',*,*,#9266,.T.);
++#9285=ORIENTED_EDGE('',*,*,#9284,.F.);
++#9286=EDGE_LOOP('',(#9281,#9282,#9283,#9285));
++#9287=FACE_OUTER_BOUND('',#9286,.F.);
++#9288=ADVANCED_FACE('',(#9287),#9280,.F.);
++#9289=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
++#9290=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9291=DIRECTION('',(1.E0,0.E0,0.E0));
++#9292=AXIS2_PLACEMENT_3D('',#9289,#9290,#9291);
++#9293=PLANE('',#9292);
++#9294=ORIENTED_EDGE('',*,*,#9271,.T.);
++#9295=ORIENTED_EDGE('',*,*,#9284,.T.);
++#9296=EDGE_LOOP('',(#9294,#9295));
++#9297=FACE_OUTER_BOUND('',#9296,.F.);
++#9299=ORIENTED_EDGE('',*,*,#9298,.F.);
++#9301=ORIENTED_EDGE('',*,*,#9300,.F.);
++#9302=EDGE_LOOP('',(#9299,#9301));
++#9303=FACE_BOUND('',#9302,.F.);
++#9304=ADVANCED_FACE('',(#9297,#9303),#9293,.F.);
++#9305=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1));
++#9306=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9307=DIRECTION('',(1.E0,0.E0,0.E0));
++#9308=AXIS2_PLACEMENT_3D('',#9305,#9306,#9307);
++#9309=CYLINDRICAL_SURFACE('',#9308,1.925E-1);
++#9310=ORIENTED_EDGE('',*,*,#9298,.T.);
++#9312=ORIENTED_EDGE('',*,*,#9311,.T.);
++#9313=ORIENTED_EDGE('',*,*,#5596,.F.);
++#9315=ORIENTED_EDGE('',*,*,#9314,.F.);
++#9316=EDGE_LOOP('',(#9310,#9312,#9313,#9315));
++#9317=FACE_OUTER_BOUND('',#9316,.F.);
++#9318=ADVANCED_FACE('',(#9317),#9309,.F.);
++#9319=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1));
++#9320=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9321=DIRECTION('',(1.E0,0.E0,0.E0));
++#9322=AXIS2_PLACEMENT_3D('',#9319,#9320,#9321);
++#9323=CYLINDRICAL_SURFACE('',#9322,1.925E-1);
++#9324=ORIENTED_EDGE('',*,*,#9300,.T.);
++#9325=ORIENTED_EDGE('',*,*,#9314,.T.);
++#9326=ORIENTED_EDGE('',*,*,#5598,.F.);
++#9327=ORIENTED_EDGE('',*,*,#9311,.F.);
++#9328=EDGE_LOOP('',(#9324,#9325,#9326,#9327));
++#9329=FACE_OUTER_BOUND('',#9328,.F.);
++#9330=ADVANCED_FACE('',(#9329),#9323,.F.);
++#9331=CARTESIAN_POINT('',(2.185E1,6.65E0,1.006892397423E1));
++#9332=DIRECTION('',(0.E0,0.E0,-1.E0));
++#9333=DIRECTION('',(-1.E0,0.E0,0.E0));
++#9334=AXIS2_PLACEMENT_3D('',#9331,#9332,#9333);
++#9335=CYLINDRICAL_SURFACE('',#9334,3.5E-1);
++#9337=ORIENTED_EDGE('',*,*,#9336,.T.);
++#9339=ORIENTED_EDGE('',*,*,#9338,.T.);
++#9341=ORIENTED_EDGE('',*,*,#9340,.F.);
++#9342=ORIENTED_EDGE('',*,*,#6175,.T.);
++#9343=EDGE_LOOP('',(#9337,#9339,#9341,#9342));
++#9344=FACE_OUTER_BOUND('',#9343,.F.);
++#9345=ADVANCED_FACE('',(#9344),#9335,.T.);
++#9346=CARTESIAN_POINT('',(2.15E1,7.E0,1.E1));
++#9347=DIRECTION('',(-1.E0,0.E0,0.E0));
++#9348=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9349=AXIS2_PLACEMENT_3D('',#9346,#9347,#9348);
++#9350=PLANE('',#9349);
++#9351=ORIENTED_EDGE('',*,*,#9336,.F.);
++#9352=ORIENTED_EDGE('',*,*,#6197,.T.);
++#9354=ORIENTED_EDGE('',*,*,#9353,.F.);
++#9356=ORIENTED_EDGE('',*,*,#9355,.F.);
++#9357=EDGE_LOOP('',(#9351,#9352,#9354,#9356));
++#9358=FACE_OUTER_BOUND('',#9357,.F.);
++#9359=ADVANCED_FACE('',(#9358),#9350,.T.);
++#9360=CARTESIAN_POINT('',(2.115E1,2.35E0,9.441108058217E0));
++#9361=DIRECTION('',(0.E0,0.E0,1.E0));
++#9362=DIRECTION('',(1.015061051086E-14,-1.E0,0.E0));
++#9363=AXIS2_PLACEMENT_3D('',#9360,#9361,#9362);
++#9364=CYLINDRICAL_SURFACE('',#9363,3.5E-1);
++#9366=ORIENTED_EDGE('',*,*,#9365,.F.);
++#9368=ORIENTED_EDGE('',*,*,#9367,.T.);
++#9369=ORIENTED_EDGE('',*,*,#9353,.T.);
++#9370=ORIENTED_EDGE('',*,*,#6195,.T.);
++#9371=EDGE_LOOP('',(#9366,#9368,#9369,#9370));
++#9372=FACE_OUTER_BOUND('',#9371,.F.);
++#9373=ADVANCED_FACE('',(#9372),#9364,.F.);
++#9374=CARTESIAN_POINT('',(2.15E1,2.E0,1.E1));
++#9375=DIRECTION('',(0.E0,1.E0,0.E0));
++#9376=DIRECTION('',(-1.E0,0.E0,0.E0));
++#9377=AXIS2_PLACEMENT_3D('',#9374,#9375,#9376);
++#9378=PLANE('',#9377);
++#9379=ORIENTED_EDGE('',*,*,#9365,.T.);
++#9380=ORIENTED_EDGE('',*,*,#6193,.T.);
++#9382=ORIENTED_EDGE('',*,*,#9381,.F.);
++#9384=ORIENTED_EDGE('',*,*,#9383,.F.);
++#9385=EDGE_LOOP('',(#9379,#9380,#9382,#9384));
++#9386=FACE_OUTER_BOUND('',#9385,.F.);
++#9387=ADVANCED_FACE('',(#9386),#9378,.T.);
++#9388=CARTESIAN_POINT('',(1.985E1,2.35E0,9.441108058217E0));
++#9389=DIRECTION('',(0.E0,0.E0,1.E0));
++#9390=DIRECTION('',(-1.E0,0.E0,0.E0));
++#9391=AXIS2_PLACEMENT_3D('',#9388,#9389,#9390);
++#9392=CYLINDRICAL_SURFACE('',#9391,3.5E-1);
++#9394=ORIENTED_EDGE('',*,*,#9393,.F.);
++#9396=ORIENTED_EDGE('',*,*,#9395,.T.);
++#9397=ORIENTED_EDGE('',*,*,#9381,.T.);
++#9398=ORIENTED_EDGE('',*,*,#6191,.T.);
++#9399=EDGE_LOOP('',(#9394,#9396,#9397,#9398));
++#9400=FACE_OUTER_BOUND('',#9399,.F.);
++#9401=ADVANCED_FACE('',(#9400),#9392,.F.);
++#9402=CARTESIAN_POINT('',(1.95E1,2.E0,1.E1));
++#9403=DIRECTION('',(1.E0,0.E0,0.E0));
++#9404=DIRECTION('',(0.E0,1.E0,0.E0));
++#9405=AXIS2_PLACEMENT_3D('',#9402,#9403,#9404);
++#9406=PLANE('',#9405);
++#9407=ORIENTED_EDGE('',*,*,#9393,.T.);
++#9408=ORIENTED_EDGE('',*,*,#6189,.T.);
++#9410=ORIENTED_EDGE('',*,*,#9409,.F.);
++#9412=ORIENTED_EDGE('',*,*,#9411,.F.);
++#9413=EDGE_LOOP('',(#9407,#9408,#9410,#9412));
++#9414=FACE_OUTER_BOUND('',#9413,.F.);
++#9415=ADVANCED_FACE('',(#9414),#9406,.T.);
++#9416=CARTESIAN_POINT('',(1.985E1,9.15E0,9.441108058217E0));
++#9417=DIRECTION('',(0.E0,0.E0,1.E0));
++#9418=DIRECTION('',(-1.015061051086E-14,1.E0,0.E0));
++#9419=AXIS2_PLACEMENT_3D('',#9416,#9417,#9418);
++#9420=CYLINDRICAL_SURFACE('',#9419,3.5E-1);
++#9422=ORIENTED_EDGE('',*,*,#9421,.F.);
++#9424=ORIENTED_EDGE('',*,*,#9423,.T.);
++#9425=ORIENTED_EDGE('',*,*,#9409,.T.);
++#9426=ORIENTED_EDGE('',*,*,#6187,.T.);
++#9427=EDGE_LOOP('',(#9422,#9424,#9425,#9426));
++#9428=FACE_OUTER_BOUND('',#9427,.F.);
++#9429=ADVANCED_FACE('',(#9428),#9420,.F.);
++#9430=CARTESIAN_POINT('',(1.95E1,9.5E0,1.E1));
++#9431=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9432=DIRECTION('',(1.E0,0.E0,0.E0));
++#9433=AXIS2_PLACEMENT_3D('',#9430,#9431,#9432);
++#9434=PLANE('',#9433);
++#9436=ORIENTED_EDGE('',*,*,#9435,.F.);
++#9438=ORIENTED_EDGE('',*,*,#9437,.F.);
++#9439=ORIENTED_EDGE('',*,*,#9421,.T.);
++#9440=ORIENTED_EDGE('',*,*,#6185,.T.);
++#9441=EDGE_LOOP('',(#9436,#9438,#9439,#9440));
++#9442=FACE_OUTER_BOUND('',#9441,.F.);
++#9443=ADVANCED_FACE('',(#9442),#9434,.T.);
++#9444=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,9.441108058217E0));
++#9445=DIRECTION('',(0.E0,0.E0,1.E0));
++#9446=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
++#9447=AXIS2_PLACEMENT_3D('',#9444,#9445,#9446);
++#9448=CYLINDRICAL_SURFACE('',#9447,3.5E-1);
++#9450=ORIENTED_EDGE('',*,*,#9449,.F.);
++#9452=ORIENTED_EDGE('',*,*,#9451,.T.);
++#9453=ORIENTED_EDGE('',*,*,#9435,.T.);
++#9454=ORIENTED_EDGE('',*,*,#6183,.T.);
++#9455=EDGE_LOOP('',(#9450,#9452,#9453,#9454));
++#9456=FACE_OUTER_BOUND('',#9455,.F.);
++#9457=ADVANCED_FACE('',(#9456),#9448,.F.);
++#9458=CARTESIAN_POINT('',(2.125314193270E1,9.5E0,1.E1));
++#9459=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0));
++#9460=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
++#9461=AXIS2_PLACEMENT_3D('',#9458,#9459,#9460);
++#9462=PLANE('',#9461);
++#9464=ORIENTED_EDGE('',*,*,#9463,.F.);
++#9466=ORIENTED_EDGE('',*,*,#9465,.F.);
++#9467=ORIENTED_EDGE('',*,*,#9449,.T.);
++#9468=ORIENTED_EDGE('',*,*,#6181,.T.);
++#9469=EDGE_LOOP('',(#9464,#9466,#9467,#9468));
++#9470=FACE_OUTER_BOUND('',#9469,.F.);
++#9471=ADVANCED_FACE('',(#9470),#9462,.T.);
++#9472=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,9.441108058217E0));
++#9473=DIRECTION('',(0.E0,0.E0,1.E0));
++#9474=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9475=AXIS2_PLACEMENT_3D('',#9472,#9473,#9474);
++#9476=CYLINDRICAL_SURFACE('',#9475,3.5E-1);
++#9478=ORIENTED_EDGE('',*,*,#9477,.F.);
++#9480=ORIENTED_EDGE('',*,*,#9479,.T.);
++#9481=ORIENTED_EDGE('',*,*,#9463,.T.);
++#9482=ORIENTED_EDGE('',*,*,#6179,.T.);
++#9483=EDGE_LOOP('',(#9478,#9480,#9481,#9482));
++#9484=FACE_OUTER_BOUND('',#9483,.F.);
++#9485=ADVANCED_FACE('',(#9484),#9476,.F.);
++#9486=CARTESIAN_POINT('',(2.264203082158E1,7.E0,1.E1));
++#9487=DIRECTION('',(0.E0,1.E0,0.E0));
++#9488=DIRECTION('',(-1.E0,0.E0,0.E0));
++#9489=AXIS2_PLACEMENT_3D('',#9486,#9487,#9488);
++#9490=PLANE('',#9489);
++#9491=ORIENTED_EDGE('',*,*,#9340,.T.);
++#9493=ORIENTED_EDGE('',*,*,#9492,.F.);
++#9494=ORIENTED_EDGE('',*,*,#9477,.T.);
++#9495=ORIENTED_EDGE('',*,*,#6177,.T.);
++#9496=EDGE_LOOP('',(#9491,#9493,#9494,#9495));
++#9497=FACE_OUTER_BOUND('',#9496,.F.);
++#9498=ADVANCED_FACE('',(#9497),#9490,.T.);
++#9499=CARTESIAN_POINT('',(2.4E1,0.E0,9.5E0));
++#9500=DIRECTION('',(0.E0,0.E0,-1.E0));
++#9501=DIRECTION('',(-1.E0,0.E0,0.E0));
++#9502=AXIS2_PLACEMENT_3D('',#9499,#9500,#9501);
++#9503=PLANE('',#9502);
++#9504=ORIENTED_EDGE('',*,*,#9492,.T.);
++#9505=ORIENTED_EDGE('',*,*,#9338,.F.);
++#9506=ORIENTED_EDGE('',*,*,#9355,.T.);
++#9507=ORIENTED_EDGE('',*,*,#9367,.F.);
++#9508=ORIENTED_EDGE('',*,*,#9383,.T.);
++#9509=ORIENTED_EDGE('',*,*,#9395,.F.);
++#9510=ORIENTED_EDGE('',*,*,#9411,.T.);
++#9511=ORIENTED_EDGE('',*,*,#9423,.F.);
++#9512=ORIENTED_EDGE('',*,*,#9437,.T.);
++#9513=ORIENTED_EDGE('',*,*,#9451,.F.);
++#9514=ORIENTED_EDGE('',*,*,#9465,.T.);
++#9515=ORIENTED_EDGE('',*,*,#9479,.F.);
++#9516=EDGE_LOOP('',(#9504,#9505,#9506,#9507,#9508,#9509,#9510,#9511,#9512,#9513,
++#9514,#9515));
++#9517=FACE_OUTER_BOUND('',#9516,.F.);
++#9518=ADVANCED_FACE('',(#9517),#9503,.F.);
++#9519=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0));
++#9520=DIRECTION('',(0.E0,0.E0,-1.E0));
++#9521=DIRECTION('',(-1.E0,0.E0,0.E0));
++#9522=AXIS2_PLACEMENT_3D('',#9519,#9520,#9521);
++#9523=CYLINDRICAL_SURFACE('',#9522,9.5E-2);
++#9524=ORIENTED_EDGE('',*,*,#6007,.F.);
++#9526=ORIENTED_EDGE('',*,*,#9525,.T.);
++#9528=ORIENTED_EDGE('',*,*,#9527,.T.);
++#9530=ORIENTED_EDGE('',*,*,#9529,.F.);
++#9531=EDGE_LOOP('',(#9524,#9526,#9528,#9530));
++#9532=FACE_OUTER_BOUND('',#9531,.F.);
++#9533=ADVANCED_FACE('',(#9532),#9523,.F.);
++#9534=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0));
++#9535=DIRECTION('',(0.E0,0.E0,-1.E0));
++#9536=DIRECTION('',(-1.E0,0.E0,0.E0));
++#9537=AXIS2_PLACEMENT_3D('',#9534,#9535,#9536);
++#9538=CYLINDRICAL_SURFACE('',#9537,9.5E-2);
++#9539=ORIENTED_EDGE('',*,*,#6009,.F.);
++#9540=ORIENTED_EDGE('',*,*,#9529,.T.);
++#9542=ORIENTED_EDGE('',*,*,#9541,.T.);
++#9543=ORIENTED_EDGE('',*,*,#9525,.F.);
++#9544=EDGE_LOOP('',(#9539,#9540,#9542,#9543));
++#9545=FACE_OUTER_BOUND('',#9544,.F.);
++#9546=ADVANCED_FACE('',(#9545),#9538,.F.);
++#9547=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0));
++#9548=DIRECTION('',(0.E0,0.E0,-1.E0));
++#9549=DIRECTION('',(-1.E0,0.E0,0.E0));
++#9550=AXIS2_PLACEMENT_3D('',#9547,#9548,#9549);
++#9551=PLANE('',#9550);
++#9552=ORIENTED_EDGE('',*,*,#9527,.F.);
++#9553=ORIENTED_EDGE('',*,*,#9541,.F.);
++#9554=EDGE_LOOP('',(#9552,#9553));
++#9555=FACE_OUTER_BOUND('',#9554,.F.);
++#9556=ADVANCED_FACE('',(#9555),#9551,.T.);
++#9557=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0));
++#9558=DIRECTION('',(0.E0,0.E0,-1.E0));
++#9559=DIRECTION('',(-1.E0,0.E0,0.E0));
++#9560=AXIS2_PLACEMENT_3D('',#9557,#9558,#9559);
++#9561=CYLINDRICAL_SURFACE('',#9560,9.5E-2);
++#9562=ORIENTED_EDGE('',*,*,#6013,.F.);
++#9564=ORIENTED_EDGE('',*,*,#9563,.T.);
++#9566=ORIENTED_EDGE('',*,*,#9565,.T.);
++#9568=ORIENTED_EDGE('',*,*,#9567,.F.);
++#9569=EDGE_LOOP('',(#9562,#9564,#9566,#9568));
++#9570=FACE_OUTER_BOUND('',#9569,.F.);
++#9571=ADVANCED_FACE('',(#9570),#9561,.F.);
++#9572=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0));
++#9573=DIRECTION('',(0.E0,0.E0,-1.E0));
++#9574=DIRECTION('',(-1.E0,0.E0,0.E0));
++#9575=AXIS2_PLACEMENT_3D('',#9572,#9573,#9574);
++#9576=CYLINDRICAL_SURFACE('',#9575,9.5E-2);
++#9577=ORIENTED_EDGE('',*,*,#6015,.F.);
++#9578=ORIENTED_EDGE('',*,*,#9567,.T.);
++#9580=ORIENTED_EDGE('',*,*,#9579,.T.);
++#9581=ORIENTED_EDGE('',*,*,#9563,.F.);
++#9582=EDGE_LOOP('',(#9577,#9578,#9580,#9581));
++#9583=FACE_OUTER_BOUND('',#9582,.F.);
++#9584=ADVANCED_FACE('',(#9583),#9576,.F.);
++#9585=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0));
++#9586=DIRECTION('',(0.E0,0.E0,-1.E0));
++#9587=DIRECTION('',(-1.E0,0.E0,0.E0));
++#9588=AXIS2_PLACEMENT_3D('',#9585,#9586,#9587);
++#9589=PLANE('',#9588);
++#9590=ORIENTED_EDGE('',*,*,#9565,.F.);
++#9591=ORIENTED_EDGE('',*,*,#9579,.F.);
++#9592=EDGE_LOOP('',(#9590,#9591));
++#9593=FACE_OUTER_BOUND('',#9592,.F.);
++#9594=ADVANCED_FACE('',(#9593),#9589,.T.);
++#9595=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0));
++#9596=DIRECTION('',(0.E0,0.E0,1.E0));
++#9597=DIRECTION('',(1.E0,0.E0,0.E0));
++#9598=AXIS2_PLACEMENT_3D('',#9595,#9596,#9597);
++#9599=CYLINDRICAL_SURFACE('',#9598,9.5E-2);
++#9600=ORIENTED_EDGE('',*,*,#6019,.T.);
++#9602=ORIENTED_EDGE('',*,*,#9601,.T.);
++#9604=ORIENTED_EDGE('',*,*,#9603,.F.);
++#9606=ORIENTED_EDGE('',*,*,#9605,.F.);
++#9607=EDGE_LOOP('',(#9600,#9602,#9604,#9606));
++#9608=FACE_OUTER_BOUND('',#9607,.F.);
++#9609=ADVANCED_FACE('',(#9608),#9599,.F.);
++#9610=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0));
++#9611=DIRECTION('',(0.E0,0.E0,1.E0));
++#9612=DIRECTION('',(1.E0,0.E0,0.E0));
++#9613=AXIS2_PLACEMENT_3D('',#9610,#9611,#9612);
++#9614=CYLINDRICAL_SURFACE('',#9613,9.5E-2);
++#9615=ORIENTED_EDGE('',*,*,#6021,.T.);
++#9616=ORIENTED_EDGE('',*,*,#9605,.T.);
++#9618=ORIENTED_EDGE('',*,*,#9617,.F.);
++#9619=ORIENTED_EDGE('',*,*,#9601,.F.);
++#9620=EDGE_LOOP('',(#9615,#9616,#9618,#9619));
++#9621=FACE_OUTER_BOUND('',#9620,.F.);
++#9622=ADVANCED_FACE('',(#9621),#9614,.F.);
++#9623=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0));
++#9624=DIRECTION('',(0.E0,0.E0,1.E0));
++#9625=DIRECTION('',(1.E0,0.E0,0.E0));
++#9626=AXIS2_PLACEMENT_3D('',#9623,#9624,#9625);
++#9627=PLANE('',#9626);
++#9628=ORIENTED_EDGE('',*,*,#9603,.T.);
++#9629=ORIENTED_EDGE('',*,*,#9617,.T.);
++#9630=EDGE_LOOP('',(#9628,#9629));
++#9631=FACE_OUTER_BOUND('',#9630,.F.);
++#9632=ADVANCED_FACE('',(#9631),#9627,.F.);
++#9633=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0));
++#9634=DIRECTION('',(0.E0,0.E0,1.E0));
++#9635=DIRECTION('',(1.E0,0.E0,0.E0));
++#9636=AXIS2_PLACEMENT_3D('',#9633,#9634,#9635);
++#9637=CYLINDRICAL_SURFACE('',#9636,9.5E-2);
++#9638=ORIENTED_EDGE('',*,*,#6025,.T.);
++#9640=ORIENTED_EDGE('',*,*,#9639,.T.);
++#9642=ORIENTED_EDGE('',*,*,#9641,.F.);
++#9644=ORIENTED_EDGE('',*,*,#9643,.F.);
++#9645=EDGE_LOOP('',(#9638,#9640,#9642,#9644));
++#9646=FACE_OUTER_BOUND('',#9645,.F.);
++#9647=ADVANCED_FACE('',(#9646),#9637,.F.);
++#9648=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0));
++#9649=DIRECTION('',(0.E0,0.E0,1.E0));
++#9650=DIRECTION('',(1.E0,0.E0,0.E0));
++#9651=AXIS2_PLACEMENT_3D('',#9648,#9649,#9650);
++#9652=CYLINDRICAL_SURFACE('',#9651,9.5E-2);
++#9653=ORIENTED_EDGE('',*,*,#6027,.T.);
++#9654=ORIENTED_EDGE('',*,*,#9643,.T.);
++#9656=ORIENTED_EDGE('',*,*,#9655,.F.);
++#9657=ORIENTED_EDGE('',*,*,#9639,.F.);
++#9658=EDGE_LOOP('',(#9653,#9654,#9656,#9657));
++#9659=FACE_OUTER_BOUND('',#9658,.F.);
++#9660=ADVANCED_FACE('',(#9659),#9652,.F.);
++#9661=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0));
++#9662=DIRECTION('',(0.E0,0.E0,1.E0));
++#9663=DIRECTION('',(1.E0,0.E0,0.E0));
++#9664=AXIS2_PLACEMENT_3D('',#9661,#9662,#9663);
++#9665=PLANE('',#9664);
++#9666=ORIENTED_EDGE('',*,*,#9641,.T.);
++#9667=ORIENTED_EDGE('',*,*,#9655,.T.);
++#9668=EDGE_LOOP('',(#9666,#9667));
++#9669=FACE_OUTER_BOUND('',#9668,.F.);
++#9670=ADVANCED_FACE('',(#9669),#9665,.F.);
++#9671=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0));
++#9672=DIRECTION('',(0.E0,0.E0,1.E0));
++#9673=DIRECTION('',(1.E0,0.E0,0.E0));
++#9674=AXIS2_PLACEMENT_3D('',#9671,#9672,#9673);
++#9675=CYLINDRICAL_SURFACE('',#9674,9.5E-2);
++#9676=ORIENTED_EDGE('',*,*,#6037,.T.);
++#9678=ORIENTED_EDGE('',*,*,#9677,.T.);
++#9680=ORIENTED_EDGE('',*,*,#9679,.F.);
++#9682=ORIENTED_EDGE('',*,*,#9681,.F.);
++#9683=EDGE_LOOP('',(#9676,#9678,#9680,#9682));
++#9684=FACE_OUTER_BOUND('',#9683,.F.);
++#9685=ADVANCED_FACE('',(#9684),#9675,.F.);
++#9686=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0));
++#9687=DIRECTION('',(0.E0,0.E0,1.E0));
++#9688=DIRECTION('',(1.E0,0.E0,0.E0));
++#9689=AXIS2_PLACEMENT_3D('',#9686,#9687,#9688);
++#9690=CYLINDRICAL_SURFACE('',#9689,9.5E-2);
++#9691=ORIENTED_EDGE('',*,*,#6039,.T.);
++#9692=ORIENTED_EDGE('',*,*,#9681,.T.);
++#9694=ORIENTED_EDGE('',*,*,#9693,.F.);
++#9695=ORIENTED_EDGE('',*,*,#9677,.F.);
++#9696=EDGE_LOOP('',(#9691,#9692,#9694,#9695));
++#9697=FACE_OUTER_BOUND('',#9696,.F.);
++#9698=ADVANCED_FACE('',(#9697),#9690,.F.);
++#9699=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0));
++#9700=DIRECTION('',(0.E0,0.E0,1.E0));
++#9701=DIRECTION('',(1.E0,0.E0,0.E0));
++#9702=AXIS2_PLACEMENT_3D('',#9699,#9700,#9701);
++#9703=PLANE('',#9702);
++#9704=ORIENTED_EDGE('',*,*,#9679,.T.);
++#9705=ORIENTED_EDGE('',*,*,#9693,.T.);
++#9706=EDGE_LOOP('',(#9704,#9705));
++#9707=FACE_OUTER_BOUND('',#9706,.F.);
++#9708=ADVANCED_FACE('',(#9707),#9703,.F.);
++#9709=CARTESIAN_POINT('',(4.5E0,2.E0,8.E0));
++#9710=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9711=DIRECTION('',(-1.E0,0.E0,0.E0));
++#9712=AXIS2_PLACEMENT_3D('',#9709,#9710,#9711);
++#9713=PLANE('',#9712);
++#9715=ORIENTED_EDGE('',*,*,#9714,.T.);
++#9717=ORIENTED_EDGE('',*,*,#9716,.T.);
++#9719=ORIENTED_EDGE('',*,*,#9718,.F.);
++#9720=ORIENTED_EDGE('',*,*,#6043,.F.);
++#9721=EDGE_LOOP('',(#9715,#9717,#9719,#9720));
++#9722=FACE_OUTER_BOUND('',#9721,.F.);
++#9723=ADVANCED_FACE('',(#9722),#9713,.F.);
++#9724=CARTESIAN_POINT('',(3.75E0,2.75E0,7.931076025772E0));
++#9725=DIRECTION('',(0.E0,0.E0,1.E0));
++#9726=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9727=AXIS2_PLACEMENT_3D('',#9724,#9725,#9726);
++#9728=CYLINDRICAL_SURFACE('',#9727,7.5E-1);
++#9729=ORIENTED_EDGE('',*,*,#9714,.F.);
++#9730=ORIENTED_EDGE('',*,*,#6057,.T.);
++#9732=ORIENTED_EDGE('',*,*,#9731,.T.);
++#9734=ORIENTED_EDGE('',*,*,#9733,.T.);
++#9735=EDGE_LOOP('',(#9729,#9730,#9732,#9734));
++#9736=FACE_OUTER_BOUND('',#9735,.F.);
++#9737=ADVANCED_FACE('',(#9736),#9728,.F.);
++#9738=CARTESIAN_POINT('',(4.5E0,9.5E0,8.E0));
++#9739=DIRECTION('',(1.E0,0.E0,0.E0));
++#9740=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9741=AXIS2_PLACEMENT_3D('',#9738,#9739,#9740);
++#9742=PLANE('',#9741);
++#9743=ORIENTED_EDGE('',*,*,#9731,.F.);
++#9744=ORIENTED_EDGE('',*,*,#6055,.F.);
++#9746=ORIENTED_EDGE('',*,*,#9745,.T.);
++#9748=ORIENTED_EDGE('',*,*,#9747,.T.);
++#9749=EDGE_LOOP('',(#9743,#9744,#9746,#9748));
++#9750=FACE_OUTER_BOUND('',#9749,.F.);
++#9751=ADVANCED_FACE('',(#9750),#9742,.F.);
++#9752=CARTESIAN_POINT('',(3.75E0,8.75E0,7.931076025772E0));
++#9753=DIRECTION('',(0.E0,0.E0,1.E0));
++#9754=DIRECTION('',(1.E0,0.E0,0.E0));
++#9755=AXIS2_PLACEMENT_3D('',#9752,#9753,#9754);
++#9756=CYLINDRICAL_SURFACE('',#9755,7.5E-1);
++#9757=ORIENTED_EDGE('',*,*,#9745,.F.);
++#9758=ORIENTED_EDGE('',*,*,#6053,.T.);
++#9760=ORIENTED_EDGE('',*,*,#9759,.T.);
++#9762=ORIENTED_EDGE('',*,*,#9761,.T.);
++#9763=EDGE_LOOP('',(#9757,#9758,#9760,#9762));
++#9764=FACE_OUTER_BOUND('',#9763,.F.);
++#9765=ADVANCED_FACE('',(#9764),#9756,.F.);
++#9766=CARTESIAN_POINT('',(2.746858067304E0,9.5E0,8.E0));
++#9767=DIRECTION('',(0.E0,1.E0,0.E0));
++#9768=DIRECTION('',(1.E0,0.E0,0.E0));
++#9769=AXIS2_PLACEMENT_3D('',#9766,#9767,#9768);
++#9770=PLANE('',#9769);
++#9772=ORIENTED_EDGE('',*,*,#9771,.T.);
++#9774=ORIENTED_EDGE('',*,*,#9773,.T.);
++#9775=ORIENTED_EDGE('',*,*,#9759,.F.);
++#9776=ORIENTED_EDGE('',*,*,#6051,.F.);
++#9777=EDGE_LOOP('',(#9772,#9774,#9775,#9776));
++#9778=FACE_OUTER_BOUND('',#9777,.F.);
++#9779=ADVANCED_FACE('',(#9778),#9770,.F.);
++#9780=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,7.931076025772E0));
++#9781=DIRECTION('',(0.E0,0.E0,1.E0));
++#9782=DIRECTION('',(0.E0,1.E0,0.E0));
++#9783=AXIS2_PLACEMENT_3D('',#9780,#9781,#9782);
++#9784=CYLINDRICAL_SURFACE('',#9783,7.5E-1);
++#9785=ORIENTED_EDGE('',*,*,#9771,.F.);
++#9786=ORIENTED_EDGE('',*,*,#6049,.T.);
++#9788=ORIENTED_EDGE('',*,*,#9787,.T.);
++#9790=ORIENTED_EDGE('',*,*,#9789,.T.);
++#9791=EDGE_LOOP('',(#9785,#9786,#9788,#9790));
++#9792=FACE_OUTER_BOUND('',#9791,.F.);
++#9793=ADVANCED_FACE('',(#9792),#9784,.F.);
++#9794=CARTESIAN_POINT('',(-1.419808599362E0,2.E0,8.E0));
++#9795=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
++#9796=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0));
++#9797=AXIS2_PLACEMENT_3D('',#9794,#9795,#9796);
++#9798=PLANE('',#9797);
++#9800=ORIENTED_EDGE('',*,*,#9799,.T.);
++#9802=ORIENTED_EDGE('',*,*,#9801,.T.);
++#9803=ORIENTED_EDGE('',*,*,#9787,.F.);
++#9804=ORIENTED_EDGE('',*,*,#6047,.F.);
++#9805=EDGE_LOOP('',(#9800,#9802,#9803,#9804));
++#9806=FACE_OUTER_BOUND('',#9805,.F.);
++#9807=ADVANCED_FACE('',(#9806),#9798,.F.);
++#9808=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,7.931076025772E0));
++#9809=DIRECTION('',(0.E0,0.E0,1.E0));
++#9810=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
++#9811=AXIS2_PLACEMENT_3D('',#9808,#9809,#9810);
++#9812=CYLINDRICAL_SURFACE('',#9811,7.5E-1);
++#9813=ORIENTED_EDGE('',*,*,#9799,.F.);
++#9814=ORIENTED_EDGE('',*,*,#6045,.T.);
++#9815=ORIENTED_EDGE('',*,*,#9718,.T.);
++#9817=ORIENTED_EDGE('',*,*,#9816,.T.);
++#9818=EDGE_LOOP('',(#9813,#9814,#9815,#9817));
++#9819=FACE_OUTER_BOUND('',#9818,.F.);
++#9820=ADVANCED_FACE('',(#9819),#9812,.F.);
++#9821=CARTESIAN_POINT('',(0.E0,0.E0,8.5E0));
++#9822=DIRECTION('',(0.E0,0.E0,-1.E0));
++#9823=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9824=AXIS2_PLACEMENT_3D('',#9821,#9822,#9823);
++#9825=PLANE('',#9824);
++#9826=ORIENTED_EDGE('',*,*,#9733,.F.);
++#9827=ORIENTED_EDGE('',*,*,#9747,.F.);
++#9828=ORIENTED_EDGE('',*,*,#9761,.F.);
++#9829=ORIENTED_EDGE('',*,*,#9773,.F.);
++#9830=ORIENTED_EDGE('',*,*,#9789,.F.);
++#9831=ORIENTED_EDGE('',*,*,#9801,.F.);
++#9832=ORIENTED_EDGE('',*,*,#9816,.F.);
++#9833=ORIENTED_EDGE('',*,*,#9716,.F.);
++#9834=EDGE_LOOP('',(#9826,#9827,#9828,#9829,#9830,#9831,#9832,#9833));
++#9835=FACE_OUTER_BOUND('',#9834,.F.);
++#9836=ADVANCED_FACE('',(#9835),#9825,.T.);
++#9837=CARTESIAN_POINT('',(2.541980859936E1,2.E0,8.E0));
++#9838=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0));
++#9839=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0));
++#9840=AXIS2_PLACEMENT_3D('',#9837,#9838,#9839);
++#9841=PLANE('',#9840);
++#9843=ORIENTED_EDGE('',*,*,#9842,.T.);
++#9844=ORIENTED_EDGE('',*,*,#6061,.T.);
++#9846=ORIENTED_EDGE('',*,*,#9845,.F.);
++#9848=ORIENTED_EDGE('',*,*,#9847,.F.);
++#9849=EDGE_LOOP('',(#9843,#9844,#9846,#9848));
++#9850=FACE_OUTER_BOUND('',#9849,.F.);
++#9851=ADVANCED_FACE('',(#9850),#9841,.T.);
++#9852=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.558891941783E0));
++#9853=DIRECTION('',(0.E0,0.E0,-1.E0));
++#9854=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
++#9855=AXIS2_PLACEMENT_3D('',#9852,#9853,#9854);
++#9856=CYLINDRICAL_SURFACE('',#9855,7.5E-1);
++#9857=ORIENTED_EDGE('',*,*,#9842,.F.);
++#9859=ORIENTED_EDGE('',*,*,#9858,.T.);
++#9861=ORIENTED_EDGE('',*,*,#9860,.T.);
++#9862=ORIENTED_EDGE('',*,*,#6063,.T.);
++#9863=EDGE_LOOP('',(#9857,#9859,#9861,#9862));
++#9864=FACE_OUTER_BOUND('',#9863,.F.);
++#9865=ADVANCED_FACE('',(#9864),#9856,.F.);
++#9866=CARTESIAN_POINT('',(2.4E1,0.E0,8.5E0));
++#9867=DIRECTION('',(0.E0,0.E0,1.E0));
++#9868=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9869=AXIS2_PLACEMENT_3D('',#9866,#9867,#9868);
++#9870=PLANE('',#9869);
++#9872=ORIENTED_EDGE('',*,*,#9871,.F.);
++#9874=ORIENTED_EDGE('',*,*,#9873,.T.);
++#9875=ORIENTED_EDGE('',*,*,#9858,.F.);
++#9876=ORIENTED_EDGE('',*,*,#9847,.T.);
++#9878=ORIENTED_EDGE('',*,*,#9877,.F.);
++#9880=ORIENTED_EDGE('',*,*,#9879,.T.);
++#9882=ORIENTED_EDGE('',*,*,#9881,.F.);
++#9884=ORIENTED_EDGE('',*,*,#9883,.T.);
++#9885=EDGE_LOOP('',(#9872,#9874,#9875,#9876,#9878,#9880,#9882,#9884));
++#9886=FACE_OUTER_BOUND('',#9885,.F.);
++#9887=ADVANCED_FACE('',(#9886),#9870,.F.);
++#9888=CARTESIAN_POINT('',(2.025E1,2.75E0,8.558891941783E0));
++#9889=DIRECTION('',(0.E0,0.E0,-1.E0));
++#9890=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9891=AXIS2_PLACEMENT_3D('',#9888,#9889,#9890);
++#9892=CYLINDRICAL_SURFACE('',#9891,7.5E-1);
++#9894=ORIENTED_EDGE('',*,*,#9893,.F.);
++#9895=ORIENTED_EDGE('',*,*,#9871,.T.);
++#9897=ORIENTED_EDGE('',*,*,#9896,.T.);
++#9898=ORIENTED_EDGE('',*,*,#6067,.T.);
++#9899=EDGE_LOOP('',(#9894,#9895,#9897,#9898));
++#9900=FACE_OUTER_BOUND('',#9899,.F.);
++#9901=ADVANCED_FACE('',(#9900),#9892,.F.);
++#9902=CARTESIAN_POINT('',(1.95E1,2.E0,8.E0));
++#9903=DIRECTION('',(0.E0,1.E0,0.E0));
++#9904=DIRECTION('',(1.E0,0.E0,0.E0));
++#9905=AXIS2_PLACEMENT_3D('',#9902,#9903,#9904);
++#9906=PLANE('',#9905);
++#9907=ORIENTED_EDGE('',*,*,#9893,.T.);
++#9908=ORIENTED_EDGE('',*,*,#6065,.T.);
++#9909=ORIENTED_EDGE('',*,*,#9860,.F.);
++#9910=ORIENTED_EDGE('',*,*,#9873,.F.);
++#9911=EDGE_LOOP('',(#9907,#9908,#9909,#9910));
++#9912=FACE_OUTER_BOUND('',#9911,.F.);
++#9913=ADVANCED_FACE('',(#9912),#9906,.T.);
++#9914=CARTESIAN_POINT('',(1.95E1,9.5E0,8.E0));
++#9915=DIRECTION('',(1.E0,0.E0,0.E0));
++#9916=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9917=AXIS2_PLACEMENT_3D('',#9914,#9915,#9916);
++#9918=PLANE('',#9917);
++#9919=ORIENTED_EDGE('',*,*,#9896,.F.);
++#9920=ORIENTED_EDGE('',*,*,#9883,.F.);
++#9922=ORIENTED_EDGE('',*,*,#9921,.T.);
++#9923=ORIENTED_EDGE('',*,*,#6069,.T.);
++#9924=EDGE_LOOP('',(#9919,#9920,#9922,#9923));
++#9925=FACE_OUTER_BOUND('',#9924,.F.);
++#9926=ADVANCED_FACE('',(#9925),#9918,.T.);
++#9927=CARTESIAN_POINT('',(2.025E1,8.75E0,8.558891941783E0));
++#9928=DIRECTION('',(0.E0,0.E0,-1.E0));
++#9929=DIRECTION('',(-1.E0,0.E0,0.E0));
++#9930=AXIS2_PLACEMENT_3D('',#9927,#9928,#9929);
++#9931=CYLINDRICAL_SURFACE('',#9930,7.5E-1);
++#9932=ORIENTED_EDGE('',*,*,#9921,.F.);
++#9933=ORIENTED_EDGE('',*,*,#9881,.T.);
++#9935=ORIENTED_EDGE('',*,*,#9934,.T.);
++#9936=ORIENTED_EDGE('',*,*,#6071,.T.);
++#9937=EDGE_LOOP('',(#9932,#9933,#9935,#9936));
++#9938=FACE_OUTER_BOUND('',#9937,.F.);
++#9939=ADVANCED_FACE('',(#9938),#9931,.F.);
++#9940=CARTESIAN_POINT('',(2.125314193270E1,9.5E0,8.E0));
++#9941=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9942=DIRECTION('',(-1.E0,0.E0,0.E0));
++#9943=AXIS2_PLACEMENT_3D('',#9940,#9941,#9942);
++#9944=PLANE('',#9943);
++#9946=ORIENTED_EDGE('',*,*,#9945,.T.);
++#9947=ORIENTED_EDGE('',*,*,#6073,.T.);
++#9948=ORIENTED_EDGE('',*,*,#9934,.F.);
++#9949=ORIENTED_EDGE('',*,*,#9879,.F.);
++#9950=EDGE_LOOP('',(#9946,#9947,#9948,#9949));
++#9951=FACE_OUTER_BOUND('',#9950,.F.);
++#9952=ADVANCED_FACE('',(#9951),#9944,.T.);
++#9953=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.558891941783E0));
++#9954=DIRECTION('',(0.E0,0.E0,-1.E0));
++#9955=DIRECTION('',(0.E0,1.E0,0.E0));
++#9956=AXIS2_PLACEMENT_3D('',#9953,#9954,#9955);
++#9957=CYLINDRICAL_SURFACE('',#9956,7.5E-1);
++#9958=ORIENTED_EDGE('',*,*,#9945,.F.);
++#9959=ORIENTED_EDGE('',*,*,#9877,.T.);
++#9960=ORIENTED_EDGE('',*,*,#9845,.T.);
++#9961=ORIENTED_EDGE('',*,*,#6075,.T.);
++#9962=EDGE_LOOP('',(#9958,#9959,#9960,#9961));
++#9963=FACE_OUTER_BOUND('',#9962,.F.);
++#9964=ADVANCED_FACE('',(#9963),#9957,.F.);
++#9965=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1));
++#9966=DIRECTION('',(0.E0,0.E0,-1.E0));
++#9967=DIRECTION('',(1.E0,0.E0,0.E0));
++#9968=AXIS2_PLACEMENT_3D('',#9965,#9966,#9967);
++#9969=PLANE('',#9968);
++#9970=ORIENTED_EDGE('',*,*,#5726,.F.);
++#9972=ORIENTED_EDGE('',*,*,#9971,.T.);
++#9974=ORIENTED_EDGE('',*,*,#9973,.T.);
++#9976=ORIENTED_EDGE('',*,*,#9975,.F.);
++#9977=EDGE_LOOP('',(#9970,#9972,#9974,#9976));
++#9978=FACE_OUTER_BOUND('',#9977,.F.);
++#9979=ADVANCED_FACE('',(#9978),#9969,.F.);
++#9980=CARTESIAN_POINT('',(7.5E0,0.E0,1.25E0));
++#9981=DIRECTION('',(0.E0,-1.E0,0.E0));
++#9982=DIRECTION('',(1.E0,0.E0,0.E0));
++#9983=AXIS2_PLACEMENT_3D('',#9980,#9981,#9982);
++#9984=CYLINDRICAL_SURFACE('',#9983,5.625E-1);
++#9985=ORIENTED_EDGE('',*,*,#5732,.F.);
++#9987=ORIENTED_EDGE('',*,*,#9986,.T.);
++#9989=ORIENTED_EDGE('',*,*,#9988,.T.);
++#9990=ORIENTED_EDGE('',*,*,#9971,.F.);
++#9991=EDGE_LOOP('',(#9985,#9987,#9989,#9990));
++#9992=FACE_OUTER_BOUND('',#9991,.F.);
++#9993=ADVANCED_FACE('',(#9992),#9984,.F.);
++#9994=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0));
++#9995=DIRECTION('',(0.E0,0.E0,1.E0));
++#9996=DIRECTION('',(-1.E0,0.E0,0.E0));
++#9997=AXIS2_PLACEMENT_3D('',#9994,#9995,#9996);
++#9998=PLANE('',#9997);
++#9999=ORIENTED_EDGE('',*,*,#5730,.F.);
++#10001=ORIENTED_EDGE('',*,*,#10000,.T.);
++#10003=ORIENTED_EDGE('',*,*,#10002,.T.);
++#10004=ORIENTED_EDGE('',*,*,#9986,.F.);
++#10005=EDGE_LOOP('',(#9999,#10001,#10003,#10004));
++#10006=FACE_OUTER_BOUND('',#10005,.F.);
++#10007=ADVANCED_FACE('',(#10006),#9998,.F.);
++#10008=CARTESIAN_POINT('',(1.05E1,0.E0,1.25E0));
++#10009=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10010=DIRECTION('',(1.E0,0.E0,0.E0));
++#10011=AXIS2_PLACEMENT_3D('',#10008,#10009,#10010);
++#10012=CYLINDRICAL_SURFACE('',#10011,5.625E-1);
++#10013=ORIENTED_EDGE('',*,*,#5728,.F.);
++#10014=ORIENTED_EDGE('',*,*,#9975,.T.);
++#10016=ORIENTED_EDGE('',*,*,#10015,.T.);
++#10017=ORIENTED_EDGE('',*,*,#10000,.F.);
++#10018=EDGE_LOOP('',(#10013,#10014,#10016,#10017));
++#10019=FACE_OUTER_BOUND('',#10018,.F.);
++#10020=ADVANCED_FACE('',(#10019),#10012,.F.);
++#10021=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
++#10022=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10023=DIRECTION('',(1.E0,0.E0,0.E0));
++#10024=AXIS2_PLACEMENT_3D('',#10021,#10022,#10023);
++#10025=PLANE('',#10024);
++#10026=ORIENTED_EDGE('',*,*,#9973,.F.);
++#10027=ORIENTED_EDGE('',*,*,#9988,.F.);
++#10028=ORIENTED_EDGE('',*,*,#10002,.F.);
++#10029=ORIENTED_EDGE('',*,*,#10015,.F.);
++#10030=EDGE_LOOP('',(#10026,#10027,#10028,#10029));
++#10031=FACE_OUTER_BOUND('',#10030,.F.);
++#10032=ADVANCED_FACE('',(#10031),#10025,.T.);
++#10033=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
++#10034=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10035=DIRECTION('',(1.E0,0.E0,0.E0));
++#10036=AXIS2_PLACEMENT_3D('',#10033,#10034,#10035);
++#10037=PLANE('',#10036);
++#10039=ORIENTED_EDGE('',*,*,#10038,.F.);
++#10041=ORIENTED_EDGE('',*,*,#10040,.F.);
++#10043=ORIENTED_EDGE('',*,*,#10042,.F.);
++#10045=ORIENTED_EDGE('',*,*,#10044,.F.);
++#10047=ORIENTED_EDGE('',*,*,#10046,.F.);
++#10048=EDGE_LOOP('',(#10039,#10041,#10043,#10045,#10047));
++#10049=FACE_OUTER_BOUND('',#10048,.F.);
++#10050=ADVANCED_FACE('',(#10049),#10037,.T.);
++#10051=CARTESIAN_POINT('',(1.455736763592E0,-6.892397422826E-2,
++4.577195232320E0));
++#10052=DIRECTION('',(0.E0,1.E0,0.E0));
++#10053=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
++#10054=AXIS2_PLACEMENT_3D('',#10051,#10052,#10053);
++#10055=CYLINDRICAL_SURFACE('',#10054,7.5E-1);
++#10057=ORIENTED_EDGE('',*,*,#10056,.F.);
++#10058=ORIENTED_EDGE('',*,*,#5738,.T.);
++#10060=ORIENTED_EDGE('',*,*,#10059,.T.);
++#10061=ORIENTED_EDGE('',*,*,#10038,.T.);
++#10062=EDGE_LOOP('',(#10057,#10058,#10060,#10061));
++#10063=FACE_OUTER_BOUND('',#10062,.F.);
++#10064=ADVANCED_FACE('',(#10063),#10055,.F.);
++#10065=CARTESIAN_POINT('',(6.875E-1,0.E0,4.284771824132E0));
++#10066=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
++#10067=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
++#10068=AXIS2_PLACEMENT_3D('',#10065,#10066,#10067);
++#10069=PLANE('',#10068);
++#10070=ORIENTED_EDGE('',*,*,#10056,.T.);
++#10071=ORIENTED_EDGE('',*,*,#10046,.T.);
++#10073=ORIENTED_EDGE('',*,*,#10072,.F.);
++#10074=ORIENTED_EDGE('',*,*,#5740,.F.);
++#10075=EDGE_LOOP('',(#10070,#10071,#10073,#10074));
++#10076=FACE_OUTER_BOUND('',#10075,.F.);
++#10077=ADVANCED_FACE('',(#10076),#10069,.F.);
++#10078=CARTESIAN_POINT('',(4.553039342392E0,0.E0,1.645354088550E0));
++#10079=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10080=DIRECTION('',(1.E0,0.E0,0.E0));
++#10081=AXIS2_PLACEMENT_3D('',#10078,#10079,#10080);
++#10082=CYLINDRICAL_SURFACE('',#10081,8.669989027347E-1);
++#10083=ORIENTED_EDGE('',*,*,#5742,.F.);
++#10084=ORIENTED_EDGE('',*,*,#10072,.T.);
++#10085=ORIENTED_EDGE('',*,*,#10044,.T.);
++#10087=ORIENTED_EDGE('',*,*,#10086,.F.);
++#10088=EDGE_LOOP('',(#10083,#10084,#10085,#10087));
++#10089=FACE_OUTER_BOUND('',#10088,.F.);
++#10090=ADVANCED_FACE('',(#10089),#10082,.F.);
++#10091=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0));
++#10092=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10093=DIRECTION('',(1.E0,0.E0,0.E0));
++#10094=AXIS2_PLACEMENT_3D('',#10091,#10092,#10093);
++#10095=CYLINDRICAL_SURFACE('',#10094,5.6875E0);
++#10096=ORIENTED_EDGE('',*,*,#5744,.T.);
++#10097=ORIENTED_EDGE('',*,*,#10086,.T.);
++#10098=ORIENTED_EDGE('',*,*,#10042,.T.);
++#10100=ORIENTED_EDGE('',*,*,#10099,.F.);
++#10101=EDGE_LOOP('',(#10096,#10097,#10098,#10100));
++#10102=FACE_OUTER_BOUND('',#10101,.F.);
++#10103=ADVANCED_FACE('',(#10102),#10095,.T.);
++#10104=CARTESIAN_POINT('',(1.61E0,0.E0,4.5E0));
++#10105=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10106=DIRECTION('',(1.E0,0.E0,0.E0));
++#10107=AXIS2_PLACEMENT_3D('',#10104,#10105,#10106);
++#10108=CYLINDRICAL_SURFACE('',#10107,9.225E-1);
++#10109=ORIENTED_EDGE('',*,*,#10059,.F.);
++#10110=ORIENTED_EDGE('',*,*,#5736,.F.);
++#10111=ORIENTED_EDGE('',*,*,#10099,.T.);
++#10112=ORIENTED_EDGE('',*,*,#10040,.T.);
++#10113=EDGE_LOOP('',(#10109,#10110,#10111,#10112));
++#10114=FACE_OUTER_BOUND('',#10113,.F.);
++#10115=ADVANCED_FACE('',(#10114),#10108,.F.);
++#10116=CARTESIAN_POINT('',(-1.85E-1,7.463919417831E-1,7.815E0));
++#10117=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10118=DIRECTION('',(1.E0,0.E0,0.E0));
++#10119=AXIS2_PLACEMENT_3D('',#10116,#10117,#10118);
++#10120=CYLINDRICAL_SURFACE('',#10119,8.75E-1);
++#10122=ORIENTED_EDGE('',*,*,#10121,.T.);
++#10123=ORIENTED_EDGE('',*,*,#5748,.T.);
++#10125=ORIENTED_EDGE('',*,*,#10124,.F.);
++#10127=ORIENTED_EDGE('',*,*,#10126,.T.);
++#10128=EDGE_LOOP('',(#10122,#10123,#10125,#10127));
++#10129=FACE_OUTER_BOUND('',#10128,.F.);
++#10130=ADVANCED_FACE('',(#10129),#10120,.T.);
++#10131=CARTESIAN_POINT('',(6.9E-1,0.E0,8.69E0));
++#10132=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10133=DIRECTION('',(0.E0,0.E0,-1.E0));
++#10134=AXIS2_PLACEMENT_3D('',#10131,#10132,#10133);
++#10135=PLANE('',#10134);
++#10136=ORIENTED_EDGE('',*,*,#10121,.F.);
++#10138=ORIENTED_EDGE('',*,*,#10137,.T.);
++#10140=ORIENTED_EDGE('',*,*,#10139,.F.);
++#10141=ORIENTED_EDGE('',*,*,#5750,.F.);
++#10142=EDGE_LOOP('',(#10136,#10138,#10140,#10141));
++#10143=FACE_OUTER_BOUND('',#10142,.F.);
++#10144=ADVANCED_FACE('',(#10143),#10135,.F.);
++#10145=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
++#10146=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10147=DIRECTION('',(1.E0,0.E0,0.E0));
++#10148=AXIS2_PLACEMENT_3D('',#10145,#10146,#10147);
++#10149=PLANE('',#10148);
++#10151=ORIENTED_EDGE('',*,*,#10150,.F.);
++#10153=ORIENTED_EDGE('',*,*,#10152,.F.);
++#10155=ORIENTED_EDGE('',*,*,#10154,.F.);
++#10157=ORIENTED_EDGE('',*,*,#10156,.F.);
++#10158=ORIENTED_EDGE('',*,*,#10137,.F.);
++#10159=ORIENTED_EDGE('',*,*,#10126,.F.);
++#10161=ORIENTED_EDGE('',*,*,#10160,.F.);
++#10163=ORIENTED_EDGE('',*,*,#10162,.F.);
++#10165=ORIENTED_EDGE('',*,*,#10164,.F.);
++#10167=ORIENTED_EDGE('',*,*,#10166,.F.);
++#10169=ORIENTED_EDGE('',*,*,#10168,.F.);
++#10171=ORIENTED_EDGE('',*,*,#10170,.F.);
++#10173=ORIENTED_EDGE('',*,*,#10172,.F.);
++#10175=ORIENTED_EDGE('',*,*,#10174,.F.);
++#10176=EDGE_LOOP('',(#10151,#10153,#10155,#10157,#10158,#10159,#10161,#10163,
++#10165,#10167,#10169,#10171,#10173,#10175));
++#10177=FACE_OUTER_BOUND('',#10176,.F.);
++#10178=ADVANCED_FACE('',(#10177),#10149,.T.);
++#10179=CARTESIAN_POINT('',(1.8125E0,0.E0,8.69E0));
++#10180=DIRECTION('',(0.E0,0.E0,-1.E0));
++#10181=DIRECTION('',(1.E0,0.E0,0.E0));
++#10182=AXIS2_PLACEMENT_3D('',#10179,#10180,#10181);
++#10183=PLANE('',#10182);
++#10185=ORIENTED_EDGE('',*,*,#10184,.F.);
++#10186=ORIENTED_EDGE('',*,*,#10150,.T.);
++#10188=ORIENTED_EDGE('',*,*,#10187,.F.);
++#10189=ORIENTED_EDGE('',*,*,#5758,.F.);
++#10190=EDGE_LOOP('',(#10185,#10186,#10188,#10189));
++#10191=FACE_OUTER_BOUND('',#10190,.F.);
++#10192=ADVANCED_FACE('',(#10191),#10183,.F.);
++#10193=CARTESIAN_POINT('',(2.6875E0,7.463919417831E-1,7.815E0));
++#10194=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10195=DIRECTION('',(0.E0,0.E0,1.E0));
++#10196=AXIS2_PLACEMENT_3D('',#10193,#10194,#10195);
++#10197=CYLINDRICAL_SURFACE('',#10196,8.75E-1);
++#10198=ORIENTED_EDGE('',*,*,#10184,.T.);
++#10199=ORIENTED_EDGE('',*,*,#5756,.T.);
++#10201=ORIENTED_EDGE('',*,*,#10200,.F.);
++#10202=ORIENTED_EDGE('',*,*,#10152,.T.);
++#10203=EDGE_LOOP('',(#10198,#10199,#10201,#10202));
++#10204=FACE_OUTER_BOUND('',#10203,.F.);
++#10205=ADVANCED_FACE('',(#10204),#10197,.T.);
++#10206=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0));
++#10207=DIRECTION('',(1.E0,0.E0,0.E0));
++#10208=DIRECTION('',(0.E0,0.E0,1.E0));
++#10209=AXIS2_PLACEMENT_3D('',#10206,#10207,#10208);
++#10210=PLANE('',#10209);
++#10211=ORIENTED_EDGE('',*,*,#10200,.T.);
++#10212=ORIENTED_EDGE('',*,*,#5754,.F.);
++#10214=ORIENTED_EDGE('',*,*,#10213,.T.);
++#10215=ORIENTED_EDGE('',*,*,#10154,.T.);
++#10216=EDGE_LOOP('',(#10211,#10212,#10214,#10215));
++#10217=FACE_OUTER_BOUND('',#10216,.F.);
++#10218=ADVANCED_FACE('',(#10217),#10210,.F.);
++#10219=CARTESIAN_POINT('',(1.25125E0,0.E0,7.5E0));
++#10220=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10221=DIRECTION('',(1.E0,0.E0,0.E0));
++#10222=AXIS2_PLACEMENT_3D('',#10219,#10220,#10221);
++#10223=CYLINDRICAL_SURFACE('',#10222,5.6125E-1);
++#10224=ORIENTED_EDGE('',*,*,#5752,.F.);
++#10225=ORIENTED_EDGE('',*,*,#10139,.T.);
++#10226=ORIENTED_EDGE('',*,*,#10156,.T.);
++#10227=ORIENTED_EDGE('',*,*,#10213,.F.);
++#10228=EDGE_LOOP('',(#10224,#10225,#10226,#10227));
++#10229=FACE_OUTER_BOUND('',#10228,.F.);
++#10230=ADVANCED_FACE('',(#10229),#10223,.F.);
++#10231=CARTESIAN_POINT('',(3.4375E0,-6.892397422826E-2,9.565E0));
++#10232=DIRECTION('',(0.E0,1.E0,0.E0));
++#10233=DIRECTION('',(1.E0,0.E0,0.E0));
++#10234=AXIS2_PLACEMENT_3D('',#10231,#10232,#10233);
++#10235=CYLINDRICAL_SURFACE('',#10234,8.75E-1);
++#10237=ORIENTED_EDGE('',*,*,#10236,.F.);
++#10238=ORIENTED_EDGE('',*,*,#5760,.T.);
++#10239=ORIENTED_EDGE('',*,*,#10187,.T.);
++#10240=ORIENTED_EDGE('',*,*,#10174,.T.);
++#10241=EDGE_LOOP('',(#10237,#10238,#10239,#10240));
++#10242=FACE_OUTER_BOUND('',#10241,.F.);
++#10243=ADVANCED_FACE('',(#10242),#10235,.F.);
++#10244=CARTESIAN_POINT('',(4.3125E0,0.E0,8.69E0));
++#10245=DIRECTION('',(1.E0,0.E0,0.E0));
++#10246=DIRECTION('',(0.E0,0.E0,1.E0));
++#10247=AXIS2_PLACEMENT_3D('',#10244,#10245,#10246);
++#10248=PLANE('',#10247);
++#10249=ORIENTED_EDGE('',*,*,#10236,.T.);
++#10250=ORIENTED_EDGE('',*,*,#10172,.T.);
++#10252=ORIENTED_EDGE('',*,*,#10251,.F.);
++#10253=ORIENTED_EDGE('',*,*,#5762,.F.);
++#10254=EDGE_LOOP('',(#10249,#10250,#10252,#10253));
++#10255=FACE_OUTER_BOUND('',#10254,.F.);
++#10256=ADVANCED_FACE('',(#10255),#10248,.F.);
++#10257=CARTESIAN_POINT('',(3.4375E0,-6.892397422826E-2,1.0375E1));
++#10258=DIRECTION('',(0.E0,1.E0,0.E0));
++#10259=DIRECTION('',(0.E0,0.E0,1.E0));
++#10260=AXIS2_PLACEMENT_3D('',#10257,#10258,#10259);
++#10261=CYLINDRICAL_SURFACE('',#10260,8.75E-1);
++#10263=ORIENTED_EDGE('',*,*,#10262,.F.);
++#10264=ORIENTED_EDGE('',*,*,#5764,.T.);
++#10265=ORIENTED_EDGE('',*,*,#10251,.T.);
++#10266=ORIENTED_EDGE('',*,*,#10170,.T.);
++#10267=EDGE_LOOP('',(#10263,#10264,#10265,#10266));
++#10268=FACE_OUTER_BOUND('',#10267,.F.);
++#10269=ADVANCED_FACE('',(#10268),#10261,.F.);
++#10270=CARTESIAN_POINT('',(4.3125E0,0.E0,1.125E1));
++#10271=DIRECTION('',(0.E0,0.E0,1.E0));
++#10272=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10273=AXIS2_PLACEMENT_3D('',#10270,#10271,#10272);
++#10274=PLANE('',#10273);
++#10276=ORIENTED_EDGE('',*,*,#10275,.F.);
++#10277=ORIENTED_EDGE('',*,*,#5766,.F.);
++#10278=ORIENTED_EDGE('',*,*,#10262,.T.);
++#10279=ORIENTED_EDGE('',*,*,#10168,.T.);
++#10280=EDGE_LOOP('',(#10276,#10277,#10278,#10279));
++#10281=FACE_OUTER_BOUND('',#10280,.F.);
++#10282=ADVANCED_FACE('',(#10281),#10274,.F.);
++#10283=CARTESIAN_POINT('',(-4.375E-1,-6.892397422826E-2,1.0375E1));
++#10284=DIRECTION('',(0.E0,1.E0,0.E0));
++#10285=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10286=AXIS2_PLACEMENT_3D('',#10283,#10284,#10285);
++#10287=CYLINDRICAL_SURFACE('',#10286,8.75E-1);
++#10289=ORIENTED_EDGE('',*,*,#10288,.F.);
++#10290=ORIENTED_EDGE('',*,*,#5768,.T.);
++#10291=ORIENTED_EDGE('',*,*,#10275,.T.);
++#10292=ORIENTED_EDGE('',*,*,#10166,.T.);
++#10293=EDGE_LOOP('',(#10289,#10290,#10291,#10292));
++#10294=FACE_OUTER_BOUND('',#10293,.F.);
++#10295=ADVANCED_FACE('',(#10294),#10287,.F.);
++#10296=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.125E1));
++#10297=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10298=DIRECTION('',(0.E0,0.E0,-1.E0));
++#10299=AXIS2_PLACEMENT_3D('',#10296,#10297,#10298);
++#10300=PLANE('',#10299);
++#10301=ORIENTED_EDGE('',*,*,#10288,.T.);
++#10302=ORIENTED_EDGE('',*,*,#10164,.T.);
++#10304=ORIENTED_EDGE('',*,*,#10303,.F.);
++#10305=ORIENTED_EDGE('',*,*,#5770,.F.);
++#10306=EDGE_LOOP('',(#10301,#10302,#10304,#10305));
++#10307=FACE_OUTER_BOUND('',#10306,.F.);
++#10308=ADVANCED_FACE('',(#10307),#10300,.F.);
++#10309=CARTESIAN_POINT('',(-4.375E-1,-6.892397422826E-2,9.565E0));
++#10310=DIRECTION('',(0.E0,1.E0,0.E0));
++#10311=DIRECTION('',(0.E0,0.E0,-1.E0));
++#10312=AXIS2_PLACEMENT_3D('',#10309,#10310,#10311);
++#10313=CYLINDRICAL_SURFACE('',#10312,8.75E-1);
++#10315=ORIENTED_EDGE('',*,*,#10314,.F.);
++#10316=ORIENTED_EDGE('',*,*,#5772,.T.);
++#10317=ORIENTED_EDGE('',*,*,#10303,.T.);
++#10318=ORIENTED_EDGE('',*,*,#10162,.T.);
++#10319=EDGE_LOOP('',(#10315,#10316,#10317,#10318));
++#10320=FACE_OUTER_BOUND('',#10319,.F.);
++#10321=ADVANCED_FACE('',(#10320),#10313,.F.);
++#10322=CARTESIAN_POINT('',(-1.3125E0,0.E0,8.69E0));
++#10323=DIRECTION('',(0.E0,0.E0,-1.E0));
++#10324=DIRECTION('',(1.E0,0.E0,0.E0));
++#10325=AXIS2_PLACEMENT_3D('',#10322,#10323,#10324);
++#10326=PLANE('',#10325);
++#10327=ORIENTED_EDGE('',*,*,#10124,.T.);
++#10328=ORIENTED_EDGE('',*,*,#5774,.F.);
++#10329=ORIENTED_EDGE('',*,*,#10314,.T.);
++#10330=ORIENTED_EDGE('',*,*,#10160,.T.);
++#10331=EDGE_LOOP('',(#10327,#10328,#10329,#10330));
++#10332=FACE_OUTER_BOUND('',#10331,.F.);
++#10333=ADVANCED_FACE('',(#10332),#10326,.F.);
++#10334=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1));
++#10335=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10336=DIRECTION('',(0.E0,0.E0,-1.E0));
++#10337=AXIS2_PLACEMENT_3D('',#10334,#10335,#10336);
++#10338=PLANE('',#10337);
++#10339=ORIENTED_EDGE('',*,*,#5778,.F.);
++#10341=ORIENTED_EDGE('',*,*,#10340,.T.);
++#10343=ORIENTED_EDGE('',*,*,#10342,.T.);
++#10345=ORIENTED_EDGE('',*,*,#10344,.F.);
++#10346=EDGE_LOOP('',(#10339,#10341,#10343,#10345));
++#10347=FACE_OUTER_BOUND('',#10346,.F.);
++#10348=ADVANCED_FACE('',(#10347),#10338,.F.);
++#10349=CARTESIAN_POINT('',(1.25E0,0.E0,1.65E1));
++#10350=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10351=DIRECTION('',(1.E0,0.E0,0.E0));
++#10352=AXIS2_PLACEMENT_3D('',#10349,#10350,#10351);
++#10353=CYLINDRICAL_SURFACE('',#10352,5.625E-1);
++#10354=ORIENTED_EDGE('',*,*,#5784,.F.);
++#10356=ORIENTED_EDGE('',*,*,#10355,.T.);
++#10358=ORIENTED_EDGE('',*,*,#10357,.T.);
++#10359=ORIENTED_EDGE('',*,*,#10340,.F.);
++#10360=EDGE_LOOP('',(#10354,#10356,#10358,#10359));
++#10361=FACE_OUTER_BOUND('',#10360,.F.);
++#10362=ADVANCED_FACE('',(#10361),#10353,.F.);
++#10363=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1));
++#10364=DIRECTION('',(1.E0,0.E0,0.E0));
++#10365=DIRECTION('',(0.E0,0.E0,1.E0));
++#10366=AXIS2_PLACEMENT_3D('',#10363,#10364,#10365);
++#10367=PLANE('',#10366);
++#10368=ORIENTED_EDGE('',*,*,#5782,.F.);
++#10370=ORIENTED_EDGE('',*,*,#10369,.T.);
++#10372=ORIENTED_EDGE('',*,*,#10371,.T.);
++#10373=ORIENTED_EDGE('',*,*,#10355,.F.);
++#10374=EDGE_LOOP('',(#10368,#10370,#10372,#10373));
++#10375=FACE_OUTER_BOUND('',#10374,.F.);
++#10376=ADVANCED_FACE('',(#10375),#10367,.F.);
++#10377=CARTESIAN_POINT('',(1.25E0,0.E0,1.35E1));
++#10378=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10379=DIRECTION('',(1.E0,0.E0,0.E0));
++#10380=AXIS2_PLACEMENT_3D('',#10377,#10378,#10379);
++#10381=CYLINDRICAL_SURFACE('',#10380,5.625E-1);
++#10382=ORIENTED_EDGE('',*,*,#5780,.F.);
++#10383=ORIENTED_EDGE('',*,*,#10344,.T.);
++#10385=ORIENTED_EDGE('',*,*,#10384,.T.);
++#10386=ORIENTED_EDGE('',*,*,#10369,.F.);
++#10387=EDGE_LOOP('',(#10382,#10383,#10385,#10386));
++#10388=FACE_OUTER_BOUND('',#10387,.F.);
++#10389=ADVANCED_FACE('',(#10388),#10381,.F.);
++#10390=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
++#10391=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10392=DIRECTION('',(1.E0,0.E0,0.E0));
++#10393=AXIS2_PLACEMENT_3D('',#10390,#10391,#10392);
++#10394=PLANE('',#10393);
++#10395=ORIENTED_EDGE('',*,*,#10342,.F.);
++#10396=ORIENTED_EDGE('',*,*,#10357,.F.);
++#10397=ORIENTED_EDGE('',*,*,#10371,.F.);
++#10398=ORIENTED_EDGE('',*,*,#10384,.F.);
++#10399=EDGE_LOOP('',(#10395,#10396,#10397,#10398));
++#10400=FACE_OUTER_BOUND('',#10399,.F.);
++#10401=ADVANCED_FACE('',(#10400),#10394,.T.);
++#10402=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1));
++#10403=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10404=DIRECTION('',(0.E0,0.E0,-1.E0));
++#10405=AXIS2_PLACEMENT_3D('',#10402,#10403,#10404);
++#10406=PLANE('',#10405);
++#10407=ORIENTED_EDGE('',*,*,#5788,.F.);
++#10409=ORIENTED_EDGE('',*,*,#10408,.T.);
++#10411=ORIENTED_EDGE('',*,*,#10410,.T.);
++#10413=ORIENTED_EDGE('',*,*,#10412,.F.);
++#10414=EDGE_LOOP('',(#10407,#10409,#10411,#10413));
++#10415=FACE_OUTER_BOUND('',#10414,.F.);
++#10416=ADVANCED_FACE('',(#10415),#10406,.F.);
++#10417=CARTESIAN_POINT('',(1.25E0,0.E0,2.25E1));
++#10418=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10419=DIRECTION('',(1.E0,0.E0,0.E0));
++#10420=AXIS2_PLACEMENT_3D('',#10417,#10418,#10419);
++#10421=CYLINDRICAL_SURFACE('',#10420,5.625E-1);
++#10422=ORIENTED_EDGE('',*,*,#5794,.F.);
++#10424=ORIENTED_EDGE('',*,*,#10423,.T.);
++#10426=ORIENTED_EDGE('',*,*,#10425,.T.);
++#10427=ORIENTED_EDGE('',*,*,#10408,.F.);
++#10428=EDGE_LOOP('',(#10422,#10424,#10426,#10427));
++#10429=FACE_OUTER_BOUND('',#10428,.F.);
++#10430=ADVANCED_FACE('',(#10429),#10421,.F.);
++#10431=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1));
++#10432=DIRECTION('',(1.E0,0.E0,0.E0));
++#10433=DIRECTION('',(0.E0,0.E0,1.E0));
++#10434=AXIS2_PLACEMENT_3D('',#10431,#10432,#10433);
++#10435=PLANE('',#10434);
++#10436=ORIENTED_EDGE('',*,*,#5792,.F.);
++#10438=ORIENTED_EDGE('',*,*,#10437,.T.);
++#10440=ORIENTED_EDGE('',*,*,#10439,.T.);
++#10441=ORIENTED_EDGE('',*,*,#10423,.F.);
++#10442=EDGE_LOOP('',(#10436,#10438,#10440,#10441));
++#10443=FACE_OUTER_BOUND('',#10442,.F.);
++#10444=ADVANCED_FACE('',(#10443),#10435,.F.);
++#10445=CARTESIAN_POINT('',(1.25E0,0.E0,1.95E1));
++#10446=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10447=DIRECTION('',(1.E0,0.E0,0.E0));
++#10448=AXIS2_PLACEMENT_3D('',#10445,#10446,#10447);
++#10449=CYLINDRICAL_SURFACE('',#10448,5.625E-1);
++#10450=ORIENTED_EDGE('',*,*,#5790,.F.);
++#10451=ORIENTED_EDGE('',*,*,#10412,.T.);
++#10453=ORIENTED_EDGE('',*,*,#10452,.T.);
++#10454=ORIENTED_EDGE('',*,*,#10437,.F.);
++#10455=EDGE_LOOP('',(#10450,#10451,#10453,#10454));
++#10456=FACE_OUTER_BOUND('',#10455,.F.);
++#10457=ADVANCED_FACE('',(#10456),#10449,.F.);
++#10458=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
++#10459=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10460=DIRECTION('',(1.E0,0.E0,0.E0));
++#10461=AXIS2_PLACEMENT_3D('',#10458,#10459,#10460);
++#10462=PLANE('',#10461);
++#10463=ORIENTED_EDGE('',*,*,#10410,.F.);
++#10464=ORIENTED_EDGE('',*,*,#10425,.F.);
++#10465=ORIENTED_EDGE('',*,*,#10439,.F.);
++#10466=ORIENTED_EDGE('',*,*,#10452,.F.);
++#10467=EDGE_LOOP('',(#10463,#10464,#10465,#10466));
++#10468=FACE_OUTER_BOUND('',#10467,.F.);
++#10469=ADVANCED_FACE('',(#10468),#10462,.T.);
++#10470=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0));
++#10471=DIRECTION('',(0.E0,0.E0,-1.E0));
++#10472=DIRECTION('',(1.E0,0.E0,0.E0));
++#10473=AXIS2_PLACEMENT_3D('',#10470,#10471,#10472);
++#10474=PLANE('',#10473);
++#10475=ORIENTED_EDGE('',*,*,#5798,.F.);
++#10477=ORIENTED_EDGE('',*,*,#10476,.T.);
++#10479=ORIENTED_EDGE('',*,*,#10478,.T.);
++#10481=ORIENTED_EDGE('',*,*,#10480,.F.);
++#10482=EDGE_LOOP('',(#10475,#10477,#10479,#10481));
++#10483=FACE_OUTER_BOUND('',#10482,.F.);
++#10484=ADVANCED_FACE('',(#10483),#10474,.F.);
++#10485=CARTESIAN_POINT('',(7.5E0,0.E0,9.E0));
++#10486=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10487=DIRECTION('',(1.E0,0.E0,0.E0));
++#10488=AXIS2_PLACEMENT_3D('',#10485,#10486,#10487);
++#10489=CYLINDRICAL_SURFACE('',#10488,5.E-1);
++#10490=ORIENTED_EDGE('',*,*,#5804,.F.);
++#10492=ORIENTED_EDGE('',*,*,#10491,.T.);
++#10494=ORIENTED_EDGE('',*,*,#10493,.T.);
++#10495=ORIENTED_EDGE('',*,*,#10476,.F.);
++#10496=EDGE_LOOP('',(#10490,#10492,#10494,#10495));
++#10497=FACE_OUTER_BOUND('',#10496,.F.);
++#10498=ADVANCED_FACE('',(#10497),#10489,.F.);
++#10499=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0));
++#10500=DIRECTION('',(0.E0,0.E0,1.E0));
++#10501=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10502=AXIS2_PLACEMENT_3D('',#10499,#10500,#10501);
++#10503=PLANE('',#10502);
++#10504=ORIENTED_EDGE('',*,*,#5802,.F.);
++#10506=ORIENTED_EDGE('',*,*,#10505,.T.);
++#10508=ORIENTED_EDGE('',*,*,#10507,.T.);
++#10509=ORIENTED_EDGE('',*,*,#10491,.F.);
++#10510=EDGE_LOOP('',(#10504,#10506,#10508,#10509));
++#10511=FACE_OUTER_BOUND('',#10510,.F.);
++#10512=ADVANCED_FACE('',(#10511),#10503,.F.);
++#10513=CARTESIAN_POINT('',(1.05E1,0.E0,9.E0));
++#10514=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10515=DIRECTION('',(1.E0,0.E0,0.E0));
++#10516=AXIS2_PLACEMENT_3D('',#10513,#10514,#10515);
++#10517=CYLINDRICAL_SURFACE('',#10516,5.E-1);
++#10518=ORIENTED_EDGE('',*,*,#5800,.F.);
++#10519=ORIENTED_EDGE('',*,*,#10480,.T.);
++#10521=ORIENTED_EDGE('',*,*,#10520,.T.);
++#10522=ORIENTED_EDGE('',*,*,#10505,.F.);
++#10523=EDGE_LOOP('',(#10518,#10519,#10521,#10522));
++#10524=FACE_OUTER_BOUND('',#10523,.F.);
++#10525=ADVANCED_FACE('',(#10524),#10517,.F.);
++#10526=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
++#10527=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10528=DIRECTION('',(1.E0,0.E0,0.E0));
++#10529=AXIS2_PLACEMENT_3D('',#10526,#10527,#10528);
++#10530=PLANE('',#10529);
++#10531=ORIENTED_EDGE('',*,*,#10478,.F.);
++#10532=ORIENTED_EDGE('',*,*,#10493,.F.);
++#10533=ORIENTED_EDGE('',*,*,#10507,.F.);
++#10534=ORIENTED_EDGE('',*,*,#10520,.F.);
++#10535=EDGE_LOOP('',(#10531,#10532,#10533,#10534));
++#10536=FACE_OUTER_BOUND('',#10535,.F.);
++#10537=ADVANCED_FACE('',(#10536),#10530,.T.);
++#10538=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1));
++#10539=DIRECTION('',(0.E0,0.E0,-1.E0));
++#10540=DIRECTION('',(1.E0,0.E0,0.E0));
++#10541=AXIS2_PLACEMENT_3D('',#10538,#10539,#10540);
++#10542=PLANE('',#10541);
++#10543=ORIENTED_EDGE('',*,*,#5808,.F.);
++#10545=ORIENTED_EDGE('',*,*,#10544,.T.);
++#10547=ORIENTED_EDGE('',*,*,#10546,.T.);
++#10549=ORIENTED_EDGE('',*,*,#10548,.F.);
++#10550=EDGE_LOOP('',(#10543,#10545,#10547,#10549));
++#10551=FACE_OUTER_BOUND('',#10550,.F.);
++#10552=ADVANCED_FACE('',(#10551),#10542,.F.);
++#10553=CARTESIAN_POINT('',(7.5E0,0.E0,1.8E1));
++#10554=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10555=DIRECTION('',(1.E0,0.E0,0.E0));
++#10556=AXIS2_PLACEMENT_3D('',#10553,#10554,#10555);
++#10557=CYLINDRICAL_SURFACE('',#10556,4.375E-1);
++#10558=ORIENTED_EDGE('',*,*,#5814,.F.);
++#10560=ORIENTED_EDGE('',*,*,#10559,.T.);
++#10562=ORIENTED_EDGE('',*,*,#10561,.T.);
++#10563=ORIENTED_EDGE('',*,*,#10544,.F.);
++#10564=EDGE_LOOP('',(#10558,#10560,#10562,#10563));
++#10565=FACE_OUTER_BOUND('',#10564,.F.);
++#10566=ADVANCED_FACE('',(#10565),#10557,.F.);
++#10567=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1));
++#10568=DIRECTION('',(0.E0,0.E0,1.E0));
++#10569=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10570=AXIS2_PLACEMENT_3D('',#10567,#10568,#10569);
++#10571=PLANE('',#10570);
++#10572=ORIENTED_EDGE('',*,*,#5812,.F.);
++#10574=ORIENTED_EDGE('',*,*,#10573,.T.);
++#10576=ORIENTED_EDGE('',*,*,#10575,.T.);
++#10577=ORIENTED_EDGE('',*,*,#10559,.F.);
++#10578=EDGE_LOOP('',(#10572,#10574,#10576,#10577));
++#10579=FACE_OUTER_BOUND('',#10578,.F.);
++#10580=ADVANCED_FACE('',(#10579),#10571,.F.);
++#10581=CARTESIAN_POINT('',(1.05E1,0.E0,1.8E1));
++#10582=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10583=DIRECTION('',(1.E0,0.E0,0.E0));
++#10584=AXIS2_PLACEMENT_3D('',#10581,#10582,#10583);
++#10585=CYLINDRICAL_SURFACE('',#10584,4.375E-1);
++#10586=ORIENTED_EDGE('',*,*,#5810,.F.);
++#10587=ORIENTED_EDGE('',*,*,#10548,.T.);
++#10589=ORIENTED_EDGE('',*,*,#10588,.T.);
++#10590=ORIENTED_EDGE('',*,*,#10573,.F.);
++#10591=EDGE_LOOP('',(#10586,#10587,#10589,#10590));
++#10592=FACE_OUTER_BOUND('',#10591,.F.);
++#10593=ADVANCED_FACE('',(#10592),#10585,.F.);
++#10594=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
++#10595=DIRECTION('',(0.E0,-1.E0,0.E0));
++#10596=DIRECTION('',(1.E0,0.E0,0.E0));
++#10597=AXIS2_PLACEMENT_3D('',#10594,#10595,#10596);
++#10598=PLANE('',#10597);
++#10599=ORIENTED_EDGE('',*,*,#10546,.F.);
++#10600=ORIENTED_EDGE('',*,*,#10561,.F.);
++#10601=ORIENTED_EDGE('',*,*,#10575,.F.);
++#10602=ORIENTED_EDGE('',*,*,#10588,.F.);
++#10603=EDGE_LOOP('',(#10599,#10600,#10601,#10602));
++#10604=FACE_OUTER_BOUND('',#10603,.F.);
++#10605=ADVANCED_FACE('',(#10604),#10598,.T.);
++#10606=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1));
++#10607=DIRECTION('',(0.E0,0.E0,-1.E0));
++#10608=DIRECTION('',(1.E0,0.E0,0.E0));
++#10609=AXIS2_PLACEMENT_3D('',#10606,#10607,#10608);
++#10610=PLANE('',#10609);
++#10611=ORIENTED_EDGE('',*,*,#5818,.T.);
++#10613=ORIENTED_EDGE('',*,*,#10612,.T.);
++#10615=ORIENTED_EDGE('',*,*,#10614,.F.);
++#10617=ORIENTED_EDGE('',*,*,#10616,.F.);
++#10618=EDGE_LOOP('',(#10611,#10613,#10615,#10617));
++#10619=FACE_OUTER_BOUND('',#10618,.F.);
++#10620=ADVANCED_FACE('',(#10619),#10610,.T.);
++#10621=CARTESIAN_POINT('',(1.05E1,0.E0,3.075E1));
++#10622=DIRECTION('',(0.E0,1.E0,0.E0));
++#10623=DIRECTION('',(1.E0,0.E0,0.E0));
++#10624=AXIS2_PLACEMENT_3D('',#10621,#10622,#10623);
++#10625=CYLINDRICAL_SURFACE('',#10624,5.625E-1);
++#10626=ORIENTED_EDGE('',*,*,#5824,.T.);
++#10628=ORIENTED_EDGE('',*,*,#10627,.T.);
++#10630=ORIENTED_EDGE('',*,*,#10629,.F.);
++#10631=ORIENTED_EDGE('',*,*,#10612,.F.);
++#10632=EDGE_LOOP('',(#10626,#10628,#10630,#10631));
++#10633=FACE_OUTER_BOUND('',#10632,.F.);
++#10634=ADVANCED_FACE('',(#10633),#10625,.F.);
++#10635=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1));
++#10636=DIRECTION('',(0.E0,0.E0,1.E0));
++#10637=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10638=AXIS2_PLACEMENT_3D('',#10635,#10636,#10637);
++#10639=PLANE('',#10638);
++#10640=ORIENTED_EDGE('',*,*,#5822,.T.);
++#10642=ORIENTED_EDGE('',*,*,#10641,.T.);
++#10644=ORIENTED_EDGE('',*,*,#10643,.F.);
++#10645=ORIENTED_EDGE('',*,*,#10627,.F.);
++#10646=EDGE_LOOP('',(#10640,#10642,#10644,#10645));
++#10647=FACE_OUTER_BOUND('',#10646,.F.);
++#10648=ADVANCED_FACE('',(#10647),#10639,.T.);
++#10649=CARTESIAN_POINT('',(7.5E0,0.E0,3.075E1));
++#10650=DIRECTION('',(0.E0,1.E0,0.E0));
++#10651=DIRECTION('',(1.E0,0.E0,0.E0));
++#10652=AXIS2_PLACEMENT_3D('',#10649,#10650,#10651);
++#10653=CYLINDRICAL_SURFACE('',#10652,5.625E-1);
++#10654=ORIENTED_EDGE('',*,*,#5820,.T.);
++#10655=ORIENTED_EDGE('',*,*,#10616,.T.);
++#10657=ORIENTED_EDGE('',*,*,#10656,.F.);
++#10658=ORIENTED_EDGE('',*,*,#10641,.F.);
++#10659=EDGE_LOOP('',(#10654,#10655,#10657,#10658));
++#10660=FACE_OUTER_BOUND('',#10659,.F.);
++#10661=ADVANCED_FACE('',(#10660),#10653,.F.);
++#10662=CARTESIAN_POINT('',(0.E0,6.875E-1,3.2E1));
++#10663=DIRECTION('',(0.E0,1.E0,0.E0));
++#10664=DIRECTION('',(1.E0,0.E0,0.E0));
++#10665=AXIS2_PLACEMENT_3D('',#10662,#10663,#10664);
++#10666=PLANE('',#10665);
++#10667=ORIENTED_EDGE('',*,*,#10614,.T.);
++#10668=ORIENTED_EDGE('',*,*,#10629,.T.);
++#10669=ORIENTED_EDGE('',*,*,#10643,.T.);
++#10670=ORIENTED_EDGE('',*,*,#10656,.T.);
++#10671=EDGE_LOOP('',(#10667,#10668,#10669,#10670));
++#10672=FACE_OUTER_BOUND('',#10671,.F.);
++#10673=ADVANCED_FACE('',(#10672),#10666,.F.);
++#10674=CARTESIAN_POINT('',(0.E0,6.875E-1,3.2E1));
++#10675=DIRECTION('',(0.E0,1.E0,0.E0));
++#10676=DIRECTION('',(1.E0,0.E0,0.E0));
++#10677=AXIS2_PLACEMENT_3D('',#10674,#10675,#10676);
++#10678=PLANE('',#10677);
++#10680=ORIENTED_EDGE('',*,*,#10679,.F.);
++#10682=ORIENTED_EDGE('',*,*,#10681,.T.);
++#10684=ORIENTED_EDGE('',*,*,#10683,.T.);
++#10686=ORIENTED_EDGE('',*,*,#10685,.T.);
++#10688=ORIENTED_EDGE('',*,*,#10687,.T.);
++#10689=EDGE_LOOP('',(#10680,#10682,#10684,#10686,#10688));
++#10690=FACE_OUTER_BOUND('',#10689,.F.);
++#10691=ADVANCED_FACE('',(#10690),#10678,.F.);
++#10692=CARTESIAN_POINT('',(1.455736763592E0,-6.642389448824E-2,
++2.742280476768E1));
++#10693=DIRECTION('',(0.E0,1.E0,0.E0));
++#10694=DIRECTION('',(-8.942796313519E-1,0.E0,-4.475085931567E-1));
++#10695=AXIS2_PLACEMENT_3D('',#10692,#10693,#10694);
++#10696=CYLINDRICAL_SURFACE('',#10695,7.5E-1);
++#10698=ORIENTED_EDGE('',*,*,#10697,.F.);
++#10699=ORIENTED_EDGE('',*,*,#5932,.T.);
++#10701=ORIENTED_EDGE('',*,*,#10700,.T.);
++#10702=ORIENTED_EDGE('',*,*,#10679,.T.);
++#10703=EDGE_LOOP('',(#10698,#10699,#10701,#10702));
++#10704=FACE_OUTER_BOUND('',#10703,.F.);
++#10705=ADVANCED_FACE('',(#10704),#10696,.F.);
++#10706=CARTESIAN_POINT('',(1.61E0,0.E0,2.75E1));
++#10707=DIRECTION('',(0.E0,1.E0,0.E0));
++#10708=DIRECTION('',(1.E0,0.E0,0.E0));
++#10709=AXIS2_PLACEMENT_3D('',#10706,#10707,#10708);
++#10710=CYLINDRICAL_SURFACE('',#10709,9.225E-1);
++#10711=ORIENTED_EDGE('',*,*,#10697,.T.);
++#10712=ORIENTED_EDGE('',*,*,#10687,.F.);
++#10714=ORIENTED_EDGE('',*,*,#10713,.F.);
++#10715=ORIENTED_EDGE('',*,*,#5934,.T.);
++#10716=EDGE_LOOP('',(#10711,#10712,#10714,#10715));
++#10717=FACE_OUTER_BOUND('',#10716,.F.);
++#10718=ADVANCED_FACE('',(#10717),#10710,.F.);
++#10719=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1));
++#10720=DIRECTION('',(0.E0,1.E0,0.E0));
++#10721=DIRECTION('',(1.E0,0.E0,0.E0));
++#10722=AXIS2_PLACEMENT_3D('',#10719,#10720,#10721);
++#10723=CYLINDRICAL_SURFACE('',#10722,5.6875E0);
++#10724=ORIENTED_EDGE('',*,*,#5936,.F.);
++#10725=ORIENTED_EDGE('',*,*,#10713,.T.);
++#10726=ORIENTED_EDGE('',*,*,#10685,.F.);
++#10728=ORIENTED_EDGE('',*,*,#10727,.F.);
++#10729=EDGE_LOOP('',(#10724,#10725,#10726,#10728));
++#10730=FACE_OUTER_BOUND('',#10729,.F.);
++#10731=ADVANCED_FACE('',(#10730),#10723,.T.);
++#10732=CARTESIAN_POINT('',(4.553039342392E0,0.E0,3.035464591145E1));
++#10733=DIRECTION('',(0.E0,1.E0,0.E0));
++#10734=DIRECTION('',(1.E0,0.E0,0.E0));
++#10735=AXIS2_PLACEMENT_3D('',#10732,#10733,#10734);
++#10736=CYLINDRICAL_SURFACE('',#10735,8.669989027347E-1);
++#10737=ORIENTED_EDGE('',*,*,#5938,.T.);
++#10738=ORIENTED_EDGE('',*,*,#10727,.T.);
++#10739=ORIENTED_EDGE('',*,*,#10683,.F.);
++#10741=ORIENTED_EDGE('',*,*,#10740,.F.);
++#10742=EDGE_LOOP('',(#10737,#10738,#10739,#10741));
++#10743=FACE_OUTER_BOUND('',#10742,.F.);
++#10744=ADVANCED_FACE('',(#10743),#10736,.F.);
++#10745=CARTESIAN_POINT('',(6.875E-1,0.E0,2.771522817587E1));
++#10746=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
++#10747=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
++#10748=AXIS2_PLACEMENT_3D('',#10745,#10746,#10747);
++#10749=PLANE('',#10748);
++#10750=ORIENTED_EDGE('',*,*,#10700,.F.);
++#10751=ORIENTED_EDGE('',*,*,#5930,.T.);
++#10752=ORIENTED_EDGE('',*,*,#10740,.T.);
++#10753=ORIENTED_EDGE('',*,*,#10681,.F.);
++#10754=EDGE_LOOP('',(#10750,#10751,#10752,#10753));
++#10755=FACE_OUTER_BOUND('',#10754,.F.);
++#10756=ADVANCED_FACE('',(#10755),#10749,.T.);
++#10757=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1));
++#10758=DIRECTION('',(0.E0,0.E0,1.E0));
++#10759=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10760=AXIS2_PLACEMENT_3D('',#10757,#10758,#10759);
++#10761=PLANE('',#10760);
++#10762=ORIENTED_EDGE('',*,*,#5828,.T.);
++#10764=ORIENTED_EDGE('',*,*,#10763,.T.);
++#10766=ORIENTED_EDGE('',*,*,#10765,.F.);
++#10768=ORIENTED_EDGE('',*,*,#10767,.F.);
++#10769=EDGE_LOOP('',(#10762,#10764,#10766,#10768));
++#10770=FACE_OUTER_BOUND('',#10769,.F.);
++#10771=ADVANCED_FACE('',(#10770),#10761,.T.);
++#10772=CARTESIAN_POINT('',(1.35E1,0.E0,1.25E0));
++#10773=DIRECTION('',(0.E0,1.E0,0.E0));
++#10774=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10775=AXIS2_PLACEMENT_3D('',#10772,#10773,#10774);
++#10776=CYLINDRICAL_SURFACE('',#10775,5.625E-1);
++#10777=ORIENTED_EDGE('',*,*,#5834,.T.);
++#10779=ORIENTED_EDGE('',*,*,#10778,.T.);
++#10781=ORIENTED_EDGE('',*,*,#10780,.F.);
++#10782=ORIENTED_EDGE('',*,*,#10763,.F.);
++#10783=EDGE_LOOP('',(#10777,#10779,#10781,#10782));
++#10784=FACE_OUTER_BOUND('',#10783,.F.);
++#10785=ADVANCED_FACE('',(#10784),#10776,.F.);
++#10786=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0));
++#10787=DIRECTION('',(0.E0,0.E0,-1.E0));
++#10788=DIRECTION('',(1.E0,0.E0,0.E0));
++#10789=AXIS2_PLACEMENT_3D('',#10786,#10787,#10788);
++#10790=PLANE('',#10789);
++#10791=ORIENTED_EDGE('',*,*,#5832,.T.);
++#10793=ORIENTED_EDGE('',*,*,#10792,.T.);
++#10795=ORIENTED_EDGE('',*,*,#10794,.F.);
++#10796=ORIENTED_EDGE('',*,*,#10778,.F.);
++#10797=EDGE_LOOP('',(#10791,#10793,#10795,#10796));
++#10798=FACE_OUTER_BOUND('',#10797,.F.);
++#10799=ADVANCED_FACE('',(#10798),#10790,.T.);
++#10800=CARTESIAN_POINT('',(1.65E1,0.E0,1.25E0));
++#10801=DIRECTION('',(0.E0,1.E0,0.E0));
++#10802=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10803=AXIS2_PLACEMENT_3D('',#10800,#10801,#10802);
++#10804=CYLINDRICAL_SURFACE('',#10803,5.625E-1);
++#10805=ORIENTED_EDGE('',*,*,#5830,.T.);
++#10806=ORIENTED_EDGE('',*,*,#10767,.T.);
++#10808=ORIENTED_EDGE('',*,*,#10807,.F.);
++#10809=ORIENTED_EDGE('',*,*,#10792,.F.);
++#10810=EDGE_LOOP('',(#10805,#10806,#10808,#10809));
++#10811=FACE_OUTER_BOUND('',#10810,.F.);
++#10812=ADVANCED_FACE('',(#10811),#10804,.F.);
++#10813=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
++#10814=DIRECTION('',(0.E0,1.E0,0.E0));
++#10815=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10816=AXIS2_PLACEMENT_3D('',#10813,#10814,#10815);
++#10817=PLANE('',#10816);
++#10818=ORIENTED_EDGE('',*,*,#10765,.T.);
++#10819=ORIENTED_EDGE('',*,*,#10780,.T.);
++#10820=ORIENTED_EDGE('',*,*,#10794,.T.);
++#10821=ORIENTED_EDGE('',*,*,#10807,.T.);
++#10822=EDGE_LOOP('',(#10818,#10819,#10820,#10821));
++#10823=FACE_OUTER_BOUND('',#10822,.F.);
++#10824=ADVANCED_FACE('',(#10823),#10817,.F.);
++#10825=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
++#10826=DIRECTION('',(0.E0,1.E0,0.E0));
++#10827=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10828=AXIS2_PLACEMENT_3D('',#10825,#10826,#10827);
++#10829=PLANE('',#10828);
++#10831=ORIENTED_EDGE('',*,*,#10830,.F.);
++#10833=ORIENTED_EDGE('',*,*,#10832,.T.);
++#10835=ORIENTED_EDGE('',*,*,#10834,.T.);
++#10837=ORIENTED_EDGE('',*,*,#10836,.T.);
++#10839=ORIENTED_EDGE('',*,*,#10838,.T.);
++#10840=EDGE_LOOP('',(#10831,#10833,#10835,#10837,#10839));
++#10841=FACE_OUTER_BOUND('',#10840,.F.);
++#10842=ADVANCED_FACE('',(#10841),#10829,.F.);
++#10843=CARTESIAN_POINT('',(2.254426323641E1,-6.642389448824E-2,
++4.577195232320E0));
++#10844=DIRECTION('',(0.E0,1.E0,0.E0));
++#10845=DIRECTION('',(8.942796313519E-1,0.E0,4.475085931567E-1));
++#10846=AXIS2_PLACEMENT_3D('',#10843,#10844,#10845);
++#10847=CYLINDRICAL_SURFACE('',#10846,7.5E-1);
++#10849=ORIENTED_EDGE('',*,*,#10848,.F.);
++#10850=ORIENTED_EDGE('',*,*,#5920,.T.);
++#10852=ORIENTED_EDGE('',*,*,#10851,.T.);
++#10853=ORIENTED_EDGE('',*,*,#10830,.T.);
++#10854=EDGE_LOOP('',(#10849,#10850,#10852,#10853));
++#10855=FACE_OUTER_BOUND('',#10854,.F.);
++#10856=ADVANCED_FACE('',(#10855),#10847,.F.);
++#10857=CARTESIAN_POINT('',(2.239E1,0.E0,4.5E0));
++#10858=DIRECTION('',(0.E0,1.E0,0.E0));
++#10859=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10860=AXIS2_PLACEMENT_3D('',#10857,#10858,#10859);
++#10861=CYLINDRICAL_SURFACE('',#10860,9.225E-1);
++#10862=ORIENTED_EDGE('',*,*,#10848,.T.);
++#10863=ORIENTED_EDGE('',*,*,#10838,.F.);
++#10865=ORIENTED_EDGE('',*,*,#10864,.F.);
++#10866=ORIENTED_EDGE('',*,*,#5922,.T.);
++#10867=EDGE_LOOP('',(#10862,#10863,#10865,#10866));
++#10868=FACE_OUTER_BOUND('',#10867,.F.);
++#10869=ADVANCED_FACE('',(#10868),#10861,.F.);
++#10870=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0));
++#10871=DIRECTION('',(0.E0,1.E0,0.E0));
++#10872=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10873=AXIS2_PLACEMENT_3D('',#10870,#10871,#10872);
++#10874=CYLINDRICAL_SURFACE('',#10873,5.6875E0);
++#10875=ORIENTED_EDGE('',*,*,#5924,.F.);
++#10876=ORIENTED_EDGE('',*,*,#10864,.T.);
++#10877=ORIENTED_EDGE('',*,*,#10836,.F.);
++#10879=ORIENTED_EDGE('',*,*,#10878,.F.);
++#10880=EDGE_LOOP('',(#10875,#10876,#10877,#10879));
++#10881=FACE_OUTER_BOUND('',#10880,.F.);
++#10882=ADVANCED_FACE('',(#10881),#10874,.T.);
++#10883=CARTESIAN_POINT('',(1.944696065761E1,0.E0,1.645354088550E0));
++#10884=DIRECTION('',(0.E0,1.E0,0.E0));
++#10885=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10886=AXIS2_PLACEMENT_3D('',#10883,#10884,#10885);
++#10887=CYLINDRICAL_SURFACE('',#10886,8.669989027347E-1);
++#10888=ORIENTED_EDGE('',*,*,#5926,.T.);
++#10889=ORIENTED_EDGE('',*,*,#10878,.T.);
++#10890=ORIENTED_EDGE('',*,*,#10834,.F.);
++#10892=ORIENTED_EDGE('',*,*,#10891,.F.);
++#10893=EDGE_LOOP('',(#10888,#10889,#10890,#10892));
++#10894=FACE_OUTER_BOUND('',#10893,.F.);
++#10895=ADVANCED_FACE('',(#10894),#10887,.F.);
++#10896=CARTESIAN_POINT('',(2.33125E1,0.E0,4.284771824132E0));
++#10897=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
++#10898=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
++#10899=AXIS2_PLACEMENT_3D('',#10896,#10897,#10898);
++#10900=PLANE('',#10899);
++#10901=ORIENTED_EDGE('',*,*,#10851,.F.);
++#10902=ORIENTED_EDGE('',*,*,#5918,.T.);
++#10903=ORIENTED_EDGE('',*,*,#10891,.T.);
++#10904=ORIENTED_EDGE('',*,*,#10832,.F.);
++#10905=EDGE_LOOP('',(#10901,#10902,#10903,#10904));
++#10906=FACE_OUTER_BOUND('',#10905,.F.);
++#10907=ADVANCED_FACE('',(#10906),#10900,.T.);
++#10908=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1));
++#10909=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10910=DIRECTION('',(0.E0,0.E0,-1.E0));
++#10911=AXIS2_PLACEMENT_3D('',#10908,#10909,#10910);
++#10912=PLANE('',#10911);
++#10913=ORIENTED_EDGE('',*,*,#5838,.T.);
++#10915=ORIENTED_EDGE('',*,*,#10914,.T.);
++#10917=ORIENTED_EDGE('',*,*,#10916,.F.);
++#10919=ORIENTED_EDGE('',*,*,#10918,.F.);
++#10920=EDGE_LOOP('',(#10913,#10915,#10917,#10919));
++#10921=FACE_OUTER_BOUND('',#10920,.F.);
++#10922=ADVANCED_FACE('',(#10921),#10912,.T.);
++#10923=CARTESIAN_POINT('',(2.275E1,0.E0,1.35E1));
++#10924=DIRECTION('',(0.E0,1.E0,0.E0));
++#10925=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10926=AXIS2_PLACEMENT_3D('',#10923,#10924,#10925);
++#10927=CYLINDRICAL_SURFACE('',#10926,5.625E-1);
++#10928=ORIENTED_EDGE('',*,*,#5844,.T.);
++#10930=ORIENTED_EDGE('',*,*,#10929,.T.);
++#10932=ORIENTED_EDGE('',*,*,#10931,.F.);
++#10933=ORIENTED_EDGE('',*,*,#10914,.F.);
++#10934=EDGE_LOOP('',(#10928,#10930,#10932,#10933));
++#10935=FACE_OUTER_BOUND('',#10934,.F.);
++#10936=ADVANCED_FACE('',(#10935),#10927,.F.);
++#10937=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1));
++#10938=DIRECTION('',(1.E0,0.E0,0.E0));
++#10939=DIRECTION('',(0.E0,0.E0,1.E0));
++#10940=AXIS2_PLACEMENT_3D('',#10937,#10938,#10939);
++#10941=PLANE('',#10940);
++#10942=ORIENTED_EDGE('',*,*,#5842,.T.);
++#10944=ORIENTED_EDGE('',*,*,#10943,.T.);
++#10946=ORIENTED_EDGE('',*,*,#10945,.F.);
++#10947=ORIENTED_EDGE('',*,*,#10929,.F.);
++#10948=EDGE_LOOP('',(#10942,#10944,#10946,#10947));
++#10949=FACE_OUTER_BOUND('',#10948,.F.);
++#10950=ADVANCED_FACE('',(#10949),#10941,.T.);
++#10951=CARTESIAN_POINT('',(2.275E1,0.E0,1.65E1));
++#10952=DIRECTION('',(0.E0,1.E0,0.E0));
++#10953=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10954=AXIS2_PLACEMENT_3D('',#10951,#10952,#10953);
++#10955=CYLINDRICAL_SURFACE('',#10954,5.625E-1);
++#10956=ORIENTED_EDGE('',*,*,#5840,.T.);
++#10957=ORIENTED_EDGE('',*,*,#10918,.T.);
++#10959=ORIENTED_EDGE('',*,*,#10958,.F.);
++#10960=ORIENTED_EDGE('',*,*,#10943,.F.);
++#10961=EDGE_LOOP('',(#10956,#10957,#10959,#10960));
++#10962=FACE_OUTER_BOUND('',#10961,.F.);
++#10963=ADVANCED_FACE('',(#10962),#10955,.F.);
++#10964=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
++#10965=DIRECTION('',(0.E0,1.E0,0.E0));
++#10966=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10967=AXIS2_PLACEMENT_3D('',#10964,#10965,#10966);
++#10968=PLANE('',#10967);
++#10969=ORIENTED_EDGE('',*,*,#10916,.T.);
++#10970=ORIENTED_EDGE('',*,*,#10931,.T.);
++#10971=ORIENTED_EDGE('',*,*,#10945,.T.);
++#10972=ORIENTED_EDGE('',*,*,#10958,.T.);
++#10973=EDGE_LOOP('',(#10969,#10970,#10971,#10972));
++#10974=FACE_OUTER_BOUND('',#10973,.F.);
++#10975=ADVANCED_FACE('',(#10974),#10968,.F.);
++#10976=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1));
++#10977=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10978=DIRECTION('',(0.E0,0.E0,-1.E0));
++#10979=AXIS2_PLACEMENT_3D('',#10976,#10977,#10978);
++#10980=PLANE('',#10979);
++#10981=ORIENTED_EDGE('',*,*,#5848,.T.);
++#10983=ORIENTED_EDGE('',*,*,#10982,.T.);
++#10985=ORIENTED_EDGE('',*,*,#10984,.F.);
++#10987=ORIENTED_EDGE('',*,*,#10986,.F.);
++#10988=EDGE_LOOP('',(#10981,#10983,#10985,#10987));
++#10989=FACE_OUTER_BOUND('',#10988,.F.);
++#10990=ADVANCED_FACE('',(#10989),#10980,.T.);
++#10991=CARTESIAN_POINT('',(2.275E1,0.E0,1.95E1));
++#10992=DIRECTION('',(0.E0,1.E0,0.E0));
++#10993=DIRECTION('',(-1.E0,0.E0,0.E0));
++#10994=AXIS2_PLACEMENT_3D('',#10991,#10992,#10993);
++#10995=CYLINDRICAL_SURFACE('',#10994,5.625E-1);
++#10996=ORIENTED_EDGE('',*,*,#5854,.T.);
++#10998=ORIENTED_EDGE('',*,*,#10997,.T.);
++#11000=ORIENTED_EDGE('',*,*,#10999,.F.);
++#11001=ORIENTED_EDGE('',*,*,#10982,.F.);
++#11002=EDGE_LOOP('',(#10996,#10998,#11000,#11001));
++#11003=FACE_OUTER_BOUND('',#11002,.F.);
++#11004=ADVANCED_FACE('',(#11003),#10995,.F.);
++#11005=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1));
++#11006=DIRECTION('',(1.E0,0.E0,0.E0));
++#11007=DIRECTION('',(0.E0,0.E0,1.E0));
++#11008=AXIS2_PLACEMENT_3D('',#11005,#11006,#11007);
++#11009=PLANE('',#11008);
++#11010=ORIENTED_EDGE('',*,*,#5852,.T.);
++#11012=ORIENTED_EDGE('',*,*,#11011,.T.);
++#11014=ORIENTED_EDGE('',*,*,#11013,.F.);
++#11015=ORIENTED_EDGE('',*,*,#10997,.F.);
++#11016=EDGE_LOOP('',(#11010,#11012,#11014,#11015));
++#11017=FACE_OUTER_BOUND('',#11016,.F.);
++#11018=ADVANCED_FACE('',(#11017),#11009,.T.);
++#11019=CARTESIAN_POINT('',(2.275E1,0.E0,2.25E1));
++#11020=DIRECTION('',(0.E0,1.E0,0.E0));
++#11021=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11022=AXIS2_PLACEMENT_3D('',#11019,#11020,#11021);
++#11023=CYLINDRICAL_SURFACE('',#11022,5.625E-1);
++#11024=ORIENTED_EDGE('',*,*,#5850,.T.);
++#11025=ORIENTED_EDGE('',*,*,#10986,.T.);
++#11027=ORIENTED_EDGE('',*,*,#11026,.F.);
++#11028=ORIENTED_EDGE('',*,*,#11011,.F.);
++#11029=EDGE_LOOP('',(#11024,#11025,#11027,#11028));
++#11030=FACE_OUTER_BOUND('',#11029,.F.);
++#11031=ADVANCED_FACE('',(#11030),#11023,.F.);
++#11032=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
++#11033=DIRECTION('',(0.E0,1.E0,0.E0));
++#11034=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11035=AXIS2_PLACEMENT_3D('',#11032,#11033,#11034);
++#11036=PLANE('',#11035);
++#11037=ORIENTED_EDGE('',*,*,#10984,.T.);
++#11038=ORIENTED_EDGE('',*,*,#10999,.T.);
++#11039=ORIENTED_EDGE('',*,*,#11013,.T.);
++#11040=ORIENTED_EDGE('',*,*,#11026,.T.);
++#11041=EDGE_LOOP('',(#11037,#11038,#11039,#11040));
++#11042=FACE_OUTER_BOUND('',#11041,.F.);
++#11043=ADVANCED_FACE('',(#11042),#11036,.F.);
++#11044=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0));
++#11045=DIRECTION('',(0.E0,0.E0,1.E0));
++#11046=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11047=AXIS2_PLACEMENT_3D('',#11044,#11045,#11046);
++#11048=PLANE('',#11047);
++#11049=ORIENTED_EDGE('',*,*,#5858,.T.);
++#11051=ORIENTED_EDGE('',*,*,#11050,.T.);
++#11053=ORIENTED_EDGE('',*,*,#11052,.F.);
++#11055=ORIENTED_EDGE('',*,*,#11054,.F.);
++#11056=EDGE_LOOP('',(#11049,#11051,#11053,#11055));
++#11057=FACE_OUTER_BOUND('',#11056,.F.);
++#11058=ADVANCED_FACE('',(#11057),#11048,.T.);
++#11059=CARTESIAN_POINT('',(1.35E1,0.E0,9.E0));
++#11060=DIRECTION('',(0.E0,1.E0,0.E0));
++#11061=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11062=AXIS2_PLACEMENT_3D('',#11059,#11060,#11061);
++#11063=CYLINDRICAL_SURFACE('',#11062,5.E-1);
++#11064=ORIENTED_EDGE('',*,*,#5864,.T.);
++#11066=ORIENTED_EDGE('',*,*,#11065,.T.);
++#11068=ORIENTED_EDGE('',*,*,#11067,.F.);
++#11069=ORIENTED_EDGE('',*,*,#11050,.F.);
++#11070=EDGE_LOOP('',(#11064,#11066,#11068,#11069));
++#11071=FACE_OUTER_BOUND('',#11070,.F.);
++#11072=ADVANCED_FACE('',(#11071),#11063,.F.);
++#11073=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0));
++#11074=DIRECTION('',(0.E0,0.E0,-1.E0));
++#11075=DIRECTION('',(1.E0,0.E0,0.E0));
++#11076=AXIS2_PLACEMENT_3D('',#11073,#11074,#11075);
++#11077=PLANE('',#11076);
++#11078=ORIENTED_EDGE('',*,*,#5862,.T.);
++#11080=ORIENTED_EDGE('',*,*,#11079,.T.);
++#11082=ORIENTED_EDGE('',*,*,#11081,.F.);
++#11083=ORIENTED_EDGE('',*,*,#11065,.F.);
++#11084=EDGE_LOOP('',(#11078,#11080,#11082,#11083));
++#11085=FACE_OUTER_BOUND('',#11084,.F.);
++#11086=ADVANCED_FACE('',(#11085),#11077,.T.);
++#11087=CARTESIAN_POINT('',(1.65E1,0.E0,9.E0));
++#11088=DIRECTION('',(0.E0,1.E0,0.E0));
++#11089=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11090=AXIS2_PLACEMENT_3D('',#11087,#11088,#11089);
++#11091=CYLINDRICAL_SURFACE('',#11090,5.E-1);
++#11092=ORIENTED_EDGE('',*,*,#5860,.T.);
++#11093=ORIENTED_EDGE('',*,*,#11054,.T.);
++#11095=ORIENTED_EDGE('',*,*,#11094,.F.);
++#11096=ORIENTED_EDGE('',*,*,#11079,.F.);
++#11097=EDGE_LOOP('',(#11092,#11093,#11095,#11096));
++#11098=FACE_OUTER_BOUND('',#11097,.F.);
++#11099=ADVANCED_FACE('',(#11098),#11091,.F.);
++#11100=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
++#11101=DIRECTION('',(0.E0,1.E0,0.E0));
++#11102=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11103=AXIS2_PLACEMENT_3D('',#11100,#11101,#11102);
++#11104=PLANE('',#11103);
++#11105=ORIENTED_EDGE('',*,*,#11052,.T.);
++#11106=ORIENTED_EDGE('',*,*,#11067,.T.);
++#11107=ORIENTED_EDGE('',*,*,#11081,.T.);
++#11108=ORIENTED_EDGE('',*,*,#11094,.T.);
++#11109=EDGE_LOOP('',(#11105,#11106,#11107,#11108));
++#11110=FACE_OUTER_BOUND('',#11109,.F.);
++#11111=ADVANCED_FACE('',(#11110),#11104,.F.);
++#11112=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1));
++#11113=DIRECTION('',(0.E0,0.E0,1.E0));
++#11114=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11115=AXIS2_PLACEMENT_3D('',#11112,#11113,#11114);
++#11116=PLANE('',#11115);
++#11117=ORIENTED_EDGE('',*,*,#5868,.T.);
++#11119=ORIENTED_EDGE('',*,*,#11118,.T.);
++#11121=ORIENTED_EDGE('',*,*,#11120,.F.);
++#11123=ORIENTED_EDGE('',*,*,#11122,.F.);
++#11124=EDGE_LOOP('',(#11117,#11119,#11121,#11123));
++#11125=FACE_OUTER_BOUND('',#11124,.F.);
++#11126=ADVANCED_FACE('',(#11125),#11116,.T.);
++#11127=CARTESIAN_POINT('',(1.35E1,0.E0,1.8E1));
++#11128=DIRECTION('',(0.E0,1.E0,0.E0));
++#11129=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11130=AXIS2_PLACEMENT_3D('',#11127,#11128,#11129);
++#11131=CYLINDRICAL_SURFACE('',#11130,4.375E-1);
++#11132=ORIENTED_EDGE('',*,*,#5874,.T.);
++#11134=ORIENTED_EDGE('',*,*,#11133,.T.);
++#11136=ORIENTED_EDGE('',*,*,#11135,.F.);
++#11137=ORIENTED_EDGE('',*,*,#11118,.F.);
++#11138=EDGE_LOOP('',(#11132,#11134,#11136,#11137));
++#11139=FACE_OUTER_BOUND('',#11138,.F.);
++#11140=ADVANCED_FACE('',(#11139),#11131,.F.);
++#11141=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1));
++#11142=DIRECTION('',(0.E0,0.E0,-1.E0));
++#11143=DIRECTION('',(1.E0,0.E0,0.E0));
++#11144=AXIS2_PLACEMENT_3D('',#11141,#11142,#11143);
++#11145=PLANE('',#11144);
++#11146=ORIENTED_EDGE('',*,*,#5872,.T.);
++#11148=ORIENTED_EDGE('',*,*,#11147,.T.);
++#11150=ORIENTED_EDGE('',*,*,#11149,.F.);
++#11151=ORIENTED_EDGE('',*,*,#11133,.F.);
++#11152=EDGE_LOOP('',(#11146,#11148,#11150,#11151));
++#11153=FACE_OUTER_BOUND('',#11152,.F.);
++#11154=ADVANCED_FACE('',(#11153),#11145,.T.);
++#11155=CARTESIAN_POINT('',(1.65E1,0.E0,1.8E1));
++#11156=DIRECTION('',(0.E0,1.E0,0.E0));
++#11157=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11158=AXIS2_PLACEMENT_3D('',#11155,#11156,#11157);
++#11159=CYLINDRICAL_SURFACE('',#11158,4.375E-1);
++#11160=ORIENTED_EDGE('',*,*,#5870,.T.);
++#11161=ORIENTED_EDGE('',*,*,#11122,.T.);
++#11163=ORIENTED_EDGE('',*,*,#11162,.F.);
++#11164=ORIENTED_EDGE('',*,*,#11147,.F.);
++#11165=EDGE_LOOP('',(#11160,#11161,#11163,#11164));
++#11166=FACE_OUTER_BOUND('',#11165,.F.);
++#11167=ADVANCED_FACE('',(#11166),#11159,.F.);
++#11168=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
++#11169=DIRECTION('',(0.E0,1.E0,0.E0));
++#11170=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11171=AXIS2_PLACEMENT_3D('',#11168,#11169,#11170);
++#11172=PLANE('',#11171);
++#11173=ORIENTED_EDGE('',*,*,#11120,.T.);
++#11174=ORIENTED_EDGE('',*,*,#11135,.T.);
++#11175=ORIENTED_EDGE('',*,*,#11149,.T.);
++#11176=ORIENTED_EDGE('',*,*,#11162,.T.);
++#11177=EDGE_LOOP('',(#11173,#11174,#11175,#11176));
++#11178=FACE_OUTER_BOUND('',#11177,.F.);
++#11179=ADVANCED_FACE('',(#11178),#11172,.F.);
++#11180=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1));
++#11181=DIRECTION('',(0.E0,0.E0,1.E0));
++#11182=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11183=AXIS2_PLACEMENT_3D('',#11180,#11181,#11182);
++#11184=PLANE('',#11183);
++#11185=ORIENTED_EDGE('',*,*,#5878,.F.);
++#11187=ORIENTED_EDGE('',*,*,#11186,.T.);
++#11189=ORIENTED_EDGE('',*,*,#11188,.T.);
++#11191=ORIENTED_EDGE('',*,*,#11190,.F.);
++#11192=EDGE_LOOP('',(#11185,#11187,#11189,#11191));
++#11193=FACE_OUTER_BOUND('',#11192,.F.);
++#11194=ADVANCED_FACE('',(#11193),#11184,.F.);
++#11195=CARTESIAN_POINT('',(1.65E1,0.E0,3.075E1));
++#11196=DIRECTION('',(0.E0,-1.E0,0.E0));
++#11197=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11198=AXIS2_PLACEMENT_3D('',#11195,#11196,#11197);
++#11199=CYLINDRICAL_SURFACE('',#11198,5.625E-1);
++#11200=ORIENTED_EDGE('',*,*,#5884,.F.);
++#11202=ORIENTED_EDGE('',*,*,#11201,.T.);
++#11204=ORIENTED_EDGE('',*,*,#11203,.T.);
++#11205=ORIENTED_EDGE('',*,*,#11186,.F.);
++#11206=EDGE_LOOP('',(#11200,#11202,#11204,#11205));
++#11207=FACE_OUTER_BOUND('',#11206,.F.);
++#11208=ADVANCED_FACE('',(#11207),#11199,.F.);
++#11209=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1));
++#11210=DIRECTION('',(0.E0,0.E0,-1.E0));
++#11211=DIRECTION('',(1.E0,0.E0,0.E0));
++#11212=AXIS2_PLACEMENT_3D('',#11209,#11210,#11211);
++#11213=PLANE('',#11212);
++#11214=ORIENTED_EDGE('',*,*,#5882,.F.);
++#11216=ORIENTED_EDGE('',*,*,#11215,.T.);
++#11218=ORIENTED_EDGE('',*,*,#11217,.T.);
++#11219=ORIENTED_EDGE('',*,*,#11201,.F.);
++#11220=EDGE_LOOP('',(#11214,#11216,#11218,#11219));
++#11221=FACE_OUTER_BOUND('',#11220,.F.);
++#11222=ADVANCED_FACE('',(#11221),#11213,.F.);
++#11223=CARTESIAN_POINT('',(1.35E1,0.E0,3.075E1));
++#11224=DIRECTION('',(0.E0,-1.E0,0.E0));
++#11225=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11226=AXIS2_PLACEMENT_3D('',#11223,#11224,#11225);
++#11227=CYLINDRICAL_SURFACE('',#11226,5.625E-1);
++#11228=ORIENTED_EDGE('',*,*,#5880,.F.);
++#11229=ORIENTED_EDGE('',*,*,#11190,.T.);
++#11231=ORIENTED_EDGE('',*,*,#11230,.T.);
++#11232=ORIENTED_EDGE('',*,*,#11215,.F.);
++#11233=EDGE_LOOP('',(#11228,#11229,#11231,#11232));
++#11234=FACE_OUTER_BOUND('',#11233,.F.);
++#11235=ADVANCED_FACE('',(#11234),#11227,.F.);
++#11236=CARTESIAN_POINT('',(2.4E1,6.875E-1,3.2E1));
++#11237=DIRECTION('',(0.E0,-1.E0,0.E0));
++#11238=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11239=AXIS2_PLACEMENT_3D('',#11236,#11237,#11238);
++#11240=PLANE('',#11239);
++#11241=ORIENTED_EDGE('',*,*,#11188,.F.);
++#11242=ORIENTED_EDGE('',*,*,#11203,.F.);
++#11243=ORIENTED_EDGE('',*,*,#11217,.F.);
++#11244=ORIENTED_EDGE('',*,*,#11230,.F.);
++#11245=EDGE_LOOP('',(#11241,#11242,#11243,#11244));
++#11246=FACE_OUTER_BOUND('',#11245,.F.);
++#11247=ADVANCED_FACE('',(#11246),#11240,.T.);
++#11248=CARTESIAN_POINT('',(2.4E1,6.875E-1,3.2E1));
++#11249=DIRECTION('',(0.E0,-1.E0,0.E0));
++#11250=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11251=AXIS2_PLACEMENT_3D('',#11248,#11249,#11250);
++#11252=PLANE('',#11251);
++#11254=ORIENTED_EDGE('',*,*,#11253,.F.);
++#11256=ORIENTED_EDGE('',*,*,#11255,.F.);
++#11258=ORIENTED_EDGE('',*,*,#11257,.F.);
++#11260=ORIENTED_EDGE('',*,*,#11259,.F.);
++#11262=ORIENTED_EDGE('',*,*,#11261,.F.);
++#11263=EDGE_LOOP('',(#11254,#11256,#11258,#11260,#11262));
++#11264=FACE_OUTER_BOUND('',#11263,.F.);
++#11265=ADVANCED_FACE('',(#11264),#11252,.T.);
++#11266=CARTESIAN_POINT('',(2.254426323641E1,-6.892397422826E-2,
++2.742280476768E1));
++#11267=DIRECTION('',(0.E0,1.E0,0.E0));
++#11268=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
++#11269=AXIS2_PLACEMENT_3D('',#11266,#11267,#11268);
++#11270=CYLINDRICAL_SURFACE('',#11269,7.5E-1);
++#11272=ORIENTED_EDGE('',*,*,#11271,.F.);
++#11273=ORIENTED_EDGE('',*,*,#5944,.T.);
++#11275=ORIENTED_EDGE('',*,*,#11274,.T.);
++#11276=ORIENTED_EDGE('',*,*,#11253,.T.);
++#11277=EDGE_LOOP('',(#11272,#11273,#11275,#11276));
++#11278=FACE_OUTER_BOUND('',#11277,.F.);
++#11279=ADVANCED_FACE('',(#11278),#11270,.F.);
++#11280=CARTESIAN_POINT('',(2.33125E1,0.E0,2.771522817587E1));
++#11281=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
++#11282=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
++#11283=AXIS2_PLACEMENT_3D('',#11280,#11281,#11282);
++#11284=PLANE('',#11283);
++#11285=ORIENTED_EDGE('',*,*,#11271,.T.);
++#11286=ORIENTED_EDGE('',*,*,#11261,.T.);
++#11288=ORIENTED_EDGE('',*,*,#11287,.F.);
++#11289=ORIENTED_EDGE('',*,*,#5946,.F.);
++#11290=EDGE_LOOP('',(#11285,#11286,#11288,#11289));
++#11291=FACE_OUTER_BOUND('',#11290,.F.);
++#11292=ADVANCED_FACE('',(#11291),#11284,.F.);
++#11293=CARTESIAN_POINT('',(1.944696065761E1,0.E0,3.035464591145E1));
++#11294=DIRECTION('',(0.E0,-1.E0,0.E0));
++#11295=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11296=AXIS2_PLACEMENT_3D('',#11293,#11294,#11295);
++#11297=CYLINDRICAL_SURFACE('',#11296,8.669989027347E-1);
++#11298=ORIENTED_EDGE('',*,*,#5948,.F.);
++#11299=ORIENTED_EDGE('',*,*,#11287,.T.);
++#11300=ORIENTED_EDGE('',*,*,#11259,.T.);
++#11302=ORIENTED_EDGE('',*,*,#11301,.F.);
++#11303=EDGE_LOOP('',(#11298,#11299,#11300,#11302));
++#11304=FACE_OUTER_BOUND('',#11303,.F.);
++#11305=ADVANCED_FACE('',(#11304),#11297,.F.);
++#11306=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1));
++#11307=DIRECTION('',(0.E0,-1.E0,0.E0));
++#11308=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11309=AXIS2_PLACEMENT_3D('',#11306,#11307,#11308);
++#11310=CYLINDRICAL_SURFACE('',#11309,5.6875E0);
++#11311=ORIENTED_EDGE('',*,*,#5950,.T.);
++#11312=ORIENTED_EDGE('',*,*,#11301,.T.);
++#11313=ORIENTED_EDGE('',*,*,#11257,.T.);
++#11315=ORIENTED_EDGE('',*,*,#11314,.F.);
++#11316=EDGE_LOOP('',(#11311,#11312,#11313,#11315));
++#11317=FACE_OUTER_BOUND('',#11316,.F.);
++#11318=ADVANCED_FACE('',(#11317),#11310,.T.);
++#11319=CARTESIAN_POINT('',(2.239E1,0.E0,2.75E1));
++#11320=DIRECTION('',(0.E0,-1.E0,0.E0));
++#11321=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11322=AXIS2_PLACEMENT_3D('',#11319,#11320,#11321);
++#11323=CYLINDRICAL_SURFACE('',#11322,9.225E-1);
++#11324=ORIENTED_EDGE('',*,*,#11274,.F.);
++#11325=ORIENTED_EDGE('',*,*,#5942,.F.);
++#11326=ORIENTED_EDGE('',*,*,#11314,.T.);
++#11327=ORIENTED_EDGE('',*,*,#11255,.T.);
++#11328=EDGE_LOOP('',(#11324,#11325,#11326,#11327));
++#11329=FACE_OUTER_BOUND('',#11328,.F.);
++#11330=ADVANCED_FACE('',(#11329),#11323,.F.);
++#11331=CARTESIAN_POINT('',(2.13075E1,-6.892397422826E-2,7.81E0));
++#11332=DIRECTION('',(0.E0,1.E0,0.E0));
++#11333=DIRECTION('',(0.E0,0.E0,1.E0));
++#11334=AXIS2_PLACEMENT_3D('',#11331,#11332,#11333);
++#11335=CYLINDRICAL_SURFACE('',#11334,8.8E-1);
++#11337=ORIENTED_EDGE('',*,*,#11336,.T.);
++#11339=ORIENTED_EDGE('',*,*,#11338,.T.);
++#11341=ORIENTED_EDGE('',*,*,#11340,.F.);
++#11342=ORIENTED_EDGE('',*,*,#5888,.T.);
++#11343=EDGE_LOOP('',(#11337,#11339,#11341,#11342));
++#11344=FACE_OUTER_BOUND('',#11343,.F.);
++#11345=ADVANCED_FACE('',(#11344),#11335,.T.);
++#11346=CARTESIAN_POINT('',(2.21875E1,0.E0,8.69E0));
++#11347=DIRECTION('',(0.E0,0.E0,1.E0));
++#11348=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11349=AXIS2_PLACEMENT_3D('',#11346,#11347,#11348);
++#11350=PLANE('',#11349);
++#11351=ORIENTED_EDGE('',*,*,#11336,.F.);
++#11352=ORIENTED_EDGE('',*,*,#5914,.T.);
++#11354=ORIENTED_EDGE('',*,*,#11353,.F.);
++#11356=ORIENTED_EDGE('',*,*,#11355,.F.);
++#11357=EDGE_LOOP('',(#11351,#11352,#11354,#11356));
++#11358=FACE_OUTER_BOUND('',#11357,.F.);
++#11359=ADVANCED_FACE('',(#11358),#11350,.T.);
++#11360=CARTESIAN_POINT('',(2.05675E1,7.463919417831E-1,9.57E0));
++#11361=DIRECTION('',(0.E0,-1.E0,0.E0));
++#11362=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11363=AXIS2_PLACEMENT_3D('',#11360,#11361,#11362);
++#11364=CYLINDRICAL_SURFACE('',#11363,8.8E-1);
++#11366=ORIENTED_EDGE('',*,*,#11365,.F.);
++#11368=ORIENTED_EDGE('',*,*,#11367,.T.);
++#11369=ORIENTED_EDGE('',*,*,#11353,.T.);
++#11370=ORIENTED_EDGE('',*,*,#5912,.T.);
++#11371=EDGE_LOOP('',(#11366,#11368,#11369,#11370));
++#11372=FACE_OUTER_BOUND('',#11371,.F.);
++#11373=ADVANCED_FACE('',(#11372),#11364,.F.);
++#11374=CARTESIAN_POINT('',(1.96875E1,0.E0,8.69E0));
++#11375=DIRECTION('',(1.E0,0.E0,0.E0));
++#11376=DIRECTION('',(0.E0,0.E0,1.E0));
++#11377=AXIS2_PLACEMENT_3D('',#11374,#11375,#11376);
++#11378=PLANE('',#11377);
++#11379=ORIENTED_EDGE('',*,*,#11365,.T.);
++#11380=ORIENTED_EDGE('',*,*,#5910,.T.);
++#11382=ORIENTED_EDGE('',*,*,#11381,.F.);
++#11384=ORIENTED_EDGE('',*,*,#11383,.F.);
++#11385=EDGE_LOOP('',(#11379,#11380,#11382,#11384));
++#11386=FACE_OUTER_BOUND('',#11385,.F.);
++#11387=ADVANCED_FACE('',(#11386),#11378,.T.);
++#11388=CARTESIAN_POINT('',(2.05675E1,7.463919417831E-1,1.037E1));
++#11389=DIRECTION('',(0.E0,-1.E0,0.E0));
++#11390=DIRECTION('',(0.E0,0.E0,1.E0));
++#11391=AXIS2_PLACEMENT_3D('',#11388,#11389,#11390);
++#11392=CYLINDRICAL_SURFACE('',#11391,8.8E-1);
++#11394=ORIENTED_EDGE('',*,*,#11393,.F.);
++#11396=ORIENTED_EDGE('',*,*,#11395,.T.);
++#11397=ORIENTED_EDGE('',*,*,#11381,.T.);
++#11398=ORIENTED_EDGE('',*,*,#5908,.T.);
++#11399=EDGE_LOOP('',(#11394,#11396,#11397,#11398));
++#11400=FACE_OUTER_BOUND('',#11399,.F.);
++#11401=ADVANCED_FACE('',(#11400),#11392,.F.);
++#11402=CARTESIAN_POINT('',(1.96875E1,0.E0,1.125E1));
++#11403=DIRECTION('',(0.E0,0.E0,-1.E0));
++#11404=DIRECTION('',(1.E0,0.E0,0.E0));
++#11405=AXIS2_PLACEMENT_3D('',#11402,#11403,#11404);
++#11406=PLANE('',#11405);
++#11407=ORIENTED_EDGE('',*,*,#11393,.T.);
++#11408=ORIENTED_EDGE('',*,*,#5906,.T.);
++#11410=ORIENTED_EDGE('',*,*,#11409,.F.);
++#11412=ORIENTED_EDGE('',*,*,#11411,.F.);
++#11413=EDGE_LOOP('',(#11407,#11408,#11410,#11412));
++#11414=FACE_OUTER_BOUND('',#11413,.F.);
++#11415=ADVANCED_FACE('',(#11414),#11406,.T.);
++#11416=CARTESIAN_POINT('',(2.44325E1,7.463919417831E-1,1.037E1));
++#11417=DIRECTION('',(0.E0,-1.E0,0.E0));
++#11418=DIRECTION('',(1.E0,0.E0,0.E0));
++#11419=AXIS2_PLACEMENT_3D('',#11416,#11417,#11418);
++#11420=CYLINDRICAL_SURFACE('',#11419,8.8E-1);
++#11422=ORIENTED_EDGE('',*,*,#11421,.F.);
++#11424=ORIENTED_EDGE('',*,*,#11423,.T.);
++#11425=ORIENTED_EDGE('',*,*,#11409,.T.);
++#11426=ORIENTED_EDGE('',*,*,#5904,.T.);
++#11427=EDGE_LOOP('',(#11422,#11424,#11425,#11426));
++#11428=FACE_OUTER_BOUND('',#11427,.F.);
++#11429=ADVANCED_FACE('',(#11428),#11420,.F.);
++#11430=CARTESIAN_POINT('',(2.53125E1,0.E0,1.125E1));
++#11431=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11432=DIRECTION('',(0.E0,0.E0,-1.E0));
++#11433=AXIS2_PLACEMENT_3D('',#11430,#11431,#11432);
++#11434=PLANE('',#11433);
++#11436=ORIENTED_EDGE('',*,*,#11435,.F.);
++#11438=ORIENTED_EDGE('',*,*,#11437,.F.);
++#11439=ORIENTED_EDGE('',*,*,#11421,.T.);
++#11440=ORIENTED_EDGE('',*,*,#5902,.T.);
++#11441=EDGE_LOOP('',(#11436,#11438,#11439,#11440));
++#11442=FACE_OUTER_BOUND('',#11441,.F.);
++#11443=ADVANCED_FACE('',(#11442),#11434,.T.);
++#11444=CARTESIAN_POINT('',(2.44325E1,7.463919417831E-1,9.57E0));
++#11445=DIRECTION('',(0.E0,-1.E0,0.E0));
++#11446=DIRECTION('',(0.E0,0.E0,-1.E0));
++#11447=AXIS2_PLACEMENT_3D('',#11444,#11445,#11446);
++#11448=CYLINDRICAL_SURFACE('',#11447,8.8E-1);
++#11450=ORIENTED_EDGE('',*,*,#11449,.F.);
++#11452=ORIENTED_EDGE('',*,*,#11451,.T.);
++#11453=ORIENTED_EDGE('',*,*,#11435,.T.);
++#11454=ORIENTED_EDGE('',*,*,#5900,.T.);
++#11455=EDGE_LOOP('',(#11450,#11452,#11453,#11454));
++#11456=FACE_OUTER_BOUND('',#11455,.F.);
++#11457=ADVANCED_FACE('',(#11456),#11448,.F.);
++#11458=CARTESIAN_POINT('',(2.53125E1,0.E0,8.69E0));
++#11459=DIRECTION('',(0.E0,0.E0,1.E0));
++#11460=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11461=AXIS2_PLACEMENT_3D('',#11458,#11459,#11460);
++#11462=PLANE('',#11461);
++#11464=ORIENTED_EDGE('',*,*,#11463,.T.);
++#11466=ORIENTED_EDGE('',*,*,#11465,.F.);
++#11467=ORIENTED_EDGE('',*,*,#11449,.T.);
++#11468=ORIENTED_EDGE('',*,*,#5898,.T.);
++#11469=EDGE_LOOP('',(#11464,#11466,#11467,#11468));
++#11470=FACE_OUTER_BOUND('',#11469,.F.);
++#11471=ADVANCED_FACE('',(#11470),#11462,.T.);
++#11472=CARTESIAN_POINT('',(2.419E1,-6.892397422826E-2,7.81E0));
++#11473=DIRECTION('',(0.E0,1.E0,0.E0));
++#11474=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11475=AXIS2_PLACEMENT_3D('',#11472,#11473,#11474);
++#11476=CYLINDRICAL_SURFACE('',#11475,8.8E-1);
++#11478=ORIENTED_EDGE('',*,*,#11477,.T.);
++#11480=ORIENTED_EDGE('',*,*,#11479,.T.);
++#11481=ORIENTED_EDGE('',*,*,#11463,.F.);
++#11482=ORIENTED_EDGE('',*,*,#5896,.T.);
++#11483=EDGE_LOOP('',(#11478,#11480,#11481,#11482));
++#11484=FACE_OUTER_BOUND('',#11483,.F.);
++#11485=ADVANCED_FACE('',(#11484),#11476,.T.);
++#11486=CARTESIAN_POINT('',(2.331E1,0.E0,8.69E0));
++#11487=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11488=DIRECTION('',(0.E0,0.E0,-1.E0));
++#11489=AXIS2_PLACEMENT_3D('',#11486,#11487,#11488);
++#11490=PLANE('',#11489);
++#11491=ORIENTED_EDGE('',*,*,#11477,.F.);
++#11492=ORIENTED_EDGE('',*,*,#5894,.T.);
++#11494=ORIENTED_EDGE('',*,*,#11493,.T.);
++#11496=ORIENTED_EDGE('',*,*,#11495,.F.);
++#11497=EDGE_LOOP('',(#11491,#11492,#11494,#11496));
++#11498=FACE_OUTER_BOUND('',#11497,.F.);
++#11499=ADVANCED_FACE('',(#11498),#11490,.T.);
++#11500=CARTESIAN_POINT('',(2.274875E1,0.E0,7.5E0));
++#11501=DIRECTION('',(0.E0,1.E0,0.E0));
++#11502=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11503=AXIS2_PLACEMENT_3D('',#11500,#11501,#11502);
++#11504=CYLINDRICAL_SURFACE('',#11503,5.6125E-1);
++#11505=ORIENTED_EDGE('',*,*,#5892,.T.);
++#11507=ORIENTED_EDGE('',*,*,#11506,.T.);
++#11509=ORIENTED_EDGE('',*,*,#11508,.F.);
++#11510=ORIENTED_EDGE('',*,*,#11493,.F.);
++#11511=EDGE_LOOP('',(#11505,#11507,#11509,#11510));
++#11512=FACE_OUTER_BOUND('',#11511,.F.);
++#11513=ADVANCED_FACE('',(#11512),#11504,.F.);
++#11514=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0));
++#11515=DIRECTION('',(1.E0,0.E0,0.E0));
++#11516=DIRECTION('',(0.E0,0.E0,1.E0));
++#11517=AXIS2_PLACEMENT_3D('',#11514,#11515,#11516);
++#11518=PLANE('',#11517);
++#11519=ORIENTED_EDGE('',*,*,#11340,.T.);
++#11521=ORIENTED_EDGE('',*,*,#11520,.F.);
++#11522=ORIENTED_EDGE('',*,*,#11506,.F.);
++#11523=ORIENTED_EDGE('',*,*,#5890,.T.);
++#11524=EDGE_LOOP('',(#11519,#11521,#11522,#11523));
++#11525=FACE_OUTER_BOUND('',#11524,.F.);
++#11526=ADVANCED_FACE('',(#11525),#11518,.T.);
++#11527=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
++#11528=DIRECTION('',(0.E0,1.E0,0.E0));
++#11529=DIRECTION('',(-1.E0,0.E0,0.E0));
++#11530=AXIS2_PLACEMENT_3D('',#11527,#11528,#11529);
++#11531=PLANE('',#11530);
++#11532=ORIENTED_EDGE('',*,*,#11465,.T.);
++#11533=ORIENTED_EDGE('',*,*,#11479,.F.);
++#11534=ORIENTED_EDGE('',*,*,#11495,.T.);
++#11535=ORIENTED_EDGE('',*,*,#11508,.T.);
++#11536=ORIENTED_EDGE('',*,*,#11520,.T.);
++#11537=ORIENTED_EDGE('',*,*,#11338,.F.);
++#11538=ORIENTED_EDGE('',*,*,#11355,.T.);
++#11539=ORIENTED_EDGE('',*,*,#11367,.F.);
++#11540=ORIENTED_EDGE('',*,*,#11383,.T.);
++#11541=ORIENTED_EDGE('',*,*,#11395,.F.);
++#11542=ORIENTED_EDGE('',*,*,#11411,.T.);
++#11543=ORIENTED_EDGE('',*,*,#11423,.F.);
++#11544=ORIENTED_EDGE('',*,*,#11437,.T.);
++#11545=ORIENTED_EDGE('',*,*,#11451,.F.);
++#11546=EDGE_LOOP('',(#11532,#11533,#11534,#11535,#11536,#11537,#11538,#11539,
++#11540,#11541,#11542,#11543,#11544,#11545));
++#11547=FACE_OUTER_BOUND('',#11546,.F.);
++#11548=ADVANCED_FACE('',(#11547),#11531,.F.);
++#11549=CLOSED_SHELL('',(#5954,#6079,#6094,#6107,#6117,#6132,#6145,#6201,#6214,
++#6278,#6488,#6503,#6516,#6529,#6540,#6555,#6568,#6581,#6592,#6605,#6618,#6631,
++#6644,#6656,#6669,#6683,#6696,#6709,#6723,#6736,#6749,#6763,#6776,#6789,#6802,
++#6815,#6828,#6842,#6855,#6868,#6880,#6893,#6906,#6918,#6931,#6945,#6958,#6971,
++#6984,#6998,#7011,#7024,#7036,#7048,#7061,#7074,#7086,#7099,#7114,#7127,#7152,
++#7166,#7178,#7191,#7204,#7217,#7230,#7244,#7256,#7311,#7325,#7337,#7349,#7368,
++#7379,#7394,#7407,#7423,#7437,#7449,#7465,#7477,#7490,#7514,#7529,#7542,#7552,
++#7567,#7580,#7590,#7605,#7619,#7649,#7662,#7675,#7688,#7701,#7714,#7727,#7740,
++#7753,#7766,#7778,#7790,#7805,#7818,#7828,#7843,#7856,#7866,#7881,#7894,#7907,
++#7918,#7933,#7946,#7959,#7970,#7985,#7998,#8014,#8028,#8040,#8055,#8068,#8084,
++#8098,#8110,#8125,#8138,#8154,#8168,#8180,#8195,#8208,#8224,#8238,#8250,#8265,
++#8278,#8294,#8308,#8320,#8335,#8348,#8364,#8378,#8390,#8405,#8418,#8434,#8448,
++#8460,#8475,#8488,#8504,#8518,#8530,#8545,#8558,#8574,#8588,#8600,#8615,#8628,
++#8644,#8658,#8670,#8685,#8698,#8714,#8728,#8740,#8755,#8768,#8784,#8798,#8810,
++#8825,#8838,#8854,#8868,#8880,#8895,#8908,#8924,#8938,#8950,#8965,#8978,#8994,
++#9008,#9020,#9035,#9048,#9064,#9078,#9090,#9105,#9118,#9134,#9148,#9160,#9175,
++#9188,#9204,#9218,#9230,#9242,#9260,#9275,#9288,#9304,#9318,#9330,#9345,#9359,
++#9373,#9387,#9401,#9415,#9429,#9443,#9457,#9471,#9485,#9498,#9518,#9533,#9546,
++#9556,#9571,#9584,#9594,#9609,#9622,#9632,#9647,#9660,#9670,#9685,#9698,#9708,
++#9723,#9737,#9751,#9765,#9779,#9793,#9807,#9820,#9836,#9851,#9865,#9887,#9901,
++#9913,#9926,#9939,#9952,#9964,#9979,#9993,#10007,#10020,#10032,#10050,#10064,
++#10077,#10090,#10103,#10115,#10130,#10144,#10178,#10192,#10205,#10218,#10230,
++#10243,#10256,#10269,#10282,#10295,#10308,#10321,#10333,#10348,#10362,#10376,
++#10389,#10401,#10416,#10430,#10444,#10457,#10469,#10484,#10498,#10512,#10525,
++#10537,#10552,#10566,#10580,#10593,#10605,#10620,#10634,#10648,#10661,#10673,
++#10691,#10705,#10718,#10731,#10744,#10756,#10771,#10785,#10799,#10812,#10824,
++#10842,#10856,#10869,#10882,#10895,#10907,#10922,#10936,#10950,#10963,#10975,
++#10990,#11004,#11018,#11031,#11043,#11058,#11072,#11086,#11099,#11111,#11126,
++#11140,#11154,#11167,#11179,#11194,#11208,#11222,#11235,#11247,#11265,#11279,
++#11292,#11305,#11318,#11330,#11345,#11359,#11373,#11387,#11401,#11415,#11429,
++#11443,#11457,#11471,#11485,#11499,#11513,#11526,#11548));
++#11550=MANIFOLD_SOLID_BREP('',#11549);
++#11551=DIMENSIONAL_EXPONENTS(1.E0,0.E0,0.E0,0.E0,0.E0,0.E0,0.E0);
++#11552=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
++#11553=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.54E1),#11552);
++#11554=(CONVERSION_BASED_UNIT('INCH',#11553)LENGTH_UNIT()NAMED_UNIT(#11551));
++#11555=DIMENSIONAL_EXPONENTS(0.E0,0.E0,0.E0,0.E0,0.E0,0.E0,0.E0);
++#11556=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
++#11557=PLANE_ANGLE_MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(1.745329251994E-2),
++#11556);
++#11558=(CONVERSION_BASED_UNIT('DEGREE',#11557)NAMED_UNIT(#11555)PLANE_ANGLE_UNIT());
++#11559=(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
++#11560=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(4.404650704771E-3),#11554,
++'closure',
++'Maximum model space distance between geometric entities at asserted connectivities');
++#11561=(GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((
++#11560))GLOBAL_UNIT_ASSIGNED_CONTEXT((#11554,#11558,#11559))REPRESENTATION_CONTEXT('ID1','3'));
++#11563=APPLICATION_CONTEXT(
++'CONFIGURATION CONTROLLED 3D DESIGNS OF MECHANICAL PARTS AND ASSEMBLIES');
++#11564=APPLICATION_PROTOCOL_DEFINITION('international standard',
++'config_control_design',1994,#11563);
++#11565=DESIGN_CONTEXT('',#11563,'design');
++#11566=MECHANICAL_CONTEXT('',#11563,'mechanical');
++#11567=PRODUCT('PROESOURCE','PROESOURCE','NOT SPECIFIED',(#11566));
++#11568=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('1','LAST_VERSION',
++#11567,.MADE.);
++#11572=PRODUCT_CATEGORY('part','');
++#11573=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','',(#11567));
++#11574=PRODUCT_CATEGORY_RELATIONSHIP('','',#11572,#11573);
++#11575=SECURITY_CLASSIFICATION_LEVEL('unclassified');
++#11576=SECURITY_CLASSIFICATION('','',#11575);
++#11577=CC_DESIGN_SECURITY_CLASSIFICATION(#11576,(#11568));
++#11578=APPROVAL_STATUS('approved');
++#11579=APPROVAL(#11578,'');
++#11580=CC_DESIGN_APPROVAL(#11579,(#11576,#11568,#11569));
++#11581=CALENDAR_DATE(102,4,11);
++#11582=COORDINATED_UNIVERSAL_TIME_OFFSET(5,0,.BEHIND.);
++#11583=LOCAL_TIME(14,0,4.8E1,#11582);
++#11584=DATE_AND_TIME(#11581,#11583);
++#11585=APPROVAL_DATE_TIME(#11584,#11579);
++#11586=DATE_TIME_ROLE('creation_date');
++#11587=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#11584,#11586,(#11569));
++#11588=DATE_TIME_ROLE('classification_date');
++#11589=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#11584,#11588,(#11576));
++#11590=PERSON('UNSPECIFIED','UNSPECIFIED',$,$,$,$);
++#11591=ORGANIZATION('UNSPECIFIED','UNSPECIFIED','UNSPECIFIED');
++#11592=PERSON_AND_ORGANIZATION(#11590,#11591);
++#11593=APPROVAL_ROLE('approver');
++#11594=APPROVAL_PERSON_ORGANIZATION(#11592,#11579,#11593);
++#11595=PERSON_AND_ORGANIZATION_ROLE('creator');
++#11596=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11595,(#11568,
++#11569));
++#11597=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
++#11598=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11597,(#11568));
++#11599=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
++#11600=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11599,(#11576));
++#11601=PERSON_AND_ORGANIZATION_ROLE('design_owner');
++#11602=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11601,(#11567));
++#13=CIRCLE('',#12,1.925E-1);
++#18=CIRCLE('',#17,1.925E-1);
++#23=CIRCLE('',#22,1.925E-1);
++#28=CIRCLE('',#27,1.925E-1);
++#33=CIRCLE('',#32,1.925E-1);
++#38=CIRCLE('',#37,1.925E-1);
++#43=CIRCLE('',#42,1.925E-1);
++#48=CIRCLE('',#47,1.925E-1);
++#53=CIRCLE('',#52,1.925E-1);
++#58=CIRCLE('',#57,1.925E-1);
++#63=CIRCLE('',#62,1.925E-1);
++#68=CIRCLE('',#67,1.925E-1);
++#73=CIRCLE('',#72,1.925E-1);
++#78=CIRCLE('',#77,1.925E-1);
++#83=CIRCLE('',#82,1.925E-1);
++#88=CIRCLE('',#87,1.925E-1);
++#93=CIRCLE('',#92,1.925E-1);
++#98=CIRCLE('',#97,1.925E-1);
++#103=CIRCLE('',#102,1.925E-1);
++#108=CIRCLE('',#107,1.925E-1);
++#113=CIRCLE('',#112,1.925E-1);
++#118=CIRCLE('',#117,1.925E-1);
++#123=CIRCLE('',#122,1.925E-1);
++#128=CIRCLE('',#127,1.925E-1);
++#181=CIRCLE('',#180,1.925E-1);
++#186=CIRCLE('',#185,1.925E-1);
++#191=CIRCLE('',#190,1.925E-1);
++#196=CIRCLE('',#195,1.925E-1);
++#249=CIRCLE('',#248,1.925E-1);
++#254=CIRCLE('',#253,1.925E-1);
++#259=CIRCLE('',#258,1.925E-1);
++#264=CIRCLE('',#263,1.925E-1);
++#269=CIRCLE('',#268,1.925E-1);
++#274=CIRCLE('',#273,1.925E-1);
++#279=CIRCLE('',#278,1.925E-1);
++#284=CIRCLE('',#283,1.925E-1);
++#289=CIRCLE('',#288,1.925E-1);
++#294=CIRCLE('',#293,1.925E-1);
++#299=CIRCLE('',#298,1.925E-1);
++#304=CIRCLE('',#303,1.925E-1);
++#313=CIRCLE('',#312,5.625E-1);
++#322=CIRCLE('',#321,5.625E-1);
++#327=CIRCLE('',#326,9.225E-1);
++#336=CIRCLE('',#335,8.669989027347E-1);
++#341=CIRCLE('',#340,5.6875E0);
++#350=CIRCLE('',#349,5.6125E-1);
++#383=CIRCLE('',#382,5.625E-1);
++#392=CIRCLE('',#391,5.625E-1);
++#401=CIRCLE('',#400,5.625E-1);
++#410=CIRCLE('',#409,5.625E-1);
++#419=CIRCLE('',#418,5.E-1);
++#428=CIRCLE('',#427,5.E-1);
++#437=CIRCLE('',#436,4.375E-1);
++#446=CIRCLE('',#445,4.375E-1);
++#455=CIRCLE('',#454,5.625E-1);
++#464=CIRCLE('',#463,5.625E-1);
++#473=CIRCLE('',#472,5.625E-1);
++#482=CIRCLE('',#481,5.625E-1);
++#491=CIRCLE('',#490,5.625E-1);
++#500=CIRCLE('',#499,5.625E-1);
++#509=CIRCLE('',#508,5.625E-1);
++#518=CIRCLE('',#517,5.625E-1);
++#527=CIRCLE('',#526,5.E-1);
++#536=CIRCLE('',#535,5.E-1);
++#545=CIRCLE('',#544,4.375E-1);
++#554=CIRCLE('',#553,4.375E-1);
++#563=CIRCLE('',#562,5.625E-1);
++#572=CIRCLE('',#571,5.625E-1);
++#581=CIRCLE('',#580,5.6125E-1);
++#614=CIRCLE('',#613,9.225E-1);
++#619=CIRCLE('',#618,5.6875E0);
++#624=CIRCLE('',#623,8.669989027347E-1);
++#633=CIRCLE('',#632,9.225E-1);
++#638=CIRCLE('',#637,5.6875E0);
++#643=CIRCLE('',#642,8.669989027347E-1);
++#648=CIRCLE('',#647,9.225E-1);
++#657=CIRCLE('',#656,8.669989027347E-1);
++#662=CIRCLE('',#661,5.6875E0);
++#667=CIRCLE('',#666,9.5E-2);
++#672=CIRCLE('',#671,9.5E-2);
++#677=CIRCLE('',#676,1.625E-1);
++#682=CIRCLE('',#681,1.625E-1);
++#687=CIRCLE('',#686,9.5E-2);
++#692=CIRCLE('',#691,9.5E-2);
++#697=CIRCLE('',#696,9.5E-2);
++#702=CIRCLE('',#701,9.5E-2);
++#707=CIRCLE('',#706,9.5E-2);
++#712=CIRCLE('',#711,9.5E-2);
++#717=CIRCLE('',#716,9.5E-2);
++#722=CIRCLE('',#721,9.5E-2);
++#727=CIRCLE('',#726,1.625E-1);
++#732=CIRCLE('',#731,1.625E-1);
++#737=CIRCLE('',#736,9.5E-2);
++#742=CIRCLE('',#741,9.5E-2);
++#803=CIRCLE('',#802,9.5E-2);
++#808=CIRCLE('',#807,9.5E-2);
++#821=CIRCLE('',#820,1.625E-1);
++#826=CIRCLE('',#825,1.625E-1);
++#887=CIRCLE('',#886,1.E-1);
++#892=CIRCLE('',#891,1.E-1);
++#897=CIRCLE('',#896,1.E-1);
++#902=CIRCLE('',#901,1.E-1);
++#931=CIRCLE('',#930,1.E-1);
++#936=CIRCLE('',#935,1.E-1);
++#941=CIRCLE('',#940,1.E-1);
++#946=CIRCLE('',#945,1.E-1);
++#951=CIRCLE('',#950,2.575E-1);
++#956=CIRCLE('',#955,2.575E-1);
++#961=CIRCLE('',#960,2.575E-1);
++#966=CIRCLE('',#965,2.575E-1);
++#971=CIRCLE('',#970,2.575E-1);
++#976=CIRCLE('',#975,2.575E-1);
++#981=CIRCLE('',#980,2.575E-1);
++#986=CIRCLE('',#985,2.575E-1);
++#991=CIRCLE('',#990,2.575E-1);
++#996=CIRCLE('',#995,2.575E-1);
++#1001=CIRCLE('',#1000,2.575E-1);
++#1006=CIRCLE('',#1005,2.575E-1);
++#1011=CIRCLE('',#1010,2.56E-1);
++#1016=CIRCLE('',#1015,2.56E-1);
++#1021=CIRCLE('',#1020,2.56E-1);
++#1026=CIRCLE('',#1025,2.56E-1);
++#1031=CIRCLE('',#1030,2.56E-1);
++#1036=CIRCLE('',#1035,2.56E-1);
++#1041=CIRCLE('',#1040,2.56E-1);
++#1046=CIRCLE('',#1045,2.56E-1);
++#1051=CIRCLE('',#1050,2.56E-1);
++#1056=CIRCLE('',#1055,2.56E-1);
++#1061=CIRCLE('',#1060,2.56E-1);
++#1066=CIRCLE('',#1065,2.56E-1);
++#1115=CIRCLE('',#1114,2.575E-1);
++#1120=CIRCLE('',#1119,2.575E-1);
++#1125=CIRCLE('',#1124,2.575E-1);
++#1130=CIRCLE('',#1129,2.575E-1);
++#1135=CIRCLE('',#1134,2.575E-1);
++#1140=CIRCLE('',#1139,2.575E-1);
++#1145=CIRCLE('',#1144,2.575E-1);
++#1150=CIRCLE('',#1149,2.575E-1);
++#1155=CIRCLE('',#1154,2.575E-1);
++#1160=CIRCLE('',#1159,2.575E-1);
++#1165=CIRCLE('',#1164,2.575E-1);
++#1170=CIRCLE('',#1169,2.575E-1);
++#1259=CIRCLE('',#1258,1.E-1);
++#1268=CIRCLE('',#1267,1.E-1);
++#1285=CIRCLE('',#1284,1.E-1);
++#1294=CIRCLE('',#1293,1.E-1);
++#1303=CIRCLE('',#1302,1.E0);
++#1312=CIRCLE('',#1311,1.E0);
++#1317=CIRCLE('',#1316,5.E0);
++#1326=CIRCLE('',#1325,5.E0);
++#1331=CIRCLE('',#1330,5.E0);
++#1340=CIRCLE('',#1339,5.E0);
++#1349=CIRCLE('',#1348,1.E0);
++#1358=CIRCLE('',#1357,1.E0);
++#1367=CIRCLE('',#1366,1.E0);
++#1376=CIRCLE('',#1375,1.E0);
++#1385=CIRCLE('',#1384,1.E0);
++#1394=CIRCLE('',#1393,1.E0);
++#1403=CIRCLE('',#1402,1.E0);
++#1412=CIRCLE('',#1411,1.E0);
++#1421=CIRCLE('',#1420,3.E0);
++#1430=CIRCLE('',#1429,3.E0);
++#1439=CIRCLE('',#1438,3.E0);
++#1448=CIRCLE('',#1447,3.E0);
++#1457=CIRCLE('',#1456,5.E0);
++#1466=CIRCLE('',#1465,5.E0);
++#1475=CIRCLE('',#1474,5.E0);
++#1484=CIRCLE('',#1483,5.E0);
++#1493=CIRCLE('',#1492,3.E0);
++#1502=CIRCLE('',#1501,3.E0);
++#1511=CIRCLE('',#1510,3.E0);
++#1520=CIRCLE('',#1519,3.E0);
++#1529=CIRCLE('',#1528,1.E0);
++#1538=CIRCLE('',#1537,1.E0);
++#1547=CIRCLE('',#1546,1.E0);
++#1556=CIRCLE('',#1555,1.E0);
++#1597=CIRCLE('',#1596,1.E0);
++#1606=CIRCLE('',#1605,1.E0);
++#1675=CIRCLE('',#1674,9.5E-2);
++#1680=CIRCLE('',#1679,9.5E-2);
++#1685=CIRCLE('',#1684,6.25E-2);
++#1690=CIRCLE('',#1689,6.25E-2);
++#1707=CIRCLE('',#1706,1.E0);
++#1716=CIRCLE('',#1715,1.E0);
++#1729=CIRCLE('',#1728,1.E0);
++#1738=CIRCLE('',#1737,1.E0);
++#1767=CIRCLE('',#1766,1.625E-1);
++#1772=CIRCLE('',#1771,1.625E-1);
++#1846=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1837,#1838,#1839,#1840,#1841,#1842,#1843,
++#1844,#1845),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1,
++6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.);
++#1856=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1847,#1848,#1849,#1850,#1851,#1852,#1853,
++#1854,#1855),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1,
++6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.);
++#1873=CIRCLE('',#1872,2.575E-1);
++#1878=CIRCLE('',#1877,2.575E-1);
++#1883=CIRCLE('',#1882,1.925E-1);
++#1888=CIRCLE('',#1887,1.925E-1);
++#1933=CIRCLE('',#1932,9.5E-2);
++#1938=CIRCLE('',#1937,9.5E-2);
++#1943=CIRCLE('',#1942,6.25E-2);
++#1948=CIRCLE('',#1947,6.25E-2);
++#1961=CIRCLE('',#1960,9.5E-2);
++#1966=CIRCLE('',#1965,9.5E-2);
++#1979=CIRCLE('',#1978,6.25E-2);
++#1984=CIRCLE('',#1983,6.25E-2);
++#1993=CIRCLE('',#1992,3.5E-1);
++#2002=CIRCLE('',#2001,3.5E-1);
++#2035=CIRCLE('',#2034,3.5E-1);
++#2044=CIRCLE('',#2043,3.5E-1);
++#2053=CIRCLE('',#2052,3.5E-1);
++#2062=CIRCLE('',#2061,3.5E-1);
++#2071=CIRCLE('',#2070,3.5E-1);
++#2080=CIRCLE('',#2079,3.5E-1);
++#2089=CIRCLE('',#2088,3.5E-1);
++#2098=CIRCLE('',#2097,3.5E-1);
++#2107=CIRCLE('',#2106,3.5E-1);
++#2116=CIRCLE('',#2115,3.5E-1);
++#2145=CIRCLE('',#2144,9.5E-2);
++#2150=CIRCLE('',#2149,9.5E-2);
++#2163=CIRCLE('',#2162,6.25E-2);
++#2168=CIRCLE('',#2167,6.25E-2);
++#2189=CIRCLE('',#2188,1.E-1);
++#2194=CIRCLE('',#2193,1.E-1);
++#2215=CIRCLE('',#2214,1.E-1);
++#2220=CIRCLE('',#2219,1.E-1);
++#2233=CIRCLE('',#2232,2.575E-1);
++#2238=CIRCLE('',#2237,2.575E-1);
++#2243=CIRCLE('',#2242,1.925E-1);
++#2248=CIRCLE('',#2247,1.925E-1);
++#2269=CIRCLE('',#2268,2.575E-1);
++#2274=CIRCLE('',#2273,2.575E-1);
++#2279=CIRCLE('',#2278,1.925E-1);
++#2284=CIRCLE('',#2283,1.925E-1);
++#2305=CIRCLE('',#2304,2.575E-1);
++#2310=CIRCLE('',#2309,2.575E-1);
++#2315=CIRCLE('',#2314,1.925E-1);
++#2320=CIRCLE('',#2319,1.925E-1);
++#2341=CIRCLE('',#2340,2.575E-1);
++#2346=CIRCLE('',#2345,2.575E-1);
++#2351=CIRCLE('',#2350,1.925E-1);
++#2356=CIRCLE('',#2355,1.925E-1);
++#2377=CIRCLE('',#2376,2.575E-1);
++#2382=CIRCLE('',#2381,2.575E-1);
++#2387=CIRCLE('',#2386,1.925E-1);
++#2392=CIRCLE('',#2391,1.925E-1);
++#2413=CIRCLE('',#2412,2.575E-1);
++#2418=CIRCLE('',#2417,2.575E-1);
++#2423=CIRCLE('',#2422,1.925E-1);
++#2428=CIRCLE('',#2427,1.925E-1);
++#2449=CIRCLE('',#2448,2.56E-1);
++#2454=CIRCLE('',#2453,2.56E-1);
++#2459=CIRCLE('',#2458,1.925E-1);
++#2464=CIRCLE('',#2463,1.925E-1);
++#2485=CIRCLE('',#2484,2.56E-1);
++#2490=CIRCLE('',#2489,2.56E-1);
++#2495=CIRCLE('',#2494,1.925E-1);
++#2500=CIRCLE('',#2499,1.925E-1);
++#2521=CIRCLE('',#2520,2.56E-1);
++#2526=CIRCLE('',#2525,2.56E-1);
++#2531=CIRCLE('',#2530,1.925E-1);
++#2536=CIRCLE('',#2535,1.925E-1);
++#2557=CIRCLE('',#2556,2.56E-1);
++#2562=CIRCLE('',#2561,2.56E-1);
++#2567=CIRCLE('',#2566,1.925E-1);
++#2572=CIRCLE('',#2571,1.925E-1);
++#2593=CIRCLE('',#2592,2.56E-1);
++#2598=CIRCLE('',#2597,2.56E-1);
++#2603=CIRCLE('',#2602,1.925E-1);
++#2608=CIRCLE('',#2607,1.925E-1);
++#2629=CIRCLE('',#2628,2.56E-1);
++#2634=CIRCLE('',#2633,2.56E-1);
++#2639=CIRCLE('',#2638,1.925E-1);
++#2644=CIRCLE('',#2643,1.925E-1);
++#2665=CIRCLE('',#2664,2.575E-1);
++#2670=CIRCLE('',#2669,2.575E-1);
++#2675=CIRCLE('',#2674,1.925E-1);
++#2680=CIRCLE('',#2679,1.925E-1);
++#2701=CIRCLE('',#2700,2.575E-1);
++#2706=CIRCLE('',#2705,2.575E-1);
++#2711=CIRCLE('',#2710,1.925E-1);
++#2716=CIRCLE('',#2715,1.925E-1);
++#2737=CIRCLE('',#2736,2.575E-1);
++#2742=CIRCLE('',#2741,2.575E-1);
++#2747=CIRCLE('',#2746,1.925E-1);
++#2752=CIRCLE('',#2751,1.925E-1);
++#2773=CIRCLE('',#2772,2.575E-1);
++#2778=CIRCLE('',#2777,2.575E-1);
++#2783=CIRCLE('',#2782,1.925E-1);
++#2788=CIRCLE('',#2787,1.925E-1);
++#2809=CIRCLE('',#2808,2.575E-1);
++#2814=CIRCLE('',#2813,2.575E-1);
++#2819=CIRCLE('',#2818,1.925E-1);
++#2824=CIRCLE('',#2823,1.925E-1);
++#2845=CIRCLE('',#2844,2.575E-1);
++#2850=CIRCLE('',#2849,2.575E-1);
++#2855=CIRCLE('',#2854,1.925E-1);
++#2860=CIRCLE('',#2859,1.925E-1);
++#2882=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2873,#2874,#2875,#2876,#2877,#2878,#2879,
++#2880,#2881),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1,
++6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.);
++#2892=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2883,#2884,#2885,#2886,#2887,#2888,#2889,
++#2890,#2891),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1,
++6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.);
++#2905=CIRCLE('',#2904,2.575E-1);
++#2910=CIRCLE('',#2909,2.575E-1);
++#2915=CIRCLE('',#2914,1.925E-1);
++#2920=CIRCLE('',#2919,1.925E-1);
++#2937=CIRCLE('',#2936,3.5E-1);
++#2946=CIRCLE('',#2945,3.5E-1);
++#2955=CIRCLE('',#2954,3.5E-1);
++#2964=CIRCLE('',#2963,3.5E-1);
++#2973=CIRCLE('',#2972,3.5E-1);
++#2982=CIRCLE('',#2981,3.5E-1);
++#2991=CIRCLE('',#2990,3.5E-1);
++#3000=CIRCLE('',#2999,3.5E-1);
++#3009=CIRCLE('',#3008,3.5E-1);
++#3018=CIRCLE('',#3017,3.5E-1);
++#3027=CIRCLE('',#3026,3.5E-1);
++#3036=CIRCLE('',#3035,3.5E-1);
++#3073=CIRCLE('',#3072,9.5E-2);
++#3078=CIRCLE('',#3077,9.5E-2);
++#3091=CIRCLE('',#3090,9.5E-2);
++#3096=CIRCLE('',#3095,9.5E-2);
++#3109=CIRCLE('',#3108,9.5E-2);
++#3114=CIRCLE('',#3113,9.5E-2);
++#3127=CIRCLE('',#3126,9.5E-2);
++#3132=CIRCLE('',#3131,9.5E-2);
++#3145=CIRCLE('',#3144,9.5E-2);
++#3150=CIRCLE('',#3149,9.5E-2);
++#3159=CIRCLE('',#3158,7.5E-1);
++#3168=CIRCLE('',#3167,7.5E-1);
++#3177=CIRCLE('',#3176,7.5E-1);
++#3186=CIRCLE('',#3185,7.5E-1);
++#3195=CIRCLE('',#3194,7.5E-1);
++#3204=CIRCLE('',#3203,7.5E-1);
++#3213=CIRCLE('',#3212,7.5E-1);
++#3222=CIRCLE('',#3221,7.5E-1);
++#3247=CIRCLE('',#3246,7.5E-1);
++#3256=CIRCLE('',#3255,7.5E-1);
++#3281=CIRCLE('',#3280,7.5E-1);
++#3290=CIRCLE('',#3289,7.5E-1);
++#3299=CIRCLE('',#3298,7.5E-1);
++#3308=CIRCLE('',#3307,7.5E-1);
++#3317=CIRCLE('',#3316,7.5E-1);
++#3326=CIRCLE('',#3325,7.5E-1);
++#3351=CIRCLE('',#3350,5.625E-1);
++#3360=CIRCLE('',#3359,5.625E-1);
++#3365=CIRCLE('',#3364,9.225E-1);
++#3370=CIRCLE('',#3369,5.6875E0);
++#3375=CIRCLE('',#3374,8.669989027347E-1);
++#3388=CIRCLE('',#3387,7.5E-1);
++#3397=CIRCLE('',#3396,7.5E-1);
++#3418=CIRCLE('',#3417,8.75E-1);
++#3427=CIRCLE('',#3426,8.75E-1);
++#3440=CIRCLE('',#3439,5.6125E-1);
++#3469=CIRCLE('',#3468,8.75E-1);
++#3478=CIRCLE('',#3477,8.75E-1);
++#3495=CIRCLE('',#3494,8.75E-1);
++#3504=CIRCLE('',#3503,8.75E-1);
++#3513=CIRCLE('',#3512,8.75E-1);
++#3522=CIRCLE('',#3521,8.75E-1);
++#3531=CIRCLE('',#3530,8.75E-1);
++#3540=CIRCLE('',#3539,8.75E-1);
++#3549=CIRCLE('',#3548,8.75E-1);
++#3558=CIRCLE('',#3557,8.75E-1);
++#3583=CIRCLE('',#3582,5.625E-1);
++#3592=CIRCLE('',#3591,5.625E-1);
++#3617=CIRCLE('',#3616,5.625E-1);
++#3626=CIRCLE('',#3625,5.625E-1);
++#3651=CIRCLE('',#3650,5.E-1);
++#3660=CIRCLE('',#3659,5.E-1);
++#3685=CIRCLE('',#3684,4.375E-1);
++#3694=CIRCLE('',#3693,4.375E-1);
++#3719=CIRCLE('',#3718,5.625E-1);
++#3728=CIRCLE('',#3727,5.625E-1);
++#3737=CIRCLE('',#3736,8.669989027347E-1);
++#3742=CIRCLE('',#3741,5.6875E0);
++#3747=CIRCLE('',#3746,9.225E-1);
++#3756=CIRCLE('',#3755,7.5E-1);
++#3765=CIRCLE('',#3764,7.5E-1);
++#3802=CIRCLE('',#3801,5.625E-1);
++#3811=CIRCLE('',#3810,5.625E-1);
++#3820=CIRCLE('',#3819,8.669989027347E-1);
++#3825=CIRCLE('',#3824,5.6875E0);
++#3830=CIRCLE('',#3829,9.225E-1);
++#3839=CIRCLE('',#3838,7.5E-1);
++#3848=CIRCLE('',#3847,7.5E-1);
++#3885=CIRCLE('',#3884,5.625E-1);
++#3894=CIRCLE('',#3893,5.625E-1);
++#3919=CIRCLE('',#3918,5.625E-1);
++#3928=CIRCLE('',#3927,5.625E-1);
++#3953=CIRCLE('',#3952,5.E-1);
++#3962=CIRCLE('',#3961,5.E-1);
++#3987=CIRCLE('',#3986,4.375E-1);
++#3996=CIRCLE('',#3995,4.375E-1);
++#4021=CIRCLE('',#4020,5.625E-1);
++#4030=CIRCLE('',#4029,5.625E-1);
++#4035=CIRCLE('',#4034,9.225E-1);
++#4040=CIRCLE('',#4039,5.6875E0);
++#4045=CIRCLE('',#4044,8.669989027347E-1);
++#4058=CIRCLE('',#4057,7.5E-1);
++#4067=CIRCLE('',#4066,7.5E-1);
++#4088=CIRCLE('',#4087,8.8E-1);
++#4097=CIRCLE('',#4096,8.8E-1);
++#4106=CIRCLE('',#4105,8.8E-1);
++#4115=CIRCLE('',#4114,8.8E-1);
++#4124=CIRCLE('',#4123,8.8E-1);
++#4133=CIRCLE('',#4132,8.8E-1);
++#4142=CIRCLE('',#4141,8.8E-1);
++#4151=CIRCLE('',#4150,8.8E-1);
++#4160=CIRCLE('',#4159,8.8E-1);
++#4169=CIRCLE('',#4168,8.8E-1);
++#4178=CIRCLE('',#4177,8.8E-1);
++#4187=CIRCLE('',#4186,8.8E-1);
++#4208=CIRCLE('',#4207,5.6125E-1);
++#5494=EDGE_CURVE('',#4423,#4400,#132,.T.);
++#5496=EDGE_CURVE('',#4419,#4423,#1597,.T.);
++#5498=EDGE_CURVE('',#4419,#4243,#136,.T.);
++#5500=EDGE_CURVE('',#4239,#4243,#1614,.T.);
++#5502=EDGE_CURVE('',#4239,#4259,#140,.T.);
++#5504=EDGE_CURVE('',#4255,#4259,#1630,.T.);
++#5506=EDGE_CURVE('',#4255,#4320,#144,.T.);
++#5508=EDGE_CURVE('',#4324,#4320,#1376,.T.);
++#5510=EDGE_CURVE('',#4324,#4300,#148,.T.);
++#5512=EDGE_CURVE('',#4300,#4347,#152,.T.);
++#5514=EDGE_CURVE('',#4343,#4347,#1912,.T.);
++#5516=EDGE_CURVE('',#4343,#4315,#156,.T.);
++#5518=EDGE_CURVE('',#4311,#4315,#1385,.T.);
++#5520=EDGE_CURVE('',#4311,#4251,#160,.T.);
++#5522=EDGE_CURVE('',#4247,#4251,#1580,.T.);
++#5524=EDGE_CURVE('',#4247,#4235,#164,.T.);
++#5526=EDGE_CURVE('',#4231,#4235,#1564,.T.);
++#5528=EDGE_CURVE('',#4231,#4404,#168,.T.);
++#5530=EDGE_CURVE('',#4408,#4404,#1556,.T.);
++#5532=EDGE_CURVE('',#4444,#4408,#172,.T.);
++#5534=EDGE_CURVE('',#4444,#4448,#1654,.T.);
++#5536=EDGE_CURVE('',#4400,#4448,#176,.T.);
++#5540=EDGE_CURVE('',#4427,#4328,#4,.T.);
++#5542=EDGE_CURVE('',#4332,#4328,#1358,.T.);
++#5544=EDGE_CURVE('',#4264,#4332,#1340,.T.);
++#5546=EDGE_CURVE('',#4268,#4264,#8,.T.);
++#5548=EDGE_CURVE('',#4431,#4268,#1317,.T.);
++#5550=EDGE_CURVE('',#4427,#4431,#1303,.T.);
++#5554=EDGE_CURVE('',#4639,#4640,#13,.T.);
++#5556=EDGE_CURVE('',#4640,#4639,#18,.T.);
++#5560=EDGE_CURVE('',#4635,#4636,#23,.T.);
++#5562=EDGE_CURVE('',#4636,#4635,#28,.T.);
++#5566=EDGE_CURVE('',#4631,#4632,#33,.T.);
++#5568=EDGE_CURVE('',#4632,#4631,#38,.T.);
++#5572=EDGE_CURVE('',#4627,#4628,#43,.T.);
++#5574=EDGE_CURVE('',#4628,#4627,#48,.T.);
++#5578=EDGE_CURVE('',#4623,#4624,#53,.T.);
++#5580=EDGE_CURVE('',#4624,#4623,#58,.T.);
++#5584=EDGE_CURVE('',#4527,#4528,#63,.T.);
++#5586=EDGE_CURVE('',#4528,#4527,#68,.T.);
++#5590=EDGE_CURVE('',#4523,#4524,#73,.T.);
++#5592=EDGE_CURVE('',#4524,#4523,#78,.T.);
++#5596=EDGE_CURVE('',#4519,#4520,#83,.T.);
++#5598=EDGE_CURVE('',#4520,#4519,#88,.T.);
++#5602=EDGE_CURVE('',#4515,#4516,#93,.T.);
++#5604=EDGE_CURVE('',#4516,#4515,#98,.T.);
++#5608=EDGE_CURVE('',#4511,#4512,#103,.T.);
++#5610=EDGE_CURVE('',#4512,#4511,#108,.T.);
++#5614=EDGE_CURVE('',#4507,#4508,#113,.T.);
++#5616=EDGE_CURVE('',#4508,#4507,#118,.T.);
++#5620=EDGE_CURVE('',#4503,#4504,#123,.T.);
++#5622=EDGE_CURVE('',#4504,#4503,#128,.T.);
++#5626=EDGE_CURVE('',#4487,#4488,#181,.T.);
++#5628=EDGE_CURVE('',#4488,#4487,#186,.T.);
++#5632=EDGE_CURVE('',#4607,#4608,#191,.T.);
++#5634=EDGE_CURVE('',#4608,#4607,#196,.T.);
++#5638=EDGE_CURVE('',#4796,#4803,#200,.T.);
++#5640=EDGE_CURVE('',#4799,#4803,#1439,.T.);
++#5642=EDGE_CURVE('',#4280,#4799,#204,.T.);
++#5644=EDGE_CURVE('',#4284,#4280,#1466,.T.);
++#5646=EDGE_CURVE('',#4272,#4284,#208,.T.);
++#5648=EDGE_CURVE('',#4276,#4272,#1484,.T.);
++#5650=EDGE_CURVE('',#4792,#4276,#212,.T.);
++#5652=EDGE_CURVE('',#4796,#4792,#1430,.T.);
++#5656=EDGE_CURVE('',#4808,#4411,#216,.T.);
++#5658=EDGE_CURVE('',#4812,#4808,#1502,.T.);
++#5660=EDGE_CURVE('',#4812,#4819,#220,.T.);
++#5662=EDGE_CURVE('',#4815,#4819,#1511,.T.);
++#5664=EDGE_CURVE('',#4304,#4815,#224,.T.);
++#5666=EDGE_CURVE('',#4308,#4304,#1412,.T.);
++#5668=EDGE_CURVE('',#4308,#4339,#228,.T.);
++#5670=EDGE_CURVE('',#4335,#4339,#1754,.T.);
++#5672=EDGE_CURVE('',#4335,#4772,#232,.T.);
++#5674=EDGE_CURVE('',#4776,#4772,#1738,.T.);
++#5676=EDGE_CURVE('',#4776,#4783,#236,.T.);
++#5678=EDGE_CURVE('',#4779,#4783,#1707,.T.);
++#5680=EDGE_CURVE('',#4436,#4779,#240,.T.);
++#5682=EDGE_CURVE('',#4436,#4440,#2132,.T.);
++#5684=EDGE_CURVE('',#4415,#4440,#244,.T.);
++#5686=EDGE_CURVE('',#4411,#4415,#1529,.T.);
++#5690=EDGE_CURVE('',#4823,#4824,#249,.T.);
++#5692=EDGE_CURVE('',#4824,#4823,#254,.T.);
++#5696=EDGE_CURVE('',#4839,#4840,#259,.T.);
++#5698=EDGE_CURVE('',#4840,#4839,#264,.T.);
++#5702=EDGE_CURVE('',#4843,#4844,#269,.T.);
++#5704=EDGE_CURVE('',#4844,#4843,#274,.T.);
++#5708=EDGE_CURVE('',#4847,#4848,#279,.T.);
++#5710=EDGE_CURVE('',#4848,#4847,#284,.T.);
++#5714=EDGE_CURVE('',#4851,#4852,#289,.T.);
++#5716=EDGE_CURVE('',#4852,#4851,#294,.T.);
++#5720=EDGE_CURVE('',#4855,#4856,#299,.T.);
++#5722=EDGE_CURVE('',#4856,#4855,#304,.T.);
++#5726=EDGE_CURVE('',#5121,#5122,#308,.T.);
++#5728=EDGE_CURVE('',#5122,#5124,#313,.T.);
++#5730=EDGE_CURVE('',#5124,#5126,#317,.T.);
++#5732=EDGE_CURVE('',#5126,#5121,#322,.T.);
++#5736=EDGE_CURVE('',#5132,#5139,#327,.T.);
++#5738=EDGE_CURVE('',#5135,#5139,#3388,.T.);
++#5740=EDGE_CURVE('',#5135,#5129,#331,.T.);
++#5742=EDGE_CURVE('',#5129,#5130,#336,.T.);
++#5744=EDGE_CURVE('',#5132,#5130,#341,.T.);
++#5748=EDGE_CURVE('',#5184,#5186,#3418,.T.);
++#5750=EDGE_CURVE('',#5184,#5147,#345,.T.);
++#5752=EDGE_CURVE('',#5147,#5148,#350,.T.);
++#5754=EDGE_CURVE('',#5148,#5194,#354,.T.);
++#5756=EDGE_CURVE('',#5192,#5194,#3469,.T.);
++#5758=EDGE_CURVE('',#5192,#5171,#358,.T.);
++#5760=EDGE_CURVE('',#5167,#5171,#3495,.T.);
++#5762=EDGE_CURVE('',#5167,#5179,#362,.T.);
++#5764=EDGE_CURVE('',#5175,#5179,#3513,.T.);
++#5766=EDGE_CURVE('',#5175,#5155,#366,.T.);
++#5768=EDGE_CURVE('',#5151,#5155,#3531,.T.);
++#5770=EDGE_CURVE('',#5151,#5163,#370,.T.);
++#5772=EDGE_CURVE('',#5159,#5163,#3549,.T.);
++#5774=EDGE_CURVE('',#5159,#5186,#374,.T.);
++#5778=EDGE_CURVE('',#5207,#5208,#378,.T.);
++#5780=EDGE_CURVE('',#5208,#5210,#383,.T.);
++#5782=EDGE_CURVE('',#5210,#5212,#387,.T.);
++#5784=EDGE_CURVE('',#5212,#5207,#392,.T.);
++#5788=EDGE_CURVE('',#5223,#5224,#396,.T.);
++#5790=EDGE_CURVE('',#5224,#5226,#401,.T.);
++#5792=EDGE_CURVE('',#5226,#5228,#405,.T.);
++#5794=EDGE_CURVE('',#5228,#5223,#410,.T.);
++#5798=EDGE_CURVE('',#5239,#5240,#414,.T.);
++#5800=EDGE_CURVE('',#5240,#5242,#419,.T.);
++#5802=EDGE_CURVE('',#5242,#5244,#423,.T.);
++#5804=EDGE_CURVE('',#5244,#5239,#428,.T.);
++#5808=EDGE_CURVE('',#5255,#5256,#432,.T.);
++#5810=EDGE_CURVE('',#5256,#5258,#437,.T.);
++#5812=EDGE_CURVE('',#5258,#5260,#441,.T.);
++#5814=EDGE_CURVE('',#5260,#5255,#446,.T.);
++#5818=EDGE_CURVE('',#5277,#5278,#450,.T.);
++#5820=EDGE_CURVE('',#5282,#5277,#455,.T.);
++#5822=EDGE_CURVE('',#5280,#5282,#459,.T.);
++#5824=EDGE_CURVE('',#5278,#5280,#464,.T.);
++#5828=EDGE_CURVE('',#5305,#5306,#468,.T.);
++#5830=EDGE_CURVE('',#5310,#5305,#473,.T.);
++#5832=EDGE_CURVE('',#5308,#5310,#477,.T.);
++#5834=EDGE_CURVE('',#5306,#5308,#482,.T.);
++#5838=EDGE_CURVE('',#5335,#5336,#486,.T.);
++#5840=EDGE_CURVE('',#5340,#5335,#491,.T.);
++#5842=EDGE_CURVE('',#5338,#5340,#495,.T.);
++#5844=EDGE_CURVE('',#5336,#5338,#500,.T.);
++#5848=EDGE_CURVE('',#5351,#5352,#504,.T.);
++#5850=EDGE_CURVE('',#5356,#5351,#509,.T.);
++#5852=EDGE_CURVE('',#5354,#5356,#513,.T.);
++#5854=EDGE_CURVE('',#5352,#5354,#518,.T.);
++#5858=EDGE_CURVE('',#5367,#5368,#522,.T.);
++#5860=EDGE_CURVE('',#5372,#5367,#527,.T.);
++#5862=EDGE_CURVE('',#5370,#5372,#531,.T.);
++#5864=EDGE_CURVE('',#5368,#5370,#536,.T.);
++#5868=EDGE_CURVE('',#5383,#5384,#540,.T.);
++#5870=EDGE_CURVE('',#5388,#5383,#545,.T.);
++#5872=EDGE_CURVE('',#5386,#5388,#549,.T.);
++#5874=EDGE_CURVE('',#5384,#5386,#554,.T.);
++#5878=EDGE_CURVE('',#5405,#5406,#558,.T.);
++#5880=EDGE_CURVE('',#5406,#5408,#563,.T.);
++#5882=EDGE_CURVE('',#5408,#5410,#567,.T.);
++#5884=EDGE_CURVE('',#5410,#5405,#572,.T.);
++#5888=EDGE_CURVE('',#5455,#5451,#4097,.T.);
++#5890=EDGE_CURVE('',#5324,#5455,#576,.T.);
++#5892=EDGE_CURVE('',#5323,#5324,#581,.T.);
++#5894=EDGE_CURVE('',#5459,#5323,#585,.T.);
++#5896=EDGE_CURVE('',#5463,#5459,#4187,.T.);
++#5898=EDGE_CURVE('',#5436,#5463,#589,.T.);
++#5900=EDGE_CURVE('',#5440,#5436,#4169,.T.);
++#5902=EDGE_CURVE('',#5444,#5440,#593,.T.);
++#5904=EDGE_CURVE('',#5448,#5444,#4151,.T.);
++#5906=EDGE_CURVE('',#5428,#5448,#597,.T.);
++#5908=EDGE_CURVE('',#5432,#5428,#4133,.T.);
++#5910=EDGE_CURVE('',#5420,#5432,#601,.T.);
++#5912=EDGE_CURVE('',#5424,#5420,#4115,.T.);
++#5914=EDGE_CURVE('',#5451,#5424,#605,.T.);
++#5918=EDGE_CURVE('',#5471,#5313,#609,.T.);
++#5920=EDGE_CURVE('',#5467,#5471,#3839,.T.);
++#5922=EDGE_CURVE('',#5316,#5467,#614,.T.);
++#5924=EDGE_CURVE('',#5316,#5314,#619,.T.);
++#5926=EDGE_CURVE('',#5313,#5314,#624,.T.);
++#5930=EDGE_CURVE('',#5479,#5285,#628,.T.);
++#5932=EDGE_CURVE('',#5475,#5479,#3756,.T.);
++#5934=EDGE_CURVE('',#5288,#5475,#633,.T.);
++#5936=EDGE_CURVE('',#5288,#5286,#638,.T.);
++#5938=EDGE_CURVE('',#5285,#5286,#643,.T.);
++#5942=EDGE_CURVE('',#5416,#5487,#648,.T.);
++#5944=EDGE_CURVE('',#5483,#5487,#4058,.T.);
++#5946=EDGE_CURVE('',#5483,#5413,#652,.T.);
++#5948=EDGE_CURVE('',#5413,#5414,#657,.T.);
++#5950=EDGE_CURVE('',#5416,#5414,#662,.T.);
++#5961=EDGE_CURVE('',#4427,#4428,#1298,.T.);
++#5963=EDGE_CURVE('',#4424,#4428,#906,.T.);
++#5965=EDGE_CURVE('',#4423,#4424,#1601,.T.);
++#5968=EDGE_CURVE('',#4390,#4400,#1658,.T.);
++#5970=EDGE_CURVE('',#4387,#4390,#746,.T.);
++#5972=EDGE_CURVE('',#4387,#4388,#750,.T.);
++#5974=EDGE_CURVE('',#4768,#4388,#1698,.T.);
++#5976=EDGE_CURVE('',#4767,#4768,#1230,.T.);
++#5978=EDGE_CURVE('',#4287,#4767,#1746,.T.);
++#5980=EDGE_CURVE('',#4287,#4288,#754,.T.);
++#5982=EDGE_CURVE('',#4288,#4290,#758,.T.);
++#5984=EDGE_CURVE('',#4300,#4290,#1900,.T.);
++#5987=EDGE_CURVE('',#4323,#4324,#1371,.T.);
++#5989=EDGE_CURVE('',#4327,#4323,#914,.T.);
++#5991=EDGE_CURVE('',#4327,#4328,#1344,.T.);
++#5995=EDGE_CURVE('',#4747,#4748,#667,.T.);
++#5997=EDGE_CURVE('',#4748,#4747,#672,.T.);
++#6001=EDGE_CURVE('',#4735,#4736,#677,.T.);
++#6003=EDGE_CURVE('',#4736,#4735,#682,.T.);
++#6007=EDGE_CURVE('',#4755,#4756,#687,.T.);
++#6009=EDGE_CURVE('',#4756,#4755,#692,.T.);
++#6013=EDGE_CURVE('',#4763,#4764,#697,.T.);
++#6015=EDGE_CURVE('',#4764,#4763,#702,.T.);
++#6019=EDGE_CURVE('',#4731,#4732,#707,.T.);
++#6021=EDGE_CURVE('',#4732,#4731,#712,.T.);
++#6025=EDGE_CURVE('',#4723,#4724,#717,.T.);
++#6027=EDGE_CURVE('',#4724,#4723,#722,.T.);
++#6031=EDGE_CURVE('',#4703,#4704,#727,.T.);
++#6033=EDGE_CURVE('',#4704,#4703,#732,.T.);
++#6037=EDGE_CURVE('',#4715,#4716,#737,.T.);
++#6039=EDGE_CURVE('',#4716,#4715,#742,.T.);
++#6043=EDGE_CURVE('',#4947,#4959,#762,.T.);
++#6045=EDGE_CURVE('',#4955,#4959,#3213,.T.);
++#6047=EDGE_CURVE('',#4955,#4967,#766,.T.);
++#6049=EDGE_CURVE('',#4963,#4967,#3195,.T.);
++#6051=EDGE_CURVE('',#4963,#4975,#770,.T.);
++#6053=EDGE_CURVE('',#4971,#4975,#3177,.T.);
++#6055=EDGE_CURVE('',#4971,#4951,#774,.T.);
++#6057=EDGE_CURVE('',#4947,#4951,#3159,.T.);
++#6061=EDGE_CURVE('',#5036,#5048,#778,.T.);
++#6063=EDGE_CURVE('',#5040,#5036,#3256,.T.);
++#6065=EDGE_CURVE('',#5028,#5040,#782,.T.);
++#6067=EDGE_CURVE('',#5032,#5028,#3290,.T.);
++#6069=EDGE_CURVE('',#5052,#5032,#786,.T.);
++#6071=EDGE_CURVE('',#5056,#5052,#3308,.T.);
++#6073=EDGE_CURVE('',#5044,#5056,#790,.T.);
++#6075=EDGE_CURVE('',#5048,#5044,#3326,.T.);
++#6086=EDGE_CURVE('',#4747,#4743,#794,.T.);
++#6088=EDGE_CURVE('',#4743,#4744,#803,.T.);
++#6090=EDGE_CURVE('',#4748,#4744,#798,.T.);
++#6102=EDGE_CURVE('',#4744,#4743,#808,.T.);
++#6124=EDGE_CURVE('',#4735,#4739,#812,.T.);
++#6126=EDGE_CURVE('',#4739,#4740,#821,.T.);
++#6128=EDGE_CURVE('',#4736,#4740,#816,.T.);
++#6140=EDGE_CURVE('',#4740,#4739,#826,.T.);
++#6151=EDGE_CURVE('',#4934,#4940,#830,.T.);
++#6153=EDGE_CURVE('',#4940,#4942,#834,.T.);
++#6155=EDGE_CURVE('',#4938,#4942,#838,.T.);
++#6157=EDGE_CURVE('',#4788,#4938,#1234,.T.);
++#6159=EDGE_CURVE('',#4788,#4393,#842,.T.);
++#6161=EDGE_CURVE('',#4393,#4394,#846,.T.);
++#6163=EDGE_CURVE('',#4394,#4396,#850,.T.);
++#6165=EDGE_CURVE('',#4396,#4398,#854,.T.);
++#6167=EDGE_CURVE('',#4934,#4398,#1178,.T.);
++#6175=EDGE_CURVE('',#5103,#5099,#2946,.T.);
++#6177=EDGE_CURVE('',#5076,#5103,#858,.T.);
++#6179=EDGE_CURVE('',#5080,#5076,#3036,.T.);
++#6181=EDGE_CURVE('',#5084,#5080,#862,.T.);
++#6183=EDGE_CURVE('',#5088,#5084,#3018,.T.);
++#6185=EDGE_CURVE('',#5092,#5088,#866,.T.);
++#6187=EDGE_CURVE('',#5096,#5092,#3000,.T.);
++#6189=EDGE_CURVE('',#5068,#5096,#870,.T.);
++#6191=EDGE_CURVE('',#5072,#5068,#2982,.T.);
++#6193=EDGE_CURVE('',#5060,#5072,#874,.T.);
++#6195=EDGE_CURVE('',#5064,#5060,#2964,.T.);
++#6197=EDGE_CURVE('',#5099,#5064,#878,.T.);
++#6207=EDGE_CURVE('',#4933,#4934,#1174,.T.);
++#6209=EDGE_CURVE('',#4940,#4933,#882,.T.);
++#6221=EDGE_CURVE('',#4432,#4428,#1312,.T.);
++#6223=EDGE_CURVE('',#4267,#4432,#1326,.T.);
++#6225=EDGE_CURVE('',#4267,#4263,#910,.T.);
++#6227=EDGE_CURVE('',#4331,#4263,#1331,.T.);
++#6229=EDGE_CURVE('',#4327,#4331,#1349,.T.);
++#6232=EDGE_CURVE('',#4319,#4323,#1367,.T.);
++#6234=EDGE_CURVE('',#4256,#4319,#918,.T.);
++#6236=EDGE_CURVE('',#4256,#4260,#1638,.T.);
++#6238=EDGE_CURVE('',#4240,#4260,#922,.T.);
++#6240=EDGE_CURVE('',#4240,#4244,#1622,.T.);
++#6242=EDGE_CURVE('',#4420,#4244,#926,.T.);
++#6244=EDGE_CURVE('',#4424,#4420,#1606,.T.);
++#6248=EDGE_CURVE('',#4495,#4496,#951,.T.);
++#6250=EDGE_CURVE('',#4496,#4495,#956,.T.);
++#6254=EDGE_CURVE('',#4567,#4568,#981,.T.);
++#6256=EDGE_CURVE('',#4568,#4567,#986,.T.);
++#6260=EDGE_CURVE('',#4615,#4616,#1011,.T.);
++#6262=EDGE_CURVE('',#4616,#4615,#1016,.T.);
++#6266=EDGE_CURVE('',#4647,#4648,#1021,.T.);
++#6268=EDGE_CURVE('',#4648,#4647,#1026,.T.);
++#6272=EDGE_CURVE('',#4659,#4660,#1031,.T.);
++#6274=EDGE_CURVE('',#4660,#4659,#1036,.T.);
++#6286=EDGE_CURVE('',#4398,#4447,#1182,.T.);
++#6288=EDGE_CURVE('',#4443,#4447,#1646,.T.);
++#6290=EDGE_CURVE('',#4443,#4407,#1186,.T.);
++#6292=EDGE_CURVE('',#4403,#4407,#1547,.T.);
++#6294=EDGE_CURVE('',#4232,#4403,#1190,.T.);
++#6296=EDGE_CURVE('',#4232,#4236,#1572,.T.);
++#6298=EDGE_CURVE('',#4248,#4236,#1194,.T.);
++#6300=EDGE_CURVE('',#4248,#4252,#1588,.T.);
++#6302=EDGE_CURVE('',#4312,#4252,#1198,.T.);
++#6304=EDGE_CURVE('',#4316,#4312,#1394,.T.);
++#6306=EDGE_CURVE('',#4344,#4316,#1202,.T.);
++#6308=EDGE_CURVE('',#4344,#4348,#1920,.T.);
++#6310=EDGE_CURVE('',#4298,#4348,#1206,.T.);
++#6312=EDGE_CURVE('',#4298,#4920,#1210,.T.);
++#6314=EDGE_CURVE('',#4919,#4920,#1214,.T.);
++#6316=EDGE_CURVE('',#4919,#4923,#1218,.T.);
++#6318=EDGE_CURVE('',#4923,#4924,#1222,.T.);
++#6320=EDGE_CURVE('',#4924,#4786,#1226,.T.);
++#6322=EDGE_CURVE('',#4767,#4786,#1742,.T.);
++#6325=EDGE_CURVE('',#4768,#4788,#1694,.T.);
++#6328=EDGE_CURVE('',#4937,#4938,#1238,.T.);
++#6330=EDGE_CURVE('',#4933,#4937,#1242,.T.);
++#6334=EDGE_CURVE('',#4373,#4374,#887,.T.);
++#6336=EDGE_CURVE('',#4374,#4373,#892,.T.);
++#6340=EDGE_CURVE('',#4383,#4384,#897,.T.);
++#6342=EDGE_CURVE('',#4384,#4383,#902,.T.);
++#6346=EDGE_CURVE('',#4473,#4474,#931,.T.);
++#6348=EDGE_CURVE('',#4474,#4473,#936,.T.);
++#6352=EDGE_CURVE('',#4483,#4484,#941,.T.);
++#6354=EDGE_CURVE('',#4484,#4483,#946,.T.);
++#6358=EDGE_CURVE('',#4543,#4544,#961,.T.);
++#6360=EDGE_CURVE('',#4544,#4543,#966,.T.);
++#6364=EDGE_CURVE('',#4555,#4556,#971,.T.);
++#6366=EDGE_CURVE('',#4556,#4555,#976,.T.);
++#6370=EDGE_CURVE('',#4587,#4588,#991,.T.);
++#6372=EDGE_CURVE('',#4588,#4587,#996,.T.);
++#6376=EDGE_CURVE('',#4599,#4600,#1001,.T.);
++#6378=EDGE_CURVE('',#4600,#4599,#1006,.T.);
++#6382=EDGE_CURVE('',#4671,#4672,#1041,.T.);
++#6384=EDGE_CURVE('',#4672,#4671,#1046,.T.);
++#6388=EDGE_CURVE('',#4683,#4684,#1051,.T.);
++#6390=EDGE_CURVE('',#4684,#4683,#1056,.T.);
++#6394=EDGE_CURVE('',#4695,#4696,#1061,.T.);
++#6396=EDGE_CURVE('',#4696,#4695,#1066,.T.);
++#6400=EDGE_CURVE('',#4279,#4800,#1070,.T.);
++#6402=EDGE_CURVE('',#4804,#4800,#1448,.T.);
++#6404=EDGE_CURVE('',#4795,#4804,#1074,.T.);
++#6406=EDGE_CURVE('',#4791,#4795,#1421,.T.);
++#6408=EDGE_CURVE('',#4791,#4275,#1078,.T.);
++#6410=EDGE_CURVE('',#4271,#4275,#1475,.T.);
++#6412=EDGE_CURVE('',#4271,#4283,#1082,.T.);
++#6414=EDGE_CURVE('',#4279,#4283,#1457,.T.);
++#6418=EDGE_CURVE('',#4811,#4820,#1086,.T.);
++#6420=EDGE_CURVE('',#4807,#4811,#1493,.T.);
++#6422=EDGE_CURVE('',#4807,#4412,#1090,.T.);
++#6424=EDGE_CURVE('',#4416,#4412,#1538,.T.);
++#6426=EDGE_CURVE('',#4416,#4439,#1094,.T.);
++#6428=EDGE_CURVE('',#4435,#4439,#2124,.T.);
++#6430=EDGE_CURVE('',#4435,#4780,#1098,.T.);
++#6432=EDGE_CURVE('',#4784,#4780,#1716,.T.);
++#6434=EDGE_CURVE('',#4775,#4784,#1720,.T.);
++#6436=EDGE_CURVE('',#4771,#4775,#1729,.T.);
++#6438=EDGE_CURVE('',#4336,#4771,#1102,.T.);
++#6440=EDGE_CURVE('',#4336,#4340,#1762,.T.);
++#6442=EDGE_CURVE('',#4307,#4340,#1106,.T.);
++#6444=EDGE_CURVE('',#4303,#4307,#1403,.T.);
++#6446=EDGE_CURVE('',#4303,#4816,#1110,.T.);
++#6448=EDGE_CURVE('',#4820,#4816,#1520,.T.);
++#6452=EDGE_CURVE('',#4831,#4832,#1115,.T.);
++#6454=EDGE_CURVE('',#4832,#4831,#1120,.T.);
++#6458=EDGE_CURVE('',#4863,#4864,#1125,.T.);
++#6460=EDGE_CURVE('',#4864,#4863,#1130,.T.);
++#6464=EDGE_CURVE('',#4875,#4876,#1135,.T.);
++#6466=EDGE_CURVE('',#4876,#4875,#1140,.T.);
++#6470=EDGE_CURVE('',#4887,#4888,#1145,.T.);
++#6472=EDGE_CURVE('',#4888,#4887,#1150,.T.);
++#6476=EDGE_CURVE('',#4899,#4900,#1155,.T.);
++#6478=EDGE_CURVE('',#4900,#4899,#1160,.T.);
++#6482=EDGE_CURVE('',#4911,#4912,#1165,.T.);
++#6484=EDGE_CURVE('',#4912,#4911,#1170,.T.);
++#6495=EDGE_CURVE('',#4368,#4374,#1250,.T.);
++#6497=EDGE_CURVE('',#4370,#4368,#1268,.T.);
++#6499=EDGE_CURVE('',#4370,#4373,#1246,.T.);
++#6511=EDGE_CURVE('',#4370,#4368,#1259,.T.);
++#6522=EDGE_CURVE('',#4367,#4368,#1254,.T.);
++#6525=EDGE_CURVE('',#4367,#4370,#1263,.T.);
++#6547=EDGE_CURVE('',#4378,#4384,#1276,.T.);
++#6549=EDGE_CURVE('',#4380,#4378,#1294,.T.);
++#6551=EDGE_CURVE('',#4380,#4383,#1272,.T.);
++#6563=EDGE_CURVE('',#4380,#4378,#1285,.T.);
++#6574=EDGE_CURVE('',#4377,#4378,#1280,.T.);
++#6577=EDGE_CURVE('',#4377,#4380,#1289,.T.);
++#6600=EDGE_CURVE('',#4431,#4432,#1307,.T.);
++#6613=EDGE_CURVE('',#4267,#4268,#1321,.T.);
++#6624=EDGE_CURVE('',#4263,#4264,#1335,.T.);
++#6637=EDGE_CURVE('',#4331,#4332,#1353,.T.);
++#6662=EDGE_CURVE('',#4319,#4320,#1362,.T.);
++#6675=EDGE_CURVE('',#4311,#4312,#1380,.T.);
++#6678=EDGE_CURVE('',#4251,#4252,#1584,.T.);
++#6691=EDGE_CURVE('',#4255,#4256,#1626,.T.);
++#6704=EDGE_CURVE('',#4315,#4316,#1389,.T.);
++#6715=EDGE_CURVE('',#4307,#4308,#1407,.T.);
++#6718=EDGE_CURVE('',#4339,#4340,#1758,.T.);
++#6731=EDGE_CURVE('',#4343,#4344,#1908,.T.);
++#6742=EDGE_CURVE('',#4303,#4304,#1398,.T.);
++#6755=EDGE_CURVE('',#4791,#4792,#1416,.T.);
++#6758=EDGE_CURVE('',#4275,#4276,#1479,.T.);
++#6769=EDGE_CURVE('',#4815,#4816,#1506,.T.);
++#6784=EDGE_CURVE('',#4795,#4796,#1425,.T.);
++#6797=EDGE_CURVE('',#4803,#4804,#1443,.T.);
++#6808=EDGE_CURVE('',#4799,#4800,#1434,.T.);
++#6823=EDGE_CURVE('',#4279,#4280,#1452,.T.);
++#6834=EDGE_CURVE('',#4807,#4808,#1488,.T.);
++#6837=EDGE_CURVE('',#4411,#4412,#1524,.T.);
++#6850=EDGE_CURVE('',#4283,#4284,#1461,.T.);
++#6861=EDGE_CURVE('',#4271,#4272,#1470,.T.);
++#6888=EDGE_CURVE('',#4811,#4812,#1497,.T.);
++#6901=EDGE_CURVE('',#4819,#4820,#1515,.T.);
++#6926=EDGE_CURVE('',#4415,#4416,#1533,.T.);
++#6937=EDGE_CURVE('',#4407,#4408,#1551,.T.);
++#6940=EDGE_CURVE('',#4443,#4444,#1642,.T.);
++#6953=EDGE_CURVE('',#4439,#4440,#2128,.T.);
++#6964=EDGE_CURVE('',#4403,#4404,#1542,.T.);
++#6979=EDGE_CURVE('',#4231,#4232,#1560,.T.);
++#6990=EDGE_CURVE('',#4419,#4420,#1592,.T.);
++#6993=EDGE_CURVE('',#4243,#4244,#1618,.T.);
++#7006=EDGE_CURVE('',#4235,#4236,#1568,.T.);
++#7018=EDGE_CURVE('',#4247,#4248,#1576,.T.);
++#7054=EDGE_CURVE('',#4239,#4240,#1610,.T.);
++#7070=EDGE_CURVE('',#4259,#4260,#1634,.T.);
++#7094=EDGE_CURVE('',#4447,#4448,#1650,.T.);
++#7110=EDGE_CURVE('',#4390,#4396,#1662,.T.);
++#7123=EDGE_CURVE('',#4387,#4394,#1666,.T.);
++#7136=EDGE_CURVE('',#4388,#4393,#1670,.T.);
++#7140=EDGE_CURVE('',#4455,#4456,#1675,.T.);
++#7142=EDGE_CURVE('',#4456,#4455,#1680,.T.);
++#7146=EDGE_CURVE('',#4463,#4464,#1685,.T.);
++#7148=EDGE_CURVE('',#4464,#4463,#1690,.T.);
++#7158=EDGE_CURVE('',#4779,#4780,#1702,.T.);
++#7161=EDGE_CURVE('',#4435,#4436,#2120,.T.);
++#7186=EDGE_CURVE('',#4783,#4784,#1711,.T.);
++#7197=EDGE_CURVE('',#4775,#4776,#1733,.T.);
++#7210=EDGE_CURVE('',#4771,#4772,#1724,.T.);
++#7225=EDGE_CURVE('',#4335,#4336,#1750,.T.);
++#7237=EDGE_CURVE('',#4786,#4293,#1792,.T.);
++#7239=EDGE_CURVE('',#4287,#4293,#1928,.T.);
++#7262=EDGE_CURVE('',#4920,#4926,#1776,.T.);
++#7265=EDGE_CURVE('',#4296,#4298,#1780,.T.);
++#7267=EDGE_CURVE('',#4294,#4296,#1784,.T.);
++#7269=EDGE_CURVE('',#4293,#4294,#1788,.T.);
++#7273=EDGE_CURVE('',#4924,#4928,#1796,.T.);
++#7275=EDGE_CURVE('',#4926,#4928,#1800,.T.);
++#7279=EDGE_CURVE('',#4707,#4708,#1767,.T.);
++#7281=EDGE_CURVE('',#4708,#4707,#1772,.T.);
++#7285=EDGE_CURVE('',#5020,#5022,#1993,.T.);
++#7287=EDGE_CURVE('',#5020,#4983,#1804,.T.);
++#7289=EDGE_CURVE('',#4979,#4983,#2107,.T.);
++#7291=EDGE_CURVE('',#4979,#4991,#1808,.T.);
++#7293=EDGE_CURVE('',#4987,#4991,#2089,.T.);
++#7295=EDGE_CURVE('',#4987,#5015,#1812,.T.);
++#7297=EDGE_CURVE('',#5011,#5015,#2071,.T.);
++#7299=EDGE_CURVE('',#5011,#5007,#1816,.T.);
++#7301=EDGE_CURVE('',#5003,#5007,#2053,.T.);
++#7303=EDGE_CURVE('',#5003,#4999,#1820,.T.);
++#7305=EDGE_CURVE('',#4995,#4999,#2035,.T.);
++#7307=EDGE_CURVE('',#4995,#5022,#1824,.T.);
++#7318=EDGE_CURVE('',#4704,#4708,#1832,.T.);
++#7321=EDGE_CURVE('',#4703,#4707,#1828,.T.);
++#7345=EDGE_CURVE('',#4926,#4919,#1836,.T.);
++#7358=EDGE_CURVE('',#4928,#4923,#1860,.T.);
++#7362=EDGE_CURVE('',#4929,#4930,#1846,.T.);
++#7364=EDGE_CURVE('',#4930,#4929,#1856,.T.);
++#7385=EDGE_CURVE('',#4930,#4531,#1868,.T.);
++#7388=EDGE_CURVE('',#4532,#4929,#1864,.T.);
++#7390=EDGE_CURVE('',#4531,#4532,#1873,.T.);
++#7403=EDGE_CURVE('',#4532,#4531,#1878,.T.);
++#7417=EDGE_CURVE('',#4535,#4536,#1883,.T.);
++#7419=EDGE_CURVE('',#4536,#4535,#1888,.T.);
++#7430=EDGE_CURVE('',#4536,#4504,#1896,.T.);
++#7433=EDGE_CURVE('',#4535,#4503,#1892,.T.);
++#7457=EDGE_CURVE('',#4347,#4348,#1916,.T.);
++#7461=EDGE_CURVE('',#4290,#4296,#1904,.T.);
++#7484=EDGE_CURVE('',#4288,#4294,#1924,.T.);
++#7502=EDGE_CURVE('',#4355,#4356,#1933,.T.);
++#7504=EDGE_CURVE('',#4356,#4355,#1938,.T.);
++#7508=EDGE_CURVE('',#4363,#4364,#1943,.T.);
++#7510=EDGE_CURVE('',#4364,#4363,#1948,.T.);
++#7521=EDGE_CURVE('',#4356,#4352,#1956,.T.);
++#7523=EDGE_CURVE('',#4351,#4352,#1961,.T.);
++#7525=EDGE_CURVE('',#4355,#4351,#1952,.T.);
++#7537=EDGE_CURVE('',#4352,#4351,#1966,.T.);
++#7559=EDGE_CURVE('',#4364,#4360,#1974,.T.);
++#7561=EDGE_CURVE('',#4359,#4360,#1979,.T.);
++#7563=EDGE_CURVE('',#4363,#4359,#1970,.T.);
++#7575=EDGE_CURVE('',#4360,#4359,#1984,.T.);
++#7596=EDGE_CURVE('',#5019,#5020,#1988,.T.);
++#7599=EDGE_CURVE('',#5024,#5022,#1997,.T.);
++#7601=EDGE_CURVE('',#5024,#5019,#2002,.T.);
++#7612=EDGE_CURVE('',#5019,#4984,#2006,.T.);
++#7614=EDGE_CURVE('',#4983,#4984,#2111,.T.);
++#7627=EDGE_CURVE('',#4996,#5024,#2010,.T.);
++#7629=EDGE_CURVE('',#5000,#4996,#2044,.T.);
++#7631=EDGE_CURVE('',#5004,#5000,#2014,.T.);
++#7633=EDGE_CURVE('',#5008,#5004,#2062,.T.);
++#7635=EDGE_CURVE('',#5012,#5008,#2018,.T.);
++#7637=EDGE_CURVE('',#5016,#5012,#2080,.T.);
++#7639=EDGE_CURVE('',#4988,#5016,#2022,.T.);
++#7641=EDGE_CURVE('',#4992,#4988,#2098,.T.);
++#7643=EDGE_CURVE('',#4980,#4992,#2026,.T.);
++#7645=EDGE_CURVE('',#4984,#4980,#2116,.T.);
++#7657=EDGE_CURVE('',#4995,#4996,#2030,.T.);
++#7670=EDGE_CURVE('',#4999,#5000,#2039,.T.);
++#7683=EDGE_CURVE('',#5003,#5004,#2048,.T.);
++#7696=EDGE_CURVE('',#5007,#5008,#2057,.T.);
++#7709=EDGE_CURVE('',#5011,#5012,#2066,.T.);
++#7722=EDGE_CURVE('',#5015,#5016,#2075,.T.);
++#7733=EDGE_CURVE('',#4987,#4988,#2084,.T.);
++#7748=EDGE_CURVE('',#4991,#4992,#2093,.T.);
++#7759=EDGE_CURVE('',#4979,#4980,#2102,.T.);
++#7797=EDGE_CURVE('',#4455,#4451,#2136,.T.);
++#7799=EDGE_CURVE('',#4451,#4452,#2145,.T.);
++#7801=EDGE_CURVE('',#4456,#4452,#2140,.T.);
++#7813=EDGE_CURVE('',#4452,#4451,#2150,.T.);
++#7835=EDGE_CURVE('',#4463,#4459,#2154,.T.);
++#7837=EDGE_CURVE('',#4459,#4460,#2163,.T.);
++#7839=EDGE_CURVE('',#4464,#4460,#2158,.T.);
++#7851=EDGE_CURVE('',#4460,#4459,#2168,.T.);
++#7873=EDGE_CURVE('',#4470,#4473,#2176,.T.);
++#7875=EDGE_CURVE('',#4470,#4468,#2194,.T.);
++#7877=EDGE_CURVE('',#4468,#4474,#2172,.T.);
++#7889=EDGE_CURVE('',#4470,#4468,#2189,.T.);
++#7900=EDGE_CURVE('',#4467,#4468,#2180,.T.);
++#7902=EDGE_CURVE('',#4467,#4470,#2184,.T.);
++#7925=EDGE_CURVE('',#4480,#4483,#2202,.T.);
++#7927=EDGE_CURVE('',#4480,#4478,#2220,.T.);
++#7929=EDGE_CURVE('',#4478,#4484,#2198,.T.);
++#7941=EDGE_CURVE('',#4480,#4478,#2215,.T.);
++#7952=EDGE_CURVE('',#4477,#4478,#2206,.T.);
++#7954=EDGE_CURVE('',#4477,#4480,#2210,.T.);
++#7977=EDGE_CURVE('',#4496,#4492,#2228,.T.);
++#7979=EDGE_CURVE('',#4491,#4492,#2233,.T.);
++#7981=EDGE_CURVE('',#4495,#4491,#2224,.T.);
++#7993=EDGE_CURVE('',#4492,#4491,#2238,.T.);
++#8008=EDGE_CURVE('',#4499,#4500,#2243,.T.);
++#8010=EDGE_CURVE('',#4500,#4499,#2248,.T.);
++#8021=EDGE_CURVE('',#4500,#4488,#2256,.T.);
++#8024=EDGE_CURVE('',#4499,#4487,#2252,.T.);
++#8047=EDGE_CURVE('',#4544,#4540,#2264,.T.);
++#8049=EDGE_CURVE('',#4539,#4540,#2269,.T.);
++#8051=EDGE_CURVE('',#4543,#4539,#2260,.T.);
++#8063=EDGE_CURVE('',#4540,#4539,#2274,.T.);
++#8078=EDGE_CURVE('',#4547,#4548,#2279,.T.);
++#8080=EDGE_CURVE('',#4548,#4547,#2284,.T.);
++#8091=EDGE_CURVE('',#4548,#4508,#2292,.T.);
++#8094=EDGE_CURVE('',#4547,#4507,#2288,.T.);
++#8117=EDGE_CURVE('',#4556,#4552,#2300,.T.);
++#8119=EDGE_CURVE('',#4551,#4552,#2305,.T.);
++#8121=EDGE_CURVE('',#4555,#4551,#2296,.T.);
++#8133=EDGE_CURVE('',#4552,#4551,#2310,.T.);
++#8148=EDGE_CURVE('',#4559,#4560,#2315,.T.);
++#8150=EDGE_CURVE('',#4560,#4559,#2320,.T.);
++#8161=EDGE_CURVE('',#4560,#4512,#2328,.T.);
++#8164=EDGE_CURVE('',#4559,#4511,#2324,.T.);
++#8187=EDGE_CURVE('',#4568,#4564,#2336,.T.);
++#8189=EDGE_CURVE('',#4563,#4564,#2341,.T.);
++#8191=EDGE_CURVE('',#4567,#4563,#2332,.T.);
++#8203=EDGE_CURVE('',#4564,#4563,#2346,.T.);
++#8218=EDGE_CURVE('',#4571,#4572,#2351,.T.);
++#8220=EDGE_CURVE('',#4572,#4571,#2356,.T.);
++#8231=EDGE_CURVE('',#4572,#4516,#2364,.T.);
++#8234=EDGE_CURVE('',#4571,#4515,#2360,.T.);
++#8257=EDGE_CURVE('',#4588,#4584,#2372,.T.);
++#8259=EDGE_CURVE('',#4583,#4584,#2377,.T.);
++#8261=EDGE_CURVE('',#4587,#4583,#2368,.T.);
++#8273=EDGE_CURVE('',#4584,#4583,#2382,.T.);
++#8288=EDGE_CURVE('',#4591,#4592,#2387,.T.);
++#8290=EDGE_CURVE('',#4592,#4591,#2392,.T.);
++#8301=EDGE_CURVE('',#4592,#4524,#2400,.T.);
++#8304=EDGE_CURVE('',#4591,#4523,#2396,.T.);
++#8327=EDGE_CURVE('',#4600,#4596,#2408,.T.);
++#8329=EDGE_CURVE('',#4595,#4596,#2413,.T.);
++#8331=EDGE_CURVE('',#4599,#4595,#2404,.T.);
++#8343=EDGE_CURVE('',#4596,#4595,#2418,.T.);
++#8358=EDGE_CURVE('',#4603,#4604,#2423,.T.);
++#8360=EDGE_CURVE('',#4604,#4603,#2428,.T.);
++#8371=EDGE_CURVE('',#4604,#4528,#2436,.T.);
++#8374=EDGE_CURVE('',#4603,#4527,#2432,.T.);
++#8397=EDGE_CURVE('',#4616,#4612,#2444,.T.);
++#8399=EDGE_CURVE('',#4611,#4612,#2449,.T.);
++#8401=EDGE_CURVE('',#4615,#4611,#2440,.T.);
++#8413=EDGE_CURVE('',#4612,#4611,#2454,.T.);
++#8428=EDGE_CURVE('',#4619,#4620,#2459,.T.);
++#8430=EDGE_CURVE('',#4620,#4619,#2464,.T.);
++#8441=EDGE_CURVE('',#4620,#4608,#2472,.T.);
++#8444=EDGE_CURVE('',#4619,#4607,#2468,.T.);
++#8467=EDGE_CURVE('',#4648,#4644,#2480,.T.);
++#8469=EDGE_CURVE('',#4643,#4644,#2485,.T.);
++#8471=EDGE_CURVE('',#4647,#4643,#2476,.T.);
++#8483=EDGE_CURVE('',#4644,#4643,#2490,.T.);
++#8498=EDGE_CURVE('',#4651,#4652,#2495,.T.);
++#8500=EDGE_CURVE('',#4652,#4651,#2500,.T.);
++#8511=EDGE_CURVE('',#4652,#4624,#2508,.T.);
++#8514=EDGE_CURVE('',#4651,#4623,#2504,.T.);
++#8537=EDGE_CURVE('',#4660,#4656,#2516,.T.);
++#8539=EDGE_CURVE('',#4655,#4656,#2521,.T.);
++#8541=EDGE_CURVE('',#4659,#4655,#2512,.T.);
++#8553=EDGE_CURVE('',#4656,#4655,#2526,.T.);
++#8568=EDGE_CURVE('',#4663,#4664,#2531,.T.);
++#8570=EDGE_CURVE('',#4664,#4663,#2536,.T.);
++#8581=EDGE_CURVE('',#4664,#4636,#2544,.T.);
++#8584=EDGE_CURVE('',#4663,#4635,#2540,.T.);
++#8607=EDGE_CURVE('',#4672,#4668,#2552,.T.);
++#8609=EDGE_CURVE('',#4667,#4668,#2557,.T.);
++#8611=EDGE_CURVE('',#4671,#4667,#2548,.T.);
++#8623=EDGE_CURVE('',#4668,#4667,#2562,.T.);
++#8638=EDGE_CURVE('',#4675,#4676,#2567,.T.);
++#8640=EDGE_CURVE('',#4676,#4675,#2572,.T.);
++#8651=EDGE_CURVE('',#4676,#4628,#2580,.T.);
++#8654=EDGE_CURVE('',#4675,#4627,#2576,.T.);
++#8677=EDGE_CURVE('',#4684,#4680,#2588,.T.);
++#8679=EDGE_CURVE('',#4679,#4680,#2593,.T.);
++#8681=EDGE_CURVE('',#4683,#4679,#2584,.T.);
++#8693=EDGE_CURVE('',#4680,#4679,#2598,.T.);
++#8708=EDGE_CURVE('',#4687,#4688,#2603,.T.);
++#8710=EDGE_CURVE('',#4688,#4687,#2608,.T.);
++#8721=EDGE_CURVE('',#4688,#4632,#2616,.T.);
++#8724=EDGE_CURVE('',#4687,#4631,#2612,.T.);
++#8747=EDGE_CURVE('',#4696,#4692,#2624,.T.);
++#8749=EDGE_CURVE('',#4691,#4692,#2629,.T.);
++#8751=EDGE_CURVE('',#4695,#4691,#2620,.T.);
++#8763=EDGE_CURVE('',#4692,#4691,#2634,.T.);
++#8778=EDGE_CURVE('',#4699,#4700,#2639,.T.);
++#8780=EDGE_CURVE('',#4700,#4699,#2644,.T.);
++#8791=EDGE_CURVE('',#4700,#4640,#2652,.T.);
++#8794=EDGE_CURVE('',#4699,#4639,#2648,.T.);
++#8817=EDGE_CURVE('',#4832,#4828,#2660,.T.);
++#8819=EDGE_CURVE('',#4827,#4828,#2665,.T.);
++#8821=EDGE_CURVE('',#4831,#4827,#2656,.T.);
++#8833=EDGE_CURVE('',#4828,#4827,#2670,.T.);
++#8848=EDGE_CURVE('',#4835,#4836,#2675,.T.);
++#8850=EDGE_CURVE('',#4836,#4835,#2680,.T.);
++#8861=EDGE_CURVE('',#4836,#4824,#2688,.T.);
++#8864=EDGE_CURVE('',#4835,#4823,#2684,.T.);
++#8887=EDGE_CURVE('',#4864,#4860,#2696,.T.);
++#8889=EDGE_CURVE('',#4859,#4860,#2701,.T.);
++#8891=EDGE_CURVE('',#4863,#4859,#2692,.T.);
++#8903=EDGE_CURVE('',#4860,#4859,#2706,.T.);
++#8918=EDGE_CURVE('',#4867,#4868,#2711,.T.);
++#8920=EDGE_CURVE('',#4868,#4867,#2716,.T.);
++#8931=EDGE_CURVE('',#4868,#4840,#2724,.T.);
++#8934=EDGE_CURVE('',#4867,#4839,#2720,.T.);
++#8957=EDGE_CURVE('',#4876,#4872,#2732,.T.);
++#8959=EDGE_CURVE('',#4871,#4872,#2737,.T.);
++#8961=EDGE_CURVE('',#4875,#4871,#2728,.T.);
++#8973=EDGE_CURVE('',#4872,#4871,#2742,.T.);
++#8988=EDGE_CURVE('',#4879,#4880,#2747,.T.);
++#8990=EDGE_CURVE('',#4880,#4879,#2752,.T.);
++#9001=EDGE_CURVE('',#4880,#4844,#2760,.T.);
++#9004=EDGE_CURVE('',#4879,#4843,#2756,.T.);
++#9027=EDGE_CURVE('',#4888,#4884,#2768,.T.);
++#9029=EDGE_CURVE('',#4883,#4884,#2773,.T.);
++#9031=EDGE_CURVE('',#4887,#4883,#2764,.T.);
++#9043=EDGE_CURVE('',#4884,#4883,#2778,.T.);
++#9058=EDGE_CURVE('',#4891,#4892,#2783,.T.);
++#9060=EDGE_CURVE('',#4892,#4891,#2788,.T.);
++#9071=EDGE_CURVE('',#4892,#4848,#2796,.T.);
++#9074=EDGE_CURVE('',#4891,#4847,#2792,.T.);
++#9097=EDGE_CURVE('',#4900,#4896,#2804,.T.);
++#9099=EDGE_CURVE('',#4895,#4896,#2809,.T.);
++#9101=EDGE_CURVE('',#4899,#4895,#2800,.T.);
++#9113=EDGE_CURVE('',#4896,#4895,#2814,.T.);
++#9128=EDGE_CURVE('',#4903,#4904,#2819,.T.);
++#9130=EDGE_CURVE('',#4904,#4903,#2824,.T.);
++#9141=EDGE_CURVE('',#4904,#4852,#2832,.T.);
++#9144=EDGE_CURVE('',#4903,#4851,#2828,.T.);
++#9167=EDGE_CURVE('',#4912,#4908,#2840,.T.);
++#9169=EDGE_CURVE('',#4907,#4908,#2845,.T.);
++#9171=EDGE_CURVE('',#4911,#4907,#2836,.T.);
++#9183=EDGE_CURVE('',#4908,#4907,#2850,.T.);
++#9198=EDGE_CURVE('',#4915,#4916,#2855,.T.);
++#9200=EDGE_CURVE('',#4916,#4915,#2860,.T.);
++#9211=EDGE_CURVE('',#4916,#4856,#2868,.T.);
++#9214=EDGE_CURVE('',#4915,#4855,#2864,.T.);
++#9238=EDGE_CURVE('',#4942,#4937,#2872,.T.);
++#9254=EDGE_CURVE('',#4943,#4944,#2882,.T.);
++#9256=EDGE_CURVE('',#4944,#4943,#2892,.T.);
++#9266=EDGE_CURVE('',#4943,#4575,#2900,.T.);
++#9269=EDGE_CURVE('',#4576,#4944,#2896,.T.);
++#9271=EDGE_CURVE('',#4575,#4576,#2905,.T.);
++#9284=EDGE_CURVE('',#4576,#4575,#2910,.T.);
++#9298=EDGE_CURVE('',#4579,#4580,#2915,.T.);
++#9300=EDGE_CURVE('',#4580,#4579,#2920,.T.);
++#9311=EDGE_CURVE('',#4580,#4520,#2928,.T.);
++#9314=EDGE_CURVE('',#4579,#4519,#2924,.T.);
++#9336=EDGE_CURVE('',#5099,#5100,#2932,.T.);
++#9338=EDGE_CURVE('',#5100,#5104,#2937,.T.);
++#9340=EDGE_CURVE('',#5103,#5104,#2941,.T.);
++#9353=EDGE_CURVE('',#5062,#5064,#2959,.T.);
++#9355=EDGE_CURVE('',#5100,#5062,#3044,.T.);
++#9365=EDGE_CURVE('',#5059,#5060,#2950,.T.);
++#9367=EDGE_CURVE('',#5059,#5062,#2955,.T.);
++#9381=EDGE_CURVE('',#5070,#5072,#2977,.T.);
++#9383=EDGE_CURVE('',#5059,#5070,#3048,.T.);
++#9393=EDGE_CURVE('',#5067,#5068,#2968,.T.);
++#9395=EDGE_CURVE('',#5067,#5070,#2973,.T.);
++#9409=EDGE_CURVE('',#5094,#5096,#2995,.T.);
++#9411=EDGE_CURVE('',#5067,#5094,#3052,.T.);
++#9421=EDGE_CURVE('',#5091,#5092,#2986,.T.);
++#9423=EDGE_CURVE('',#5091,#5094,#2991,.T.);
++#9435=EDGE_CURVE('',#5086,#5088,#3013,.T.);
++#9437=EDGE_CURVE('',#5091,#5086,#3056,.T.);
++#9449=EDGE_CURVE('',#5083,#5084,#3004,.T.);
++#9451=EDGE_CURVE('',#5083,#5086,#3009,.T.);
++#9463=EDGE_CURVE('',#5078,#5080,#3031,.T.);
++#9465=EDGE_CURVE('',#5083,#5078,#3060,.T.);
++#9477=EDGE_CURVE('',#5075,#5076,#3022,.T.);
++#9479=EDGE_CURVE('',#5075,#5078,#3027,.T.);
++#9492=EDGE_CURVE('',#5075,#5104,#3040,.T.);
++#9525=EDGE_CURVE('',#4755,#4751,#3064,.T.);
++#9527=EDGE_CURVE('',#4751,#4752,#3073,.T.);
++#9529=EDGE_CURVE('',#4756,#4752,#3068,.T.);
++#9541=EDGE_CURVE('',#4752,#4751,#3078,.T.);
++#9563=EDGE_CURVE('',#4763,#4759,#3082,.T.);
++#9565=EDGE_CURVE('',#4759,#4760,#3091,.T.);
++#9567=EDGE_CURVE('',#4764,#4760,#3086,.T.);
++#9579=EDGE_CURVE('',#4760,#4759,#3096,.T.);
++#9601=EDGE_CURVE('',#4732,#4728,#3104,.T.);
++#9603=EDGE_CURVE('',#4727,#4728,#3109,.T.);
++#9605=EDGE_CURVE('',#4731,#4727,#3100,.T.);
++#9617=EDGE_CURVE('',#4728,#4727,#3114,.T.);
++#9639=EDGE_CURVE('',#4724,#4720,#3122,.T.);
++#9641=EDGE_CURVE('',#4719,#4720,#3127,.T.);
++#9643=EDGE_CURVE('',#4723,#4719,#3118,.T.);
++#9655=EDGE_CURVE('',#4720,#4719,#3132,.T.);
++#9677=EDGE_CURVE('',#4716,#4712,#3140,.T.);
++#9679=EDGE_CURVE('',#4711,#4712,#3145,.T.);
++#9681=EDGE_CURVE('',#4715,#4711,#3136,.T.);
++#9693=EDGE_CURVE('',#4712,#4711,#3150,.T.);
++#9714=EDGE_CURVE('',#4947,#4948,#3154,.T.);
++#9716=EDGE_CURVE('',#4948,#4960,#3238,.T.);
++#9718=EDGE_CURVE('',#4959,#4960,#3217,.T.);
++#9731=EDGE_CURVE('',#4951,#4952,#3163,.T.);
++#9733=EDGE_CURVE('',#4952,#4948,#3168,.T.);
++#9745=EDGE_CURVE('',#4971,#4972,#3172,.T.);
++#9747=EDGE_CURVE('',#4972,#4952,#3226,.T.);
++#9759=EDGE_CURVE('',#4975,#4976,#3181,.T.);
++#9761=EDGE_CURVE('',#4976,#4972,#3186,.T.);
++#9771=EDGE_CURVE('',#4963,#4964,#3190,.T.);
++#9773=EDGE_CURVE('',#4964,#4976,#3230,.T.);
++#9787=EDGE_CURVE('',#4967,#4968,#3199,.T.);
++#9789=EDGE_CURVE('',#4968,#4964,#3204,.T.);
++#9799=EDGE_CURVE('',#4955,#4956,#3208,.T.);
++#9801=EDGE_CURVE('',#4956,#4968,#3234,.T.);
++#9816=EDGE_CURVE('',#4960,#4956,#3222,.T.);
++#9842=EDGE_CURVE('',#5035,#5036,#3242,.T.);
++#9845=EDGE_CURVE('',#5046,#5048,#3321,.T.);
++#9847=EDGE_CURVE('',#5035,#5046,#3264,.T.);
++#9858=EDGE_CURVE('',#5035,#5038,#3247,.T.);
++#9860=EDGE_CURVE('',#5038,#5040,#3251,.T.);
++#9871=EDGE_CURVE('',#5027,#5030,#3281,.T.);
++#9873=EDGE_CURVE('',#5027,#5038,#3260,.T.);
++#9877=EDGE_CURVE('',#5043,#5046,#3317,.T.);
++#9879=EDGE_CURVE('',#5043,#5054,#3268,.T.);
++#9881=EDGE_CURVE('',#5051,#5054,#3299,.T.);
++#9883=EDGE_CURVE('',#5051,#5030,#3272,.T.);
++#9893=EDGE_CURVE('',#5027,#5028,#3276,.T.);
++#9896=EDGE_CURVE('',#5030,#5032,#3285,.T.);
++#9921=EDGE_CURVE('',#5051,#5052,#3294,.T.);
++#9934=EDGE_CURVE('',#5054,#5056,#3303,.T.);
++#9945=EDGE_CURVE('',#5043,#5044,#3312,.T.);
++#9971=EDGE_CURVE('',#5121,#5107,#3330,.T.);
++#9973=EDGE_CURVE('',#5107,#5108,#3346,.T.);
++#9975=EDGE_CURVE('',#5122,#5108,#3342,.T.);
++#9986=EDGE_CURVE('',#5126,#5112,#3334,.T.);
++#9988=EDGE_CURVE('',#5112,#5107,#3351,.T.);
++#10000=EDGE_CURVE('',#5124,#5110,#3338,.T.);
++#10002=EDGE_CURVE('',#5110,#5112,#3355,.T.);
++#10015=EDGE_CURVE('',#5108,#5110,#3360,.T.);
++#10038=EDGE_CURVE('',#5140,#5136,#3397,.T.);
++#10040=EDGE_CURVE('',#5118,#5140,#3365,.T.);
++#10042=EDGE_CURVE('',#5116,#5118,#3370,.T.);
++#10044=EDGE_CURVE('',#5115,#5116,#3375,.T.);
++#10046=EDGE_CURVE('',#5136,#5115,#3379,.T.);
++#10056=EDGE_CURVE('',#5135,#5136,#3383,.T.);
++#10059=EDGE_CURVE('',#5139,#5140,#3392,.T.);
++#10072=EDGE_CURVE('',#5129,#5115,#3401,.T.);
++#10086=EDGE_CURVE('',#5130,#5116,#3405,.T.);
++#10099=EDGE_CURVE('',#5132,#5118,#3409,.T.);
++#10121=EDGE_CURVE('',#5183,#5184,#3413,.T.);
++#10124=EDGE_CURVE('',#5188,#5186,#3422,.T.);
++#10126=EDGE_CURVE('',#5188,#5183,#3427,.T.);
++#10137=EDGE_CURVE('',#5183,#5143,#3444,.T.);
++#10139=EDGE_CURVE('',#5147,#5143,#3486,.T.);
++#10150=EDGE_CURVE('',#5191,#5172,#3431,.T.);
++#10152=EDGE_CURVE('',#5196,#5191,#3478,.T.);
++#10154=EDGE_CURVE('',#5144,#5196,#3435,.T.);
++#10156=EDGE_CURVE('',#5143,#5144,#3440,.T.);
++#10160=EDGE_CURVE('',#5160,#5188,#3448,.T.);
++#10162=EDGE_CURVE('',#5164,#5160,#3558,.T.);
++#10164=EDGE_CURVE('',#5152,#5164,#3452,.T.);
++#10166=EDGE_CURVE('',#5156,#5152,#3540,.T.);
++#10168=EDGE_CURVE('',#5176,#5156,#3456,.T.);
++#10170=EDGE_CURVE('',#5180,#5176,#3522,.T.);
++#10172=EDGE_CURVE('',#5168,#5180,#3460,.T.);
++#10174=EDGE_CURVE('',#5172,#5168,#3504,.T.);
++#10184=EDGE_CURVE('',#5191,#5192,#3464,.T.);
++#10187=EDGE_CURVE('',#5171,#5172,#3499,.T.);
++#10200=EDGE_CURVE('',#5196,#5194,#3473,.T.);
++#10213=EDGE_CURVE('',#5148,#5144,#3482,.T.);
++#10236=EDGE_CURVE('',#5167,#5168,#3490,.T.);
++#10251=EDGE_CURVE('',#5179,#5180,#3517,.T.);
++#10262=EDGE_CURVE('',#5175,#5176,#3508,.T.);
++#10275=EDGE_CURVE('',#5155,#5156,#3535,.T.);
++#10288=EDGE_CURVE('',#5151,#5152,#3526,.T.);
++#10303=EDGE_CURVE('',#5163,#5164,#3553,.T.);
++#10314=EDGE_CURVE('',#5159,#5160,#3544,.T.);
++#10340=EDGE_CURVE('',#5207,#5199,#3562,.T.);
++#10342=EDGE_CURVE('',#5199,#5200,#3578,.T.);
++#10344=EDGE_CURVE('',#5208,#5200,#3574,.T.);
++#10355=EDGE_CURVE('',#5212,#5204,#3566,.T.);
++#10357=EDGE_CURVE('',#5204,#5199,#3583,.T.);
++#10369=EDGE_CURVE('',#5210,#5202,#3570,.T.);
++#10371=EDGE_CURVE('',#5202,#5204,#3587,.T.);
++#10384=EDGE_CURVE('',#5200,#5202,#3592,.T.);
++#10408=EDGE_CURVE('',#5223,#5215,#3596,.T.);
++#10410=EDGE_CURVE('',#5215,#5216,#3612,.T.);
++#10412=EDGE_CURVE('',#5224,#5216,#3608,.T.);
++#10423=EDGE_CURVE('',#5228,#5220,#3600,.T.);
++#10425=EDGE_CURVE('',#5220,#5215,#3617,.T.);
++#10437=EDGE_CURVE('',#5226,#5218,#3604,.T.);
++#10439=EDGE_CURVE('',#5218,#5220,#3621,.T.);
++#10452=EDGE_CURVE('',#5216,#5218,#3626,.T.);
++#10476=EDGE_CURVE('',#5239,#5231,#3630,.T.);
++#10478=EDGE_CURVE('',#5231,#5232,#3646,.T.);
++#10480=EDGE_CURVE('',#5240,#5232,#3642,.T.);
++#10491=EDGE_CURVE('',#5244,#5236,#3634,.T.);
++#10493=EDGE_CURVE('',#5236,#5231,#3651,.T.);
++#10505=EDGE_CURVE('',#5242,#5234,#3638,.T.);
++#10507=EDGE_CURVE('',#5234,#5236,#3655,.T.);
++#10520=EDGE_CURVE('',#5232,#5234,#3660,.T.);
++#10544=EDGE_CURVE('',#5255,#5247,#3664,.T.);
++#10546=EDGE_CURVE('',#5247,#5248,#3680,.T.);
++#10548=EDGE_CURVE('',#5256,#5248,#3676,.T.);
++#10559=EDGE_CURVE('',#5260,#5252,#3668,.T.);
++#10561=EDGE_CURVE('',#5252,#5247,#3685,.T.);
++#10573=EDGE_CURVE('',#5258,#5250,#3672,.T.);
++#10575=EDGE_CURVE('',#5250,#5252,#3689,.T.);
++#10588=EDGE_CURVE('',#5248,#5250,#3694,.T.);
++#10612=EDGE_CURVE('',#5278,#5264,#3702,.T.);
++#10614=EDGE_CURVE('',#5263,#5264,#3714,.T.);
++#10616=EDGE_CURVE('',#5277,#5263,#3698,.T.);
++#10627=EDGE_CURVE('',#5280,#5266,#3706,.T.);
++#10629=EDGE_CURVE('',#5264,#5266,#3719,.T.);
++#10641=EDGE_CURVE('',#5282,#5268,#3710,.T.);
++#10643=EDGE_CURVE('',#5266,#5268,#3723,.T.);
++#10656=EDGE_CURVE('',#5268,#5263,#3728,.T.);
++#10679=EDGE_CURVE('',#5480,#5476,#3765,.T.);
++#10681=EDGE_CURVE('',#5480,#5271,#3732,.T.);
++#10683=EDGE_CURVE('',#5271,#5272,#3737,.T.);
++#10685=EDGE_CURVE('',#5272,#5274,#3742,.T.);
++#10687=EDGE_CURVE('',#5274,#5476,#3747,.T.);
++#10697=EDGE_CURVE('',#5475,#5476,#3751,.T.);
++#10700=EDGE_CURVE('',#5479,#5480,#3760,.T.);
++#10713=EDGE_CURVE('',#5288,#5274,#3769,.T.);
++#10727=EDGE_CURVE('',#5286,#5272,#3773,.T.);
++#10740=EDGE_CURVE('',#5285,#5271,#3777,.T.);
++#10763=EDGE_CURVE('',#5306,#5292,#3785,.T.);
++#10765=EDGE_CURVE('',#5291,#5292,#3797,.T.);
++#10767=EDGE_CURVE('',#5305,#5291,#3781,.T.);
++#10778=EDGE_CURVE('',#5308,#5294,#3789,.T.);
++#10780=EDGE_CURVE('',#5292,#5294,#3802,.T.);
++#10792=EDGE_CURVE('',#5310,#5296,#3793,.T.);
++#10794=EDGE_CURVE('',#5294,#5296,#3806,.T.);
++#10807=EDGE_CURVE('',#5296,#5291,#3811,.T.);
++#10830=EDGE_CURVE('',#5472,#5468,#3848,.T.);
++#10832=EDGE_CURVE('',#5472,#5299,#3815,.T.);
++#10834=EDGE_CURVE('',#5299,#5300,#3820,.T.);
++#10836=EDGE_CURVE('',#5300,#5302,#3825,.T.);
++#10838=EDGE_CURVE('',#5302,#5468,#3830,.T.);
++#10848=EDGE_CURVE('',#5467,#5468,#3834,.T.);
++#10851=EDGE_CURVE('',#5471,#5472,#3843,.T.);
++#10864=EDGE_CURVE('',#5316,#5302,#3852,.T.);
++#10878=EDGE_CURVE('',#5314,#5300,#3856,.T.);
++#10891=EDGE_CURVE('',#5313,#5299,#3860,.T.);
++#10914=EDGE_CURVE('',#5336,#5328,#3868,.T.);
++#10916=EDGE_CURVE('',#5327,#5328,#3880,.T.);
++#10918=EDGE_CURVE('',#5335,#5327,#3864,.T.);
++#10929=EDGE_CURVE('',#5338,#5330,#3872,.T.);
++#10931=EDGE_CURVE('',#5328,#5330,#3885,.T.);
++#10943=EDGE_CURVE('',#5340,#5332,#3876,.T.);
++#10945=EDGE_CURVE('',#5330,#5332,#3889,.T.);
++#10958=EDGE_CURVE('',#5332,#5327,#3894,.T.);
++#10982=EDGE_CURVE('',#5352,#5344,#3902,.T.);
++#10984=EDGE_CURVE('',#5343,#5344,#3914,.T.);
++#10986=EDGE_CURVE('',#5351,#5343,#3898,.T.);
++#10997=EDGE_CURVE('',#5354,#5346,#3906,.T.);
++#10999=EDGE_CURVE('',#5344,#5346,#3919,.T.);
++#11011=EDGE_CURVE('',#5356,#5348,#3910,.T.);
++#11013=EDGE_CURVE('',#5346,#5348,#3923,.T.);
++#11026=EDGE_CURVE('',#5348,#5343,#3928,.T.);
++#11050=EDGE_CURVE('',#5368,#5360,#3936,.T.);
++#11052=EDGE_CURVE('',#5359,#5360,#3948,.T.);
++#11054=EDGE_CURVE('',#5367,#5359,#3932,.T.);
++#11065=EDGE_CURVE('',#5370,#5362,#3940,.T.);
++#11067=EDGE_CURVE('',#5360,#5362,#3953,.T.);
++#11079=EDGE_CURVE('',#5372,#5364,#3944,.T.);
++#11081=EDGE_CURVE('',#5362,#5364,#3957,.T.);
++#11094=EDGE_CURVE('',#5364,#5359,#3962,.T.);
++#11118=EDGE_CURVE('',#5384,#5376,#3970,.T.);
++#11120=EDGE_CURVE('',#5375,#5376,#3982,.T.);
++#11122=EDGE_CURVE('',#5383,#5375,#3966,.T.);
++#11133=EDGE_CURVE('',#5386,#5378,#3974,.T.);
++#11135=EDGE_CURVE('',#5376,#5378,#3987,.T.);
++#11147=EDGE_CURVE('',#5388,#5380,#3978,.T.);
++#11149=EDGE_CURVE('',#5378,#5380,#3991,.T.);
++#11162=EDGE_CURVE('',#5380,#5375,#3996,.T.);
++#11186=EDGE_CURVE('',#5405,#5391,#4000,.T.);
++#11188=EDGE_CURVE('',#5391,#5392,#4016,.T.);
++#11190=EDGE_CURVE('',#5406,#5392,#4012,.T.);
++#11201=EDGE_CURVE('',#5410,#5396,#4004,.T.);
++#11203=EDGE_CURVE('',#5396,#5391,#4021,.T.);
++#11215=EDGE_CURVE('',#5408,#5394,#4008,.T.);
++#11217=EDGE_CURVE('',#5394,#5396,#4025,.T.);
++#11230=EDGE_CURVE('',#5392,#5394,#4030,.T.);
++#11253=EDGE_CURVE('',#5488,#5484,#4067,.T.);
++#11255=EDGE_CURVE('',#5402,#5488,#4035,.T.);
++#11257=EDGE_CURVE('',#5400,#5402,#4040,.T.);
++#11259=EDGE_CURVE('',#5399,#5400,#4045,.T.);
++#11261=EDGE_CURVE('',#5484,#5399,#4049,.T.);
++#11271=EDGE_CURVE('',#5483,#5484,#4053,.T.);
++#11274=EDGE_CURVE('',#5487,#5488,#4062,.T.);
++#11287=EDGE_CURVE('',#5413,#5399,#4071,.T.);
++#11301=EDGE_CURVE('',#5414,#5400,#4075,.T.);
++#11314=EDGE_CURVE('',#5416,#5402,#4079,.T.);
++#11336=EDGE_CURVE('',#5451,#5452,#4083,.T.);
++#11338=EDGE_CURVE('',#5452,#5456,#4088,.T.);
++#11340=EDGE_CURVE('',#5455,#5456,#4092,.T.);
++#11353=EDGE_CURVE('',#5422,#5424,#4110,.T.);
++#11355=EDGE_CURVE('',#5452,#5422,#4216,.T.);
++#11365=EDGE_CURVE('',#5419,#5420,#4101,.T.);
++#11367=EDGE_CURVE('',#5419,#5422,#4106,.T.);
++#11381=EDGE_CURVE('',#5430,#5432,#4128,.T.);
++#11383=EDGE_CURVE('',#5419,#5430,#4220,.T.);
++#11393=EDGE_CURVE('',#5427,#5428,#4119,.T.);
++#11395=EDGE_CURVE('',#5427,#5430,#4124,.T.);
++#11409=EDGE_CURVE('',#5446,#5448,#4146,.T.);
++#11411=EDGE_CURVE('',#5427,#5446,#4224,.T.);
++#11421=EDGE_CURVE('',#5443,#5444,#4137,.T.);
++#11423=EDGE_CURVE('',#5443,#5446,#4142,.T.);
++#11435=EDGE_CURVE('',#5438,#5440,#4164,.T.);
++#11437=EDGE_CURVE('',#5443,#5438,#4228,.T.);
++#11449=EDGE_CURVE('',#5435,#5436,#4155,.T.);
++#11451=EDGE_CURVE('',#5435,#5438,#4160,.T.);
++#11463=EDGE_CURVE('',#5463,#5464,#4182,.T.);
++#11465=EDGE_CURVE('',#5435,#5464,#4199,.T.);
++#11477=EDGE_CURVE('',#5459,#5460,#4173,.T.);
++#11479=EDGE_CURVE('',#5460,#5464,#4178,.T.);
++#11493=EDGE_CURVE('',#5323,#5319,#4191,.T.);
++#11495=EDGE_CURVE('',#5460,#5319,#4203,.T.);
++#11506=EDGE_CURVE('',#5324,#5320,#4195,.T.);
++#11508=EDGE_CURVE('',#5319,#5320,#4208,.T.);
++#11520=EDGE_CURVE('',#5320,#5456,#4212,.T.);
++#11562=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11550),#11561);
++#11569=PRODUCT_DEFINITION('design','',#11568,#11565);
++#11570=PRODUCT_DEFINITION_SHAPE('','SHAPE FOR PROESOURCE.',#11569);
++#11571=SHAPE_DEFINITION_REPRESENTATION(#11570,#11562);
++ENDSEC;
++END-ISO-10303-21;
diff --git a/config/patches/occ/opencv.001_compile.patch b/config/patches/occ/opencv.001_compile.patch
new file mode 100644 (file)
index 0000000..9550f24
--- /dev/null
@@ -0,0 +1,22 @@
+diff -NaurwB opencv-2.4.6.1__0/cmake/OpenCVCompilerOptions.cmake opencv-2.4.6.1__1/cmake/OpenCVCompilerOptions.cmake
+--- opencv-2.4.6.1__0/cmake/OpenCVCompilerOptions.cmake        2013-07-10 15:49:00.000000000 +0400
++++ opencv-2.4.6.1__1/cmake/OpenCVCompilerOptions.cmake        2017-03-15 17:06:11.464387144 +0300
+@@ -1,14 +1,14 @@
+-if(MINGW OR (X86 AND UNIX AND NOT APPLE))
+-  # mingw compiler is known to produce unstable SSE code with -O3 hence we are trying to use -O2 instead
++if(1 OR MINGW OR (X86 AND UNIX AND NOT APPLE))
++  # mingw compiler is known to produce unstable SSE code with -O3 hence we are trying to use -O0 instead
+   if(CMAKE_COMPILER_IS_GNUCXX)
+     foreach(flags CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_DEBUG)
+-      string(REPLACE "-O3" "-O2" ${flags} "${${flags}}")
++      string(REPLACE "-O3" "-O0" ${flags} "${${flags}}")
+     endforeach()
+   endif()
+   if(CMAKE_COMPILER_IS_GNUCC)
+     foreach(flags CMAKE_C_FLAGS CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_DEBUG)
+-      string(REPLACE "-O3" "-O2" ${flags} "${${flags}}")
++      string(REPLACE "-O3" "-O0" ${flags} "${${flags}}")
+     endforeach()
+   endif()
+ endif()
diff --git a/config/patches/occ/opencv.002_gcc6.patch b/config/patches/occ/opencv.002_gcc6.patch
new file mode 100644 (file)
index 0000000..79c8045
--- /dev/null
@@ -0,0 +1,131 @@
+diff -Naur opencv-2.4.6.1_SRC_orig/cmake/OpenCVPCHSupport.cmake opencv-2.4.6.1_SRC_modif/cmake/OpenCVPCHSupport.cmake
+--- opencv-2.4.6.1_SRC_orig/cmake/OpenCVPCHSupport.cmake       2013-07-10 15:49:00.000000000 +0400
++++ opencv-2.4.6.1_SRC_modif/cmake/OpenCVPCHSupport.cmake      2016-10-17 17:34:32.000000000 +0300
+@@ -19,7 +19,7 @@
+         ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
+         OUTPUT_VARIABLE gcc_compiler_version)
+     #MESSAGE("GCC Version: ${gcc_compiler_version}")
+-    IF(gcc_compiler_version VERSION_GREATER "4.2.-1")
++    IF(gcc_compiler_version VERSION_GREATER "4.2.-1" AND gcc_compiler_version VERSION_LESS "6.0.0")
+         SET(PCHSupport_FOUND TRUE)
+     ENDIF()
+diff -Naur opencv-2.4.6.1_SRC_orig/modules/contrib/src/chamfermatching.cpp opencv-2.4.6.1_SRC_modif/modules/contrib/src/chamfermatching.cpp
+--- opencv-2.4.6.1_SRC_orig/modules/contrib/src/chamfermatching.cpp    2013-07-10 15:49:00.000000000 +0400
++++ opencv-2.4.6.1_SRC_modif/modules/contrib/src/chamfermatching.cpp   2016-10-17 18:11:47.000000000 +0300
+@@ -959,10 +959,8 @@
+     for (int y=0;y<h;++y) {
+         for (int x=0;x<w;++x) {
+             // initialize
+-            if (&annotate_img!=NULL) {
+-                annotate_img.at<Vec2i>(y,x)[0]=x;
+-                annotate_img.at<Vec2i>(y,x)[1]=y;
+-            }
++          annotate_img.at<Vec2i>(y,x)[0]=x;
++            annotate_img.at<Vec2i>(y,x)[1]=y;
+             uchar edge_val = edges_img.at<uchar>(y,x);
+             if( (edge_val!=0) ) {
+@@ -1005,11 +1003,9 @@
+             if (dt==-1 || dt>dist) {
+                 dist_img.at<float>(ny,nx) = dist;
+                 q.push(std::make_pair(nx,ny));
+-
+-                if (&annotate_img!=NULL) {
+-                    annotate_img.at<Vec2i>(ny,nx)[0]=annotate_img.at<Vec2i>(y,x)[0];
+-                    annotate_img.at<Vec2i>(ny,nx)[1]=annotate_img.at<Vec2i>(y,x)[1];
+-                }
++              
++              annotate_img.at<Vec2i>(ny,nx)[0]=annotate_img.at<Vec2i>(y,x)[0];
++              annotate_img.at<Vec2i>(ny,nx)[1]=annotate_img.at<Vec2i>(y,x)[1];
+             }
+         }
+     }
+@@ -1101,26 +1097,24 @@
+     float cost = (sum_distance/truncate_)/addr.size();
+-    if (&orientation_img!=NULL) {
+-        float* optr = orientation_img.ptr<float>(y)+x;
+-        float sum_orientation = 0;
+-        int cnt_orientation = 0;
+-
+-        for (size_t i=0;i<addr.size();++i) {
+-
+-            if(addr[i] < (orientation_img.cols*orientation_img.rows) - (offset.y*orientation_img.cols + offset.x)){
+-                                if (tpl->orientations[i]>=-CV_PI && (*(optr+addr[i]))>=-CV_PI) {
+-                    sum_orientation += orientation_diff(tpl->orientations[i], (*(optr+addr[i])));
+-                    cnt_orientation++;
+-                }
+-            }
+-        }
+-        if (cnt_orientation>0) {
+-                        cost = (float)(beta*cost+alpha*(sum_orientation/(2*CV_PI))/cnt_orientation);
+-        }
+-
+-    }
++    float* optr = orientation_img.ptr<float>(y)+x;
++    float sum_orientation = 0;
++    int cnt_orientation = 0;
++    
++    for (size_t i=0;i<addr.size();++i) {
++      
++      if(addr[i] < (orientation_img.cols*orientation_img.rows) - (offset.y*orientation_img.cols + offset.x)){
++      if (tpl->orientations[i]>=-CV_PI && (*(optr+addr[i]))>=-CV_PI) {
++        sum_orientation += orientation_diff(tpl->orientations[i], (*(optr+addr[i])));
++        cnt_orientation++;
++      }
++      }
++    }
++    
++    if (cnt_orientation>0) {
++      cost = (float)(beta*cost+alpha*(sum_orientation/(2*CV_PI))/cnt_orientation);
++    }    
+     if(cost > 0){
+         ChamferMatcher::Match* istance = new ChamferMatcher::Match();
+diff -Naur opencv-2.4.6.1_SRC_orig/modules/legacy/src/dpstereo.cpp opencv-2.4.6.1_SRC_modif/modules/legacy/src/dpstereo.cpp
+--- opencv-2.4.6.1_SRC_orig/modules/legacy/src/dpstereo.cpp    2013-07-10 15:49:00.000000000 +0400
++++ opencv-2.4.6.1_SRC_modif/modules/legacy/src/dpstereo.cpp   2016-10-18 10:22:03.257968598 +0300
+@@ -76,8 +76,8 @@
+     uchar min_val, max_val;
+ } _CvRightImData;
+-#define CV_IMAX3(a,b,c) ((temp3 = (a) >= (b) ? (a) : (b)),(temp3 >= (c) ? temp3 : (c)))
+-#define CV_IMIN3(a,b,c) ((temp3 = (a) <= (b) ? (a) : (b)),(temp3 <= (c) ? temp3 : (c)))
++#define CV_IMAX3(a,b,c) (std::max(std::max((a), (b)), (c)))
++#define CV_IMIN3(a,b,c) (std::min(std::min((a), (b)), (c)))
+ static void icvFindStereoCorrespondenceByBirchfieldDP( uchar* src1, uchar* src2,
+                                                 uchar* disparities,
+@@ -87,7 +87,7 @@
+                                                 float  _param3, float _param4,
+                                                 float  _param5 )
+ {
+-    int     x, y, i, j, temp3;
++    int     x, y, i, j;
+     int     d, s;
+     int     dispH =  maxDisparity + 3;
+     uchar  *dispdata;
+diff -Naur opencv-2.4.6.1_SRC_orig/modules/ts/include/opencv2/ts/ts_perf.hpp opencv-2.4.6.1_SRC_modif/modules/ts/include/opencv2/ts/ts_perf.hpp
+--- opencv-2.4.6.1_SRC_orig/modules/ts/include/opencv2/ts/ts_perf.hpp  2013-07-10 15:49:00.000000000 +0400
++++ opencv-2.4.6.1_SRC_modif/modules/ts/include/opencv2/ts/ts_perf.hpp 2016-10-17 17:52:29.000000000 +0300
+@@ -475,9 +475,16 @@
+     INSTANTIATE_TEST_CASE_P(/*none*/, fixture##_##name, params);\
+     void fixture##_##name::PerfTestBody()
++   #if defined(_MSC_VER) && (_MSC_VER <= 1400)
++    #define CV_PERF_TEST_MAIN_INTERNALS_ARGS(...)     \
++      while (++argc >= (--argc,-1)) {__VA_ARGS__; break;} /*this ugly construction is needed for VS 2005*/
++    #else
++    #define CV_PERF_TEST_MAIN_INTERNALS_ARGS(...) \
++      __VA_ARGS__;
++    #endif
+ #define CV_PERF_TEST_MAIN_INTERNALS(modulename, impls, ...) \
+-    while (++argc >= (--argc,-1)) {__VA_ARGS__; break;} /*this ugly construction is needed for VS 2005*/\
++    CV_PERF_TEST_MAIN_INTERNALS_ARGS(__VA_ARGS__) \
+     ::perf::Regression::Init(#modulename);\
+     ::perf::TestBase::Init(std::vector<std::string>(impls, impls + sizeof impls / sizeof *impls),\
+                            argc, argv);\
diff --git a/config/patches/occ/planegcs.001_for_shaper.patch b/config/patches/occ/planegcs.001_for_shaper.patch
new file mode 100644 (file)
index 0000000..28c2a5e
--- /dev/null
@@ -0,0 +1,647 @@
+From 853a0a438422d61cf1b9756d6949e04e5270d495 Mon Sep 17 00:00:00 2001
+From: azv <azv@opencascade.com>
+Date: Thu, 2 Aug 2018 11:32:16 +0300
+Subject: [PATCH] Update PlaneGCS solver for SHAPER needs
+
+* Add possibility to compile PlaneGCS as a shared library
+* Possibility to avoid memory clearance inside the solver (make possible external memory management)
+---
+ src/Mod/Sketcher/App/planegcs/Constraints.h | 48 ++++++++---------
+ src/Mod/Sketcher/App/planegcs/GCS.cpp       | 81 +++++++++++++++++++++++------
+ src/Mod/Sketcher/App/planegcs/GCS.h         |  8 +--
+ src/Mod/Sketcher/App/planegcs/Geo.h         | 34 ++++++------
+ src/Mod/Sketcher/App/planegcs/Util.h        | 10 ++++
+ 5 files changed, 123 insertions(+), 58 deletions(-)
+
+diff --git a/src/Mod/Sketcher/App/planegcs/Constraints.h b/src/Mod/Sketcher/App/planegcs/Constraints.h
+index 559f3a2..76e4763 100644
+--- a/src/Mod/Sketcher/App/planegcs/Constraints.h
++++ b/src/Mod/Sketcher/App/planegcs/Constraints.h
+@@ -91,7 +91,7 @@ namespace GCS
+         HyperbolaNegativeMinorY = 17
+     };
+-    class Constraint
++    class PLANEGCS_EXPORT Constraint
+     {
+     _PROTECTED_UNLESS_EXTRACT_MODE_:
+         VEC_pD origpvec; // is used only as a reference for redirecting and reverting pvec
+@@ -128,7 +128,7 @@ namespace GCS
+     };
+     // Equal
+-    class ConstraintEqual : public Constraint
++    class PLANEGCS_EXPORT ConstraintEqual : public Constraint
+     {
+     private:
+         inline double* param1() { return pvec[0]; }
+@@ -142,7 +142,7 @@ namespace GCS
+     };
+     // Difference
+-    class ConstraintDifference : public Constraint
++    class PLANEGCS_EXPORT ConstraintDifference : public Constraint
+     {
+     private:
+         inline double* param1() { return pvec[0]; }
+@@ -157,7 +157,7 @@ namespace GCS
+     };
+     // P2PDistance
+-    class ConstraintP2PDistance : public Constraint
++    class PLANEGCS_EXPORT ConstraintP2PDistance : public Constraint
+     {
+     private:
+         inline double* p1x() { return pvec[0]; }
+@@ -178,7 +178,7 @@ namespace GCS
+     };
+     // P2PAngle
+-    class ConstraintP2PAngle : public Constraint
++    class PLANEGCS_EXPORT ConstraintP2PAngle : public Constraint
+     {
+     private:
+         inline double* p1x() { return pvec[0]; }
+@@ -200,7 +200,7 @@ namespace GCS
+     };
+     // P2LDistance
+-    class ConstraintP2LDistance : public Constraint
++    class PLANEGCS_EXPORT ConstraintP2LDistance : public Constraint
+     {
+     private:
+         inline double* p0x() { return pvec[0]; }
+@@ -224,7 +224,7 @@ namespace GCS
+     };
+     // PointOnLine
+-    class ConstraintPointOnLine : public Constraint
++    class PLANEGCS_EXPORT ConstraintPointOnLine : public Constraint
+     {
+     private:
+         inline double* p0x() { return pvec[0]; }
+@@ -246,7 +246,7 @@ namespace GCS
+     };
+     // PointOnPerpBisector
+-    class ConstraintPointOnPerpBisector : public Constraint
++    class PLANEGCS_EXPORT ConstraintPointOnPerpBisector : public Constraint
+     {
+     private:
+         inline double* p0x() { return pvec[0]; }
+@@ -268,7 +268,7 @@ namespace GCS
+     };
+     // Parallel
+-    class ConstraintParallel : public Constraint
++    class PLANEGCS_EXPORT ConstraintParallel : public Constraint
+     {
+     private:
+         inline double* l1p1x() { return pvec[0]; }
+@@ -291,7 +291,7 @@ namespace GCS
+     };
+     // Perpendicular
+-    class ConstraintPerpendicular : public Constraint
++    class PLANEGCS_EXPORT ConstraintPerpendicular : public Constraint
+     {
+     private:
+         inline double* l1p1x() { return pvec[0]; }
+@@ -315,7 +315,7 @@ namespace GCS
+     };
+     // L2LAngle
+-    class ConstraintL2LAngle : public Constraint
++    class PLANEGCS_EXPORT ConstraintL2LAngle : public Constraint
+     {
+     private:
+         inline double* l1p1x() { return pvec[0]; }
+@@ -342,7 +342,7 @@ namespace GCS
+     };
+     // MidpointOnLine
+-    class ConstraintMidpointOnLine : public Constraint
++    class PLANEGCS_EXPORT ConstraintMidpointOnLine : public Constraint
+     {
+     private:
+         inline double* l1p1x() { return pvec[0]; }
+@@ -366,7 +366,7 @@ namespace GCS
+     };
+     // TangentCircumf
+-    class ConstraintTangentCircumf : public Constraint
++    class PLANEGCS_EXPORT ConstraintTangentCircumf : public Constraint
+     {
+     private:
+         inline double* c1x() { return pvec[0]; }
+@@ -389,7 +389,7 @@ namespace GCS
+         virtual double grad(double *);
+     };
+     // PointOnEllipse
+-    class ConstraintPointOnEllipse : public Constraint
++    class PLANEGCS_EXPORT ConstraintPointOnEllipse : public Constraint
+     {
+     private:
+         inline double* p1x() { return pvec[0]; }
+@@ -411,7 +411,7 @@ namespace GCS
+         virtual double grad(double *);
+     };
+     
+-    class ConstraintEllipseTangentLine : public Constraint
++    class PLANEGCS_EXPORT ConstraintEllipseTangentLine : public Constraint
+     {
+     private:
+         Line l;
+@@ -426,7 +426,7 @@ namespace GCS
+         virtual double grad(double *);
+     };
+         
+-    class ConstraintInternalAlignmentPoint2Ellipse : public Constraint
++    class PLANEGCS_EXPORT ConstraintInternalAlignmentPoint2Ellipse : public Constraint
+     {
+     public:
+         ConstraintInternalAlignmentPoint2Ellipse(Ellipse &e, Point &p1, InternalAlignmentType alignmentType);
+@@ -442,7 +442,7 @@ namespace GCS
+         InternalAlignmentType AlignmentType;
+     };
+-    class ConstraintInternalAlignmentPoint2Hyperbola : public Constraint
++    class PLANEGCS_EXPORT ConstraintInternalAlignmentPoint2Hyperbola : public Constraint
+     {
+     public:
+         ConstraintInternalAlignmentPoint2Hyperbola(Hyperbola &e, Point &p1, InternalAlignmentType alignmentType);
+@@ -458,7 +458,7 @@ namespace GCS
+         InternalAlignmentType AlignmentType;
+     };
+-    class ConstraintEqualMajorAxesConic : public Constraint
++    class PLANEGCS_EXPORT ConstraintEqualMajorAxesConic : public Constraint
+     {
+     private:
+         MajorRadiusConic * e1;
+@@ -473,7 +473,7 @@ namespace GCS
+         virtual double grad(double *);
+     };
+-    class ConstraintEqualFocalDistance : public Constraint
++    class PLANEGCS_EXPORT ConstraintEqualFocalDistance : public Constraint
+     {
+     private:
+         ArcOfParabola * e1;
+@@ -488,7 +488,7 @@ namespace GCS
+         virtual double grad(double *);
+     };
+-    class ConstraintCurveValue : public Constraint
++    class PLANEGCS_EXPORT ConstraintCurveValue : public Constraint
+     {
+     private:
+         inline double* pcoord() { return pvec[2]; } //defines, which coordinate of point is being constrained by this constraint
+@@ -515,7 +515,7 @@ namespace GCS
+     };
+     
+     // PointOnHyperbola
+-    class ConstraintPointOnHyperbola : public Constraint
++    class PLANEGCS_EXPORT ConstraintPointOnHyperbola : public Constraint
+     {
+     private:
+         inline double* p1x() { return pvec[0]; }
+@@ -538,7 +538,7 @@ namespace GCS
+     };
+     // PointOnParabola
+-    class ConstraintPointOnParabola : public Constraint
++    class PLANEGCS_EXPORT ConstraintPointOnParabola : public Constraint
+     {
+     private:
+         void errorgrad(double* err, double* grad, double *param); //error and gradient combined. Values are returned through pointers.
+@@ -558,7 +558,7 @@ namespace GCS
+         virtual double grad(double *);
+     };
+     
+-    class ConstraintAngleViaPoint : public Constraint
++    class PLANEGCS_EXPORT ConstraintAngleViaPoint : public Constraint
+     {
+     private:
+         inline double* angle() { return pvec[0]; };
+@@ -583,7 +583,7 @@ namespace GCS
+         virtual double grad(double *);
+     };
+-    class ConstraintSnell : public Constraint //snell's law angles constrainer. Point needs to lie on all three curves to be constraied.
++    class PLANEGCS_EXPORT ConstraintSnell : public Constraint //snell's law angles constrainer. Point needs to lie on all three curves to be constraied.
+     {
+     private:
+         inline double* n1() { return pvec[0]; };
+diff --git a/src/Mod/Sketcher/App/planegcs/GCS.cpp b/src/Mod/Sketcher/App/planegcs/GCS.cpp
+index 474024a..9103653 100644
+--- a/src/Mod/Sketcher/App/planegcs/GCS.cpp
++++ b/src/Mod/Sketcher/App/planegcs/GCS.cpp
+@@ -101,11 +101,56 @@
+ #endif
+ #include <FCConfig.h>
++#ifndef _GCS_USE_STL_OUTPUT
+ #include <Base/Console.h>
++#endif
+ #include <boost/graph/adjacency_list.hpp>
+ #include <boost/graph/connected_components.hpp>
++namespace GCS
++{
++  void Log(const char* message)
++  {
++#ifdef _GCS_USE_STL_OUTPUT
++    std::cout << message << std::endl;
++#else
++    Base::Console().Log(message);
++#endif
++  }
++
++  void Log(const char* format, const char* param)
++  {
++#ifdef _GCS_USE_STL_OUTPUT
++    static char message[4096];
++    sprintf(message, format, param);
++    std::cout << message << std::endl;
++#else
++    Base::Console().Log(format, param);
++#endif
++  }
++
++  void Log(const char* format, const size_t param)
++  {
++#ifdef _GCS_USE_STL_OUTPUT
++    static char message[4096];
++    sprintf(message, format, param);
++    std::cout << message << std::endl;
++#else
++    Base::Console().Log(format, param);
++#endif
++}
++
++  void Warning(const char* message)
++  {
++#ifdef _GCS_USE_STL_OUTPUT
++    std::cout << "Warning: " << message << std::endl;
++#else
++    Base::Console().Warning(message);
++#endif
++  }
++}
++
+ typedef Eigen::FullPivHouseholderQR<Eigen::MatrixXd>::IntDiagSizeVectorType MatrixIndexType;
+ #ifdef _GCS_DEBUG
+@@ -130,7 +175,7 @@ void LogMatrix(std::string str, Eigen::MatrixXd matrix )
+ #else
+     const std::string tmp = stream.str();
+-    Base::Console().Log(tmp.c_str());
++    GCS::Log(tmp.c_str());
+ #endif
+ }
+@@ -155,7 +200,7 @@ void LogMatrix(std::string str, MatrixIndexType matrix )
+     #else
+     const std::string tmp = stream.str();
+-    Base::Console().Log(tmp.c_str());
++    GCS::Log(tmp.c_str());
+     #endif
+ }
+ #endif
+@@ -178,7 +223,7 @@ void LogString(std::string str)
+     #else
+     const std::string tmp = stream.str();
+-    Base::Console().Log(tmp.c_str());
++    GCS::Log(tmp.c_str());
+     #endif
+ }
+@@ -429,7 +474,11 @@ void System::clear()
+     reference.clear();
+     clearSubSystems();
++#ifdef _GCS_DO_NOT_FREE_CONSTRAINTS_MEMORY
++    clist.clear();
++#else
+     free(clist);
++#endif
+     c2p.clear();
+     p2c.clear();
+ }
+@@ -486,9 +535,11 @@ void System::removeConstraint(Constraint *constr)
+     }
+     c2p.erase(constr);
++#ifndef _GCS_DO_NOT_FREE_CONSTRAINTS_MEMORY
+     std::vector<Constraint *> constrvec;
+     constrvec.push_back(constr);
+     free(constrvec);
++#endif
+ }
+ // basic constraints
+@@ -1477,7 +1528,7 @@ int System::solve_BFGS(SubSystem *subsys, bool /*isFine*/, bool isRedundantsolvi
+                 << ", maxIter: "            << maxIterNumber  << "\n";
+         const std::string tmp = stream.str();
+-        Base::Console().Log(tmp.c_str());
++        GCS::Log(tmp.c_str());
+     }
+     double divergingLim = 1e6*err + 1e12;
+@@ -1493,7 +1544,7 @@ int System::solve_BFGS(SubSystem *subsys, bool /*isFine*/, bool isRedundantsolvi
+                         << ", h_norm: "           << h_norm  << "\n";
+                 const std::string tmp = stream.str();
+-                Base::Console().Log(tmp.c_str());
++                GCS::Log(tmp.c_str());
+             }
+             break;
+         }
+@@ -1505,7 +1556,7 @@ int System::solve_BFGS(SubSystem *subsys, bool /*isFine*/, bool isRedundantsolvi
+                         << ", divergingLim: "            << divergingLim  << "\n";
+                 const std::string tmp = stream.str();
+-                Base::Console().Log(tmp.c_str());
++                GCS::Log(tmp.c_str());
+             }
+             break;
+         }
+@@ -1542,7 +1593,7 @@ int System::solve_BFGS(SubSystem *subsys, bool /*isFine*/, bool isRedundantsolvi
+                     << ", h_norm: "                 << h_norm << "\n";
+             const std::string tmp = stream.str();
+-            Base::Console().Log(tmp.c_str());
++            GCS::Log(tmp.c_str());
+         }
+     }
+@@ -1598,7 +1649,7 @@ int System::solve_LM(SubSystem* subsys, bool isRedundantsolving)
+                 << ", maxIter: "        << maxIterNumber  << "\n";
+         const std::string tmp = stream.str();
+-        Base::Console().Log(tmp.c_str());
++        GCS::Log(tmp.c_str());
+     }
+     double nu=2, mu=0;
+@@ -1712,7 +1763,7 @@ int System::solve_LM(SubSystem* subsys, bool isRedundantsolving)
+                     << ", h_norm: "                 << h_norm << "\n";
+             const std::string tmp = stream.str();
+-            Base::Console().Log(tmp.c_str());
++            GCS::Log(tmp.c_str());
+         }
+     }
+@@ -1757,7 +1808,7 @@ int System::solve_DL(SubSystem* subsys, bool isRedundantsolving)
+                 << ", maxIter: "        << maxIterNumber  << "\n";
+         const std::string tmp = stream.str();
+-        Base::Console().Log(tmp.c_str());
++        GCS::Log(tmp.c_str());
+     }
+     Eigen::VectorXd x(xsize), x_new(xsize);
+@@ -1912,7 +1963,7 @@ int System::solve_DL(SubSystem* subsys, bool isRedundantsolving)
+                     << ", err(divergingLim): "  << err  << "\n";
+             const std::string tmp = stream.str();
+-            Base::Console().Log(tmp.c_str());
++            GCS::Log(tmp.c_str());
+         }
+         // count this iteration and start again
+@@ -1926,7 +1977,7 @@ int System::solve_DL(SubSystem* subsys, bool isRedundantsolving)
+         stream  << "DL: stopcode: "     << stop << ((stop == 1) ? ", Success" : ", Failed") << "\n";
+         const std::string tmp = stream.str();
+-        Base::Console().Log(tmp.c_str());
++        GCS::Log(tmp.c_str());
+     }
+     return (stop == 1) ? Success : Failed;
+@@ -3721,7 +3772,7 @@ int System::diagnose(Algorithm alg)
+     Eigen::SparseQR<Eigen::SparseMatrix<double>, Eigen::COLAMDOrdering<int> > SqrJT;
+ #else
+     if(qrAlgorithm==EigenSparseQR){
+-        Base::Console().Warning("SparseQR not supported by you current version of Eigen. It requires Eigen 3.2.2 or higher. Falling back to Dense QR\n");
++        GCS::Warning("SparseQR not supported by you current version of Eigen. It requires Eigen 3.2.2 or higher. Falling back to Dense QR\n");
+         qrAlgorithm=EigenDenseQR;
+     }
+ #endif
+@@ -4074,7 +4125,7 @@ int System::diagnose(Algorithm alg)
+                         break;
+                 }
+-                Base::Console().Log("Sketcher::RedundantSolving-%s-\n",solvername.c_str());
++                GCS::Log("Sketcher::RedundantSolving-%s-\n",solvername.c_str());
+             }
+             if (res == Success) {
+@@ -4088,7 +4139,7 @@ int System::diagnose(Algorithm alg)
+                 resetToReference();
+                 if(debugMode==Minimal || debugMode==IterationLevel) {
+-                    Base::Console().Log("Sketcher Redundant solving: %d redundants\n",redundant.size());
++                    GCS::Log("Sketcher Redundant solving: %d redundants\n",redundant.size());
+                 }
+                 std::vector< std::vector<Constraint *> > conflictGroupsOrig=conflictGroups;
+diff --git a/src/Mod/Sketcher/App/planegcs/GCS.h b/src/Mod/Sketcher/App/planegcs/GCS.h
+index 17d57c8..ecc5b04 100644
+--- a/src/Mod/Sketcher/App/planegcs/GCS.h
++++ b/src/Mod/Sketcher/App/planegcs/GCS.h
+@@ -69,7 +69,7 @@ namespace GCS
+         IterationLevel = 2
+     };
+-    class System
++    class PLANEGCS_EXPORT System
+     {
+     // This is the main class. It holds all constraints and information
+     // about partitioning into subsystems and solution strategies
+@@ -283,9 +283,9 @@ namespace GCS
+     // Helper elements
+     ///////////////////////////////////////
+-    void free(VEC_pD &doublevec);
+-    void free(std::vector<Constraint *> &constrvec);
+-    void free(std::vector<SubSystem *> &subsysvec);
++    PLANEGCS_EXPORT void free(VEC_pD &doublevec);
++    PLANEGCS_EXPORT void free(std::vector<Constraint *> &constrvec);
++    PLANEGCS_EXPORT void free(std::vector<SubSystem *> &subsysvec);
+ } //namespace GCS
+diff --git a/src/Mod/Sketcher/App/planegcs/Geo.h b/src/Mod/Sketcher/App/planegcs/Geo.h
+index 1cdb983..6246f3b 100644
+--- a/src/Mod/Sketcher/App/planegcs/Geo.h
++++ b/src/Mod/Sketcher/App/planegcs/Geo.h
+@@ -26,16 +26,20 @@
+ #include <cmath>
+ #include "Util.h"
++#ifdef _MSC_VER
++#pragma warning(disable : 4251)
++#endif
++
+ namespace GCS
+ {
+-    class DependentParameters 
++    class PLANEGCS_EXPORT DependentParameters
+     {
+     public:
+         DependentParameters():hasDependentParameters(false) {}
+         bool hasDependentParameters;
+     };
+     
+-    class Point : public DependentParameters
++    class PLANEGCS_EXPORT Point : public DependentParameters
+     {
+     public:
+         Point(){x = 0; y = 0;}
+@@ -55,7 +59,7 @@ namespace GCS
+     ///manually as well. The class also provides a bunch of methods to do math
+     ///on it (and derivatives are calculated implicitly).
+     ///
+-    class DeriVector2
++    class PLANEGCS_EXPORT DeriVector2
+     {
+     public:
+         DeriVector2(){x=0; y=0; dx=0; dy=0;}
+@@ -95,7 +99,7 @@ namespace GCS
+     // Geometries
+     ///////////////////////////////////////
+-    class Curve: public DependentParameters //a base class for all curve-based objects (line, circle/arc, ellipse/arc)
++    class PLANEGCS_EXPORT Curve: public DependentParameters //a base class for all curve-based objects (line, circle/arc, ellipse/arc)
+     {
+     public:
+         virtual ~Curve(){}
+@@ -125,7 +129,7 @@ namespace GCS
+         virtual Curve* Copy() = 0; //DeepSOIC: I haven't found a way to simply copy a curve object provided pointer to a curve object.
+     };
+-    class Line: public Curve
++    class PLANEGCS_EXPORT Line: public Curve
+     {
+     public:
+         Line(){}
+@@ -139,7 +143,7 @@ namespace GCS
+         virtual Line* Copy();
+     };
+-    class Circle: public Curve
++    class PLANEGCS_EXPORT Circle: public Curve
+     {
+     public:
+         Circle(){rad = 0;}
+@@ -153,7 +157,7 @@ namespace GCS
+         virtual Circle* Copy();
+     };
+-    class Arc: public Circle
++    class PLANEGCS_EXPORT Arc: public Circle
+     {
+     public:
+         Arc(){startAngle=0;endAngle=0;rad=0;}
+@@ -169,7 +173,7 @@ namespace GCS
+         virtual Arc* Copy();
+     };
+     
+-    class MajorRadiusConic: public Curve
++    class PLANEGCS_EXPORT MajorRadiusConic: public Curve
+     {
+     public:
+         virtual ~MajorRadiusConic(){}
+@@ -179,7 +183,7 @@ namespace GCS
+         DeriVector2 CalculateNormal(Point &p, double* derivparam = 0) = 0;
+     };
+     
+-    class Ellipse: public MajorRadiusConic
++    class PLANEGCS_EXPORT Ellipse: public MajorRadiusConic
+     {
+     public:
+         Ellipse(){ radmin = 0;}
+@@ -197,7 +201,7 @@ namespace GCS
+         virtual Ellipse* Copy();
+     };
+     
+-    class ArcOfEllipse: public Ellipse
++    class PLANEGCS_EXPORT ArcOfEllipse: public Ellipse
+     {
+     public:
+         ArcOfEllipse(){startAngle=0;endAngle=0;radmin = 0;}
+@@ -215,7 +219,7 @@ namespace GCS
+         virtual ArcOfEllipse* Copy();
+     };
+     
+-    class Hyperbola: public MajorRadiusConic
++    class PLANEGCS_EXPORT Hyperbola: public MajorRadiusConic
+     {
+     public:
+         Hyperbola(){ radmin = 0;}
+@@ -233,7 +237,7 @@ namespace GCS
+         virtual Hyperbola* Copy();
+     };    
+-    class ArcOfHyperbola: public Hyperbola
++    class PLANEGCS_EXPORT ArcOfHyperbola: public Hyperbola
+     {
+     public:
+         ArcOfHyperbola(){startAngle=0;endAngle=0;radmin = 0;}
+@@ -249,7 +253,7 @@ namespace GCS
+         virtual ArcOfHyperbola* Copy();
+     };
+     
+-    class Parabola: public Curve
++    class PLANEGCS_EXPORT Parabola: public Curve
+     {
+     public:
+         Parabola(){ }
+@@ -263,7 +267,7 @@ namespace GCS
+         virtual Parabola* Copy();
+     };    
+-    class ArcOfParabola: public Parabola
++    class PLANEGCS_EXPORT ArcOfParabola: public Parabola
+     {
+     public:
+         ArcOfParabola(){startAngle=0;endAngle=0;}
+@@ -279,7 +283,7 @@ namespace GCS
+         virtual ArcOfParabola* Copy();
+     };
+-    class BSpline: public Curve
++    class PLANEGCS_EXPORT BSpline: public Curve
+     {
+     public:
+         BSpline(){periodic=false;degree=2;}
+diff --git a/src/Mod/Sketcher/App/planegcs/Util.h b/src/Mod/Sketcher/App/planegcs/Util.h
+index 8a759ba..7baafaa 100644
+--- a/src/Mod/Sketcher/App/planegcs/Util.h
++++ b/src/Mod/Sketcher/App/planegcs/Util.h
+@@ -44,4 +44,14 @@ namespace GCS
+ } //namespace GCS
++#if defined WIN32
++#  if defined PLANEGCS_EXPORTS
++#    define PLANEGCS_EXPORT __declspec(dllexport)
++#  else
++#    define PLANEGCS_EXPORT __declspec(dllimport)
++#  endif
++#else
++#  define PLANEGCS_EXPORT
++#endif
++
+ #endif // PLANEGCS_UTIL_H
+-- 
+2.9.0.windows.1
+
diff --git a/config/patches/occ/qt.001_proxy_factory.patch b/config/patches/occ/qt.001_proxy_factory.patch
new file mode 100644 (file)
index 0000000..b39fa98
--- /dev/null
@@ -0,0 +1,12 @@
+diff -NaurwB /tmp/qt/qt-5.6.1__0/qtbase/src/network/kernel/qnetworkproxy_libproxy.cpp /tmp/qt/qt-5.6.1__1/qtbase/src/network/kernel/qnetworkproxy_libproxy.cpp
+--- qt-5.6.1__0/qtbase/src/network/kernel/qnetworkproxy_libproxy.cpp   2016-05-25 18:46:17.000000000 +0300
++++ qt-5.6.1__1/qtbase/src/network/kernel/qnetworkproxy_libproxy.cpp   2017-03-15 17:51:11.051090499 +0300
+@@ -74,7 +74,7 @@
+     QList<QUrl> ret;
+     if (factory) {
+-        char **proxies = px_proxy_factory_get_proxies(factory, url.toEncoded());
++        char **proxies = px_proxy_factory_get_proxies(factory, url.toEncoded().data());
+         if (proxies) {
+             for (int i = 0; proxies[i]; i++) {
+                 ret.append(QUrl::fromEncoded(proxies[i]));
diff --git a/config/patches/occ/qt.002_disable_qtgamepad.patch b/config/patches/occ/qt.002_disable_qtgamepad.patch
new file mode 100644 (file)
index 0000000..a36711f
--- /dev/null
@@ -0,0 +1,7 @@
+diff -Naur qt-5.9.1_SRC_orig/qtgamepad/src/plugins/plugins.pro qt-5.9.1_SRC_modif/qtgamepad/src/plugins/plugins.pro
+--- qt-5.9.1_SRC_orig/qtgamepad/src/plugins/plugins.pro        2017-06-23 09:35:28.000000000 +0300
++++ qt-5.9.1_SRC_modif/qtgamepad/src/plugins/plugins.pro       2018-10-31 15:53:41.396430110 +0300
+@@ -1,2 +1,2 @@
+ TEMPLATE = subdirs
+-SUBDIRS += gamepads
++#SUBDIRS += gamepads
diff --git a/config/patches/occ/scotch.001.create_makefile.patch b/config/patches/occ/scotch.001.create_makefile.patch
new file mode 100644 (file)
index 0000000..f9383cc
--- /dev/null
@@ -0,0 +1,25 @@
+diff -Naur scotch-6.0.4_SRC_orig/src/Makefile.inc scotch-6.0.4_SRC_modif/src/Makefile.inc
+--- scotch-6.0.4_SRC_orig/src/Makefile.inc     1970-01-01 03:00:00.000000000 +0300
++++ scotch-6.0.4_SRC_modif/src/Makefile.inc    2018-10-31 16:29:41.986238044 +0300
+@@ -0,0 +1,21 @@
++EXE           =
++LIB           = .a
++OBJ           = .o
++
++MAKE          = make
++AR            = ar
++ARFLAGS               = -ruv
++CAT           = cat
++CCS           = gcc
++CCP           = mpicc
++CCD           = gcc
++CFLAGS                = -fPIC -pg -O3 -Drestrict=__restrict -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_PTHREAD -DSCOTCH_RENAME
++CLIBFLAGS     =
++LDFLAGS               = -lz -lm -pthread
++CP            = cp
++LEX           = flex -Pscotchyy -olex.yy.c
++LN            = ln
++MKDIR         = mkdir
++MV            = mv
++RANLIB                = ranlib
++YACC          = bison -pscotchyy -y -b y
diff --git a/config/patches/occ/solvespace.001_nogui.patch b/config/patches/occ/solvespace.001_nogui.patch
new file mode 100644 (file)
index 0000000..b273ca6
--- /dev/null
@@ -0,0 +1,50 @@
+diff -Naur '--exclude=CVS' '--exclude=.git' solvespace-2.1.orig/CMakeLists.txt solvespace-2.1.p1/CMakeLists.txt
+--- solvespace-2.1.orig/CMakeLists.txt 2015-09-28 17:55:15.000000000 +0300
++++ solvespace-2.1.p1/CMakeLists.txt   2015-09-28 18:05:50.000000000 +0300
+@@ -28,6 +28,10 @@
+     set(GUI gtk2 CACHE STRING "GUI toolkit to use (one of: gtk2 gtk3)")
+ endif()
++# options
++
++option(BUILD_GUI "Build only the library part" ON)
++
+ # compiler
+ if(WIN32)
+@@ -54,6 +58,8 @@
+ CHECK_INCLUDE_FILE("stdint.h" HAVE_STDINT_H)
++if(BUILD_GUI)
++
+ find_package(OpenGL REQUIRED)
+ find_package(Perl)
+@@ -125,6 +131,8 @@
+     endif()
+ endif()
++endif(BUILD_GUI)
++
+ # components
+ if(WIN32)
+diff -Naur '--exclude=CVS' '--exclude=.git' solvespace-2.1.orig/src/CMakeLists.txt solvespace-2.1.p1/src/CMakeLists.txt
+--- solvespace-2.1.orig/src/CMakeLists.txt     2015-09-28 17:55:15.000000000 +0300
++++ solvespace-2.1.p1/src/CMakeLists.txt       2015-09-28 18:07:31.000000000 +0300
+@@ -79,6 +79,8 @@
+ # generated files
++if(BUILD_GUI)
++
+ file(GLOB icons "${CMAKE_CURRENT_SOURCE_DIR}/icons/*.png")
+ if(PERL_FOUND AND PERLMODULES_FOUND)
+@@ -384,3 +386,5 @@
+         --malloc-fill=0xac
+         --free-fill=0xde
+         $<TARGET_FILE:solvespace>)
++
++endif(BUILD_GUI)
diff --git a/config/patches/occt/README b/config/patches/occt/README
deleted file mode 100644 (file)
index 7e72364..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-This directory containes patches needed to build SALOME pre-requisites at OCCT side.
-
-Comments
-========
-
-1. freeimage
-   - freeimage.001_sources.patch : patch to add missing defines
-   - freeimage.002_build_procedure.patch : patch to correct installation procedure
-   - freeimage.003_gcc47_compat.patch : patch to build freeimage with gcc 4.7 version
-   - freeimage.004_gcc66.patch : patch to build freeimage with gcc 6 version
-
-2. graphvis
-   - graphviz.001_build_procedure.patch : correct a mistake in the configure script
-   ! Additional patch is applied to binaries installation of grapvis to correct config6 via sed utility
-
-3. qt
-   - qt.001_proxy_factory.patch : fix a problem with compilation of QNetworkProxy
-   - qt.002_disable_qtgamepad.patch : disable qtgamepad package on CentOS-6.4 ONLY!
-
-4. scotch
-   - scotch.001.create_makefile.patch : patch to create proper Makefile
-
-5. solvespace 
-   - solvespace.001_nogui.patch : patch to build solvespace without GUI
-
-6. gl2ps
-   - gl2ps.001_libs.patch : patch to add missing link libraries
-
-7. qwt
-   ! Patch which contains hardcoded path to qwt install directory is applied via sed utility. It is impossible to create such a patch using diff syntax.
-
-8. hdf5
-   - hdf5.001_threads_threads.patch : fix problem with Threads::Threads library for CMake build procedure
-
-9. omniorb
-   ! Patch is applied to installed omniorb in order to set correct path to python3 executable
-
-10. matplotlib
-   - matplotlib.001_build_procedure.patch : patch for creation matplotlib configuration file for build procedure
-
-11. med
-   - med.001.bug_correct_cmake.patch : patch to correct med-4.0.0r1 CMake build procedure
-
-12. opencv
-   - opencv.001_compile.patch : patch to reduce gcc optimization level
-   - opencv.002_gcc6.patch : patch for gcc 6 version
-
-13. netgen
-   - netgen.001.common.patch : common patch for netgen
-
-14. planegcs
-   - planegcs.001_for_shaper.patch : patch planegcs for Shaper module needs
diff --git a/config/patches/occt/freeimage.001_sources.patch b/config/patches/occt/freeimage.001_sources.patch
deleted file mode 100644 (file)
index 8bf79df..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -Naur --exclude=CVS freeimage-3.16.0_orig/Source/LibWebP/src/utils/bit_writer.c freeimage-3.16.0_patch/Source/LibWebP/src/utils/bit_writer.c
---- freeimage-3.16.0_orig/Source/LibWebP/src/utils/bit_writer.c
-+++ freeimage-3.16.0_patch/Source/LibWebP/src/utils/bit_writer.c
-@@ -226,6 +226,21 @@
- #define htole16(x) (x)\r
- #else     // pretty much all linux and/or glibc\r
- #include <endian.h>\r
-+#if !defined(htole32)
-+# include <byteswap.h>
-+# ifdef __USE_BSD
-+/* Conversion interfaces.  */
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+#define htole16(x) (x)
-+#define htole32(x) (x)
-+#define htole64(x) (x)
-+#else
-+#define htole16(x) __bswap_16 (x)
-+#define htole32(x) __bswap_32 (x)
-+#define htole64(x) __bswap_64 (x)
-+#endif
-+#endif
-+#endif
- #endif\r
\r
- // Returns 1 on success.\r
diff --git a/config/patches/occt/freeimage.002_build_procedure.patch b/config/patches/occt/freeimage.002_build_procedure.patch
deleted file mode 100644 (file)
index bcbaad3..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-diff -NaurwB freeimage-3.16.0__0/Makefile.fip freeimage-3.16.0__1/Makefile.fip
---- freeimage-3.16.0__0/Makefile.fip   2014-03-15 19:35:28.000000000 +0400
-+++ freeimage-3.16.0__1/Makefile.fip   2017-03-15 15:05:20.396869687 +0300
-@@ -4,9 +4,9 @@
- include fipMakefile.srcs\r
\r
- # General configuration variables:\r
--DESTDIR ?= /\r
--INCDIR ?= $(DESTDIR)/usr/include\r
--INSTALLDIR ?= $(DESTDIR)/usr/lib\r
-+DESTDIR ?= /usr\r
-+INCDIR ?= $(DESTDIR)/include\r
-+INSTALLDIR ?= $(DESTDIR)/lib\r
\r
- # Converts cr/lf to just lf\r
- DOS2UNIX = dos2unix\r
-@@ -71,10 +71,12 @@
\r
- install:\r
-       install -d $(INCDIR) $(INSTALLDIR)\r
--      install -m 644 -o root -g root $(HEADER) $(INCDIR)\r
--      install -m 644 -o root -g root $(HEADERFIP) $(INCDIR)\r
--      install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR)\r
--      install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR)\r
-+      install -m 644 $(HEADER) $(INCDIR)\r
-+      install -m 644 $(HEADERFIP) $(INCDIR)\r
-+      install -m 644 $(STATICLIB) $(INSTALLDIR)\r
-+      install -m 755 $(SHAREDLIB) $(INSTALLDIR)
-+      ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME)
-+      ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME)\r
\r
- clean:\r
-       rm -f core Dist/*.* u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)\r
-diff -NaurwB freeimage-3.16.0__0/Makefile.gnu freeimage-3.16.0__1/Makefile.gnu
---- freeimage-3.16.0__0/Makefile.gnu   2014-03-16 00:02:08.000000000 +0400
-+++ freeimage-3.16.0__1/Makefile.gnu   2017-03-15 15:05:20.384869623 +0300
-@@ -4,9 +4,9 @@
- include Makefile.srcs\r
\r
- # General configuration variables:\r
--DESTDIR ?= /\r
--INCDIR ?= $(DESTDIR)/usr/include\r
--INSTALLDIR ?= $(DESTDIR)/usr/lib\r
-+DESTDIR ?= /usr\r
-+INCDIR ?= $(DESTDIR)/include\r
-+INSTALLDIR ?= $(DESTDIR)/lib\r
\r
- # Converts cr/lf to just lf\r
- DOS2UNIX = dos2unix\r
-@@ -70,9 +70,9 @@
\r
- install:\r
-       install -d $(INCDIR) $(INSTALLDIR)\r
--      install -m 644 -o root -g root $(HEADER) $(INCDIR)\r
--      install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR)\r
--      install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR)\r
-+      install -m 644 $(HEADER) $(INCDIR)\r
-+      install -m 644 $(STATICLIB) $(INSTALLDIR)\r
-+      install -m 755 $(SHAREDLIB) $(INSTALLDIR)\r
-       ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME)\r
-       ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME)   \r
- #     ldconfig\r
diff --git a/config/patches/occt/freeimage.003_gcc47_compat.patch b/config/patches/occt/freeimage.003_gcc47_compat.patch
deleted file mode 100644 (file)
index 516a499..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -NaurwB freeimage-3.16.0__0/Source/OpenEXR/IlmImf/ImfAutoArray.h freeimage-3.16.0__1/Source/OpenEXR/IlmImf/ImfAutoArray.h
---- freeimage-3.16.0__0/Source/OpenEXR/IlmImf/ImfAutoArray.h   2014-03-08 01:31:08.000000000 +0400
-+++ freeimage-3.16.0__1/Source/OpenEXR/IlmImf/ImfAutoArray.h   2017-03-15 14:10:35.682298047 +0300
-@@ -45,6 +45,7 @@
- //-----------------------------------------------------------------------------
- #include "OpenEXRConfig.h"
-+#include <string.h>
- #if !defined(_WIN32) || defined(__MINGW32__)
- // needed for memset
- #include <string.h>
diff --git a/config/patches/occt/freeimage.004_gcc66.patch b/config/patches/occt/freeimage.004_gcc66.patch
deleted file mode 100644 (file)
index 614a853..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-diff -Naur freeimage-3.16.0_SRC_orig/Source/LibRawLite/dcraw/dcraw.c freeimage-3.16.0_SRC_patched/Source/LibRawLite/dcraw/dcraw.c
---- freeimage-3.16.0_SRC_orig/Source/LibRawLite/dcraw/dcraw.c  2014-02-07 23:48:10.000000000 +0400
-+++ freeimage-3.16.0_SRC_patched/Source/LibRawLite/dcraw/dcraw.c       2016-10-14 12:05:37.481253676 +0300
-@@ -4072,22 +4072,22 @@
-     -2,+0,+0,-1,0,0x06, -2,+0,+0,+0,1,0x02, -2,+0,+0,+1,0,0x03,\r
-     -2,+1,-1,+0,0,0x04, -2,+1,+0,-1,1,0x04, -2,+1,+0,+0,0,0x06,\r
-     -2,+1,+0,+1,0,0x02, -2,+2,+0,+0,1,0x04, -2,+2,+0,+1,0,0x04,\r
--    -1,-2,-1,+0,0,0x80, -1,-2,+0,-1,0,0x01, -1,-2,+1,-1,0,0x01,\r
--    -1,-2,+1,+0,1,0x01, -1,-1,-1,+1,0,0x88, -1,-1,+1,-2,0,0x40,\r
-+    -1,-2,-1,+0,0,(signed char)0x80, -1,-2,+0,-1,0,0x01, -1,-2,+1,-1,0,0x01,\r
-+    -1,-2,+1,+0,1,0x01, -1,-1,-1,+1,0,(signed char)0x88, -1,-1,+1,-2,0,0x40,\r
-     -1,-1,+1,-1,0,0x22, -1,-1,+1,+0,0,0x33, -1,-1,+1,+1,1,0x11,\r
-     -1,+0,-1,+2,0,0x08, -1,+0,+0,-1,0,0x44, -1,+0,+0,+1,0,0x11,\r
-     -1,+0,+1,-2,1,0x40, -1,+0,+1,-1,0,0x66, -1,+0,+1,+0,1,0x22,\r
-     -1,+0,+1,+1,0,0x33, -1,+0,+1,+2,1,0x10, -1,+1,+1,-1,1,0x44,\r
-     -1,+1,+1,+0,0,0x66, -1,+1,+1,+1,0,0x22, -1,+1,+1,+2,0,0x10,\r
-     -1,+2,+0,+1,0,0x04, -1,+2,+1,+0,1,0x04, -1,+2,+1,+1,0,0x04,\r
--    +0,-2,+0,+0,1,0x80, +0,-1,+0,+1,1,0x88, +0,-1,+1,-2,0,0x40,\r
-+    +0,-2,+0,+0,1,(signed char)0x80, +0,-1,+0,+1,1,(signed char)0x88, +0,-1,+1,-2,0,0x40,\r
-     +0,-1,+1,+0,0,0x11, +0,-1,+2,-2,0,0x40, +0,-1,+2,-1,0,0x20,\r
-     +0,-1,+2,+0,0,0x30, +0,-1,+2,+1,1,0x10, +0,+0,+0,+2,1,0x08,\r
-     +0,+0,+2,-2,1,0x40, +0,+0,+2,-1,0,0x60, +0,+0,+2,+0,1,0x20,\r
-     +0,+0,+2,+1,0,0x30, +0,+0,+2,+2,1,0x10, +0,+1,+1,+0,0,0x44,\r
-     +0,+1,+1,+2,0,0x10, +0,+1,+2,-1,1,0x40, +0,+1,+2,+0,0,0x60,\r
--    +0,+1,+2,+1,0,0x20, +0,+1,+2,+2,0,0x10, +1,-2,+1,+0,0,0x80,\r
--    +1,-1,+1,+1,0,0x88, +1,+0,+1,+2,0,0x08, +1,+0,+2,-1,0,0x40,\r
-+    +0,+1,+2,+1,0,0x20, +0,+1,+2,+2,0,0x10, +1,-2,+1,+0,0,(signed char)0x80,\r
-+    +1,-1,+1,+1,0,(signed char)0x88, +1,+0,+1,+2,0,0x08, +1,+0,+2,-1,0,0x40,\r
-     +1,+0,+2,+1,0,0x10\r
-   }, chood[] = { -1,-1, -1,0, -1,+1, 0,+1, +1,+1, +1,0, +1,-1, 0,-1 };\r
-   ushort (*brow[5])[4], *pix;\r
-diff -Naur freeimage-3.16.0_SRC_orig/Source/LibRawLite/internal/dcraw_common.cpp freeimage-3.16.0_SRC_patched/Source/LibRawLite/internal/dcraw_common.cpp
---- freeimage-3.16.0_SRC_orig/Source/LibRawLite/internal/dcraw_common.cpp      2014-02-07 23:48:10.000000000 +0400
-+++ freeimage-3.16.0_SRC_patched/Source/LibRawLite/internal/dcraw_common.cpp   2016-10-14 12:06:27.540395171 +0300
-@@ -3782,22 +3782,22 @@
-     -2,+0,+0,-1,0,0x06, -2,+0,+0,+0,1,0x02, -2,+0,+0,+1,0,0x03,\r
-     -2,+1,-1,+0,0,0x04, -2,+1,+0,-1,1,0x04, -2,+1,+0,+0,0,0x06,\r
-     -2,+1,+0,+1,0,0x02, -2,+2,+0,+0,1,0x04, -2,+2,+0,+1,0,0x04,\r
--    -1,-2,-1,+0,0,0x80, -1,-2,+0,-1,0,0x01, -1,-2,+1,-1,0,0x01,\r
--    -1,-2,+1,+0,1,0x01, -1,-1,-1,+1,0,0x88, -1,-1,+1,-2,0,0x40,\r
-+    -1,-2,-1,+0,0,(signed char)0x80, -1,-2,+0,-1,0,0x01, -1,-2,+1,-1,0,0x01,\r
-+    -1,-2,+1,+0,1,0x01, -1,-1,-1,+1,0,(signed char)0x88, -1,-1,+1,-2,0,0x40,\r
-     -1,-1,+1,-1,0,0x22, -1,-1,+1,+0,0,0x33, -1,-1,+1,+1,1,0x11,\r
-     -1,+0,-1,+2,0,0x08, -1,+0,+0,-1,0,0x44, -1,+0,+0,+1,0,0x11,\r
-     -1,+0,+1,-2,1,0x40, -1,+0,+1,-1,0,0x66, -1,+0,+1,+0,1,0x22,\r
-     -1,+0,+1,+1,0,0x33, -1,+0,+1,+2,1,0x10, -1,+1,+1,-1,1,0x44,\r
-     -1,+1,+1,+0,0,0x66, -1,+1,+1,+1,0,0x22, -1,+1,+1,+2,0,0x10,\r
-     -1,+2,+0,+1,0,0x04, -1,+2,+1,+0,1,0x04, -1,+2,+1,+1,0,0x04,\r
--    +0,-2,+0,+0,1,0x80, +0,-1,+0,+1,1,0x88, +0,-1,+1,-2,0,0x40,\r
-+    +0,-2,+0,+0,1,(signed char)0x80, +0,-1,+0,+1,1,(signed char)0x88, +0,-1,+1,-2,0,0x40,\r
-     +0,-1,+1,+0,0,0x11, +0,-1,+2,-2,0,0x40, +0,-1,+2,-1,0,0x20,\r
-     +0,-1,+2,+0,0,0x30, +0,-1,+2,+1,1,0x10, +0,+0,+0,+2,1,0x08,\r
-     +0,+0,+2,-2,1,0x40, +0,+0,+2,-1,0,0x60, +0,+0,+2,+0,1,0x20,\r
-     +0,+0,+2,+1,0,0x30, +0,+0,+2,+2,1,0x10, +0,+1,+1,+0,0,0x44,\r
-     +0,+1,+1,+2,0,0x10, +0,+1,+2,-1,1,0x40, +0,+1,+2,+0,0,0x60,\r
--    +0,+1,+2,+1,0,0x20, +0,+1,+2,+2,0,0x10, +1,-2,+1,+0,0,0x80,\r
--    +1,-1,+1,+1,0,0x88, +1,+0,+1,+2,0,0x08, +1,+0,+2,-1,0,0x40,\r
-+    +0,+1,+2,+1,0,0x20, +0,+1,+2,+2,0,0x10, +1,-2,+1,+0,0,(signed char)0x80,\r
-+    +1,-1,+1,+1,0,(signed char)0x88, +1,+0,+1,+2,0,0x08, +1,+0,+2,-1,0,0x40,\r
-     +1,+0,+2,+1,0,0x10\r
-   }, chood[] = { -1,-1, -1,0, -1,+1, 0,+1, +1,+1, +1,0, +1,-1, 0,-1 };\r
-   ushort (*brow[5])[4], *pix;\r
-@@ -7380,7 +7380,7 @@
-       { 8035,435,-962,-6001,13872,2320,-1159,3065,5434 } },\r
-     { "Phase One P65", 0, 0,\r
-       { 8035,435,-962,-6001,13872,2320,-1159,3065,5434 } },\r
--    { "Red One", 704, 0xffff,         /* DJC */\r
-+    { "Red One", 704, (short int)0xffff,              /* DJC */\r
-       { 21014,-7891,-2613,-3056,12201,856,-2203,5125,8042 } },\r
-     { "Samsung EK-GN120", 0, 0, /* Adobe; Galaxy NX */\r
-         { 7557,-2522,-739,-4679,12949,1894,-840,1777,5311 } },\r
diff --git a/config/patches/occt/gl2ps.001_libs.patch b/config/patches/occt/gl2ps.001_libs.patch
deleted file mode 100644 (file)
index 68168b3..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -NaurwB gl2ps-1.3.9__1/CMakeLists.txt gl2ps-1.3.9__0/CMakeLists.txt
---- gl2ps-1.3.9__1/CMakeLists.txt      2017-03-15 14:16:29.548325553 +0300
-+++ gl2ps-1.3.9__0/CMakeLists.txt      2017-03-15 14:17:13.060574241 +0300
-@@ -76,6 +76,9 @@
-   add_definitions(-DHAVE_NO_VSNPRINTF)
- endif(NOT HAVE_VSNPRINTF)
-+find_library(LIBM_LIBRARY NAMES m)
-+list(APPEND EXTERNAL_LIBRARIES ${LIBM_LIBRARY})
-+
- find_package(OpenGL)
- if(OPENGL_FOUND)
-   list(APPEND EXTERNAL_INCLUDES ${OPENGL_INCLUDE_DIR})
diff --git a/config/patches/occt/graphviz.001_build_procedure.patch b/config/patches/occt/graphviz.001_build_procedure.patch
deleted file mode 100644 (file)
index ede5edd..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -NaurwB graphviz-2.38.0__1/configure graphviz-2.38.0__0/configure
---- graphviz-2.38.0__0/configure       2017-03-15 14:22:15.286297951 +0300
-+++ graphviz-2.38.0__1/configure       2017-03-15 14:23:12.054621051 +0300
-@@ -22415,7 +22415,7 @@
-       else
-         PYTHON_PREFIX=`$PYTHON -c "import sys; print sys.prefix"`
-         PYTHON_INCLUDES=-I$PYTHON_PREFIX/include/python$PYTHON_VERSION_SHORT
--        PYTHON_LIBS="-lpython$PYTHON_VERSION_SHORT"
-+        PYTHON_LIBS="-L$PYTHON_PREFIX/lib -lpython$PYTHON_VERSION_SHORT"
-         PYTHON_INSTALL_DIR="`$PYTHON $srcdir/config/config_python.py archsitelib`"
-         save_CPPFLAGS=$CPPFLAGS
-         CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
-@@ -23797,7 +23797,7 @@
- fi
- if test "x$use_tcl" = "x"; then
--  TCL_VERSION_FOUND=`echo 'puts [info tclversion]' | $TCLSH`
-+  TCL_VERSION_FOUND=`echo 'puts [info tclversion]' | $TCLSH 2>/dev/null | grep -E '^[0-9.]+$'`
-   # can't assume ksh on all architectures
-   # TCLSH_EXEC_PREFIX=${TCLSH%%/bin/tclsh.*}
diff --git a/config/patches/occt/hdf5.001_threads_threads.patch b/config/patches/occt/hdf5.001_threads_threads.patch
deleted file mode 100644 (file)
index 776800f..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Naur --exclude=CVS --exclude=.git hdf5-1.10.3_orig/src/CMakeLists.txt hdf5-1.10.3_patched/src/CMakeLists.txt
---- hdf5-1.10.3_orig/src/CMakeLists.txt        2018-08-10 00:36:31.000000000 +0300
-+++ hdf5-1.10.3_patched/src/CMakeLists.txt     2018-10-10 16:25:28.196773245 +0300
-@@ -954,9 +954,10 @@
-           $<$<BOOL:${HDF5_ENABLE_DEBUG_APIS}>:H5Z_DEBUG;H5T_DEBUG;H5ST_DEBUG;H5S_DEBUG;H5O_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5F_DEBUG;H5D_DEBUG;H5B2_DEBUG;H5AC_DEBUG>
-   )
-   TARGET_C_PROPERTIES (${HDF5_LIBSH_TARGET} SHARED)
-+  get_property(_threads_libs TARGET Threads::Threads PROPERTY INTERFACE_LINK_LIBRARIES)
-   target_link_libraries (${HDF5_LIBSH_TARGET}
-       PRIVATE ${LINK_LIBS} ${LINK_COMP_LIBS} "$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_LIBRARIES}>"
--      PUBLIC $<$<NOT:$<PLATFORM_ID:Windows>>:${CMAKE_DL_LIBS}> $<$<BOOL:${HDF5_ENABLE_THREADSAFE}>:Threads::Threads>
-+      PUBLIC $<$<NOT:$<PLATFORM_ID:Windows>>:${CMAKE_DL_LIBS}> $<$<BOOL:${HDF5_ENABLE_THREADSAFE}>:${_threads_libs}>
-   )
-   set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_LIBSH_TARGET}")
-   H5_SET_LIB_OPTIONS (${HDF5_LIBSH_TARGET} ${HDF5_LIB_NAME} SHARED "LIB")
diff --git a/config/patches/occt/matplotlib.001_build_procedure.patch b/config/patches/occt/matplotlib.001_build_procedure.patch
deleted file mode 100644 (file)
index c0aae3d..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-diff -NaurwB matplotlib-1.4.3__1/setup.cfg matplotlib-1.4.3__0/setup.cfg
---- matplotlib-1.4.3__0/setup.cfg      1970-01-01 03:00:00.000000000 +0300
-+++ matplotlib-1.4.3__1/setup.cfg      2017-03-15 14:42:36.569265032 +0300
-@@ -0,0 +1,86 @@
-+# Rename this file to setup.cfg to modify matplotlib's
-+# build options.
-+
-+[egg_info]
-+tag_svn_revision = 1
-+
-+[directories]
-+# Uncomment to override the default basedir in setupext.py.
-+# This can be a single directory or a comma-delimited list of directories.
-+#basedirlist = /usr
-+
-+[status]
-+# To suppress display of the dependencies and their versions
-+# at the top of the build log, uncomment the following line:
-+#suppress = False
-+
-+[packages]
-+# There are a number of subpackages of matplotlib that are considered
-+# optional.  They are all installed by default, but they may be turned
-+# off here.
-+#
-+tests = False
-+sample_data = False
-+toolkits = True
-+# Tests for the toolkits are only automatically installed
-+# if the tests and toolkits packages are also getting installed.
-+#toolkits_tests = auto
-+
-+[gui_support]
-+# Matplotlib supports multiple GUI toolkits, including Cocoa,
-+# GTK, Fltk, MacOSX, Qt, Qt4, Tk, and WX. Support for many of
-+# these toolkits requires AGG, the Anti-Grain Geometry library,
-+# which is provided by matplotlib and built by default.
-+#
-+# Some backends are written in pure Python, and others require
-+# extension code to be compiled. By default, matplotlib checks for
-+# these GUI toolkits during installation and, if present, compiles the
-+# required extensions to support the toolkit.
-+#
-+# - GTK 2.x support of any kind requires the GTK runtime environment
-+#   headers and PyGTK.
-+# - Tk support requires Tk development headers and Tkinter.
-+# - Mac OSX backend requires the Cocoa headers included with XCode.
-+# - Windowing is MS-Windows specific, and requires the "windows.h"
-+#   header.
-+#
-+# The other GUI toolkits do not require any extension code, and can be
-+# used as long as the libraries are installed on your system --
-+# therefore they are installed unconditionally.
-+#
-+# You can uncomment any the following lines to change this
-+# behavior. Acceptible values are:
-+#
-+#     True: build the extension. Exits with a warning if the
-+#           required dependencies are not available
-+#     False: do not build the extension
-+#     auto: build if the required dependencies are available,
-+#           otherwise skip silently. This is the default
-+#           behavior
-+#
-+#agg = auto
-+#cairo = auto
-+#gtk = auto
-+#gtk3agg = auto
-+#gtk3cairo = auto
-+#gtkagg = auto
-+#macosx = auto
-+#pyside = auto
-+qt5agg = auto
-+#tkagg = auto
-+#windowing = auto
-+#wxagg = auto
-+
-+[rc_options]
-+# User-configurable options
-+#
-+# Default backend, one of: Agg, Cairo, CocoaAgg, GTK, GTKAgg, GTKCairo,
-+# FltkAgg, MacOSX, Pdf, Ps, QtAgg, Qt4Agg, SVG, TkAgg, WX, WXAgg.
-+#
-+# The Agg, Ps, Pdf and SVG backends do not require external
-+# dependencies. Do not choose GTK, GTKAgg, GTKCairo, MacOSX, or TkAgg
-+# if you have disabled the relevent extension modules.  Agg will be used
-+# by default.
-+#
-+backend = Qt5Agg
-+#
diff --git a/config/patches/occt/med.001.bug_correct_cmake.patch b/config/patches/occt/med.001.bug_correct_cmake.patch
deleted file mode 100644 (file)
index e477630..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -Naur --exclude=CVS --exclude=.git med-4.0.0rc1.orig/CMakeLists.txt med-4.0.0rc1.patched/CMakeLists.txt
---- med-4.0.0rc1.orig/CMakeLists.txt   2018-10-24 18:38:31.000000000 +0300
-+++ med-4.0.0rc1.patched/CMakeLists.txt        2018-10-30 18:57:34.000000000 +0300
-@@ -121,7 +121,8 @@
- ## Installation of the doc
- IF(MEDFILE_INSTALL_DOC)
--  INSTALL(DIRECTORY doc DESTINATION ${CMAKE_INSTALL_PREFIX}/share)
-+  INSTALL(DIRECTORY doc/html.dox/ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/med REGEX "Makefile*" EXCLUDE PATTERN "*.am" EXCLUDE)
-+  INSTALL(DIRECTORY doc/gif doc/jpg doc/png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/med FILES_MATCHING PATTERN "*.gif" PATTERN "*.jpg" PATTERN "*.svg" PATTERN "*.png")
- ENDIF()
- #######################
-diff -Naur --exclude=CVS --exclude=.git med-4.0.0rc1.orig/config/cmake_files/medMacros.cmake med-4.0.0rc1.patched/config/cmake_files/medMacros.cmake
---- med-4.0.0rc1.orig/config/cmake_files/medMacros.cmake       2018-10-22 11:36:07.000000000 +0300
-+++ med-4.0.0rc1.patched/config/cmake_files/medMacros.cmake    2018-10-30 19:03:44.673012496 +0300
-@@ -406,7 +406,7 @@
-     ADD_DEFINITIONS(-DH5_USE_16_API)  
-     IF(WIN32 AND MEDFILE_BUILD_SHARED_LIBS)
--      ADD_DEFINITIONS(-D_HDF5USEDLL_)  
-+      ADD_DEFINITIONS(-D_HDF5USEDLL_ -DH5_BUILT_AS_DYNAMIC_LIB=1)   
-     ENDIF()
-     
-     # Take what is exposed by the standard FIND_PACKAGE()
-diff -Naur --exclude=CVS --exclude=.git med-4.0.0rc1.orig/python/CMakeLists.txt med-4.0.0rc1.patched/python/CMakeLists.txt
---- med-4.0.0rc1.orig/python/CMakeLists.txt    2018-10-23 01:43:04.000000000 +0300
-+++ med-4.0.0rc1.patched/python/CMakeLists.txt 2018-10-30 19:03:44.657012959 +0300
-@@ -24,7 +24,7 @@
-   medparameter_module.i
-   medprofile_module.i
-   medsubdomain_module.i
--  medstructelement.i
-+  medstructelement_module.i
- )
- IF(APPLE)
diff --git a/config/patches/occt/netgen.001.common.patch b/config/patches/occt/netgen.001.common.patch
deleted file mode 100644 (file)
index 135c34f..0000000
+++ /dev/null
@@ -1,45375 +0,0 @@
-diff -Naur netgen-5.3.1_SRC_orig/Makefile.am netgen-5.3.1_SRC_modif/Makefile.am
---- netgen-5.3.1_SRC_orig/Makefile.am  2014-08-29 13:55:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/Makefile.am 2018-03-01 15:41:03.989158469 +0300
-@@ -2,7 +2,7 @@
- METASOURCES = AUTO
--SUBDIRS = libsrc ng tutorials doc windows nglib
-+SUBDIRS = libsrc nglib #tutorials doc windows nglib
- # TESTS = ng/netgen -batchmode
-diff -Naur netgen-5.3.1_SRC_orig/Makefile.in netgen-5.3.1_SRC_modif/Makefile.in
---- netgen-5.3.1_SRC_orig/Makefile.in  2014-10-06 15:04:37.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/Makefile.in 2018-03-01 15:41:03.990158362 +0300
-@@ -280,7 +280,7 @@
- top_srcdir = @top_srcdir@
- ACLOCAL_AMFLAGS = -I m4
- METASOURCES = AUTO
--SUBDIRS = libsrc ng tutorials doc windows nglib
-+SUBDIRS = libsrc nglib #tutorials doc windows nglib
- all: config.h
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
-diff -Naur netgen-5.3.1_SRC_orig/configure.ac netgen-5.3.1_SRC_modif/configure.ac
---- netgen-5.3.1_SRC_orig/configure.ac 2014-10-06 15:00:17.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/configure.ac        2018-03-01 15:41:03.990158362 +0300
-@@ -20,7 +20,7 @@
- CXXFLAGS="$CXXFLAGS $OPENMP_CXXFLAGS"
- # LDFLAGS="$LDFLAGS $OPENMP_CXXFLAGS"
--AM_PROG_AR
-+m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
- AC_PROG_LIBTOOL
- LT_INIT
-@@ -42,8 +42,8 @@
- if test a$occon = atrue ; then
--      AC_SUBST([OCCFLAGS], ["-DOCCGEOMETRY -I$occdir/inc -I/usr/include/opencascade"])
--      AC_SUBST([OCCLIBS], ["-L$occdir/lib -lTKernel -lTKGeomBase -lTKMath -lTKG2d -lTKG3d -lTKXSBase -lTKOffset -lTKFillet -lTKShHealing -lTKMesh -lTKMeshVS -lTKTopAlgo -lTKGeomAlgo -lTKBool -lTKPrim -lTKBO -lTKIGES -lTKBRep -lTKSTEPBase -lTKSTEP -lTKSTL -lTKSTEPAttr -lTKSTEP209 -lTKXDESTEP -lTKXDEIGES -lTKXCAF -lTKLCAF -lFWOSPlugin"])
-+      AC_SUBST([OCCFLAGS], ["-DOCCGEOMETRY -I$occdir/include/opencascade"])
-+      AC_SUBST([OCCLIBS], ["-L$occdir/lib -lTKernel -lTKGeomBase -lTKMath -lTKG2d -lTKG3d -lTKXSBase -lTKOffset -lTKFillet -lTKShHealing -lTKMesh -lTKMeshVS -lTKTopAlgo -lTKGeomAlgo -lTKBool -lTKPrim -lTKBO -lTKIGES -lTKBRep -lTKSTEPBase -lTKSTEP -lTKSTL -lTKSTEPAttr -lTKSTEP209 -lTKXDESTEP -lTKXDEIGES -lTKXCAF -lTKLCAF"])
- #  -lTKDCAF
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/csg/Makefile.am netgen-5.3.1_SRC_modif/libsrc/csg/Makefile.am
---- netgen-5.3.1_SRC_orig/libsrc/csg/Makefile.am       2014-08-29 13:54:06.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/csg/Makefile.am      2018-03-01 15:41:03.990158362 +0300
-@@ -8,7 +8,7 @@
- AM_CPPFLAGS = -I$(top_srcdir)/libsrc/include  $(TCL_INCLUDES)
- METASOURCES = AUTO
--lib_LTLIBRARIES = libcsg.la
-+noinst_LTLIBRARIES = libcsg.la
- libcsg_la_SOURCES = algprim.cpp brick.cpp   \
-@@ -17,12 +17,9 @@
- manifold.cpp meshsurf.cpp polyhedra.cpp revolution.cpp singularref.cpp \
- solid.cpp specpoin.cpp spline3d.cpp surface.cpp triapprox.cpp
--libcsg_la_LIBADD =  $(top_builddir)/libsrc/meshing/libmesh.la
--
--
- if NGGUI
--lib_LTLIBRARIES += libcsgvis.la 
-+lib_LTLIBRARIES = libcsgvis.la 
- libcsgvis_la_SOURCES = vscsg.cpp csgpkg.cpp
- libcsgvis_la_LIBADD = libcsg.la
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/general/parthreads.cpp netgen-5.3.1_SRC_modif/libsrc/general/parthreads.cpp
---- netgen-5.3.1_SRC_orig/libsrc/general/parthreads.cpp        2014-08-29 13:54:06.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/general/parthreads.cpp       2018-03-01 15:45:08.691877252 +0300
-@@ -1,40 +1,40 @@
--/**************************************************************************/
--/* File:   parthreads.cpp                                                 */
--/* Author: Joachim Schoeberl                                              */
--/* Date:   01. Jun. 95                                                    */
--/**************************************************************************/
--
--
--#include <mystdlib.h>
--#include <myadt.hpp>
--
--/*
--
--namespace netgen
--{
--  using namespace netgen;
--
--#ifdef WIN32
--
--  NgLock :: NgLock (NgMutex & mut)
--    : sl(&mut.cs)
--  {
--    ;
--  }
--
--  void NgLock :: Lock ()
--  {
--    sl.Lock();
--  }
--  void NgLock :: UnLock ()
--  {
--    sl.Unlock();
--  }
--
--
--#else
--
--#endif
--}
--
--*/
-+/**************************************************************************/
-+/* File:   parthreads.cpp                                                 */
-+/* Author: Joachim Schoeberl                                              */
-+/* Date:   01. Jun. 95                                                    */
-+/**************************************************************************/
-+
-+
-+#include <mystdlib.h>
-+#include <myadt.hpp>
-+
-+/*
-+
-+namespace netgen
-+{
-+  using namespace netgen;
-+
-+#ifdef WIN32
-+
-+  NgLock :: NgLock (NgMutex & mut)
-+    : sl(&mut.cs)
-+  {
-+    ;
-+  }
-+
-+  void NgLock :: Lock ()
-+  {
-+    sl.Lock();
-+  }
-+  void NgLock :: UnLock ()
-+  {
-+    sl.Unlock();
-+  }
-+
-+
-+#else
-+
-+#endif
-+}
-+
-+*/
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/geom2d/Makefile.am netgen-5.3.1_SRC_modif/libsrc/geom2d/Makefile.am
---- netgen-5.3.1_SRC_orig/libsrc/geom2d/Makefile.am    2014-08-29 13:54:06.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/geom2d/Makefile.am   2018-03-01 15:41:03.990158362 +0300
-@@ -4,16 +4,15 @@
- METASOURCES = AUTO
--lib_LTLIBRARIES = libgeom2d.la 
-+noinst_LTLIBRARIES = libgeom2d.la 
- if NGGUI
--lib_LTLIBRARIES += libgeom2dvis.la 
-+lib_LTLIBRARIES = libgeom2dvis.la 
- endif
- libgeom2d_la_SOURCES = genmesh2d.cpp geom2dmesh.cpp geometry2d.cpp
--libgeom2d_la_LIBADD =         $(top_builddir)/libsrc/meshing/libmesh.la
- libgeom2dvis_la_SOURCES = geom2dpkg.cpp vsgeom2d.cpp
- libgeom2dvis_la_LIBADD = libgeom2d.la
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/interface/Makefile.am netgen-5.3.1_SRC_modif/libsrc/interface/Makefile.am
---- netgen-5.3.1_SRC_orig/libsrc/interface/Makefile.am 2014-08-29 13:54:02.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/interface/Makefile.am        2018-03-01 15:41:03.990158362 +0300
-@@ -2,14 +2,11 @@
- AM_CPPFLAGS = -I$(top_srcdir)/libsrc/include -I$(top_srcdir)/libsrc/interface  $(MPI_INCLUDES) $(TCL_INCLUDES) -DOPENGL
- METASOURCES = AUTO
--lib_LTLIBRARIES = libinterface.la
-+noinst_LTLIBRARIES = libinterface.la
- libinterface_la_SOURCES = nginterface.cpp nginterface_v2.cpp \
-       read_fnf_mesh.cpp readtetmesh.cpp readuser.cpp writeabaqus.cpp writediffpack.cpp \
-       writedolfin.cpp writeelmer.cpp writefeap.cpp writefluent.cpp writegmsh.cpp writejcm.cpp \
-       writepermas.cpp writetecplot.cpp writetet.cpp writetochnog.cpp writeuser.cpp \
-       wuchemnitz.cpp writegmsh2.cpp writeOpenFOAM15x.cpp 
--
--libinterface_la_LIBADD = $(top_builddir)/libsrc/meshing/libmesh.la
--
- # libinterface_la_LDFLAGS = -rdynamic
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/interface/writeOpenFOAM15x.cpp netgen-5.3.1_SRC_modif/libsrc/interface/writeOpenFOAM15x.cpp
---- netgen-5.3.1_SRC_orig/libsrc/interface/writeOpenFOAM15x.cpp        2014-08-29 13:54:02.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/interface/writeOpenFOAM15x.cpp       2018-03-01 15:45:08.692877144 +0300
-@@ -1,811 +1,811 @@
--/*! \file writeOpenFOAM15x.cpp
--*  \brief Export Netgen Mesh in the OpenFOAM 1.5+ File format
--*  \author Philippose Rajan
--*  \date 25 October 2009
--*
--*  This function extends the export capabilities of
--*  Netgen to include the OpenFOAM 1.5+ File Format.
--*
--*  The OpenFOAM 1.5+ mesh format consists of a set of 5 files 
--*  which together define the mesh points, faces, cells and 
--*  boundary conditions. 
--*
--*  The files are:
--*  1. points    -> A list of the point co-ordinates
--*  2. faces     -> A list of the faces with format <n>(pnt_ind1 pnt_ind2 .... pnt_ind<n>)
--*  3. owner     -> The owner cell of each face 
--*  4. neighbour -> The neighbour cell of each face
--*  5. boundary  -> The set of boundaries with name, start face, and num. of faces
--*
--*  For a detailed description of the format, refer to the following link:
--*  http://openfoamwiki.net/index.php/Write_OpenFOAM_meshes
--*
--*/
--
--#include <mystdlib.h>
--
--#include <myadt.hpp>
--#include <linalg.hpp>
--#include <csg.hpp>
--#include <meshing.hpp>
--#include <sys/stat.h>
--
--
--namespace netgen
--{
--#include "writeuser.hpp"
--
--   // Global arrays used to maintain the owner, neighbour and face lists 
--   // so that they are accessible across functions
--   static Array<int> owner_facelist;
--   static Array<int> owner_celllist;
--   static Array<int> neighbour_celllist;
--   static Array<int> surfelem_bclist;
--   static Array<INDEX_2> surfelem_lists;
--
--
--
--   static void WriteOpenFOAM15xBanner(ostream * outfile)
--   {
--      static char FOAMversion[4] = "1.5";
--      static char spaces[40];
--
--      memset(spaces, ' ', 40);
--      spaces[38 - strlen(FOAMversion)] = '\0';
--      
--      *outfile << 
--              "/*--------------------------------*- C++ -*----------------------------------*\\\n";
--
--      *outfile <<
--              "| =========                 |                                                 |\n"
--              "| \\\\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |\n"
--              "|  \\\\    /   O peration     | Version:  " << FOAMversion << spaces << "|\n"
--              "|   \\\\  /    A nd           | Web:      http://www.OpenFOAM.org               |\n"
--              "|    \\\\/     M anipulation  |                                                 |\n"
--              "\\*---------------------------------------------------------------------------*/\n";
--
--   }
--
--
--
--   static void WriteOpenFOAM15xDividerStart(ostream * outfile)
--   {
--      *outfile  <<
--               "// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //\n";
--   }
--
--
--
--   static void WriteOpenFOAM15xDividerEnd(ostream * outfile)
--   {
--      *outfile <<
--              "// ************************************************************************* //\n";
--   }
--
--
--
--   static bool BuildOwnerNeighbourLists (const Mesh & mesh)
--   {
--      // Clear all the arrays
--      owner_facelist.DeleteAll();
--      owner_celllist.DeleteAll();
--      neighbour_celllist.DeleteAll();
--      surfelem_bclist.DeleteAll();
--      surfelem_lists.DeleteAll();
--
--      const MeshTopology& meshtopo = mesh.GetTopology();
--      
--      // Update the mesh topology structures
--      const_cast<MeshTopology&> (meshtopo).SetBuildEdges(true);
--      const_cast<MeshTopology&> (meshtopo).SetBuildFaces(true);
--      const_cast<MeshTopology&> (meshtopo).Update();
--
--      // Extract important mesh metrics
--      int ne = mesh.GetNE();
--      int nse = mesh.GetNSE();
--      int totfaces = meshtopo.GetNFaces();
--
--      // Preset the size of the arrays to speed up future operations
--      // Number of internal faces = total faces - num. of surface faces
--      owner_facelist.SetSize(totfaces - nse);
--      owner_celllist.SetSize(totfaces - nse);
--      neighbour_celllist.SetSize(totfaces - nse);
--      surfelem_bclist.SetSize(nse);
--      surfelem_lists.SetSize(nse);
--
--      // Initialise arrays to zero if required
--      neighbour_celllist = 0;
--
--      // Array used to keep track of Faces which have already been 
--      // processed and added to the Owner list... In addition, also the 
--      // location where the face appears in the Owner list is also stored 
--      // to speed up creation of the Neighbour list
--      Array<int> ownerfaces(totfaces);
--      ownerfaces = 0;
--
--      // Array to hold the set of local faces of each volume element 
--      // while running through the set of volume elements
--      // NOTE: The size is set automatically by the Netgen topology function
--      Array<int> locfaces;
--
--      // Secondary indices used to independently advance the owner 
--      // and boundary condition arrays within the main loop
--      int owner_ind = 1;
--      int bc_ind = 1;
--
--      // Loop through all the volume elements
--      for(int elind = 1; elind <= ne; elind++)
--      {
--         // Extract the current volume element
--      // const Element & el = mesh.VolumeElement(elind);
--
--         // Get the face numbers of the faces of the current volume element
--         // The values returned are given a sign depending on the orientation 
--         // of the faces. This is used while writing the faces file, to 
--         // determine whether or not to invert the face triangle before writing 
--         // it to file
--         meshtopo.GetElementFaces(elind,locfaces,true);
--
--         // Loop through the faces
--         for(int i = 1; i <= locfaces.Size(); i++)
--         {
--            // The absolute value of a face number (because the faces 
--            // returned by the GetElementFaces function prepend it 
--            // with a sign depending on the face orientation)
--            int absfacenr = abs(locfaces.Elem(i));
--
--            // If the face already exists in the owner list, add 
--            // the current cell into the neighbour list, in the 
--            // same location where the face appears in the owner list
--            int owner_face = ownerfaces.Elem(absfacenr);
--            if(owner_face)
--            {
--               neighbour_celllist.Elem(owner_face) = elind;
--
--               // From this point on, the code within this "if" block 
--               // basically sorts the order of the the Neighbour cells (along 
--               // with the faces list) in ascending order.
--               // The approach used is..... to traverse the owner and neighbour cell lists
--               // up and down, and sort the neighbour cells of a given owner cell 
--               // as the list evolves.
--               // NOTE: A value of "zero" in the neighbour list implies that 
--               // the neighbour has not been found yet, so the "zero" locations need 
--               // to be skipped while sorting in ascending order
--               int curr_owner = owner_celllist.Elem(owner_face);
--
--               int peek_loc = owner_face - 1;
--               int new_loc = owner_face;
--
--               // Traversing upwards in the list
--               while((owner_celllist.Elem(peek_loc) == curr_owner) && (peek_loc >= 1))
--               {
--                  if((neighbour_celllist.Elem(peek_loc) != 0) 
--                     && (neighbour_celllist.Elem(new_loc) < neighbour_celllist.Elem(peek_loc)))
--                  {
--                     Swap(neighbour_celllist.Elem(new_loc),neighbour_celllist.Elem(peek_loc));
--                     Swap(owner_facelist.Elem(new_loc),owner_facelist.Elem(peek_loc));
--                     new_loc = peek_loc;
--                  }
--
--                  peek_loc--;
--               }
--
--               peek_loc = owner_face + 1;
--
--               // Traversing downwards in the list
--               while((owner_celllist.Elem(peek_loc) == curr_owner) && (peek_loc <= owner_ind))
--               {
--                  if((neighbour_celllist.Elem(peek_loc) != 0) 
--                     && (neighbour_celllist.Elem(new_loc) > neighbour_celllist.Elem(peek_loc)))
--                  {
--                     Swap(neighbour_celllist.Elem(new_loc),neighbour_celllist.Elem(peek_loc));
--                     Swap(owner_facelist.Elem(new_loc),owner_facelist.Elem(peek_loc));
--                     new_loc = peek_loc;
--                  }
--
--                  peek_loc++;
--               }
--
--               continue;
--            }
--
--            // Check if the face is a surface element (boundary face)
--            // if not, add the current volume element and the corresponding face into 
--            // the owner list
--            int surfelem = meshtopo.GetFace2SurfaceElement(absfacenr);
--            if(!surfelem)
--            {
--               // If it is a new face which has not been listed before, 
--               // add the current cell into the owner list, and save 
--               // the index location to be used later by the neighbour list
--               owner_celllist.Elem(owner_ind) = elind;
--               owner_facelist.Elem(owner_ind) = locfaces.Elem(i);
--               // Update the array to indicate that the face is already processed
--               ownerfaces.Elem(absfacenr) = owner_ind;
--
--               owner_ind++;
--            }
--            // If the face is a boundary face, extract the boundary condition number of the 
--            // face, and append that along with the face number and the current cell 
--            // into the various surface elements lists
--            else
--            {
--               Element2d sel = mesh.SurfaceElement(surfelem);
--               surfelem_bclist.Elem(bc_ind) = mesh.GetFaceDescriptor(sel.GetIndex()).BCProperty();
--               surfelem_lists.Elem(bc_ind) = INDEX_2(locfaces.Elem(i),elind);
--
--               bc_ind++;
--            }
--         }
--      }
--
--      // This correction is required in cases where the mesh has been "uniform refined".... for 
--      // some reason, the number of faces reported by Netgen is higher than the actual number 
--      // of faces in the mesh
--      owner_facelist.SetSize(owner_ind-1);
--      owner_celllist.SetSize(owner_ind-1);
--      neighbour_celllist.SetSize(owner_ind-1);
--
--
--      // Sort the list of surface elements in ascending order of boundary condition number
--      // also sort the cell list in the same manner
--      QuickSort(surfelem_bclist,surfelem_lists);
--
--/*    
--      // Debugging output to a file 
--      ofstream dbg("OpenFOAMDebug.log");
--
--      dbg << " ------- Boundary List -------- \n";
--
--      for(int i = 1; i <= surfelem_bclist.Size(); i++)
--      {
--         dbg << "bc = " << surfelem_bclist.Elem(i) 
--              << " : face = " << surfelem_lists.Elem(i).I1()
--              << " : cell = " << surfelem_lists.Elem(i).I2() << "\n";
--      }
--
--      dbg << "\n ------- Owner / Face / Neighbour List ------- \n";
--
--      for(int i = 1; i <= owner_celllist.Size(); i++)
--      {
--         dbg << "Ind:" << i << " :: (" 
--              << owner_celllist.Elem(i) << " "
--              << owner_facelist.Elem(i) << "  "
--              << neighbour_celllist.Elem(i) << ")\n";
--      }
--
--      dbg.close();
--*/
--      return(false);
--   }
--
--
--
--   static void WriteNeighbourFile (ostream * outfile)
--   {
--      // Write the OpenFOAM standard banner and dividers, etc...
--      WriteOpenFOAM15xBanner(outfile);
--      *outfile << "FoamFile \n"
--              << "{ \n"
--              << "    version     2.0; \n"
--              << "    format      ascii; \n"
--              << "    class       labelList; \n"
--              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
--              << "    location    \"constant\\polyMesh\"; \n"
--              << "    object      neighbour; \n"
--              << "} \n";
--      WriteOpenFOAM15xDividerStart(outfile);
--
--      *outfile << "\n\n";
--
--      int nneighbours = neighbour_celllist.Size();
--
--      *outfile << nneighbours << "\n";
--
--      *outfile << "(\n";
--
--      // Write the neighbour cells to file
--      for(int i = 1; i <= neighbour_celllist.Size(); i++)
--      {
--         *outfile << neighbour_celllist.Elem(i) - 1 << "\n";
--      }
--      *outfile << ")\n\n";
--      WriteOpenFOAM15xDividerEnd(outfile);
--   }
--
--
--
--   static void WriteOwnerFile (ostream * outfile)
--   {
--      // Write the OpenFOAM standard banner and dividers, etc...
--      WriteOpenFOAM15xBanner(outfile);
--      *outfile << "FoamFile \n"
--              << "{ \n"
--              << "    version     2.0; \n"
--              << "    format      ascii; \n"
--              << "    class       labelList; \n"
--              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
--              << "    location    \"constant\\polyMesh\"; \n"
--              << "    object      owner; \n"
--              << "} \n";
--      WriteOpenFOAM15xDividerStart(outfile);
--
--      *outfile << "\n\n";
--
--      int nowners = owner_celllist.Size() + surfelem_lists.Size();
--
--      *outfile << nowners << "\n";
--
--      *outfile << "(\n";
--
--      // Write the owners of the internal cells to file
--      for(int i = 1; i <= owner_celllist.Size(); i++)
--      {
--         *outfile << owner_celllist.Elem(i) - 1 << "\n";
--      }
--
--      // Write the owners of the boundary cells to file
--      // (Written in order of ascending boundary condition numbers)
--      for(int i = 1; i <= surfelem_lists.Size(); i++)
--      {
--         *outfile << surfelem_lists.Elem(i).I2() - 1 << "\n";
--      }
--      *outfile << ")\n\n";
--      WriteOpenFOAM15xDividerEnd(outfile);
--   }
--
--
--
--   static void WriteFacesFile (ostream * outfile, const Mesh & mesh)
--   {
--      const MeshTopology& meshtopo = mesh.GetTopology();
--
--      // Write the OpenFOAM standard banner and dividers, etc...
--      WriteOpenFOAM15xBanner(outfile);
--      *outfile << "FoamFile \n"
--              << "{ \n"
--              << "    version     2.0; \n"
--              << "    format      ascii; \n"
--              << "    class       faceList; \n"
--              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
--              << "    location    \"constant\\polyMesh\"; \n"
--              << "    object      faces; \n"
--              << "} \n";
--      WriteOpenFOAM15xDividerStart(outfile);
--
--      *outfile << "\n\n";
--
--      int nfaces = owner_facelist.Size() + surfelem_lists.Size();
--
--      *outfile << nfaces << "\n";
--
--      *outfile << "(\n";
--
--      // Array to hold the indices of the points of each face to 
--      // flip if required 
--      Array<int> facepnts;
--
--      // Write the faces in the order specified in the owners lists of the 
--      // internal cells and the boundary cells
--      for(int i = 1; i <= owner_facelist.Size(); i++)
--      {
--         int face_w_orientation = owner_facelist.Elem(i);
--         int facenr = abs(face_w_orientation);
--
--         meshtopo.GetFaceVertices(facenr,facepnts);
--
--         // Get the orientation of the face, and invert it if required
--         // Since the faces already have the orientation "embedded" into 
--         // them by means of the prepended sign, only this needs to be 
--         // checked for...
--         if(face_w_orientation > 0)
--         {
--            int tmppnts = 0;
--
--            if(facepnts.Size() == 4)
--            {
--               tmppnts = facepnts.Elem(1);
--               facepnts.Elem(1) = facepnts.Elem(2);
--               facepnts.Elem(2) = tmppnts;
--               
--               tmppnts = facepnts.Elem(3);
--               facepnts.Elem(3) = facepnts.Elem(4);
--               facepnts.Elem(4) = tmppnts;
--            }
--            else if(facepnts.Size() == 3)
--            {
--               tmppnts = facepnts.Elem(1);
--               facepnts.Elem(1) = facepnts.Elem(3);
--               facepnts.Elem(3) = tmppnts;
--            }
--         }
--
--         *outfile << facepnts.Size();
--         *outfile << "(";
--         for(int j = 1; j <= facepnts.Size(); j++)
--         {
--            *outfile << facepnts.Elem(j)-1;
--            if(j != facepnts.Size()) *outfile << " ";
--         }
--         *outfile << ")\n";
--      }
--
--      // Now append the faces of the surface elements (written in 
--      // ascending order of boundary condition number) also into 
--      // the faces file
--      for(int i = 1; i <= surfelem_lists.Size(); i++)
--      {
--         int face_w_orientation = surfelem_lists.Elem(i).I1();
--         int facenr = abs(face_w_orientation);
--
--         meshtopo.GetFaceVertices(facenr,facepnts);
--
--         // Get the orientation of the face, and invert it if required
--         if(face_w_orientation > 0)
--         {
--            int tmppnts = 0;
--
--            if(facepnts.Size() == 4)
--            {
--               tmppnts = facepnts.Elem(1);
--               facepnts.Elem(1) = facepnts.Elem(2);
--               facepnts.Elem(2) = tmppnts;
--               
--               tmppnts = facepnts.Elem(3);
--               facepnts.Elem(3) = facepnts.Elem(4);
--               facepnts.Elem(4) = tmppnts;
--            }
--            else if(facepnts.Size() == 3)
--            {
--               tmppnts = facepnts.Elem(1);
--               facepnts.Elem(1) = facepnts.Elem(3);
--               facepnts.Elem(3) = tmppnts;
--            }
--         }
--
--         *outfile << facepnts.Size();
--         *outfile << "(";
--         for(int j = 1; j <= facepnts.Size(); j++)
--         {
--            *outfile << facepnts.Elem(j)-1;
--            if(j != facepnts.Size()) *outfile << " ";
--         }
--         *outfile << ")\n";
--      }
--
--      *outfile << ")\n\n";
--      WriteOpenFOAM15xDividerEnd(outfile);
--   }
--
--
-- 
--   static void WritePointsFile (ostream * outfile, const Mesh & mesh)
--   {
--      int np = mesh.GetNP();
--
--      // Write the OpenFOAM standard banner and dividers, etc...
--      WriteOpenFOAM15xBanner(outfile);
--      *outfile << "FoamFile \n"
--              << "{ \n"
--              << "    version     2.0; \n"
--              << "    format      ascii; \n"
--              << "    class       vectorField; \n"
--              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
--              << "    location    \"constant\\polyMesh\"; \n"
--              << "    object      points; \n"
--              << "} \n";
--      WriteOpenFOAM15xDividerStart(outfile);
--
--      *outfile << "\n\n";
--
--      // Number of points in the following list
--      *outfile << np << "\n";
--
--      outfile->precision(6);
--      outfile->setf (ios::fixed, ios::floatfield);
--      outfile->setf (ios::showpoint);
--
--      // Coordinate list starts here
--      *outfile << "(\n";
--
--      for(int i = 1; i <= np; i++)
--      {
--         const Point3d & p = mesh.Point(i);
--
--         // Write coordinates to file
--         *outfile << "(";
--         *outfile << p.X() << " ";
--         *outfile << p.Y() << " ";
--         *outfile << p.Z();
--         *outfile << ")\n";
--      }
--      *outfile << ")\n\n";
--      WriteOpenFOAM15xDividerEnd(outfile);
--   }
--
--
--
--   static void WriteBoundaryFile (ostream * outfile)
--   {
--      // Write the OpenFOAM standard banner and dividers, etc...
--      WriteOpenFOAM15xBanner(outfile);
--      *outfile << "FoamFile \n"
--              << "{ \n"
--              << "    version     2.0; \n"
--              << "    format      ascii; \n"
--              << "    class       polyBoundaryMesh; \n"
--              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
--              << "    location    \"constant\\polyMesh\"; \n"
--              << "    object      boundary; \n"
--              << "} \n";
--      WriteOpenFOAM15xDividerStart(outfile);
--
--      *outfile << "\n";
--
--
--      Array<INDEX_3> bcarray;
--      int ind = 1;
--
--      // Since the boundary conditions are already sorted in ascending 
--      // order, the last element will give the maximum number of possible 
--      // boundary condition entries
--      int bcmax = surfelem_bclist.Elem(surfelem_bclist.Size());
--
--      bcarray.SetSize(bcmax+1);
--
--      bcarray.Elem(ind) = INDEX_3(surfelem_bclist.Elem(1),1,0);
--            
--      for(int i = 2; i <= surfelem_bclist.Size(); i++)
--      {
--         if(surfelem_bclist.Elem(i) == bcarray.Elem(ind).I1())
--         {
--            bcarray.Elem(ind).I2() = bcarray.Elem(ind).I2()+1;
--         }
--         else
--         {
--            ind++;
--            bcarray.Elem(ind) = INDEX_3(surfelem_bclist.Elem(i),1,i-1);
--         }
--      }
--
--      bcarray.SetSize(ind);
--
--      *outfile << bcarray.Size() << "\n";
--      *outfile << "(\n";
--
--      int startface = 0;
--
--      for(int i = 1; i <= bcarray.Size(); i++)
--      {
--         startface = owner_celllist.Size() + bcarray.Elem(i).I3();
--
--         *outfile << "    patch" << bcarray.Elem(i).I1() << "\n"
--                 << "    {\n"
--                 << "        type            patch;\n"
--                 << "        physicalType    patch;\n"
--                 << "        nFaces          " << bcarray.Elem(i).I2() << ";\n"
--                 << "        startFace       " << startface << ";\n"
--                 << "    }\n";
--      }
--
--      *outfile << ")\n\n";
--      WriteOpenFOAM15xDividerEnd(outfile);
--   }
--
--
--
--   void WriteOpenFOAM15xFormat (const Mesh & mesh, const string & casename, const bool compressed)
--   {
--      bool error = false;
--      char casefiles[256];
--
--      // Make sure that the mesh data has been updated
--      const_cast<Mesh&> (mesh).Compress();
--      const_cast<Mesh&> (mesh).CalcSurfacesOfNode();
--      const_cast<Mesh&> (mesh).RebuildSurfaceElementLists();
--      const_cast<Mesh&> (mesh).BuildElementSearchTree();
--
--
--      int np = mesh.GetNP();
--      int nse = mesh.GetNSE();
--      int ne = mesh.GetNE();
--
--      cout << "Write OpenFOAM 1.5+ Mesh Files....\n";
--
--      // Abort if there are no points, surface elements or volume elements
--      if((np <= 0) || (ne <= 0) || (nse <= 0))
--      {
--         cout << "Export Error: Invalid mesh.... Aborting!\n";
--         return;
--      }
--
--      // OpenFOAM only supports linear meshes!
--      if(mparam.secondorder || mesh.GetCurvedElements().IsHighOrder())
--      {
--         cout << "Export Error: OpenFOAM 1.5+ does not support non-linear elements.... Aborting!\n";
--         return;
--      }
--
--      if(( (mesh.SurfaceElement(nse/2).GetType() != TRIG) 
--         && (mesh.SurfaceElement(nse/2).GetType() != QUAD) )
--         || (mesh.VolumeElement(ne/2).GetType() == TET10)
--         || (mesh.VolumeElement(ne/2).GetType() == PRISM12))
--      {
--         cout << "Export Error: OpenFOAM 1.5+ does not support non-linear elements.... Aborting!\n";
--         return;
--      }
--
--
--      cout << "Writing OpenFOAM 1.5+ Mesh files to case: " << casename << "\n";
--
--      // Create the case directory if it does not already exist
--      // NOTE: This needs to be improved for the Linux variant....!!!
--   #ifdef WIN32
--      char casedir[256];
--      sprintf(casedir, "mkdir %s\\constant\\polyMesh", casename.c_str());
--      system(casedir);
--   #else
--      char casedir[256];
--      mkdir(casename.c_str(), S_IRWXU|S_IRWXG);
--      sprintf(casedir, "%s/constant", casename.c_str());
--      mkdir(casedir, S_IRWXU|S_IRWXG);
--      sprintf(casedir, "%s/constant/polyMesh", casename.c_str());
--      mkdir(casedir, S_IRWXU|S_IRWXG);
--   #endif
--
--      // Open handles to the five required mesh files
--      // points
--      // faces
--      // owner
--      // neighbour
--      // boundary
--        ostream *outfile_pnts;
--        ostream *outfile_faces;
--        ostream *outfile_own;
--        ostream *outfile_nei;
--        ostream *outfile_bnd;
--
--        if(compressed)
--        {
--                sprintf(casefiles, "%s/constant/polyMesh/points.gz", casename.c_str());
--                outfile_pnts = new ogzstream(casefiles);
--        }
--        else
--        {
--                sprintf(casefiles, "%s/constant/polyMesh/points", casename.c_str());
--                outfile_pnts = new ofstream(casefiles);
--        }
--
--        if(compressed)
--        {
--                sprintf(casefiles, "%s/constant/polyMesh/faces.gz", casename.c_str());
--                outfile_faces = new ogzstream(casefiles);
--        }
--        else
--        {
--                sprintf(casefiles, "%s/constant/polyMesh/faces", casename.c_str());
--                outfile_faces = new ofstream(casefiles);
--        }
--
--        if(compressed)
--        {
--                sprintf(casefiles, "%s/constant/polyMesh/owner.gz", casename.c_str()); 
--                outfile_own = new ogzstream(casefiles);
--        }
--        else
--        {
--                sprintf(casefiles, "%s/constant/polyMesh/owner", casename.c_str()); 
--                outfile_own = new ofstream(casefiles);
--        }
--
--        if(compressed)
--        {
--                sprintf(casefiles, "%s/constant/polyMesh/neighbour.gz", casename.c_str());
--                outfile_nei = new ogzstream(casefiles);
--        }
--        else
--        {
--                sprintf(casefiles, "%s/constant/polyMesh/neighbour", casename.c_str());
--                outfile_nei = new ofstream(casefiles);
--        }
--
--        // Note... the boundary file is not compressed
--      sprintf(casefiles, "%s/constant/polyMesh/boundary", casename.c_str()); 
--      outfile_bnd = new ofstream(casefiles);
--
--      ResetTime();
--
--      // Build the owner, neighbour, faces and boundary lists 
--      // from the Netgen mesh
--      cout << "\nBuilding Owner, Neighbour and Face Lists: ";
--
--      error = BuildOwnerNeighbourLists(mesh);
--
--      cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
--
--
--      // Write the "owner" file
--      if(outfile_own->good() && !error)
--      {
--         cout << "Writing the owner file: ";
--         WriteOwnerFile(outfile_own);
--         delete outfile_own;
--         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
--      }
--      else
--      {
--         cout << "Export Error: Error creating file: owner.... Aborting\n";
--         error = true;
--      }
--
--
--      // Write the "neighbour" file
--      if(outfile_nei->good() && !error)
--      {
--         cout << "Writing the neighbour file: ";
--         WriteNeighbourFile(outfile_nei);
--         delete outfile_nei;
--         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
--      }
--      else
--      {
--         cout << "Export Error: Error creating file: neighbour.... Aborting\n";
--         error = true;
--      }
--
--
--      // Write the "faces" file
--      if(outfile_faces->good() && !error)
--      {
--         cout << "Writing the faces file: ";
--         WriteFacesFile(outfile_faces, mesh);
--         delete outfile_faces;
--         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
--      }
--      else
--      {
--         cout << "Export Error: Error creating file: faces.... Aborting\n";
--         error = true;
--      }
--
--
--      // Write the "points" file
--      if(outfile_pnts->good() && !error)
--      {
--         cout << "Writing the points file: ";
--         WritePointsFile(outfile_pnts,mesh);
--         delete outfile_pnts;
--         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
--      }
--      else
--      {
--         cout << "Export Error: Error creating file: points.... Aborting\n";
--         error = true;
--      }
--
--
--      // Write the "boundary" file
--      if(outfile_bnd->good() && !error)
--      {
--         cout << "Writing the boundary file: ";
--         WriteBoundaryFile(outfile_bnd);
--         delete outfile_bnd;
--         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
--      }
--      else
--      {
--         cout << "Export Error: Error creating file: boundary.... Aborting\n";
--         error = true;
--      }
--
--      if(!error)
--      {
--         cout << "OpenFOAM 1.5+ Export successfully completed (Time elapsed = " << GetTime() << " sec) !\n";
--      }
--      else
--      {
--         cout << "Error in OpenFOAM 1.5+ Export.... Aborted!\n";
--      }
--   }
--}
--
-+/*! \file writeOpenFOAM15x.cpp
-+*  \brief Export Netgen Mesh in the OpenFOAM 1.5+ File format
-+*  \author Philippose Rajan
-+*  \date 25 October 2009
-+*
-+*  This function extends the export capabilities of
-+*  Netgen to include the OpenFOAM 1.5+ File Format.
-+*
-+*  The OpenFOAM 1.5+ mesh format consists of a set of 5 files
-+*  which together define the mesh points, faces, cells and
-+*  boundary conditions.
-+*
-+*  The files are:
-+*  1. points    -> A list of the point co-ordinates
-+*  2. faces     -> A list of the faces with format <n>(pnt_ind1 pnt_ind2 .... pnt_ind<n>)
-+*  3. owner     -> The owner cell of each face
-+*  4. neighbour -> The neighbour cell of each face
-+*  5. boundary  -> The set of boundaries with name, start face, and num. of faces
-+*
-+*  For a detailed description of the format, refer to the following link:
-+*  http://openfoamwiki.net/index.php/Write_OpenFOAM_meshes
-+*
-+*/
-+
-+#include <mystdlib.h>
-+
-+#include <myadt.hpp>
-+#include <linalg.hpp>
-+#include <csg.hpp>
-+#include <meshing.hpp>
-+#include <sys/stat.h>
-+
-+
-+namespace netgen
-+{
-+#include "writeuser.hpp"
-+
-+   // Global arrays used to maintain the owner, neighbour and face lists
-+   // so that they are accessible across functions
-+   static Array<int> owner_facelist;
-+   static Array<int> owner_celllist;
-+   static Array<int> neighbour_celllist;
-+   static Array<int> surfelem_bclist;
-+   static Array<INDEX_2> surfelem_lists;
-+
-+
-+
-+   static void WriteOpenFOAM15xBanner(ostream * outfile)
-+   {
-+      static char FOAMversion[4] = "1.5";
-+      static char spaces[40];
-+
-+      memset(spaces, ' ', 40);
-+      spaces[38 - strlen(FOAMversion)] = '\0';
-+
-+      *outfile <<
-+              "/*--------------------------------*- C++ -*----------------------------------*\\\n";
-+
-+      *outfile <<
-+              "| =========                 |                                                 |\n"
-+              "| \\\\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |\n"
-+              "|  \\\\    /   O peration     | Version:  " << FOAMversion << spaces << "|\n"
-+              "|   \\\\  /    A nd           | Web:      http://www.OpenFOAM.org               |\n"
-+              "|    \\\\/     M anipulation  |                                                 |\n"
-+              "\\*---------------------------------------------------------------------------*/\n";
-+
-+   }
-+
-+
-+
-+   static void WriteOpenFOAM15xDividerStart(ostream * outfile)
-+   {
-+      *outfile  <<
-+               "// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //\n";
-+   }
-+
-+
-+
-+   static void WriteOpenFOAM15xDividerEnd(ostream * outfile)
-+   {
-+      *outfile <<
-+              "// ************************************************************************* //\n";
-+   }
-+
-+
-+
-+   static bool BuildOwnerNeighbourLists (const Mesh & mesh)
-+   {
-+      // Clear all the arrays
-+      owner_facelist.DeleteAll();
-+      owner_celllist.DeleteAll();
-+      neighbour_celllist.DeleteAll();
-+      surfelem_bclist.DeleteAll();
-+      surfelem_lists.DeleteAll();
-+
-+      const MeshTopology& meshtopo = mesh.GetTopology();
-+
-+      // Update the mesh topology structures
-+      const_cast<MeshTopology&> (meshtopo).SetBuildEdges(true);
-+      const_cast<MeshTopology&> (meshtopo).SetBuildFaces(true);
-+      const_cast<MeshTopology&> (meshtopo).Update();
-+
-+      // Extract important mesh metrics
-+      int ne = mesh.GetNE();
-+      int nse = mesh.GetNSE();
-+      int totfaces = meshtopo.GetNFaces();
-+
-+      // Preset the size of the arrays to speed up future operations
-+      // Number of internal faces = total faces - num. of surface faces
-+      owner_facelist.SetSize(totfaces - nse);
-+      owner_celllist.SetSize(totfaces - nse);
-+      neighbour_celllist.SetSize(totfaces - nse);
-+      surfelem_bclist.SetSize(nse);
-+      surfelem_lists.SetSize(nse);
-+
-+      // Initialise arrays to zero if required
-+      neighbour_celllist = 0;
-+
-+      // Array used to keep track of Faces which have already been
-+      // processed and added to the Owner list... In addition, also the
-+      // location where the face appears in the Owner list is also stored
-+      // to speed up creation of the Neighbour list
-+      Array<int> ownerfaces(totfaces);
-+      ownerfaces = 0;
-+
-+      // Array to hold the set of local faces of each volume element
-+      // while running through the set of volume elements
-+      // NOTE: The size is set automatically by the Netgen topology function
-+      Array<int> locfaces;
-+
-+      // Secondary indices used to independently advance the owner
-+      // and boundary condition arrays within the main loop
-+      int owner_ind = 1;
-+      int bc_ind = 1;
-+
-+      // Loop through all the volume elements
-+      for(int elind = 1; elind <= ne; elind++)
-+      {
-+         // Extract the current volume element
-+      // const Element & el = mesh.VolumeElement(elind);
-+
-+         // Get the face numbers of the faces of the current volume element
-+         // The values returned are given a sign depending on the orientation
-+         // of the faces. This is used while writing the faces file, to
-+         // determine whether or not to invert the face triangle before writing
-+         // it to file
-+         meshtopo.GetElementFaces(elind,locfaces,true);
-+
-+         // Loop through the faces
-+         for(int i = 1; i <= locfaces.Size(); i++)
-+         {
-+            // The absolute value of a face number (because the faces
-+            // returned by the GetElementFaces function prepend it
-+            // with a sign depending on the face orientation)
-+            int absfacenr = abs(locfaces.Elem(i));
-+
-+            // If the face already exists in the owner list, add
-+            // the current cell into the neighbour list, in the
-+            // same location where the face appears in the owner list
-+            int owner_face = ownerfaces.Elem(absfacenr);
-+            if(owner_face)
-+            {
-+               neighbour_celllist.Elem(owner_face) = elind;
-+
-+               // From this point on, the code within this "if" block
-+               // basically sorts the order of the the Neighbour cells (along
-+               // with the faces list) in ascending order.
-+               // The approach used is..... to traverse the owner and neighbour cell lists
-+               // up and down, and sort the neighbour cells of a given owner cell
-+               // as the list evolves.
-+               // NOTE: A value of "zero" in the neighbour list implies that
-+               // the neighbour has not been found yet, so the "zero" locations need
-+               // to be skipped while sorting in ascending order
-+               int curr_owner = owner_celllist.Elem(owner_face);
-+
-+               int peek_loc = owner_face - 1;
-+               int new_loc = owner_face;
-+
-+               // Traversing upwards in the list
-+               while((owner_celllist.Elem(peek_loc) == curr_owner) && (peek_loc >= 1))
-+               {
-+                  if((neighbour_celllist.Elem(peek_loc) != 0)
-+                     && (neighbour_celllist.Elem(new_loc) < neighbour_celllist.Elem(peek_loc)))
-+                  {
-+                     Swap(neighbour_celllist.Elem(new_loc),neighbour_celllist.Elem(peek_loc));
-+                     Swap(owner_facelist.Elem(new_loc),owner_facelist.Elem(peek_loc));
-+                     new_loc = peek_loc;
-+                  }
-+
-+                  peek_loc--;
-+               }
-+
-+               peek_loc = owner_face + 1;
-+
-+               // Traversing downwards in the list
-+               while((owner_celllist.Elem(peek_loc) == curr_owner) && (peek_loc <= owner_ind))
-+               {
-+                  if((neighbour_celllist.Elem(peek_loc) != 0)
-+                     && (neighbour_celllist.Elem(new_loc) > neighbour_celllist.Elem(peek_loc)))
-+                  {
-+                     Swap(neighbour_celllist.Elem(new_loc),neighbour_celllist.Elem(peek_loc));
-+                     Swap(owner_facelist.Elem(new_loc),owner_facelist.Elem(peek_loc));
-+                     new_loc = peek_loc;
-+                  }
-+
-+                  peek_loc++;
-+               }
-+
-+               continue;
-+            }
-+
-+            // Check if the face is a surface element (boundary face)
-+            // if not, add the current volume element and the corresponding face into
-+            // the owner list
-+            int surfelem = meshtopo.GetFace2SurfaceElement(absfacenr);
-+            if(!surfelem)
-+            {
-+               // If it is a new face which has not been listed before,
-+               // add the current cell into the owner list, and save
-+               // the index location to be used later by the neighbour list
-+               owner_celllist.Elem(owner_ind) = elind;
-+               owner_facelist.Elem(owner_ind) = locfaces.Elem(i);
-+               // Update the array to indicate that the face is already processed
-+               ownerfaces.Elem(absfacenr) = owner_ind;
-+
-+               owner_ind++;
-+            }
-+            // If the face is a boundary face, extract the boundary condition number of the
-+            // face, and append that along with the face number and the current cell
-+            // into the various surface elements lists
-+            else
-+            {
-+               Element2d sel = mesh.SurfaceElement(surfelem);
-+               surfelem_bclist.Elem(bc_ind) = mesh.GetFaceDescriptor(sel.GetIndex()).BCProperty();
-+               surfelem_lists.Elem(bc_ind) = INDEX_2(locfaces.Elem(i),elind);
-+
-+               bc_ind++;
-+            }
-+         }
-+      }
-+
-+      // This correction is required in cases where the mesh has been "uniform refined".... for
-+      // some reason, the number of faces reported by Netgen is higher than the actual number
-+      // of faces in the mesh
-+      owner_facelist.SetSize(owner_ind-1);
-+      owner_celllist.SetSize(owner_ind-1);
-+      neighbour_celllist.SetSize(owner_ind-1);
-+
-+
-+      // Sort the list of surface elements in ascending order of boundary condition number
-+      // also sort the cell list in the same manner
-+      QuickSort(surfelem_bclist,surfelem_lists);
-+
-+/*
-+      // Debugging output to a file
-+      ofstream dbg("OpenFOAMDebug.log");
-+
-+      dbg << " ------- Boundary List -------- \n";
-+
-+      for(int i = 1; i <= surfelem_bclist.Size(); i++)
-+      {
-+         dbg << "bc = " << surfelem_bclist.Elem(i)
-+              << " : face = " << surfelem_lists.Elem(i).I1()
-+              << " : cell = " << surfelem_lists.Elem(i).I2() << "\n";
-+      }
-+
-+      dbg << "\n ------- Owner / Face / Neighbour List ------- \n";
-+
-+      for(int i = 1; i <= owner_celllist.Size(); i++)
-+      {
-+         dbg << "Ind:" << i << " :: ("
-+              << owner_celllist.Elem(i) << " "
-+              << owner_facelist.Elem(i) << "  "
-+              << neighbour_celllist.Elem(i) << ")\n";
-+      }
-+
-+      dbg.close();
-+*/
-+      return(false);
-+   }
-+
-+
-+
-+   static void WriteNeighbourFile (ostream * outfile)
-+   {
-+      // Write the OpenFOAM standard banner and dividers, etc...
-+      WriteOpenFOAM15xBanner(outfile);
-+      *outfile << "FoamFile \n"
-+              << "{ \n"
-+              << "    version     2.0; \n"
-+              << "    format      ascii; \n"
-+              << "    class       labelList; \n"
-+              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
-+              << "    location    \"constant\\polyMesh\"; \n"
-+              << "    object      neighbour; \n"
-+              << "} \n";
-+      WriteOpenFOAM15xDividerStart(outfile);
-+
-+      *outfile << "\n\n";
-+
-+      int nneighbours = neighbour_celllist.Size();
-+
-+      *outfile << nneighbours << "\n";
-+
-+      *outfile << "(\n";
-+
-+      // Write the neighbour cells to file
-+      for(int i = 1; i <= neighbour_celllist.Size(); i++)
-+      {
-+         *outfile << neighbour_celllist.Elem(i) - 1 << "\n";
-+      }
-+      *outfile << ")\n\n";
-+      WriteOpenFOAM15xDividerEnd(outfile);
-+   }
-+
-+
-+
-+   static void WriteOwnerFile (ostream * outfile)
-+   {
-+      // Write the OpenFOAM standard banner and dividers, etc...
-+      WriteOpenFOAM15xBanner(outfile);
-+      *outfile << "FoamFile \n"
-+              << "{ \n"
-+              << "    version     2.0; \n"
-+              << "    format      ascii; \n"
-+              << "    class       labelList; \n"
-+              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
-+              << "    location    \"constant\\polyMesh\"; \n"
-+              << "    object      owner; \n"
-+              << "} \n";
-+      WriteOpenFOAM15xDividerStart(outfile);
-+
-+      *outfile << "\n\n";
-+
-+      int nowners = owner_celllist.Size() + surfelem_lists.Size();
-+
-+      *outfile << nowners << "\n";
-+
-+      *outfile << "(\n";
-+
-+      // Write the owners of the internal cells to file
-+      for(int i = 1; i <= owner_celllist.Size(); i++)
-+      {
-+         *outfile << owner_celllist.Elem(i) - 1 << "\n";
-+      }
-+
-+      // Write the owners of the boundary cells to file
-+      // (Written in order of ascending boundary condition numbers)
-+      for(int i = 1; i <= surfelem_lists.Size(); i++)
-+      {
-+         *outfile << surfelem_lists.Elem(i).I2() - 1 << "\n";
-+      }
-+      *outfile << ")\n\n";
-+      WriteOpenFOAM15xDividerEnd(outfile);
-+   }
-+
-+
-+
-+   static void WriteFacesFile (ostream * outfile, const Mesh & mesh)
-+   {
-+      const MeshTopology& meshtopo = mesh.GetTopology();
-+
-+      // Write the OpenFOAM standard banner and dividers, etc...
-+      WriteOpenFOAM15xBanner(outfile);
-+      *outfile << "FoamFile \n"
-+              << "{ \n"
-+              << "    version     2.0; \n"
-+              << "    format      ascii; \n"
-+              << "    class       faceList; \n"
-+              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
-+              << "    location    \"constant\\polyMesh\"; \n"
-+              << "    object      faces; \n"
-+              << "} \n";
-+      WriteOpenFOAM15xDividerStart(outfile);
-+
-+      *outfile << "\n\n";
-+
-+      int nfaces = owner_facelist.Size() + surfelem_lists.Size();
-+
-+      *outfile << nfaces << "\n";
-+
-+      *outfile << "(\n";
-+
-+      // Array to hold the indices of the points of each face to
-+      // flip if required
-+      Array<int> facepnts;
-+
-+      // Write the faces in the order specified in the owners lists of the
-+      // internal cells and the boundary cells
-+      for(int i = 1; i <= owner_facelist.Size(); i++)
-+      {
-+         int face_w_orientation = owner_facelist.Elem(i);
-+         int facenr = abs(face_w_orientation);
-+
-+         meshtopo.GetFaceVertices(facenr,facepnts);
-+
-+         // Get the orientation of the face, and invert it if required
-+         // Since the faces already have the orientation "embedded" into
-+         // them by means of the prepended sign, only this needs to be
-+         // checked for...
-+         if(face_w_orientation > 0)
-+         {
-+            int tmppnts = 0;
-+
-+            if(facepnts.Size() == 4)
-+            {
-+               tmppnts = facepnts.Elem(1);
-+               facepnts.Elem(1) = facepnts.Elem(2);
-+               facepnts.Elem(2) = tmppnts;
-+
-+               tmppnts = facepnts.Elem(3);
-+               facepnts.Elem(3) = facepnts.Elem(4);
-+               facepnts.Elem(4) = tmppnts;
-+            }
-+            else if(facepnts.Size() == 3)
-+            {
-+               tmppnts = facepnts.Elem(1);
-+               facepnts.Elem(1) = facepnts.Elem(3);
-+               facepnts.Elem(3) = tmppnts;
-+            }
-+         }
-+
-+         *outfile << facepnts.Size();
-+         *outfile << "(";
-+         for(int j = 1; j <= facepnts.Size(); j++)
-+         {
-+            *outfile << facepnts.Elem(j)-1;
-+            if(j != facepnts.Size()) *outfile << " ";
-+         }
-+         *outfile << ")\n";
-+      }
-+
-+      // Now append the faces of the surface elements (written in
-+      // ascending order of boundary condition number) also into
-+      // the faces file
-+      for(int i = 1; i <= surfelem_lists.Size(); i++)
-+      {
-+         int face_w_orientation = surfelem_lists.Elem(i).I1();
-+         int facenr = abs(face_w_orientation);
-+
-+         meshtopo.GetFaceVertices(facenr,facepnts);
-+
-+         // Get the orientation of the face, and invert it if required
-+         if(face_w_orientation > 0)
-+         {
-+            int tmppnts = 0;
-+
-+            if(facepnts.Size() == 4)
-+            {
-+               tmppnts = facepnts.Elem(1);
-+               facepnts.Elem(1) = facepnts.Elem(2);
-+               facepnts.Elem(2) = tmppnts;
-+
-+               tmppnts = facepnts.Elem(3);
-+               facepnts.Elem(3) = facepnts.Elem(4);
-+               facepnts.Elem(4) = tmppnts;
-+            }
-+            else if(facepnts.Size() == 3)
-+            {
-+               tmppnts = facepnts.Elem(1);
-+               facepnts.Elem(1) = facepnts.Elem(3);
-+               facepnts.Elem(3) = tmppnts;
-+            }
-+         }
-+
-+         *outfile << facepnts.Size();
-+         *outfile << "(";
-+         for(int j = 1; j <= facepnts.Size(); j++)
-+         {
-+            *outfile << facepnts.Elem(j)-1;
-+            if(j != facepnts.Size()) *outfile << " ";
-+         }
-+         *outfile << ")\n";
-+      }
-+
-+      *outfile << ")\n\n";
-+      WriteOpenFOAM15xDividerEnd(outfile);
-+   }
-+
-+
-+
-+   static void WritePointsFile (ostream * outfile, const Mesh & mesh)
-+   {
-+      int np = mesh.GetNP();
-+
-+      // Write the OpenFOAM standard banner and dividers, etc...
-+      WriteOpenFOAM15xBanner(outfile);
-+      *outfile << "FoamFile \n"
-+              << "{ \n"
-+              << "    version     2.0; \n"
-+              << "    format      ascii; \n"
-+              << "    class       vectorField; \n"
-+              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
-+              << "    location    \"constant\\polyMesh\"; \n"
-+              << "    object      points; \n"
-+              << "} \n";
-+      WriteOpenFOAM15xDividerStart(outfile);
-+
-+      *outfile << "\n\n";
-+
-+      // Number of points in the following list
-+      *outfile << np << "\n";
-+
-+      outfile->precision(6);
-+      outfile->setf (ios::fixed, ios::floatfield);
-+      outfile->setf (ios::showpoint);
-+
-+      // Coordinate list starts here
-+      *outfile << "(\n";
-+
-+      for(int i = 1; i <= np; i++)
-+      {
-+         const Point3d & p = mesh.Point(i);
-+
-+         // Write coordinates to file
-+         *outfile << "(";
-+         *outfile << p.X() << " ";
-+         *outfile << p.Y() << " ";
-+         *outfile << p.Z();
-+         *outfile << ")\n";
-+      }
-+      *outfile << ")\n\n";
-+      WriteOpenFOAM15xDividerEnd(outfile);
-+   }
-+
-+
-+
-+   static void WriteBoundaryFile (ostream * outfile)
-+   {
-+      // Write the OpenFOAM standard banner and dividers, etc...
-+      WriteOpenFOAM15xBanner(outfile);
-+      *outfile << "FoamFile \n"
-+              << "{ \n"
-+              << "    version     2.0; \n"
-+              << "    format      ascii; \n"
-+              << "    class       polyBoundaryMesh; \n"
-+              << "    note        \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n"
-+              << "    location    \"constant\\polyMesh\"; \n"
-+              << "    object      boundary; \n"
-+              << "} \n";
-+      WriteOpenFOAM15xDividerStart(outfile);
-+
-+      *outfile << "\n";
-+
-+
-+      Array<INDEX_3> bcarray;
-+      int ind = 1;
-+
-+      // Since the boundary conditions are already sorted in ascending
-+      // order, the last element will give the maximum number of possible
-+      // boundary condition entries
-+      int bcmax = surfelem_bclist.Elem(surfelem_bclist.Size());
-+
-+      bcarray.SetSize(bcmax+1);
-+
-+      bcarray.Elem(ind) = INDEX_3(surfelem_bclist.Elem(1),1,0);
-+
-+      for(int i = 2; i <= surfelem_bclist.Size(); i++)
-+      {
-+         if(surfelem_bclist.Elem(i) == bcarray.Elem(ind).I1())
-+         {
-+            bcarray.Elem(ind).I2() = bcarray.Elem(ind).I2()+1;
-+         }
-+         else
-+         {
-+            ind++;
-+            bcarray.Elem(ind) = INDEX_3(surfelem_bclist.Elem(i),1,i-1);
-+         }
-+      }
-+
-+      bcarray.SetSize(ind);
-+
-+      *outfile << bcarray.Size() << "\n";
-+      *outfile << "(\n";
-+
-+      int startface = 0;
-+
-+      for(int i = 1; i <= bcarray.Size(); i++)
-+      {
-+         startface = owner_celllist.Size() + bcarray.Elem(i).I3();
-+
-+         *outfile << "    patch" << bcarray.Elem(i).I1() << "\n"
-+                 << "    {\n"
-+                 << "        type            patch;\n"
-+                 << "        physicalType    patch;\n"
-+                 << "        nFaces          " << bcarray.Elem(i).I2() << ";\n"
-+                 << "        startFace       " << startface << ";\n"
-+                 << "    }\n";
-+      }
-+
-+      *outfile << ")\n\n";
-+      WriteOpenFOAM15xDividerEnd(outfile);
-+   }
-+
-+
-+
-+   void WriteOpenFOAM15xFormat (const Mesh & mesh, const string & casename, const bool compressed)
-+   {
-+      bool error = false;
-+      char casefiles[256];
-+
-+      // Make sure that the mesh data has been updated
-+      const_cast<Mesh&> (mesh).Compress();
-+      const_cast<Mesh&> (mesh).CalcSurfacesOfNode();
-+      const_cast<Mesh&> (mesh).RebuildSurfaceElementLists();
-+      const_cast<Mesh&> (mesh).BuildElementSearchTree();
-+
-+
-+      int np = mesh.GetNP();
-+      int nse = mesh.GetNSE();
-+      int ne = mesh.GetNE();
-+
-+      cout << "Write OpenFOAM 1.5+ Mesh Files....\n";
-+
-+      // Abort if there are no points, surface elements or volume elements
-+      if((np <= 0) || (ne <= 0) || (nse <= 0))
-+      {
-+         cout << "Export Error: Invalid mesh.... Aborting!\n";
-+         return;
-+      }
-+
-+      // OpenFOAM only supports linear meshes!
-+      if(mparam.secondorder || mesh.GetCurvedElements().IsHighOrder())
-+      {
-+         cout << "Export Error: OpenFOAM 1.5+ does not support non-linear elements.... Aborting!\n";
-+         return;
-+      }
-+
-+      if(( (mesh.SurfaceElement(nse/2).GetType() != TRIG)
-+         && (mesh.SurfaceElement(nse/2).GetType() != QUAD) )
-+         || (mesh.VolumeElement(ne/2).GetType() == TET10)
-+         || (mesh.VolumeElement(ne/2).GetType() == PRISM12))
-+      {
-+         cout << "Export Error: OpenFOAM 1.5+ does not support non-linear elements.... Aborting!\n";
-+         return;
-+      }
-+
-+
-+      cout << "Writing OpenFOAM 1.5+ Mesh files to case: " << casename << "\n";
-+
-+      // Create the case directory if it does not already exist
-+      // NOTE: This needs to be improved for the Linux variant....!!!
-+   #ifdef WIN32
-+      char casedir[256];
-+      sprintf(casedir, "mkdir %s\\constant\\polyMesh", casename.c_str());
-+      system(casedir);
-+   #else
-+      char casedir[256];
-+      mkdir(casename.c_str(), S_IRWXU|S_IRWXG);
-+      sprintf(casedir, "%s/constant", casename.c_str());
-+      mkdir(casedir, S_IRWXU|S_IRWXG);
-+      sprintf(casedir, "%s/constant/polyMesh", casename.c_str());
-+      mkdir(casedir, S_IRWXU|S_IRWXG);
-+   #endif
-+
-+      // Open handles to the five required mesh files
-+      // points
-+      // faces
-+      // owner
-+      // neighbour
-+      // boundary
-+        ostream *outfile_pnts;
-+        ostream *outfile_faces;
-+        ostream *outfile_own;
-+        ostream *outfile_nei;
-+        ostream *outfile_bnd;
-+
-+        if(compressed)
-+        {
-+                sprintf(casefiles, "%s/constant/polyMesh/points.gz", casename.c_str());
-+                outfile_pnts = new ogzstream(casefiles);
-+        }
-+        else
-+        {
-+                sprintf(casefiles, "%s/constant/polyMesh/points", casename.c_str());
-+                outfile_pnts = new ofstream(casefiles);
-+        }
-+
-+        if(compressed)
-+        {
-+                sprintf(casefiles, "%s/constant/polyMesh/faces.gz", casename.c_str());
-+                outfile_faces = new ogzstream(casefiles);
-+        }
-+        else
-+        {
-+                sprintf(casefiles, "%s/constant/polyMesh/faces", casename.c_str());
-+                outfile_faces = new ofstream(casefiles);
-+        }
-+
-+        if(compressed)
-+        {
-+                sprintf(casefiles, "%s/constant/polyMesh/owner.gz", casename.c_str());
-+                outfile_own = new ogzstream(casefiles);
-+        }
-+        else
-+        {
-+                sprintf(casefiles, "%s/constant/polyMesh/owner", casename.c_str());
-+                outfile_own = new ofstream(casefiles);
-+        }
-+
-+        if(compressed)
-+        {
-+                sprintf(casefiles, "%s/constant/polyMesh/neighbour.gz", casename.c_str());
-+                outfile_nei = new ogzstream(casefiles);
-+        }
-+        else
-+        {
-+                sprintf(casefiles, "%s/constant/polyMesh/neighbour", casename.c_str());
-+                outfile_nei = new ofstream(casefiles);
-+        }
-+
-+        // Note... the boundary file is not compressed
-+      sprintf(casefiles, "%s/constant/polyMesh/boundary", casename.c_str());
-+      outfile_bnd = new ofstream(casefiles);
-+
-+      ResetTime();
-+
-+      // Build the owner, neighbour, faces and boundary lists
-+      // from the Netgen mesh
-+      cout << "\nBuilding Owner, Neighbour and Face Lists: ";
-+
-+      error = BuildOwnerNeighbourLists(mesh);
-+
-+      cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
-+
-+
-+      // Write the "owner" file
-+      if(outfile_own->good() && !error)
-+      {
-+         cout << "Writing the owner file: ";
-+         WriteOwnerFile(outfile_own);
-+         delete outfile_own;
-+         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
-+      }
-+      else
-+      {
-+         cout << "Export Error: Error creating file: owner.... Aborting\n";
-+         error = true;
-+      }
-+
-+
-+      // Write the "neighbour" file
-+      if(outfile_nei->good() && !error)
-+      {
-+         cout << "Writing the neighbour file: ";
-+         WriteNeighbourFile(outfile_nei);
-+         delete outfile_nei;
-+         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
-+      }
-+      else
-+      {
-+         cout << "Export Error: Error creating file: neighbour.... Aborting\n";
-+         error = true;
-+      }
-+
-+
-+      // Write the "faces" file
-+      if(outfile_faces->good() && !error)
-+      {
-+         cout << "Writing the faces file: ";
-+         WriteFacesFile(outfile_faces, mesh);
-+         delete outfile_faces;
-+         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
-+      }
-+      else
-+      {
-+         cout << "Export Error: Error creating file: faces.... Aborting\n";
-+         error = true;
-+      }
-+
-+
-+      // Write the "points" file
-+      if(outfile_pnts->good() && !error)
-+      {
-+         cout << "Writing the points file: ";
-+         WritePointsFile(outfile_pnts,mesh);
-+         delete outfile_pnts;
-+         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
-+      }
-+      else
-+      {
-+         cout << "Export Error: Error creating file: points.... Aborting\n";
-+         error = true;
-+      }
-+
-+
-+      // Write the "boundary" file
-+      if(outfile_bnd->good() && !error)
-+      {
-+         cout << "Writing the boundary file: ";
-+         WriteBoundaryFile(outfile_bnd);
-+         delete outfile_bnd;
-+         cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n";
-+      }
-+      else
-+      {
-+         cout << "Export Error: Error creating file: boundary.... Aborting\n";
-+         error = true;
-+      }
-+
-+      if(!error)
-+      {
-+         cout << "OpenFOAM 1.5+ Export successfully completed (Time elapsed = " << GetTime() << " sec) !\n";
-+      }
-+      else
-+      {
-+         cout << "Error in OpenFOAM 1.5+ Export.... Aborted!\n";
-+      }
-+   }
-+}
-+
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/interface/writeuser.cpp netgen-5.3.1_SRC_modif/libsrc/interface/writeuser.cpp
---- netgen-5.3.1_SRC_orig/libsrc/interface/writeuser.cpp       2014-08-29 13:54:02.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/interface/writeuser.cpp      2018-03-01 15:45:08.693877037 +0300
-@@ -1,1040 +1,1040 @@
--//
--//  Write user dependent output file
--//
--
--#include <mystdlib.h>
--
--#include <myadt.hpp>
--#include <linalg.hpp>
--#include <csg.hpp>
--#include <geometry2d.hpp>
--#include <meshing.hpp>
--
--namespace netgen
--{
--#include "writeuser.hpp"
--
--
--  void RegisterUserFormats (Array<const char*> & names,
--                          Array<const char*> & extensions)
--                          
--{
--  const char *types[] =
--    {
--      "Neutral Format",  ".mesh",
--      "Surface Mesh Format", ".mesh" ,
--      "DIFFPACK Format", ".mesh",
--      "TecPlot Format", ".mesh",
--      "Tochnog Format", ".mesh",
--      "Abaqus Format", ".mesh",
--      "Fluent Format", ".mesh",
--      "Permas Format", ".mesh",
--      "FEAP Format", ".mesh",
--      "Elmer Format", "*",
--      "STL Format", ".stl",
--      "STL Extended Format", ".stl",
--      "VRML Format", ".*",
--      "Gmsh Format", ".gmsh",
--      "Gmsh2 Format", ".gmsh2",
--      "OpenFOAM 1.5+ Format", "*",
--        "OpenFOAM 1.5+ Compressed", "*",
--      "JCMwave Format", ".jcm",
--      "TET Format", ".tet",
--      //      { "Chemnitz Format" },
--      0
--    };
--  
--  for (int i = 0; types[2*i]; i++)
--    {
--      names.Append (types[2*i]);
--      extensions.Append (types[2*i+1]);
--    }
--}
--  
--
--
--bool WriteUserFormat (const string & format,
--                    const Mesh & mesh,
--                    const NetgenGeometry & hgeom,
--                    const string & filename)
--{
--  const CSGeometry & geom = *dynamic_cast<const CSGeometry*> (&hgeom);
--
--  PrintMessage (1, "Export mesh to file ", filename,
--              ", format is ", format);
--
--  if (format == "Neutral Format")
--    WriteNeutralFormat (mesh, geom, filename);
--
--  else if (format == "Surface Mesh Format")
--    WriteSurfaceFormat (mesh, filename);
--
--  else if (format == "DIFFPACK Format")
--    WriteDiffPackFormat (mesh, geom, filename);
--
--  else if (format == "Tochnog Format")
--    WriteTochnogFormat (mesh, filename);
--
--  else if (format == "TecPlot Format")
--    cerr << "ERROR: TecPlot format currently out of order" << endl;
--      // WriteTecPlotFormat (mesh, geom, filename);
--
--  else if (format == "Abaqus Format")
--    WriteAbaqusFormat (mesh, filename);
--
--  else if (format == "Fluent Format")
--    WriteFluentFormat (mesh, filename);
--
--  else if (format == "Permas Format")
--    WritePermasFormat (mesh, filename);
--
--  else if (format == "FEAP Format")
--    WriteFEAPFormat (mesh, filename);
--
--  else if (format == "Elmer Format")
--    WriteElmerFormat (mesh, filename);
--
--  else if (format == "STL Format")
--    WriteSTLFormat (mesh, filename);
--
--  // Philippose - 16 August 2010
--  // Added additional STL Export in which
--  // each face of the geometry is treated
--  // as a separate "solid" entity
--  else if (format == "STL Extended Format")
--      WriteSTLExtFormat (mesh, filename);
--
--  else if (format == "VRML Format")
--    WriteVRMLFormat (mesh, 1, filename);
--
--  else if (format == "Fepp Format")
--    WriteFEPPFormat (mesh, geom, filename);
--
--  else if (format ==  "EdgeElement Format")
--    WriteEdgeElementFormat (mesh, geom, filename);
--
--  else if (format == "Chemnitz Format")
--    WriteUserChemnitz (mesh, filename);
--
--  else if (format == "Gmsh Format")
--    WriteGmshFormat (mesh, geom, filename);
--
--  // Philippose - 29/01/2009
--  // Added Gmsh v2.xx Mesh export capability
--  else if (format == "Gmsh2 Format")
--    WriteGmsh2Format (mesh, geom, filename);
--
--  // Philippose - 25/10/2009
--  // Added OpenFOAM 1.5+ Mesh export capability
--  else if (format == "OpenFOAM 1.5+ Format")
--    WriteOpenFOAM15xFormat (mesh, filename, false);
--
--  else if (format == "OpenFOAM 1.5+ Compressed")
--    WriteOpenFOAM15xFormat (mesh, filename, true);
--
--  else if (format == "JCMwave Format")
--    WriteJCMFormat (mesh, geom, filename);
--
--#ifdef OLIVER
--  else if (format == "TET Format")
--    WriteTETFormat( mesh, filename);//, "High Frequency" );
--#endif
--
--  else
--    {
--      return 1;
--    }
--
--  return 0;
--}
--
--
--
--
--/*
-- *  Neutral mesh format
-- *  points, elements, surface elements
-- */
--
--void WriteNeutralFormat (const Mesh & mesh,
--                       const CSGeometry & geom,
--                       const string & filename)
--{
--  cout << "write neutral, new" << endl;
--  int np = mesh.GetNP();
--  int ne = mesh.GetNE();
--  int nse = mesh.GetNSE();
--  int nseg = mesh.GetNSeg();
--  int i, j;
--
--  int inverttets = mparam.inverttets;
--  int invertsurf = mparam.inverttrigs;
--
--  ofstream outfile (filename.c_str());
--
--  outfile.precision(6);
--  outfile.setf (ios::fixed, ios::floatfield);
--  outfile.setf (ios::showpoint);
--
--  outfile << np << "\n";
--
--  for (i = 1; i <= np; i++)
--    {
--      const Point3d & p = mesh.Point(i);
--
--      outfile.width(10);
--      outfile << p.X() << " ";
--      outfile.width(9);
--      outfile << p.Y() << " ";
--      if (mesh.GetDimension() == 3)
--      {
--        outfile.width(9);
--        outfile << p.Z();
--        }
--      outfile << "\n";
--    }
--
--  if (mesh.GetDimension() == 3)
--    {
--      outfile << ne << "\n";
--      for (i = 1; i <= ne; i++)
--      {
--        Element el = mesh.VolumeElement(i);
--        if (inverttets)
--          el.Invert();
--        outfile.width(4);
--        outfile << el.GetIndex() << "  ";
--        for (j = 1; j <= el.GetNP(); j++)
--          {
--            outfile << " ";
--            outfile.width(8);
--            outfile << el.PNum(j);
--          }
--        outfile << "\n";
--      }
--    }
--
--  outfile << nse << "\n";
--  for (i = 1; i <= nse; i++)
--    {
--      Element2d el = mesh.SurfaceElement(i);
--      if (invertsurf)
--      el.Invert();
--      outfile.width(4);
--      outfile << mesh.GetFaceDescriptor (el.GetIndex()).BCProperty() << "    ";
--      for (j = 1; j <= el.GetNP(); j++)
--      {
--        outfile << " ";
--        outfile.width(8);
--        outfile << el.PNum(j);
--      }
--      outfile << "\n";
--    }
--
--
--  if (mesh.GetDimension() == 2)
--    {
--      outfile << nseg << "\n";
--      for (i = 1; i <= nseg; i++)
--      {
--        const Segment & seg = mesh.LineSegment(i);
--        outfile.width(4);
--        outfile << seg.si << "    ";
--
--        outfile << " ";
--        outfile.width(8);
--        outfile << seg[0];
--        outfile << " ";
--        outfile.width(8);
--        outfile << seg[1];
--
--        outfile << "\n";
--      }
--    }
--}
--
--
--
--
--
--
--
--
--
--void WriteSurfaceFormat (const Mesh & mesh,
--                       const string & filename)
--{
--  // surface mesh
--  int i, j;
--
--  cout << "Write Surface Mesh" << endl;
--
--  ofstream outfile (filename.c_str());
--
--  outfile << "surfacemesh" << endl;
--
--  outfile << mesh.GetNP() << endl;
--  for (i = 1; i <= mesh.GetNP(); i++)
--    {
--      for (j = 0; j < 3; j++)
--      {
--        outfile.width(10);
--        outfile << mesh.Point(i)(j) << " ";
--      }
--      outfile << endl;
--    }
--  outfile << mesh.GetNSE() << endl;
--  for (i = 1; i <= mesh.GetNSE(); i++)
--    {
--      for (j = 1; j <= 3; j++)
--      {
--        outfile.width(8);
--        outfile << mesh.SurfaceElement(i).PNum(j);
--      }
--      outfile << endl;
--    }
--}
--
--
--
--
--
--/*
-- *  save surface mesh as STL file
-- */
--
--void WriteSTLFormat (const Mesh & mesh,
--                   const string & filename)
--{
--  cout << "\nWrite STL Surface Mesh" << endl;
--
--  ostream *outfile;
--
--  if(filename.substr(filename.length()-3,3) == ".gz")
--        outfile = new ogzstream(filename.c_str());
--  else
--        outfile = new ofstream(filename.c_str());
--
--  int i;
--
--  outfile->precision(10);
--
--  *outfile << "solid" << endl;
--
--  for (i = 1; i <= mesh.GetNSE(); i++)
--    {
--      *outfile << "facet normal ";
--      const Point3d& p1 = mesh.Point(mesh.SurfaceElement(i).PNum(1));
--      const Point3d& p2 = mesh.Point(mesh.SurfaceElement(i).PNum(2));
--      const Point3d& p3 = mesh.Point(mesh.SurfaceElement(i).PNum(3));
--
--      Vec3d normal = Cross(p2-p1,p3-p1);
--      if (normal.Length() != 0)
--      {
--        normal /= (normal.Length());
--      }
--
--      *outfile << normal.X() << " " << normal.Y() << " " << normal.Z() << "\n";
--      *outfile << "outer loop\n";
--
--      *outfile << "vertex " << p1.X() << " " << p1.Y() << " " << p1.Z() << "\n";
--      *outfile << "vertex " << p2.X() << " " << p2.Y() << " " << p2.Z() << "\n";
--      *outfile << "vertex " << p3.X() << " " << p3.Y() << " " << p3.Z() << "\n";
--
--      *outfile << "endloop\n";
--      *outfile << "endfacet\n";
--    }
--  *outfile << "endsolid" << endl;
--}
--
--
--
--
--
--/*
-- *  Philippose - 16 August 2010
-- *  Save surface mesh as STL file
-- *  with a separate solid definition
-- *  for each face
-- *  - This helps in splitting up the
-- *    STL into named boundary faces
-- *    when using a third-party mesher
-- */
--void WriteSTLExtFormat (const Mesh & mesh,
--                   const string & filename)
--{
--  cout << "\nWrite STL Surface Mesh (with separated boundary faces)" << endl;
--
--  ostream *outfile;
--
--  if(filename.substr(filename.length()-3,3) == ".gz")
--        outfile = new ogzstream(filename.c_str());
--  else
--        outfile = new ofstream(filename.c_str());
--
--  outfile->precision(10);
--
--  int numBCs = 0;
--
--  Array<int> faceBCs;
--  TABLE<int> faceBCMapping;
--
--  faceBCs.SetSize(mesh.GetNFD());
--  faceBCMapping.SetSize(mesh.GetNFD());
--
--  faceBCs = -1;
--
--  // Collect the BC numbers used in the mesh
--  for(int faceNr = 1; faceNr <= mesh.GetNFD(); faceNr++)
--  {
--        int bcNum = mesh.GetFaceDescriptor(faceNr).BCProperty();
--
--        if(faceBCs.Pos(bcNum) < 0)
--        {
--        numBCs++;
--                faceBCs.Set(numBCs,bcNum);
--        faceBCMapping.Add1(numBCs,faceNr);        
--        }
--     else
--     {
--        faceBCMapping.Add1(faceBCs.Pos(bcNum)+1,faceNr);
--     }
--  }
--
--  faceBCs.SetSize(numBCs);
--  faceBCMapping.ChangeSize(numBCs);
--
--  // Now actually write the data to file
--  for(int bcInd = 1; bcInd <= faceBCs.Size(); bcInd++)
--  {
--      *outfile << "solid Boundary_" << faceBCs.Elem(bcInd) << "\n";
--
--      for(int faceNr = 1;faceNr <= faceBCMapping.EntrySize(bcInd); faceNr++)
--      {
--          Array<SurfaceElementIndex> faceSei;
--          mesh.GetSurfaceElementsOfFace(faceBCMapping.Get(bcInd,faceNr),faceSei);
--
--          for (int i = 0; i < faceSei.Size(); i++)
--          {
--                *outfile << "facet normal ";
--                const Point3d& p1 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(1));
--                const Point3d& p2 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(2));
--                const Point3d& p3 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(3));
--
--                Vec3d normal = Cross(p2-p1,p3-p1);
--                if (normal.Length() != 0)
--                {
--                        normal /= (normal.Length());
--                }
--
--                *outfile << normal.X() << " " << normal.Y() << " " << normal.Z() << "\n";
--                *outfile << "outer loop\n";
--
--                *outfile << "vertex " << p1.X() << " " << p1.Y() << " " << p1.Z() << "\n";
--                *outfile << "vertex " << p2.X() << " " << p2.Y() << " " << p2.Z() << "\n";
--                *outfile << "vertex " << p3.X() << " " << p3.Y() << " " << p3.Z() << "\n";
--
--                *outfile << "endloop\n";
--                *outfile << "endfacet\n";
--          }
--      }
--      *outfile << "endsolid Boundary_" << faceBCs.Elem(bcInd) << "\n";
--  }
--}
--
--
--
--
--/*
-- *
-- *  write surface mesh as VRML file
-- *
-- */
--
--void WriteVRMLFormat (const Mesh & mesh,
--                    bool faces,
--                    const string & filename)
--{
--
--  if (faces)
--
--    {
--      // Output in VRML, IndexedFaceSet is used
--      // Bartosz Sawicki <sawickib@ee.pw.edu.pl>
--
--      int np = mesh.GetNP();
--      int nse = mesh.GetNSE();
--      int i, j;
--
--      ofstream outfile (filename.c_str());
--
--      outfile.precision(6);
--      outfile.setf (ios::fixed, ios::floatfield);
--      outfile.setf (ios::showpoint);
--
--      outfile << "#VRML V2.0 utf8 \n"
--               "Background {\n"
--               "    skyColor [1 1 1]\n"
--               "    groundColor [1 1 1]\n"
--               "}\n"
--               "Group{ children [\n"
--               "Shape{ \n"
--               "appearance Appearance { material Material { }} \n"
--                 "geometry IndexedFaceSet { \n"
--                 "coord Coordinate { point [ \n";
--
--
--      for (i = 1; i <= np; i++)
--        {
--          const Point3d & p = mesh.Point(i);
--          outfile.width(10);
--          outfile << p.X() << " ";
--          outfile << p.Y() << " ";
--          outfile << p.Z() << " \n";
--      }
--
--      outfile << "  ] } \n"
--                 "coordIndex [ \n";
--
--      for (i = 1; i <= nse; i++)
--      {
--        const Element2d & el = mesh.SurfaceElement(i);
--
--        for (j = 1; j <= 3; j++)
--          {
--            outfile.width(8);
--            outfile << el.PNum(j)-1;
--          }
--        outfile << " -1 \n";
--      }
--
--      outfile << "  ] \n";
--
--      //define number and RGB definitions of colors
--      outfile << "color Color { color [1 0 0, 0 1 0, 0 0 1, 1 1 0]} \n"
--                 "colorIndex [\n";
--
--      for (i = 1; i <= nse; i++)
--      {
--        outfile << mesh.GetFaceDescriptor(mesh.SurfaceElement(i).GetIndex ()).BCProperty();
--          outfile << endl;
--      }
--
--      outfile << " ] \n"
--                 "colorPerVertex FALSE \n"
--                 "creaseAngle 0 \n"
--               "solid FALSE \n"
--                 "ccw FALSE \n"
--               "convex TRUE \n"
--                 "} } # end of Shape\n"
--               "] }\n";
--
--    } /* end of VRMLFACES */
--
--
--  else
--
--    {
--        // Output in VRML, IndexedLineSet is used
--      // Bartosz Sawicki <sawickib@ee.pw.edu.pl>
--
--      int np = mesh.GetNP();
--      int nse = mesh.GetNSE();
--      int i, j;
--
--      ofstream outfile (filename.c_str());
--
--      outfile.precision(6);
--      outfile.setf (ios::fixed, ios::floatfield);
--      outfile.setf (ios::showpoint);
--
--      outfile << "#VRML V2.0 utf8 \n"
--               "Background {\n"
--               "    skyColor [1 1 1]\n"
--               "    groundColor [1 1 1]\n"
--               "}\n"
--               "Group{ children [\n"
--               "Shape{ \n"
--               "appearance Appearance { material Material { }} \n"
--                 "geometry IndexedLineSet { \n"
--                 "coord Coordinate { point [ \n";
--
--
--      for (i = 1; i <= np; i++)
--        {
--          const Point3d & p = mesh.Point(i);
--          outfile.width(10);
--          outfile << p.X() << " ";
--          outfile << p.Y() << " ";
--          outfile << p.Z() << " \n";
--      }
--
--      outfile << "  ] } \n"
--                 "coordIndex [ \n";
--
--      for (i = 1; i <= nse; i++)
--      {
--        const Element2d & el = mesh.SurfaceElement(i);
--
--        for (j = 1; j <= 3; j++)
--          {
--            outfile.width(8);
--            outfile << el.PNum(j)-1;
--          }
--        outfile.width(8);
--        outfile << el.PNum(1)-1;
--        outfile << " -1 \n";
--      }
--
--      outfile << "  ] \n";
--
--/* Uncomment if you want color mesh
--      outfile << "color Color { color [1 1 1, 0 1 0, 0 0 1, 1 1 0]} \n"
--                 "colorIndex [\n";
--
--      for (i = 1; i <= nse; i++)
--      {
--        outfile << mesh.GetFaceDescriptor(mesh.SurfaceElement(i).GetIndex ()).BCProperty();
--          outfile << endl;
--      }
--
--      outfile << " ] \n"
--*/
--      outfile << "colorPerVertex FALSE \n"
--                 "} } #end of Shape\n"
--               "] } \n";
--
--    }
--
--}
--
--
--
--
--
--
--/*
-- * FEPP .. a finite element package developed at University Linz, Austria
-- */
--void WriteFEPPFormat (const Mesh & mesh,
--                    const CSGeometry & geom,
--                    const string & filename)
--{
--
--  ofstream outfile (filename.c_str());
--
--  if (mesh.GetDimension() == 3)
--
--    {
--
--      // output for FEPP
--
--      int np = mesh.GetNP();
--      int ne = mesh.GetNE();
--      int nse = mesh.GetNSE();
--      int ns = mesh.GetNFD();
--      int i, j;
--
--      outfile.precision(5);
--      outfile.setf (ios::fixed, ios::floatfield);
--      outfile.setf (ios::showpoint);
--
--      outfile << "volumemesh4" << endl;
--      outfile << nse << endl;
--      for (i = 1; i <= nse; i++)
--      {
--        const Element2d & el = mesh.SurfaceElement(i);
--
--        //      int facenr = mesh.facedecoding.Get(el.GetIndex()).surfnr;
--        outfile.width(4);
--        outfile << el.GetIndex() << " ";
--        outfile.width(4);
--        //      outfile << mesh.GetFaceDescriptor(el.GetIndex()).BCProperty() << " ";
--        outfile << mesh.GetFaceDescriptor(el.GetIndex()).BCProperty() << " ";
--        outfile.width(4);
--        outfile << el.GetNP() << "    ";
--        for (j = 1; j <= el.GetNP(); j++)
--          {
--            outfile.width(8);
--            outfile << el.PNum(j);
--          }
--        outfile << "\n";
--      }
--
--
--      outfile << ne << "\n";
--      for (i = 1; i <= ne; i++)
--      {
--        const Element & el = mesh.VolumeElement(i);
--        outfile.width(4);
--        outfile << el.GetIndex() << " ";
--        outfile.width(4);
--        outfile << el.GetNP() << " ";
--        for (j = 1; j <= el.GetNP(); j++)
--          {
--            outfile.width(8);
--            outfile << el.PNum(j);
--          }
--        outfile << "\n";
--      }
--
--      outfile << np << "\n";
--      for (i = 1; i <= np; i++)
--      {
--        const Point3d & p = mesh.Point(i);
--
--        outfile.width(10);
--        outfile << p.X() << " ";
--        outfile.width(9);
--        outfile << p.Y() << " ";
--        outfile.width(9);
--        outfile << p.Z() << "\n";
--      }
--
--      /*
--      if (typ == WRITE_FEPPML)
--      {
--        int nbn =  mesh.mlbetweennodes.Size();
--        outfile << nbn << "\n";
--        for (i = 1; i <= nbn; i++)
--          outfile << mesh.mlbetweennodes.Get(i).I1() << " "
--                  << mesh.mlbetweennodes.Get(i).I2() << "\n";
--
--
--        //      int ncon = mesh.connectedtonode.Size();
--        //      outfile << ncon << "\n";
--        //      for (i = 1; i <= ncon; i++)
--        //        outfile << i << " " << mesh.connectedtonode.Get(i) << endl;
--      }
--      */
--
--
--      // write CSG surfaces
--      if (&geom && geom.GetNSurf() >= ns)
--      {
--        outfile << ns << endl;
--        for (i = 1; i <= ns; i++)
--          geom.GetSurface(mesh.GetFaceDescriptor(i).SurfNr())->Print(outfile);
--      }
--      else
--      outfile << "0" << endl;
--    }
--
--
--  else
--
--    { // 2D fepp format
--
--      ;
--      /*
--      extern SplineGeometry2d * geometry2d;
--      if (geometry2d)
--      Save2DMesh (mesh, &geometry2d->GetSplines(), outfile);
--      else
--      Save2DMesh (mesh, 0, outfile);
--      */
--    }
--}
--
--
--
--
--
--
--/*
-- *  Edge element mesh format
-- *  points, elements, edges
-- */
--
--void WriteEdgeElementFormat (const Mesh & mesh,
--                           const CSGeometry & geom,
--                           const string & filename)
--{
--  cout << "write edge element format" << endl;
--
--  const MeshTopology * top = &mesh.GetTopology();
--  int npoints = mesh.GetNP();
--  int nelements = mesh.GetNE();
--  int nsurfelem = mesh.GetNSE();
--  int nedges = top->GetNEdges();
--  int i, j;
--
--  int inverttets = mparam.inverttets;
--  int invertsurf = mparam.inverttrigs;
--  Array<int> edges;
--
--  ofstream outfile (filename.c_str());
--
--  outfile.precision(6);
--  outfile.setf (ios::fixed, ios::floatfield);
--  outfile.setf (ios::showpoint);
--
--
--  // vertices with coordinates
--  outfile << npoints << "\n";
--  for (i = 1; i <= npoints; i++)
--    {
--      const Point3d & p = mesh.Point(i);
--
--      outfile.width(10);
--      outfile << p.X() << " ";
--      outfile.width(9);
--      outfile << p.Y() << " ";
--      outfile.width(9);
--      outfile << p.Z() << "\n";
--    }
--
--  // element - edge - list
--  outfile << nelements << " " << nedges << "\n";
--  for (i = 1; i <= nelements; i++)
--    {
--      Element el = mesh.VolumeElement(i);
--      if (inverttets)
--              el.Invert();
--      outfile.width(4);
--      outfile << el.GetIndex() << "  ";
--      outfile.width(8);
--      outfile << el.GetNP();
--      for (j = 1; j <= el.GetNP(); j++)
--      {
--        outfile << " ";
--        outfile.width(8);
--        outfile << el.PNum(j);
--      }
--
--      top->GetElementEdges(i,edges);
--      outfile << endl << "      ";
--      outfile.width(8);
--      outfile << edges.Size();
--      for (j=1; j <= edges.Size(); j++)
--      {
--        outfile << " ";
--        outfile.width(8);
--        outfile << edges[j-1];
--      }
--      outfile << "\n";
--
--      // orientation:
--      top->GetElementEdgeOrientations(i,edges);
--      outfile << "              ";
--      for (j=1; j <= edges.Size(); j++)
--      {
--        outfile << " ";
--        outfile.width(8);
--        outfile << edges[j-1];
--      }
--      outfile << "\n";
--    }
--
--  // surface element - edge - list (with boundary conditions)
--  outfile << nsurfelem << "\n";
--  for (i = 1; i <= nsurfelem; i++)
--    {
--      Element2d el = mesh.SurfaceElement(i);
--      if (invertsurf)
--      el.Invert();
--      outfile.width(4);
--      outfile << mesh.GetFaceDescriptor (el.GetIndex()).BCProperty() << "  ";
--      outfile.width(8);
--      outfile << el.GetNP();
--      for (j = 1; j <= el.GetNP(); j++)
--      {
--        outfile << " ";
--        outfile.width(8);
--        outfile << el.PNum(j);
--      }
--
--      top->GetSurfaceElementEdges(i,edges);
--      outfile << endl << "      ";
--      outfile.width(8);
--      outfile << edges.Size();
--      for (j=1; j <= edges.Size(); j++)
--      {
--        outfile << " ";
--        outfile.width(8);
--        outfile << edges[j-1];
--      }
--      outfile << "\n";
--    }
--
--
--  int v1, v2;
--  // edge - vertex - list
--  outfile << nedges << "\n";
--  for (i=1; i <= nedges; i++)
--    {
--      top->GetEdgeVertices(i,v1,v2);
--      outfile.width(4);
--      outfile << v1;
--      outfile << " ";
--      outfile.width(8);
--      outfile << v2 << endl;
--    }
--}
--
--
--
--
--
--
--
--
--
--#ifdef OLDSTYLE_WRITE
--
--
--void WriteFile (int typ,
--              const Mesh & mesh,
--              const CSGeometry & geom,
--              const char * filename,
--              const char * geomfile,
--              double h)
--{
--
--
--  int inverttets = mparam.inverttets;
--  int invertsurf = mparam.inverttrigs;
--
--
--
--
--
--
--
--
--  if (typ == WRITE_EDGEELEMENT)
--    {
--      // write edge element file
--      // Peter Harscher, ETHZ
--
--      cout << "Write Edge-Element Format" << endl;
--
--      ofstream outfile (filename);
--
--      int i, j;
--      int ned;
--
--      // hash table representing edges;
--      INDEX_2_HASHTABLE<int> edgeht(mesh.GetNP());
--
--      // list of edges
--      Array<INDEX_2> edgelist;
--
--      // edge (point) on boundary ?
--      BitArray bedge, bpoint(mesh.GetNP());
--
--      static int eledges[6][2] = { { 1, 2 } , { 1, 3 } , { 1, 4 },
--                                 { 2, 3 } , { 2, 4 } , { 3, 4 } };
--
--      // fill hashtable   (point1, point2)  ---->  edgenr
--      for (i = 1; i <= mesh.GetNE(); i++)
--      {
--        const Element & el = mesh.VolumeElement (i);
--        INDEX_2 edge;
--        for (j = 1; j <= 6; j++)
--          {
--            edge.I1() = el.PNum (eledges[j-1][0]);
--            edge.I2() = el.PNum (eledges[j-1][1]);
--            edge.Sort();
--
--            if (!edgeht.Used (edge))
--              {
--                edgelist.Append (edge);
--                edgeht.Set (edge, edgelist.Size());
--              }
--          }
--      }
--
--
--      // set bedges, bpoints
--      bedge.SetSize (edgelist.Size());
--      bedge.Clear();
--      bpoint.Clear();
--
--      for (i = 1; i <= mesh.GetNSE(); i++)
--      {
--        const Element2d & sel = mesh.SurfaceElement(i);
--        for (j = 1; j <= 3; j++)
--          {
--            bpoint.Set (sel.PNum(j));
--
--            INDEX_2 edge;
--            edge.I1() = sel.PNum(j);
--            edge.I2() = sel.PNum(j%3+1);
--            edge.Sort();
--
--            bedge.Set (edgeht.Get (edge));
--          }
--      }
--
--
--
--      outfile << mesh.GetNE() << endl;
--      // write element ---> point
--      for (i = 1; i <= mesh.GetNE(); i++)
--      {
--        const Element & el = mesh.VolumeElement(i);
--
--        outfile.width(8);
--        outfile << i;
--        for (j = 1; j <= 4; j++)
--          {
--            outfile.width(8);
--            outfile << el.PNum(j);
--          }
--        outfile << endl;
--      }
--
--      // write element ---> edge
--      for (i = 1; i <= mesh.GetNE(); i++)
--      {
--        const Element & el = mesh.VolumeElement (i);
--        INDEX_2 edge;
--        for (j = 1; j <= 6; j++)
--          {
--            edge.I1() = el.PNum (eledges[j-1][0]);
--            edge.I2() = el.PNum (eledges[j-1][1]);
--            edge.Sort();
--
--            outfile.width(8);
--            outfile << edgeht.Get (edge);
--          }
--        outfile << endl;
--      }
--
--      // write points
--      outfile << mesh.GetNP() << endl;
--      outfile.precision (6);
--      for (i = 1; i <= mesh.GetNP(); i++)
--      {
--        const Point3d & p = mesh.Point(i);
--
--        for (j = 1; j <= 3; j++)
--          {
--            outfile.width(8);
--            outfile << p.X(j);
--          }
--        outfile << "       "
--                << (bpoint.Test(i) ? "1" : 0) << endl;
--      }
--
--      // write edges
--      outfile << edgelist.Size() << endl;
--      for (i = 1; i <= edgelist.Size(); i++)
--      {
--        outfile.width(8);
--        outfile << edgelist.Get(i).I1();
--        outfile.width(8);
--        outfile << edgelist.Get(i).I2();
--        outfile << "       "
--                << (bedge.Test(i) ? "1" : "0") << endl;
--      }
--    }
--
--
--
--
--}
--#endif
--}
--
-+//
-+//  Write user dependent output file
-+//
-+
-+#include <mystdlib.h>
-+
-+#include <myadt.hpp>
-+#include <linalg.hpp>
-+#include <csg.hpp>
-+#include <geometry2d.hpp>
-+#include <meshing.hpp>
-+
-+namespace netgen
-+{
-+#include "writeuser.hpp"
-+
-+
-+  void RegisterUserFormats (Array<const char*> & names,
-+                          Array<const char*> & extensions)
-+
-+{
-+  const char *types[] =
-+    {
-+      "Neutral Format",  ".mesh",
-+      "Surface Mesh Format", ".mesh" ,
-+      "DIFFPACK Format", ".mesh",
-+      "TecPlot Format", ".mesh",
-+      "Tochnog Format", ".mesh",
-+      "Abaqus Format", ".mesh",
-+      "Fluent Format", ".mesh",
-+      "Permas Format", ".mesh",
-+      "FEAP Format", ".mesh",
-+      "Elmer Format", "*",
-+      "STL Format", ".stl",
-+      "STL Extended Format", ".stl",
-+      "VRML Format", ".*",
-+      "Gmsh Format", ".gmsh",
-+      "Gmsh2 Format", ".gmsh2",
-+      "OpenFOAM 1.5+ Format", "*",
-+        "OpenFOAM 1.5+ Compressed", "*",
-+      "JCMwave Format", ".jcm",
-+      "TET Format", ".tet",
-+      //      { "Chemnitz Format" },
-+      0
-+    };
-+
-+  for (int i = 0; types[2*i]; i++)
-+    {
-+      names.Append (types[2*i]);
-+      extensions.Append (types[2*i+1]);
-+    }
-+}
-+
-+
-+
-+bool WriteUserFormat (const string & format,
-+                    const Mesh & mesh,
-+                    const NetgenGeometry & hgeom,
-+                    const string & filename)
-+{
-+  const CSGeometry & geom = *dynamic_cast<const CSGeometry*> (&hgeom);
-+
-+  PrintMessage (1, "Export mesh to file ", filename,
-+              ", format is ", format);
-+
-+  if (format == "Neutral Format")
-+    WriteNeutralFormat (mesh, geom, filename);
-+
-+  else if (format == "Surface Mesh Format")
-+    WriteSurfaceFormat (mesh, filename);
-+
-+  else if (format == "DIFFPACK Format")
-+    WriteDiffPackFormat (mesh, geom, filename);
-+
-+  else if (format == "Tochnog Format")
-+    WriteTochnogFormat (mesh, filename);
-+
-+  else if (format == "TecPlot Format")
-+    cerr << "ERROR: TecPlot format currently out of order" << endl;
-+      // WriteTecPlotFormat (mesh, geom, filename);
-+
-+  else if (format == "Abaqus Format")
-+    WriteAbaqusFormat (mesh, filename);
-+
-+  else if (format == "Fluent Format")
-+    WriteFluentFormat (mesh, filename);
-+
-+  else if (format == "Permas Format")
-+    WritePermasFormat (mesh, filename);
-+
-+  else if (format == "FEAP Format")
-+    WriteFEAPFormat (mesh, filename);
-+
-+  else if (format == "Elmer Format")
-+    WriteElmerFormat (mesh, filename);
-+
-+  else if (format == "STL Format")
-+    WriteSTLFormat (mesh, filename);
-+
-+  // Philippose - 16 August 2010
-+  // Added additional STL Export in which
-+  // each face of the geometry is treated
-+  // as a separate "solid" entity
-+  else if (format == "STL Extended Format")
-+      WriteSTLExtFormat (mesh, filename);
-+
-+  else if (format == "VRML Format")
-+    WriteVRMLFormat (mesh, 1, filename);
-+
-+  else if (format == "Fepp Format")
-+    WriteFEPPFormat (mesh, geom, filename);
-+
-+  else if (format ==  "EdgeElement Format")
-+    WriteEdgeElementFormat (mesh, geom, filename);
-+
-+  else if (format == "Chemnitz Format")
-+    WriteUserChemnitz (mesh, filename);
-+
-+  else if (format == "Gmsh Format")
-+    WriteGmshFormat (mesh, geom, filename);
-+
-+  // Philippose - 29/01/2009
-+  // Added Gmsh v2.xx Mesh export capability
-+  else if (format == "Gmsh2 Format")
-+    WriteGmsh2Format (mesh, geom, filename);
-+
-+  // Philippose - 25/10/2009
-+  // Added OpenFOAM 1.5+ Mesh export capability
-+  else if (format == "OpenFOAM 1.5+ Format")
-+    WriteOpenFOAM15xFormat (mesh, filename, false);
-+
-+  else if (format == "OpenFOAM 1.5+ Compressed")
-+    WriteOpenFOAM15xFormat (mesh, filename, true);
-+
-+  else if (format == "JCMwave Format")
-+    WriteJCMFormat (mesh, geom, filename);
-+
-+#ifdef OLIVER
-+  else if (format == "TET Format")
-+    WriteTETFormat( mesh, filename);//, "High Frequency" );
-+#endif
-+
-+  else
-+    {
-+      return 1;
-+    }
-+
-+  return 0;
-+}
-+
-+
-+
-+
-+/*
-+ *  Neutral mesh format
-+ *  points, elements, surface elements
-+ */
-+
-+void WriteNeutralFormat (const Mesh & mesh,
-+                       const CSGeometry & geom,
-+                       const string & filename)
-+{
-+  cout << "write neutral, new" << endl;
-+  int np = mesh.GetNP();
-+  int ne = mesh.GetNE();
-+  int nse = mesh.GetNSE();
-+  int nseg = mesh.GetNSeg();
-+  int i, j;
-+
-+  int inverttets = mparam.inverttets;
-+  int invertsurf = mparam.inverttrigs;
-+
-+  ofstream outfile (filename.c_str());
-+
-+  outfile.precision(6);
-+  outfile.setf (ios::fixed, ios::floatfield);
-+  outfile.setf (ios::showpoint);
-+
-+  outfile << np << "\n";
-+
-+  for (i = 1; i <= np; i++)
-+    {
-+      const Point3d & p = mesh.Point(i);
-+
-+      outfile.width(10);
-+      outfile << p.X() << " ";
-+      outfile.width(9);
-+      outfile << p.Y() << " ";
-+      if (mesh.GetDimension() == 3)
-+      {
-+        outfile.width(9);
-+        outfile << p.Z();
-+        }
-+      outfile << "\n";
-+    }
-+
-+  if (mesh.GetDimension() == 3)
-+    {
-+      outfile << ne << "\n";
-+      for (i = 1; i <= ne; i++)
-+      {
-+        Element el = mesh.VolumeElement(i);
-+        if (inverttets)
-+          el.Invert();
-+        outfile.width(4);
-+        outfile << el.GetIndex() << "  ";
-+        for (j = 1; j <= el.GetNP(); j++)
-+          {
-+            outfile << " ";
-+            outfile.width(8);
-+            outfile << el.PNum(j);
-+          }
-+        outfile << "\n";
-+      }
-+    }
-+
-+  outfile << nse << "\n";
-+  for (i = 1; i <= nse; i++)
-+    {
-+      Element2d el = mesh.SurfaceElement(i);
-+      if (invertsurf)
-+      el.Invert();
-+      outfile.width(4);
-+      outfile << mesh.GetFaceDescriptor (el.GetIndex()).BCProperty() << "    ";
-+      for (j = 1; j <= el.GetNP(); j++)
-+      {
-+        outfile << " ";
-+        outfile.width(8);
-+        outfile << el.PNum(j);
-+      }
-+      outfile << "\n";
-+    }
-+
-+
-+  if (mesh.GetDimension() == 2)
-+    {
-+      outfile << nseg << "\n";
-+      for (i = 1; i <= nseg; i++)
-+      {
-+        const Segment & seg = mesh.LineSegment(i);
-+        outfile.width(4);
-+        outfile << seg.si << "    ";
-+
-+        outfile << " ";
-+        outfile.width(8);
-+        outfile << seg[0];
-+        outfile << " ";
-+        outfile.width(8);
-+        outfile << seg[1];
-+
-+        outfile << "\n";
-+      }
-+    }
-+}
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+void WriteSurfaceFormat (const Mesh & mesh,
-+                       const string & filename)
-+{
-+  // surface mesh
-+  int i, j;
-+
-+  cout << "Write Surface Mesh" << endl;
-+
-+  ofstream outfile (filename.c_str());
-+
-+  outfile << "surfacemesh" << endl;
-+
-+  outfile << mesh.GetNP() << endl;
-+  for (i = 1; i <= mesh.GetNP(); i++)
-+    {
-+      for (j = 0; j < 3; j++)
-+      {
-+        outfile.width(10);
-+        outfile << mesh.Point(i)(j) << " ";
-+      }
-+      outfile << endl;
-+    }
-+  outfile << mesh.GetNSE() << endl;
-+  for (i = 1; i <= mesh.GetNSE(); i++)
-+    {
-+      for (j = 1; j <= 3; j++)
-+      {
-+        outfile.width(8);
-+        outfile << mesh.SurfaceElement(i).PNum(j);
-+      }
-+      outfile << endl;
-+    }
-+}
-+
-+
-+
-+
-+
-+/*
-+ *  save surface mesh as STL file
-+ */
-+
-+void WriteSTLFormat (const Mesh & mesh,
-+                   const string & filename)
-+{
-+  cout << "\nWrite STL Surface Mesh" << endl;
-+
-+  ostream *outfile;
-+
-+  if(filename.substr(filename.length()-3,3) == ".gz")
-+        outfile = new ogzstream(filename.c_str());
-+  else
-+        outfile = new ofstream(filename.c_str());
-+
-+  int i;
-+
-+  outfile->precision(10);
-+
-+  *outfile << "solid" << endl;
-+
-+  for (i = 1; i <= mesh.GetNSE(); i++)
-+    {
-+      *outfile << "facet normal ";
-+      const Point3d& p1 = mesh.Point(mesh.SurfaceElement(i).PNum(1));
-+      const Point3d& p2 = mesh.Point(mesh.SurfaceElement(i).PNum(2));
-+      const Point3d& p3 = mesh.Point(mesh.SurfaceElement(i).PNum(3));
-+
-+      Vec3d normal = Cross(p2-p1,p3-p1);
-+      if (normal.Length() != 0)
-+      {
-+        normal /= (normal.Length());
-+      }
-+
-+      *outfile << normal.X() << " " << normal.Y() << " " << normal.Z() << "\n";
-+      *outfile << "outer loop\n";
-+
-+      *outfile << "vertex " << p1.X() << " " << p1.Y() << " " << p1.Z() << "\n";
-+      *outfile << "vertex " << p2.X() << " " << p2.Y() << " " << p2.Z() << "\n";
-+      *outfile << "vertex " << p3.X() << " " << p3.Y() << " " << p3.Z() << "\n";
-+
-+      *outfile << "endloop\n";
-+      *outfile << "endfacet\n";
-+    }
-+  *outfile << "endsolid" << endl;
-+}
-+
-+
-+
-+
-+
-+/*
-+ *  Philippose - 16 August 2010
-+ *  Save surface mesh as STL file
-+ *  with a separate solid definition
-+ *  for each face
-+ *  - This helps in splitting up the
-+ *    STL into named boundary faces
-+ *    when using a third-party mesher
-+ */
-+void WriteSTLExtFormat (const Mesh & mesh,
-+                   const string & filename)
-+{
-+  cout << "\nWrite STL Surface Mesh (with separated boundary faces)" << endl;
-+
-+  ostream *outfile;
-+
-+  if(filename.substr(filename.length()-3,3) == ".gz")
-+        outfile = new ogzstream(filename.c_str());
-+  else
-+        outfile = new ofstream(filename.c_str());
-+
-+  outfile->precision(10);
-+
-+  int numBCs = 0;
-+
-+  Array<int> faceBCs;
-+  TABLE<int> faceBCMapping;
-+
-+  faceBCs.SetSize(mesh.GetNFD());
-+  faceBCMapping.SetSize(mesh.GetNFD());
-+
-+  faceBCs = -1;
-+
-+  // Collect the BC numbers used in the mesh
-+  for(int faceNr = 1; faceNr <= mesh.GetNFD(); faceNr++)
-+  {
-+        int bcNum = mesh.GetFaceDescriptor(faceNr).BCProperty();
-+
-+        if(faceBCs.Pos(bcNum) < 0)
-+        {
-+        numBCs++;
-+                faceBCs.Set(numBCs,bcNum);
-+        faceBCMapping.Add1(numBCs,faceNr);
-+        }
-+     else
-+     {
-+        faceBCMapping.Add1(faceBCs.Pos(bcNum)+1,faceNr);
-+     }
-+  }
-+
-+  faceBCs.SetSize(numBCs);
-+  faceBCMapping.ChangeSize(numBCs);
-+
-+  // Now actually write the data to file
-+  for(int bcInd = 1; bcInd <= faceBCs.Size(); bcInd++)
-+  {
-+      *outfile << "solid Boundary_" << faceBCs.Elem(bcInd) << "\n";
-+
-+      for(int faceNr = 1;faceNr <= faceBCMapping.EntrySize(bcInd); faceNr++)
-+      {
-+          Array<SurfaceElementIndex> faceSei;
-+          mesh.GetSurfaceElementsOfFace(faceBCMapping.Get(bcInd,faceNr),faceSei);
-+
-+          for (int i = 0; i < faceSei.Size(); i++)
-+          {
-+                *outfile << "facet normal ";
-+                const Point3d& p1 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(1));
-+                const Point3d& p2 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(2));
-+                const Point3d& p3 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(3));
-+
-+                Vec3d normal = Cross(p2-p1,p3-p1);
-+                if (normal.Length() != 0)
-+                {
-+                        normal /= (normal.Length());
-+                }
-+
-+                *outfile << normal.X() << " " << normal.Y() << " " << normal.Z() << "\n";
-+                *outfile << "outer loop\n";
-+
-+                *outfile << "vertex " << p1.X() << " " << p1.Y() << " " << p1.Z() << "\n";
-+                *outfile << "vertex " << p2.X() << " " << p2.Y() << " " << p2.Z() << "\n";
-+                *outfile << "vertex " << p3.X() << " " << p3.Y() << " " << p3.Z() << "\n";
-+
-+                *outfile << "endloop\n";
-+                *outfile << "endfacet\n";
-+          }
-+      }
-+      *outfile << "endsolid Boundary_" << faceBCs.Elem(bcInd) << "\n";
-+  }
-+}
-+
-+
-+
-+
-+/*
-+ *
-+ *  write surface mesh as VRML file
-+ *
-+ */
-+
-+void WriteVRMLFormat (const Mesh & mesh,
-+                    bool faces,
-+                    const string & filename)
-+{
-+
-+  if (faces)
-+
-+    {
-+      // Output in VRML, IndexedFaceSet is used
-+      // Bartosz Sawicki <sawickib@ee.pw.edu.pl>
-+
-+      int np = mesh.GetNP();
-+      int nse = mesh.GetNSE();
-+      int i, j;
-+
-+      ofstream outfile (filename.c_str());
-+
-+      outfile.precision(6);
-+      outfile.setf (ios::fixed, ios::floatfield);
-+      outfile.setf (ios::showpoint);
-+
-+      outfile << "#VRML V2.0 utf8 \n"
-+               "Background {\n"
-+               "    skyColor [1 1 1]\n"
-+               "    groundColor [1 1 1]\n"
-+               "}\n"
-+               "Group{ children [\n"
-+               "Shape{ \n"
-+               "appearance Appearance { material Material { }} \n"
-+                 "geometry IndexedFaceSet { \n"
-+                 "coord Coordinate { point [ \n";
-+
-+
-+      for (i = 1; i <= np; i++)
-+        {
-+          const Point3d & p = mesh.Point(i);
-+          outfile.width(10);
-+          outfile << p.X() << " ";
-+          outfile << p.Y() << " ";
-+          outfile << p.Z() << " \n";
-+      }
-+
-+      outfile << "  ] } \n"
-+                 "coordIndex [ \n";
-+
-+      for (i = 1; i <= nse; i++)
-+      {
-+        const Element2d & el = mesh.SurfaceElement(i);
-+
-+        for (j = 1; j <= 3; j++)
-+          {
-+            outfile.width(8);
-+            outfile << el.PNum(j)-1;
-+          }
-+        outfile << " -1 \n";
-+      }
-+
-+      outfile << "  ] \n";
-+
-+      //define number and RGB definitions of colors
-+      outfile << "color Color { color [1 0 0, 0 1 0, 0 0 1, 1 1 0]} \n"
-+                 "colorIndex [\n";
-+
-+      for (i = 1; i <= nse; i++)
-+      {
-+        outfile << mesh.GetFaceDescriptor(mesh.SurfaceElement(i).GetIndex ()).BCProperty();
-+          outfile << endl;
-+      }
-+
-+      outfile << " ] \n"
-+                 "colorPerVertex FALSE \n"
-+                 "creaseAngle 0 \n"
-+               "solid FALSE \n"
-+                 "ccw FALSE \n"
-+               "convex TRUE \n"
-+                 "} } # end of Shape\n"
-+               "] }\n";
-+
-+    } /* end of VRMLFACES */
-+
-+
-+  else
-+
-+    {
-+        // Output in VRML, IndexedLineSet is used
-+      // Bartosz Sawicki <sawickib@ee.pw.edu.pl>
-+
-+      int np = mesh.GetNP();
-+      int nse = mesh.GetNSE();
-+      int i, j;
-+
-+      ofstream outfile (filename.c_str());
-+
-+      outfile.precision(6);
-+      outfile.setf (ios::fixed, ios::floatfield);
-+      outfile.setf (ios::showpoint);
-+
-+      outfile << "#VRML V2.0 utf8 \n"
-+               "Background {\n"
-+               "    skyColor [1 1 1]\n"
-+               "    groundColor [1 1 1]\n"
-+               "}\n"
-+               "Group{ children [\n"
-+               "Shape{ \n"
-+               "appearance Appearance { material Material { }} \n"
-+                 "geometry IndexedLineSet { \n"
-+                 "coord Coordinate { point [ \n";
-+
-+
-+      for (i = 1; i <= np; i++)
-+        {
-+          const Point3d & p = mesh.Point(i);
-+          outfile.width(10);
-+          outfile << p.X() << " ";
-+          outfile << p.Y() << " ";
-+          outfile << p.Z() << " \n";
-+      }
-+
-+      outfile << "  ] } \n"
-+                 "coordIndex [ \n";
-+
-+      for (i = 1; i <= nse; i++)
-+      {
-+        const Element2d & el = mesh.SurfaceElement(i);
-+
-+        for (j = 1; j <= 3; j++)
-+          {
-+            outfile.width(8);
-+            outfile << el.PNum(j)-1;
-+          }
-+        outfile.width(8);
-+        outfile << el.PNum(1)-1;
-+        outfile << " -1 \n";
-+      }
-+
-+      outfile << "  ] \n";
-+
-+/* Uncomment if you want color mesh
-+      outfile << "color Color { color [1 1 1, 0 1 0, 0 0 1, 1 1 0]} \n"
-+                 "colorIndex [\n";
-+
-+      for (i = 1; i <= nse; i++)
-+      {
-+        outfile << mesh.GetFaceDescriptor(mesh.SurfaceElement(i).GetIndex ()).BCProperty();
-+          outfile << endl;
-+      }
-+
-+      outfile << " ] \n"
-+*/
-+      outfile << "colorPerVertex FALSE \n"
-+                 "} } #end of Shape\n"
-+               "] } \n";
-+
-+    }
-+
-+}
-+
-+
-+
-+
-+
-+
-+/*
-+ * FEPP .. a finite element package developed at University Linz, Austria
-+ */
-+void WriteFEPPFormat (const Mesh & mesh,
-+                    const CSGeometry & geom,
-+                    const string & filename)
-+{
-+
-+  ofstream outfile (filename.c_str());
-+
-+  if (mesh.GetDimension() == 3)
-+
-+    {
-+
-+      // output for FEPP
-+
-+      int np = mesh.GetNP();
-+      int ne = mesh.GetNE();
-+      int nse = mesh.GetNSE();
-+      int ns = mesh.GetNFD();
-+      int i, j;
-+
-+      outfile.precision(5);
-+      outfile.setf (ios::fixed, ios::floatfield);
-+      outfile.setf (ios::showpoint);
-+
-+      outfile << "volumemesh4" << endl;
-+      outfile << nse << endl;
-+      for (i = 1; i <= nse; i++)
-+      {
-+        const Element2d & el = mesh.SurfaceElement(i);
-+
-+        //      int facenr = mesh.facedecoding.Get(el.GetIndex()).surfnr;
-+        outfile.width(4);
-+        outfile << el.GetIndex() << " ";
-+        outfile.width(4);
-+        //      outfile << mesh.GetFaceDescriptor(el.GetIndex()).BCProperty() << " ";
-+        outfile << mesh.GetFaceDescriptor(el.GetIndex()).BCProperty() << " ";
-+        outfile.width(4);
-+        outfile << el.GetNP() << "    ";
-+        for (j = 1; j <= el.GetNP(); j++)
-+          {
-+            outfile.width(8);
-+            outfile << el.PNum(j);
-+          }
-+        outfile << "\n";
-+      }
-+
-+
-+      outfile << ne << "\n";
-+      for (i = 1; i <= ne; i++)
-+      {
-+        const Element & el = mesh.VolumeElement(i);
-+        outfile.width(4);
-+        outfile << el.GetIndex() << " ";
-+        outfile.width(4);
-+        outfile << el.GetNP() << " ";
-+        for (j = 1; j <= el.GetNP(); j++)
-+          {
-+            outfile.width(8);
-+            outfile << el.PNum(j);
-+          }
-+        outfile << "\n";
-+      }
-+
-+      outfile << np << "\n";
-+      for (i = 1; i <= np; i++)
-+      {
-+        const Point3d & p = mesh.Point(i);
-+
-+        outfile.width(10);
-+        outfile << p.X() << " ";
-+        outfile.width(9);
-+        outfile << p.Y() << " ";
-+        outfile.width(9);
-+        outfile << p.Z() << "\n";
-+      }
-+
-+      /*
-+      if (typ == WRITE_FEPPML)
-+      {
-+        int nbn =  mesh.mlbetweennodes.Size();
-+        outfile << nbn << "\n";
-+        for (i = 1; i <= nbn; i++)
-+          outfile << mesh.mlbetweennodes.Get(i).I1() << " "
-+                  << mesh.mlbetweennodes.Get(i).I2() << "\n";
-+
-+
-+        //      int ncon = mesh.connectedtonode.Size();
-+        //      outfile << ncon << "\n";
-+        //      for (i = 1; i <= ncon; i++)
-+        //        outfile << i << " " << mesh.connectedtonode.Get(i) << endl;
-+      }
-+      */
-+
-+
-+      // write CSG surfaces
-+      if (&geom && geom.GetNSurf() >= ns)
-+      {
-+        outfile << ns << endl;
-+        for (i = 1; i <= ns; i++)
-+          geom.GetSurface(mesh.GetFaceDescriptor(i).SurfNr())->Print(outfile);
-+      }
-+      else
-+      outfile << "0" << endl;
-+    }
-+
-+
-+  else
-+
-+    { // 2D fepp format
-+
-+      ;
-+      /*
-+      extern SplineGeometry2d * geometry2d;
-+      if (geometry2d)
-+      Save2DMesh (mesh, &geometry2d->GetSplines(), outfile);
-+      else
-+      Save2DMesh (mesh, 0, outfile);
-+      */
-+    }
-+}
-+
-+
-+
-+
-+
-+
-+/*
-+ *  Edge element mesh format
-+ *  points, elements, edges
-+ */
-+
-+void WriteEdgeElementFormat (const Mesh & mesh,
-+                           const CSGeometry & geom,
-+                           const string & filename)
-+{
-+  cout << "write edge element format" << endl;
-+
-+  const MeshTopology * top = &mesh.GetTopology();
-+  int npoints = mesh.GetNP();
-+  int nelements = mesh.GetNE();
-+  int nsurfelem = mesh.GetNSE();
-+  int nedges = top->GetNEdges();
-+  int i, j;
-+
-+  int inverttets = mparam.inverttets;
-+  int invertsurf = mparam.inverttrigs;
-+  Array<int> edges;
-+
-+  ofstream outfile (filename.c_str());
-+
-+  outfile.precision(6);
-+  outfile.setf (ios::fixed, ios::floatfield);
-+  outfile.setf (ios::showpoint);
-+
-+
-+  // vertices with coordinates
-+  outfile << npoints << "\n";
-+  for (i = 1; i <= npoints; i++)
-+    {
-+      const Point3d & p = mesh.Point(i);
-+
-+      outfile.width(10);
-+      outfile << p.X() << " ";
-+      outfile.width(9);
-+      outfile << p.Y() << " ";
-+      outfile.width(9);
-+      outfile << p.Z() << "\n";
-+    }
-+
-+  // element - edge - list
-+  outfile << nelements << " " << nedges << "\n";
-+  for (i = 1; i <= nelements; i++)
-+    {
-+      Element el = mesh.VolumeElement(i);
-+      if (inverttets)
-+              el.Invert();
-+      outfile.width(4);
-+      outfile << el.GetIndex() << "  ";
-+      outfile.width(8);
-+      outfile << el.GetNP();
-+      for (j = 1; j <= el.GetNP(); j++)
-+      {
-+        outfile << " ";
-+        outfile.width(8);
-+        outfile << el.PNum(j);
-+      }
-+
-+      top->GetElementEdges(i,edges);
-+      outfile << endl << "      ";
-+      outfile.width(8);
-+      outfile << edges.Size();
-+      for (j=1; j <= edges.Size(); j++)
-+      {
-+        outfile << " ";
-+        outfile.width(8);
-+        outfile << edges[j-1];
-+      }
-+      outfile << "\n";
-+
-+      // orientation:
-+      top->GetElementEdgeOrientations(i,edges);
-+      outfile << "              ";
-+      for (j=1; j <= edges.Size(); j++)
-+      {
-+        outfile << " ";
-+        outfile.width(8);
-+        outfile << edges[j-1];
-+      }
-+      outfile << "\n";
-+    }
-+
-+  // surface element - edge - list (with boundary conditions)
-+  outfile << nsurfelem << "\n";
-+  for (i = 1; i <= nsurfelem; i++)
-+    {
-+      Element2d el = mesh.SurfaceElement(i);
-+      if (invertsurf)
-+      el.Invert();
-+      outfile.width(4);
-+      outfile << mesh.GetFaceDescriptor (el.GetIndex()).BCProperty() << "  ";
-+      outfile.width(8);
-+      outfile << el.GetNP();
-+      for (j = 1; j <= el.GetNP(); j++)
-+      {
-+        outfile << " ";
-+        outfile.width(8);
-+        outfile << el.PNum(j);
-+      }
-+
-+      top->GetSurfaceElementEdges(i,edges);
-+      outfile << endl << "      ";
-+      outfile.width(8);
-+      outfile << edges.Size();
-+      for (j=1; j <= edges.Size(); j++)
-+      {
-+        outfile << " ";
-+        outfile.width(8);
-+        outfile << edges[j-1];
-+      }
-+      outfile << "\n";
-+    }
-+
-+
-+  int v1, v2;
-+  // edge - vertex - list
-+  outfile << nedges << "\n";
-+  for (i=1; i <= nedges; i++)
-+    {
-+      top->GetEdgeVertices(i,v1,v2);
-+      outfile.width(4);
-+      outfile << v1;
-+      outfile << " ";
-+      outfile.width(8);
-+      outfile << v2 << endl;
-+    }
-+}
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+#ifdef OLDSTYLE_WRITE
-+
-+
-+void WriteFile (int typ,
-+              const Mesh & mesh,
-+              const CSGeometry & geom,
-+              const char * filename,
-+              const char * geomfile,
-+              double h)
-+{
-+
-+
-+  int inverttets = mparam.inverttets;
-+  int invertsurf = mparam.inverttrigs;
-+
-+
-+
-+
-+
-+
-+
-+
-+  if (typ == WRITE_EDGEELEMENT)
-+    {
-+      // write edge element file
-+      // Peter Harscher, ETHZ
-+
-+      cout << "Write Edge-Element Format" << endl;
-+
-+      ofstream outfile (filename);
-+
-+      int i, j;
-+      int ned;
-+
-+      // hash table representing edges;
-+      INDEX_2_HASHTABLE<int> edgeht(mesh.GetNP());
-+
-+      // list of edges
-+      Array<INDEX_2> edgelist;
-+
-+      // edge (point) on boundary ?
-+      BitArray bedge, bpoint(mesh.GetNP());
-+
-+      static int eledges[6][2] = { { 1, 2 } , { 1, 3 } , { 1, 4 },
-+                                 { 2, 3 } , { 2, 4 } , { 3, 4 } };
-+
-+      // fill hashtable   (point1, point2)  ---->  edgenr
-+      for (i = 1; i <= mesh.GetNE(); i++)
-+      {
-+        const Element & el = mesh.VolumeElement (i);
-+        INDEX_2 edge;
-+        for (j = 1; j <= 6; j++)
-+          {
-+            edge.I1() = el.PNum (eledges[j-1][0]);
-+            edge.I2() = el.PNum (eledges[j-1][1]);
-+            edge.Sort();
-+
-+            if (!edgeht.Used (edge))
-+              {
-+                edgelist.Append (edge);
-+                edgeht.Set (edge, edgelist.Size());
-+              }
-+          }
-+      }
-+
-+
-+      // set bedges, bpoints
-+      bedge.SetSize (edgelist.Size());
-+      bedge.Clear();
-+      bpoint.Clear();
-+
-+      for (i = 1; i <= mesh.GetNSE(); i++)
-+      {
-+        const Element2d & sel = mesh.SurfaceElement(i);
-+        for (j = 1; j <= 3; j++)
-+          {
-+            bpoint.Set (sel.PNum(j));
-+
-+            INDEX_2 edge;
-+            edge.I1() = sel.PNum(j);
-+            edge.I2() = sel.PNum(j%3+1);
-+            edge.Sort();
-+
-+            bedge.Set (edgeht.Get (edge));
-+          }
-+      }
-+
-+
-+
-+      outfile << mesh.GetNE() << endl;
-+      // write element ---> point
-+      for (i = 1; i <= mesh.GetNE(); i++)
-+      {
-+        const Element & el = mesh.VolumeElement(i);
-+
-+        outfile.width(8);
-+        outfile << i;
-+        for (j = 1; j <= 4; j++)
-+          {
-+            outfile.width(8);
-+            outfile << el.PNum(j);
-+          }
-+        outfile << endl;
-+      }
-+
-+      // write element ---> edge
-+      for (i = 1; i <= mesh.GetNE(); i++)
-+      {
-+        const Element & el = mesh.VolumeElement (i);
-+        INDEX_2 edge;
-+        for (j = 1; j <= 6; j++)
-+          {
-+            edge.I1() = el.PNum (eledges[j-1][0]);
-+            edge.I2() = el.PNum (eledges[j-1][1]);
-+            edge.Sort();
-+
-+            outfile.width(8);
-+            outfile << edgeht.Get (edge);
-+          }
-+        outfile << endl;
-+      }
-+
-+      // write points
-+      outfile << mesh.GetNP() << endl;
-+      outfile.precision (6);
-+      for (i = 1; i <= mesh.GetNP(); i++)
-+      {
-+        const Point3d & p = mesh.Point(i);
-+
-+        for (j = 1; j <= 3; j++)
-+          {
-+            outfile.width(8);
-+            outfile << p.X(j);
-+          }
-+        outfile << "       "
-+                << (bpoint.Test(i) ? "1" : 0) << endl;
-+      }
-+
-+      // write edges
-+      outfile << edgelist.Size() << endl;
-+      for (i = 1; i <= edgelist.Size(); i++)
-+      {
-+        outfile.width(8);
-+        outfile << edgelist.Get(i).I1();
-+        outfile.width(8);
-+        outfile << edgelist.Get(i).I2();
-+        outfile << "       "
-+                << (bedge.Test(i) ? "1" : "0") << endl;
-+      }
-+    }
-+
-+
-+
-+
-+}
-+#endif
-+}
-+
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/interface/writeuser.hpp netgen-5.3.1_SRC_modif/libsrc/interface/writeuser.hpp
---- netgen-5.3.1_SRC_orig/libsrc/interface/writeuser.hpp       2014-08-29 13:54:02.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/interface/writeuser.hpp      2018-03-01 15:45:08.693877037 +0300
-@@ -1,166 +1,166 @@
--#ifndef WRITEUSER
--#define WRITEUSER
--
--/**************************************************************************/
--/* File:    writeuser.hh                                                  */
--/* Authors: many                                                          */
--/* Date:    10. Dec. 97                                                   */
--/**************************************************************************/
--
--
--extern
--void WriteFile (int typ,
--                const Mesh & mesh,
--                const CSGeometry & geom,
--                const char * filename,
--                const char * geomfile = NULL,
--                double h = 0);
--
--
--
--extern
--void ReadFile (Mesh & mesh,
--               const string & filename);
--
--
--
--
--
--
--extern
--void WriteNeutralFormat (const Mesh & mesh,
--                         const CSGeometry & geom,
--                         const string & filename);
--
--extern
--void WriteSurfaceFormat (const Mesh & mesh,
--                         const string & filename);
--
--extern
--void WriteSTLFormat (const Mesh & mesh,
--                     const string & filename);
--
--
--// Philippose - 16 August 2010
--// Added the STL Extended format in which
--// each face of the geometry is treated as
--// a separate "solid" entity in the STL file
--extern
--void WriteSTLExtFormat (const Mesh & mesh,
--                        const string & filename);
--
--
--extern
--void WriteVRMLFormat (const Mesh & mesh,
--                      bool faces,
--                      const string & filename);
--
--extern
--void WriteFEPPFormat (const Mesh & mesh,
--                      const CSGeometry & geom,
--                      const string & filename);
--
--extern
--void WriteGmshFormat (const Mesh & mesh,
--                      const CSGeometry & geom,
--                      const string & filename);
--
--
--// Philippose - 29/01/2009
--// Added GMSH v2.xx Mesh Export support
--void WriteGmsh2Format (const Mesh & mesh,
--                       const CSGeometry & geom,
--                       const string & filename);
--
--
--// Philippose - 25/10/2009
--// Added OpenFOAM 1.5+ Mesh Export support
--extern 
--void WriteOpenFOAM15xFormat (const Mesh & mesh, 
--                             const string & casename,
--                                                       const bool compressed);
--
--
--extern
--void WriteUserChemnitz (const Mesh & mesh,
--                        const string & filename);
--
--extern
--void WriteJCMFormat (const Mesh & mesh,
--                     const CSGeometry & geom,
--                     const string & filename);
--
--
--extern
--void WriteDiffPackFormat (const Mesh & mesh,
--                          const CSGeometry & geom,
--                          const string & filename);
--
--extern
--void WriteTochnogFormat (const Mesh & mesh,
--                         const string & filename);
--
--extern
--void WriteTecPlotFormat (const Mesh & mesh,
--                         const CSGeometry & geom,
--                         const string & filename);
--
--extern
--void WriteAbaqusFormat (const Mesh & mesh,
--                        const string & filename);
--
--extern
--void WriteFluentFormat (const Mesh & mesh,
--                        const string & filename);
--
--extern
--void WritePermasFormat (const Mesh & mesh,
--                        const string & filename);
--
--extern
--void WriteFEAPFormat (const Mesh & mesh,
--                      const string & filename);
--
--extern
--void WriteElmerFormat (const Mesh & mesh,
--                       const string & filename);
--
--
--extern
--void WriteEdgeElementFormat (const Mesh & mesh,
--                             const CSGeometry & geom,
--                             const string & filename);
--
--
--
--#ifdef OLIVER
--extern
--void WriteTETFormat (const Mesh & mesh,
--                     const string & filename);
--
--#endif
--
--extern void ReadTETFormat (Mesh & mesh,
--                           const string & filename);
--
--
--extern void ReadFNFFormat (Mesh & mesh,
--                           const string & filename);
--
--
--
--void WriteDolfinFormat (const Mesh & mesh,
--                        const string & filename);
--
--
--extern void RegisterUserFormats (Array<const char*> & names,
--                                 Array<const char*> & extensions);
--
--
--extern bool WriteUserFormat (const string & format,
--                             const Mesh & mesh,
--                             const NetgenGeometry & geom,
--                             const string & filename);
--
--#endif
--
-+#ifndef WRITEUSER
-+#define WRITEUSER
-+
-+/**************************************************************************/
-+/* File:    writeuser.hh                                                  */
-+/* Authors: many                                                          */
-+/* Date:    10. Dec. 97                                                   */
-+/**************************************************************************/
-+
-+
-+extern
-+void WriteFile (int typ,
-+                const Mesh & mesh,
-+                const CSGeometry & geom,
-+                const char * filename,
-+                const char * geomfile = NULL,
-+                double h = 0);
-+
-+
-+
-+extern
-+void ReadFile (Mesh & mesh,
-+               const string & filename);
-+
-+
-+
-+
-+
-+
-+extern
-+void WriteNeutralFormat (const Mesh & mesh,
-+                         const CSGeometry & geom,
-+                         const string & filename);
-+
-+extern
-+void WriteSurfaceFormat (const Mesh & mesh,
-+                         const string & filename);
-+
-+extern
-+void WriteSTLFormat (const Mesh & mesh,
-+                     const string & filename);
-+
-+
-+// Philippose - 16 August 2010
-+// Added the STL Extended format in which
-+// each face of the geometry is treated as
-+// a separate "solid" entity in the STL file
-+extern
-+void WriteSTLExtFormat (const Mesh & mesh,
-+                        const string & filename);
-+
-+
-+extern
-+void WriteVRMLFormat (const Mesh & mesh,
-+                      bool faces,
-+                      const string & filename);
-+
-+extern
-+void WriteFEPPFormat (const Mesh & mesh,
-+                      const CSGeometry & geom,
-+                      const string & filename);
-+
-+extern
-+void WriteGmshFormat (const Mesh & mesh,
-+                      const CSGeometry & geom,
-+                      const string & filename);
-+
-+
-+// Philippose - 29/01/2009
-+// Added GMSH v2.xx Mesh Export support
-+void WriteGmsh2Format (const Mesh & mesh,
-+                       const CSGeometry & geom,
-+                       const string & filename);
-+
-+
-+// Philippose - 25/10/2009
-+// Added OpenFOAM 1.5+ Mesh Export support
-+extern
-+void WriteOpenFOAM15xFormat (const Mesh & mesh,
-+                             const string & casename,
-+                                                       const bool compressed);
-+
-+
-+extern
-+void WriteUserChemnitz (const Mesh & mesh,
-+                        const string & filename);
-+
-+extern
-+void WriteJCMFormat (const Mesh & mesh,
-+                     const CSGeometry & geom,
-+                     const string & filename);
-+
-+
-+extern
-+void WriteDiffPackFormat (const Mesh & mesh,
-+                          const CSGeometry & geom,
-+                          const string & filename);
-+
-+extern
-+void WriteTochnogFormat (const Mesh & mesh,
-+                         const string & filename);
-+
-+extern
-+void WriteTecPlotFormat (const Mesh & mesh,
-+                         const CSGeometry & geom,
-+                         const string & filename);
-+
-+extern
-+void WriteAbaqusFormat (const Mesh & mesh,
-+                        const string & filename);
-+
-+extern
-+void WriteFluentFormat (const Mesh & mesh,
-+                        const string & filename);
-+
-+extern
-+void WritePermasFormat (const Mesh & mesh,
-+                        const string & filename);
-+
-+extern
-+void WriteFEAPFormat (const Mesh & mesh,
-+                      const string & filename);
-+
-+extern
-+void WriteElmerFormat (const Mesh & mesh,
-+                       const string & filename);
-+
-+
-+extern
-+void WriteEdgeElementFormat (const Mesh & mesh,
-+                             const CSGeometry & geom,
-+                             const string & filename);
-+
-+
-+
-+#ifdef OLIVER
-+extern
-+void WriteTETFormat (const Mesh & mesh,
-+                     const string & filename);
-+
-+#endif
-+
-+extern void ReadTETFormat (Mesh & mesh,
-+                           const string & filename);
-+
-+
-+extern void ReadFNFFormat (Mesh & mesh,
-+                           const string & filename);
-+
-+
-+
-+void WriteDolfinFormat (const Mesh & mesh,
-+                        const string & filename);
-+
-+
-+extern void RegisterUserFormats (Array<const char*> & names,
-+                                 Array<const char*> & extensions);
-+
-+
-+extern bool WriteUserFormat (const string & format,
-+                             const Mesh & mesh,
-+                             const NetgenGeometry & geom,
-+                             const string & filename);
-+
-+#endif
-+
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/Makefile.am netgen-5.3.1_SRC_modif/libsrc/meshing/Makefile.am
---- netgen-5.3.1_SRC_orig/libsrc/meshing/Makefile.am   2014-08-29 13:54:05.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/meshing/Makefile.am  2018-03-01 15:41:03.991158254 +0300
-@@ -15,7 +15,7 @@
- METASOURCES = AUTO
--lib_LTLIBRARIES = libmesh.la
-+noinst_LTLIBRARIES = libmesh.la
- libmesh_la_SOURCES = adfront2.cpp adfront3.cpp bisect.cpp boundarylayer.cpp \
-       clusters.cpp curvedelems.cpp delaunay.cpp delaunay2d.cpp            \
-@@ -30,8 +30,5 @@
-       topology.cpp triarls.cpp validate.cpp zrefine.cpp bcfunctions.cpp   \
-       parallelmesh.cpp  paralleltop.cpp  paralleltop.hpp basegeom.cpp 
--libmesh_la_LIBADD =  $(top_builddir)/libsrc/linalg/libla.la \
--      $(top_builddir)/libsrc/gprim/libgprim.la \
--      $(top_builddir)/libsrc/general/libgen.la \
--      -lz
-+libmesh_la_LIBADD = -lz
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/findip.hpp netgen-5.3.1_SRC_modif/libsrc/meshing/findip.hpp
---- netgen-5.3.1_SRC_orig/libsrc/meshing/findip.hpp    2014-08-29 13:54:05.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/meshing/findip.hpp   2018-03-01 15:41:03.991158254 +0300
-@@ -75,6 +75,9 @@
-   static int timer = NgProfiler::CreateTimer ("FindInnerPoint");
-   NgProfiler::RegionTimer reg (timer);
-+  if ( points.Size() < 3 )
-+    return 0;
-+
-   Array<Vec3d> a;
-   Array<double> c;
-   Mat<3> m, inv;
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/improve3.cpp netgen-5.3.1_SRC_modif/libsrc/meshing/improve3.cpp
---- netgen-5.3.1_SRC_orig/libsrc/meshing/improve3.cpp  2014-08-29 13:54:05.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/meshing/improve3.cpp 2018-03-01 15:41:03.991158254 +0300
-@@ -1219,6 +1219,7 @@
-             tetused = 0;
-             tetused[0] = 1;
-+              int nbtetused = 0;
-             for (int l = 2; l < nsuround; l++)
-               {
-@@ -1239,10 +1240,12 @@
-                             
-                             tetused[k] = 1; 
-                             suroundpts[l] = newpi;
-+                              ++nbtetused;
-                           }                   
-                     }
-               }
--
-+              if ( nbtetused < nsuround )
-+                continue;
-             
-             bad1 = 0;
-             for (int k = 0; k < nsuround; k++)
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/meshtype.cpp netgen-5.3.1_SRC_modif/libsrc/meshing/meshtype.cpp
---- netgen-5.3.1_SRC_orig/libsrc/meshing/meshtype.cpp  2014-08-29 13:54:05.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/meshing/meshtype.cpp 2018-03-01 15:41:03.992158147 +0300
-@@ -1,4 +1,5 @@
- #include <mystdlib.h>
-+#include <float.h> // to get DBL_MIN defined
- #include "meshing.hpp"  
-@@ -666,7 +667,8 @@
-         double det = trans.Det();
--        if (det <= 0)
-+        // if (det <= 0)
-+        if (det <= DBL_MIN) // avoid FPE
-           err += 1e12;
-         else
-           err += frob * frob / det;
-@@ -722,7 +724,8 @@
-             double det = trans(0,0)*trans(1,1)-trans(1,0)*trans(0,1);
--            if (det <= 0)
-+            // if (det <= 0)
-+            if (det <= DBL_MIN)  // avoid FPE
-               {
-                 dd = 0;
-                 return 1e12;
-@@ -806,7 +809,8 @@
-           = dtrans(0,0) * trans(1,1) - trans(0,1) * dtrans(1,0)
-           + trans(0,0) * dtrans(1,1) - dtrans(0,1) * trans(1,0);
--        if (det <= 0)
-+        // if (det <= 0)
-+        if (det <= DBL_MIN) // avoid FPE
-           err += 1e12;
-         else
-           {
-@@ -856,7 +860,8 @@
-         frob /= 2;
-         double det = trans.Det();
--        if (det <= 0)
-+        //if (det <= 0)
-+        if (det <= DBL_MIN) // avoid FPE
-           err += 1e12;
-         else
-           err += frob * frob / det;
-@@ -1864,7 +1869,8 @@
-       case PYRAMID:
-         {
-           double noz = 1-p(2);
--          if (noz == 0.0) noz = 1e-10;
-+          //if (noz == 0.0) noz = 1e-10;
-+          if (noz <= DBL_MIN) noz = 1e-10; // avoid FPE
-           double xi  = p(0) / noz;
-           double eta = p(1) / noz;
-@@ -2030,7 +2036,8 @@
-         double det = -trans.Det();
-       
--        if (det <= 0)
-+        //if (det <= 0)
-+        if (det <= DBL_MIN) // avoid FPE
-           err += 1e12;
-         else
-           err += frob * frob * frob / det;
-@@ -2102,7 +2109,8 @@
-         ddet *= -1;
-       
--        if (det <= 0)
-+        //if (det <= 0)
-+        if (det <= DBL_MIN) // avoid FPE
-           err += 1e12;
-         else
-           {
-@@ -2184,7 +2192,7 @@
-       
-         det *= -1;
-       
--        if (det <= 0)
-+        if (det <= DBL_MIN)
-           err += 1e12;
-         else
-           {
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/meshtype.hpp netgen-5.3.1_SRC_modif/libsrc/meshing/meshtype.hpp
---- netgen-5.3.1_SRC_orig/libsrc/meshing/meshtype.hpp  2014-08-29 13:54:05.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/meshing/meshtype.hpp 2018-03-01 15:41:03.992158147 +0300
-@@ -15,6 +15,7 @@
-     Classes for NETGEN
-   */
-+class Mesh; // added due to compilation errors on some platforms
-   enum ELEMENT_TYPE { 
-@@ -360,7 +361,7 @@
-         {
- #ifdef DEBUG
-           if (typ != QUAD && typ != QUAD6 && typ != QUAD8)
--            PrintSysError ("element2d::GetNV not implemented for typ", typ)
-+            PrintSysError ("element2d::GetNV not implemented for typ", typ);
- #endif
-           return 4;
-         }
-@@ -618,7 +619,7 @@
-         return 8;
-       default:
- #ifdef DEBUG
--        PrintSysError ("Element3d::GetNV not implemented for typ ", typ)
-+        PrintSysError ("Element3d::GetNV not implemented for typ ", typ);
- #endif
-           ;
-       }
-@@ -682,7 +683,7 @@
-       case PRISM12: return 5;
-       default:
- #ifdef DEBUG
--        PrintSysError ("element3d::GetNFaces not implemented for typ", typ)
-+        PrintSysError ("element3d::GetNFaces not implemented for typ", typ);
- #endif
-           ;
-       }
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Makefile.am netgen-5.3.1_SRC_modif/libsrc/occ/Makefile.am
---- netgen-5.3.1_SRC_orig/libsrc/occ/Makefile.am       2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/Makefile.am      2018-03-01 15:41:03.993158039 +0300
-@@ -14,10 +14,10 @@
- METASOURCES = AUTO
--lib_LTLIBRARIES = libocc.la
-+noinst_LTLIBRARIES = libocc.la
- if NGGUI
--lib_LTLIBRARIES += liboccvis.la 
-+lib_LTLIBRARIES = liboccvis.la 
- endif
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter2d.cxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter2d.cxx
---- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter2d.cxx     2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter2d.cxx    2018-03-01 15:41:03.993158039 +0300
-@@ -47,9 +47,7 @@
- #include <TopOpeBRep_EdgesIntersector.hxx>
- #include <TopOpeBRep_Point2d.hxx>
- #include <TopTools_ListIteratorOfListOfShape.hxx>
--#include <TopTools_ListOfShape.hxx>
- #include <TopTools_MapIteratorOfMapOfShape.hxx>
--#include <TopTools_MapOfShape.hxx>
- #include <TopoDS.hxx>
- #include <TopoDS_Edge.hxx>
- #include <TopoDS_Vertex.hxx>
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter2d.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter2d.hxx
---- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter2d.hxx     2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter2d.hxx    2018-03-01 15:41:03.993158039 +0300
-@@ -27,7 +27,9 @@
- #ifndef _Partition_Inter2d_HeaderFile
- #define _Partition_Inter2d_HeaderFile
--#ifndef _Handle_BRepAlgo_AsDes_HeaderFile
-+#include <Standard_Version.hxx>
-+
-+#if OCC_VERSION_MAJOR < 7
- #include <Handle_BRepAlgo_AsDes.hxx>
- #endif
- #ifndef _Standard_Real_HeaderFile
-@@ -36,11 +38,13 @@
- #ifndef _Standard_Boolean_HeaderFile
- #include <Standard_Boolean.hxx>
- #endif
-+
-+#include <TopTools_MapOfShape.hxx>
-+#include <TopTools_ListOfShape.hxx>
-+
- class BRepAlgo_AsDes;
- class TopoDS_Face;
--class TopTools_MapOfShape;
- class TopoDS_Vertex;
--class TopTools_ListOfShape;
- class TopoDS_Edge;
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter3d.cxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter3d.cxx
---- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter3d.cxx     2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter3d.cxx    2018-03-01 15:41:03.993158039 +0300
-@@ -48,7 +48,6 @@
- #include <TopOpeBRepTool_BoxSort.hxx>
- #include <TopTools_DataMapIteratorOfDataMapOfShapeListOfShape.hxx>
- #include <TopTools_ListIteratorOfListOfShape.hxx>
--#include <TopTools_ListOfShape.hxx>
- #include <TopoDS.hxx>
- #include <TopoDS_Compound.hxx>
- #include <TopoDS_Edge.hxx>
-@@ -206,7 +205,7 @@
-   Handle (Geom_Surface) S   = BRep_Tool::Surface(F,L);
-   if (S->IsKind(STANDARD_TYPE(Geom_RectangularTrimmedSurface))) {
--    S = (*(Handle_Geom_RectangularTrimmedSurface*)&S)->BasisSurface();
-+    S = Handle(Geom_RectangularTrimmedSurface)::DownCast (S)->BasisSurface();
-   }
-   if (!S->IsUPeriodic() && !S->IsVPeriodic())
-     return;
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter3d.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter3d.hxx
---- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter3d.hxx     2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter3d.hxx    2018-03-01 15:41:03.993158039 +0300
-@@ -27,7 +27,9 @@
- #ifndef _Partition_Inter3d_HeaderFile
- #define _Partition_Inter3d_HeaderFile
--#ifndef _Handle_BRepAlgo_AsDes_HeaderFile
-+#include <Standard_Version.hxx>
-+
-+#if OCC_VERSION_MAJOR < 7
- #include <Handle_BRepAlgo_AsDes.hxx>
- #endif
- #ifndef _TopTools_DataMapOfShapeListOfShape_HeaderFile
-@@ -36,6 +38,9 @@
- #ifndef _TopTools_MapOfShape_HeaderFile
- #include <TopTools_MapOfShape.hxx>
- #endif
-+#ifndef _TopTools_ListOfShape_HeaderFile
-+#include <TopTools_ListOfShape.hxx>
-+#endif
- #ifndef _TopTools_DataMapOfShapeShape_HeaderFile
- #include <TopTools_DataMapOfShapeShape.hxx>
- #endif
-@@ -43,10 +48,7 @@
- #include <Standard_Boolean.hxx>
- #endif
- class BRepAlgo_AsDes;
--class TopTools_ListOfShape;
--class TopTools_DataMapOfShapeShape;
- class TopoDS_Face;
--class TopTools_MapOfShape;
- class TopoDS_Shape;
- class TopoDS_Vertex;
- class TopoDS_Edge;
-@@ -83,13 +85,13 @@
-    void FacesPartition(const TopoDS_Face& F1,const TopoDS_Face& F2) ;
-    Standard_Boolean IsDone(const TopoDS_Face& F1,const TopoDS_Face& F2) const;
-    TopTools_MapOfShape& TouchedFaces() ;
--   Handle_BRepAlgo_AsDes AsDes() const;
-+   Handle(BRepAlgo_AsDes) AsDes() const;
-    TopTools_MapOfShape& NewEdges() ;
-    Standard_Boolean HasSameDomainF(const TopoDS_Shape& F) const;
-    Standard_Boolean IsSameDomainF(const TopoDS_Shape& F1,const TopoDS_Shape& F2) const;
-    const TopTools_ListOfShape& SameDomain(const TopoDS_Face& F) const;
-    TopoDS_Vertex ReplaceSameDomainV(const TopoDS_Vertex& V,const TopoDS_Edge& E) const;
--   Handle_BRepAlgo_AsDes SectionEdgesAD() const;
-+   Handle(BRepAlgo_AsDes) SectionEdgesAD() const;
-    Standard_Boolean IsSectionEdge(const TopoDS_Edge& E) const;
-    Standard_Boolean HasSectionEdge(const TopoDS_Face& F) const;
-    Standard_Boolean IsSplitOn(const TopoDS_Edge& NewE,const TopoDS_Edge& OldE,const TopoDS_Face& F) const;
-@@ -121,11 +123,11 @@
-    // Fields PRIVATE
-    //
--   Handle_BRepAlgo_AsDes myAsDes;
-+   Handle(BRepAlgo_AsDes) myAsDes;
-    TopTools_DataMapOfShapeListOfShape myDone;
-    TopTools_MapOfShape myTouched;
-    TopTools_MapOfShape myNewEdges;
--   Handle_BRepAlgo_AsDes mySectionEdgesAD;
-+   Handle(BRepAlgo_AsDes) mySectionEdgesAD;
-    TopTools_DataMapOfShapeListOfShape mySameDomainFM;
-    TopTools_DataMapOfShapeShape mySameDomainVM;
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop.hxx
---- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop.hxx        2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop.hxx       2018-03-01 15:41:03.994157932 +0300
-@@ -38,8 +38,6 @@
- #endif
- class TopoDS_Face;
- class TopoDS_Edge;
--class TopTools_ListOfShape;
--
- #ifndef _Standard_HeaderFile
- #include <Standard.hxx>
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop2d.cxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop2d.cxx
---- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop2d.cxx      2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop2d.cxx     2018-03-01 15:41:03.994157932 +0300
-@@ -210,7 +210,7 @@
-     Cc->D1(uc, PC, CTg1);
-     if (!isForward) CTg1.Reverse();
--    Standard_Real anglemin = 3 * PI, tolAng = 1.e-8;
-+    Standard_Real anglemin = 3 * M_PI, tolAng = 1.e-8;
-     // select an edge whose first derivative is most left of CTg1
-     // ie an angle between Tg1 and CTg1 is least
-@@ -234,7 +234,7 @@
-       // -PI < angle < PI
-       Standard_Real angle = Tg1.Angle(CTg1);
--      if (PI - Abs(angle) <= tolAng)
-+      if (M_PI - Abs(angle) <= tolAng)
-       {
-         // an angle is too close to PI; assure that an angle sign really
-         // reflects an edge position: +PI - an edge is worst,
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop2d.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop2d.hxx
---- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop2d.hxx      2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop2d.hxx     2018-03-01 15:41:03.994157932 +0300
-@@ -24,7 +24,6 @@
- #endif
- class TopoDS_Face;
- class TopoDS_Edge;
--class TopTools_ListOfShape;
- class BRepAlgo_Image;
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop3d.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop3d.hxx
---- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop3d.hxx      2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop3d.hxx     2018-03-01 15:41:03.994157932 +0300
-@@ -13,6 +13,9 @@
- #ifndef _TopTools_ListOfShape_HeaderFile
- #include <TopTools_ListOfShape.hxx>
- #endif
-+#ifndef _TopTools_MapOfOrientedShape_HeaderFile
-+#include <TopTools_MapOfOrientedShape.hxx>
-+#endif
- #ifndef _TopTools_IndexedDataMapOfShapeListOfShape_HeaderFile
- #include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
- #endif
-@@ -23,8 +26,6 @@
- #include <Standard_Real.hxx>
- #endif
- class TopoDS_Shape;
--class TopTools_ListOfShape;
--class TopTools_MapOfOrientedShape;
- class TopoDS_Edge;
- class TopoDS_Face;
- class gp_Vec;
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Spliter.cxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Spliter.cxx
---- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Spliter.cxx     2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Spliter.cxx    2018-03-01 15:41:03.995157825 +0300
-@@ -48,7 +48,6 @@
- #include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
- #include <TopTools_IndexedMapOfShape.hxx>
- #include <TopTools_ListIteratorOfListOfShape.hxx>
--#include <TopTools_ListOfShape.hxx>
- #include <TopTools_MapIteratorOfMapOfShape.hxx>
- #include <TopTools_SequenceOfShape.hxx>
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Spliter.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Spliter.hxx
---- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Spliter.hxx     2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Spliter.hxx    2018-03-01 15:41:03.995157825 +0300
-@@ -28,9 +28,6 @@
- #ifndef _TopTools_DataMapOfShapeShape_HeaderFile
- #include <TopTools_DataMapOfShapeShape.hxx>
- #endif
--#ifndef _Handle_BRepAlgo_AsDes_HeaderFile
--#include <Handle_BRepAlgo_AsDes.hxx>
--#endif
- #ifndef _BRepAlgo_Image_HeaderFile
- #include <BRepAlgo_Image.hxx>
- #endif
-@@ -45,7 +42,6 @@
- #endif
- class BRepAlgo_AsDes;
- class TopoDS_Shape;
--class TopTools_ListOfShape;
- class TopoDS_Edge;
-@@ -129,7 +125,7 @@
-    TopTools_DataMapOfShapeShape myFaceShapeMap;
-    TopTools_DataMapOfShapeShape myInternalFaces;
-    TopTools_DataMapOfShapeShape myIntNotClFaces;
--   Handle_BRepAlgo_AsDes myAsDes;
-+   Handle(BRepAlgo_AsDes) myAsDes;
-    BRepAlgo_Image myImagesFaces;
-    BRepAlgo_Image myImagesEdges;
-    BRepAlgo_Image myImageShape;
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occconstruction.cpp netgen-5.3.1_SRC_modif/libsrc/occ/occconstruction.cpp
---- netgen-5.3.1_SRC_orig/libsrc/occ/occconstruction.cpp       2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/occconstruction.cpp      2018-03-01 15:41:03.995157825 +0300
-@@ -28,7 +28,7 @@
- #include <BRepAlgoAPI_Common.hxx>
- #include <BRepAlgoAPI_Fuse.hxx>
- #include <BRepAlgoAPI_Section.hxx>
--#include <BRepOffsetAPI_Sewing.hxx>
-+//#include <BRepOffsetAPI_Sewing.hxx>
- //#include <BRepAlgo_Sewing.hxx>
- #include <BRepOffsetAPI_MakeOffsetShape.hxx>
- #include <ShapeFix_Shape.hxx>
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occgenmesh.cpp netgen-5.3.1_SRC_modif/libsrc/occ/occgenmesh.cpp
---- netgen-5.3.1_SRC_orig/libsrc/occ/occgenmesh.cpp    2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/occgenmesh.cpp   2018-03-01 15:45:08.690877359 +0300
-@@ -1,1467 +1,1570 @@
--#ifdef OCCGEOMETRY
--
--#include <mystdlib.h>
--#include <occgeom.hpp>
--#include <meshing.hpp>
--
--
--namespace netgen
--{
--
--#include "occmeshsurf.hpp"
--
--#define TCL_OK 0
--#define TCL_ERROR 1
--
--#define DIVIDEEDGESECTIONS 1000
--#define IGNORECURVELENGTH 1e-4
--#define VSMALL 1e-10
--
--
--   bool merge_solids = 1;
--
--
--  // can you please explain what you intend to compute here (JS) !!!
--   double Line :: Dist (Line l)
--   {
--      Vec<3> n = p1-p0;
--      Vec<3> q = l.p1-l.p0;
--      double nq = n*q;
--
--      Point<3> p = p0 + 0.5*n;
--      double lambda = (p-l.p0)*n / (nq + VSMALL);
--
--      if (lambda >= 0 && lambda <= 1)
--      {
--         double d = (p-l.p0-lambda*q).Length();
--         //        if (d < 1e-3) d = 1e99;
--         return d;
--      }
--      else
--         return 1e99;
--   }
--
--
--
--   double Line :: Length ()
--   {
--      return (p1-p0).Length();
--   }
--
--
--
--   inline Point<3> occ2ng (const gp_Pnt & p)
--   {
--      return  Point<3> (p.X(), p.Y(), p.Z());
--   }
--
--
--
--   double ComputeH (double kappa)
--   {
--      double hret;
--      kappa *= mparam.curvaturesafety;
--
--      if (mparam.maxh * kappa < 1)
--         hret = mparam.maxh;
--      else
--         hret = 1 / (kappa + VSMALL);
--
--      if (mparam.maxh < hret)
--         hret = mparam.maxh;
--
--      return (hret);
--   }
--
--
--
--
--   void RestrictHTriangle (gp_Pnt2d & par0, gp_Pnt2d & par1, gp_Pnt2d & par2,
--                           BRepLProp_SLProps * prop, Mesh & mesh, int depth, double h = 0)
--   {
--      int ls = -1;
--
--      gp_Pnt pnt0,pnt1,pnt2;
--
--      prop->SetParameters (par0.X(), par0.Y());
--      pnt0 = prop->Value();
--
--      prop->SetParameters (par1.X(), par1.Y());
--      pnt1 = prop->Value();
--
--      prop->SetParameters (par2.X(), par2.Y());
--      pnt2 = prop->Value();
--
--      double aux;
--      double maxside = pnt0.Distance(pnt1);
--      ls = 2;
--      aux = pnt1.Distance(pnt2);
--      if(aux > maxside)
--      {
--         maxside = aux;
--         ls = 0;
--      }
--      aux = pnt2.Distance(pnt0);
--      if(aux > maxside)
--      {
--         maxside = aux;
--         ls = 1;
--      }
--
--
--
--      gp_Pnt2d parmid;
--
--      parmid.SetX( (par0.X()+par1.X()+par2.X()) / 3 );
--      parmid.SetY( (par0.Y()+par1.Y()+par2.Y()) / 3 );
--
--      if (depth%3 == 0)
--      {
--         double curvature = 0;
--
--         prop->SetParameters (parmid.X(), parmid.Y());
--         if (!prop->IsCurvatureDefined())
--         {
--            (*testout) << "curvature not defined!" << endl;
--            return;
--         }
--         curvature = max(fabs(prop->MinCurvature()),
--            fabs(prop->MaxCurvature()));
--
--         prop->SetParameters (par0.X(), par0.Y());
--         if (!prop->IsCurvatureDefined())
--         {
--            (*testout) << "curvature not defined!" << endl;
--            return;
--         }
--         curvature = max(curvature,max(fabs(prop->MinCurvature()),
--            fabs(prop->MaxCurvature())));
--
--         prop->SetParameters (par1.X(), par1.Y());
--         if (!prop->IsCurvatureDefined())
--         {
--            (*testout) << "curvature not defined!" << endl;
--            return;
--         }
--         curvature = max(curvature,max(fabs(prop->MinCurvature()),
--            fabs(prop->MaxCurvature())));
--
--         prop->SetParameters (par2.X(), par2.Y());
--         if (!prop->IsCurvatureDefined())
--         {
--            (*testout) << "curvature not defined!" << endl;
--            return;
--         }
--         curvature = max(curvature,max(fabs(prop->MinCurvature()),
--            fabs(prop->MaxCurvature())));
--
--         //(*testout) << "curvature " << curvature << endl;
--
--         if (curvature < 1e-3)
--         {
--            //(*testout) << "curvature too small (" << curvature << ")!" << endl;
--            return;
--            // return war bis 10.2.05 auskommentiert
--         }
--
--
--
--         h = ComputeH (curvature+1e-10);
--
--         if(h < 1e-4*maxside)
--            return;
--
--
--         if (h > 30) return;
--      }
--
--      if (h < maxside && depth < 10)
--      {
--         //cout << "\r h " << h << flush;
--         gp_Pnt2d pm;
--
--         //cout << "h " << h << " maxside " << maxside << " depth " << depth << endl;
--         //cout << "par0 " << par0.X() << " " << par0.Y()
--         //<< " par1 " << par1.X() << " " << par1.Y()
--         //   << " par2 " << par2.X() << " " << par2.Y()<< endl;
--
--         if(ls == 0)
--         {
--            pm.SetX(0.5*(par1.X()+par2.X())); pm.SetY(0.5*(par1.Y()+par2.Y()));
--            RestrictHTriangle(pm, par2, par0, prop, mesh, depth+1, h);
--            RestrictHTriangle(pm, par0, par1, prop, mesh, depth+1, h);
--         }
--         else if(ls == 1)
--         {
--            pm.SetX(0.5*(par0.X()+par2.X())); pm.SetY(0.5*(par0.Y()+par2.Y()));
--            RestrictHTriangle(pm, par1, par2, prop, mesh, depth+1, h);
--            RestrictHTriangle(pm, par0, par1, prop, mesh, depth+1, h);
--         }
--         else if(ls == 2)
--         {
--            pm.SetX(0.5*(par0.X()+par1.X())); pm.SetY(0.5*(par0.Y()+par1.Y()));
--            RestrictHTriangle(pm, par1, par2, prop, mesh, depth+1, h);
--            RestrictHTriangle(pm, par2, par0, prop, mesh, depth+1, h);
--         }
--
--      }
--      else
--      {
--         gp_Pnt pnt;
--         Point3d p3d;
--
--         prop->SetParameters (parmid.X(), parmid.Y());
--         pnt = prop->Value();
--         p3d = Point3d(pnt.X(), pnt.Y(), pnt.Z());
--         mesh.RestrictLocalH (p3d, h);
--
--         p3d = Point3d(pnt0.X(), pnt0.Y(), pnt0.Z());
--         mesh.RestrictLocalH (p3d, h);
--
--         p3d = Point3d(pnt1.X(), pnt1.Y(), pnt1.Z());
--         mesh.RestrictLocalH (p3d, h);
--
--         p3d = Point3d(pnt2.X(), pnt2.Y(), pnt2.Z());
--         mesh.RestrictLocalH (p3d, h);
--
--         //(*testout) << "p = " << p3d << ", h = " << h << ", maxside = " << maxside << endl;
--
--      }
--   }
--
--
--
--   void DivideEdge (TopoDS_Edge & edge, Array<MeshPoint> & ps,
--                    Array<double> & params, Mesh & mesh)
--   {
--      double s0, s1;
--      double maxh = mparam.maxh;
--      int nsubedges = 1;
--      gp_Pnt pnt, oldpnt;
--      double svalue[DIVIDEEDGESECTIONS];
--
--      GProp_GProps system;
--      BRepGProp::LinearProperties(edge, system);
--      double L = system.Mass();
--
--      Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1);
--
--      double hvalue[DIVIDEEDGESECTIONS+1];
--      hvalue[0] = 0;
--      pnt = c->Value(s0);
--
--      double olddist = 0;
--      double dist = 0;
--
--      int tmpVal = (int)(DIVIDEEDGESECTIONS);
--
--      for (int i = 1; i <= tmpVal; i++)
--      {
--         oldpnt = pnt;
--         pnt = c->Value(s0+(i/double(DIVIDEEDGESECTIONS))*(s1-s0));
--         hvalue[i] = hvalue[i-1] +
--            1.0/mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))*
--            pnt.Distance(oldpnt);
--
--         //(*testout) << "mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z())) " << mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))
--         //      <<  " pnt.Distance(oldpnt) " << pnt.Distance(oldpnt) << endl;
--
--         olddist = dist;
--         dist = pnt.Distance(oldpnt);
--      }
--
--      //  nsubedges = int(ceil(hvalue[DIVIDEEDGESECTIONS]));
--      nsubedges = max (1, int(floor(hvalue[DIVIDEEDGESECTIONS]+0.5)));
--
--      ps.SetSize(nsubedges-1);
--      params.SetSize(nsubedges+1);
--
--      int i = 1;
--      int i1 = 0;
--      do
--      {
--         if (hvalue[i1]/hvalue[DIVIDEEDGESECTIONS]*nsubedges >= i)
--         {
--            params[i] = s0+(i1/double(DIVIDEEDGESECTIONS))*(s1-s0);
--            pnt = c->Value(params[i]);
--            ps[i-1] = MeshPoint (Point3d(pnt.X(), pnt.Y(), pnt.Z()));
--            i++;
--         }
--         i1++;
--         if (i1 > DIVIDEEDGESECTIONS)
--         {
--            nsubedges = i;
--            ps.SetSize(nsubedges-1);
--            params.SetSize(nsubedges+1);
--            cout << "divide edge: local h too small" << endl;
--         }
--      } while (i < nsubedges);
--
--      params[0] = s0;
--      params[nsubedges] = s1;
--
--      if (params[nsubedges] <= params[nsubedges-1])
--      {
--         cout << "CORRECTED" << endl;
--         ps.SetSize (nsubedges-2);
--         params.SetSize (nsubedges);
--         params[nsubedges] = s1;
--      }
--   }
--
--
--
--
--   void OCCFindEdges (OCCGeometry & geom, Mesh & mesh)
--   {
--      const char * savetask = multithread.task;
--      multithread.task = "Edge meshing";
--
--      (*testout) << "edge meshing" << endl;
--
--      int nvertices = geom.vmap.Extent();
--      int nedges = geom.emap.Extent();
--
--      (*testout) << "nvertices = " << nvertices << endl;
--      (*testout) << "nedges = " << nedges << endl;
--
--      double eps = 1e-6 * geom.GetBoundingBox().Diam();
--
--      for (int i = 1; i <= nvertices; i++)
--      {
--         gp_Pnt pnt = BRep_Tool::Pnt (TopoDS::Vertex(geom.vmap(i)));
--         MeshPoint mp( Point<3>(pnt.X(), pnt.Y(), pnt.Z()) );
--
--         bool exists = 0;
--         if (merge_solids)
--            for (PointIndex pi = 1; pi <= mesh.GetNP(); pi++)
--               if ( Dist2 (mesh[pi], Point<3>(mp)) < eps*eps)
--               {
--                  exists = 1;
--                  break;
--               }
--
--               if (!exists)
--                  mesh.AddPoint (mp);
--      }
--
--      (*testout) << "different vertices = " << mesh.GetNP() << endl;
--
--
--      int first_ep = mesh.GetNP()+1;
--
--      Array<int> face2solid[2];
--      for (int i = 0; i<2; i++)
--      {
--         face2solid[i].SetSize (geom.fmap.Extent());
--         face2solid[i] = 0;
--      }
--
--      int solidnr = 0;
--      for (TopExp_Explorer exp0(geom.shape, TopAbs_SOLID); exp0.More(); exp0.Next())
--      {
--         solidnr++;
--         for (TopExp_Explorer exp1(exp0.Current(), TopAbs_FACE); exp1.More(); exp1.Next())
--         {
--            TopoDS_Face face = TopoDS::Face(exp1.Current());
--            int facenr = geom.fmap.FindIndex(face);
--
--            if (face2solid[0][facenr-1] == 0)
--               face2solid[0][facenr-1] = solidnr;
--            else
--               face2solid[1][facenr-1] = solidnr;
--         }
--      }
--
--
--      int total = 0;
--      for (int i3 = 1; i3 <= geom.fmap.Extent(); i3++)
--         for (TopExp_Explorer exp2(geom.fmap(i3), TopAbs_WIRE); exp2.More(); exp2.Next())
--            for (TopExp_Explorer exp3(exp2.Current(), TopAbs_EDGE); exp3.More(); exp3.Next())
--               total++;
--
--
--      int facenr = 0;
--      int edgenr = 0;
--
--
--      (*testout) << "faces = " << geom.fmap.Extent() << endl;
--      int curr = 0;
--
--      for (int i3 = 1; i3 <= geom.fmap.Extent(); i3++)
--      {
--         TopoDS_Face face = TopoDS::Face(geom.fmap(i3));
--         facenr = geom.fmap.FindIndex (face);       // sollte doch immer == i3 sein ??? JS
--
--         int solidnr0 = face2solid[0][i3-1];
--         int solidnr1 = face2solid[1][i3-1];
--
--         /* auskommentiert am 3.3.05 von robert
--         for (exp2.Init (geom.somap(solidnr0), TopAbs_FACE); exp2.More(); exp2.Next())
--         {
--         TopoDS_Face face2 = TopoDS::Face(exp2.Current());
--         if (geom.fmap.FindIndex(face2) == facenr)
--         {
--         //                 if (face.Orientation() != face2.Orientation()) swap (solidnr0, solidnr1);
--         }
--         }
--         */
--
--         mesh.AddFaceDescriptor (FaceDescriptor(facenr, solidnr0, solidnr1, 0));
--
--         // Philippose - 06/07/2009
--         // Add the face colour to the mesh data
--         Quantity_Color face_colour;
--
--         if(!(geom.face_colours.IsNull())
--            && (geom.face_colours->GetColor(face,XCAFDoc_ColorSurf,face_colour)))
--         {
--            mesh.GetFaceDescriptor(facenr).SetSurfColour(Vec3d(face_colour.Red(),face_colour.Green(),face_colour.Blue()));
--         }
--         else
--         {
--            mesh.GetFaceDescriptor(facenr).SetSurfColour(Vec3d(0.0,1.0,0.0));
--         }
--         // ACHTUNG! STIMMT NICHT ALLGEMEIN (RG)
--
--
--         Handle(Geom_Surface) occface = BRep_Tool::Surface(face);
--
--         for (TopExp_Explorer exp2 (face, TopAbs_WIRE); exp2.More(); exp2.Next())
--         {
--            TopoDS_Shape wire = exp2.Current();
--
--            for (TopExp_Explorer exp3 (wire, TopAbs_EDGE); exp3.More(); exp3.Next())
--            {
--               curr++;
--               (*testout) << "edge nr " << curr << endl;
--
--               multithread.percent = 100 * curr / double (total);
--               if (multithread.terminate) return;
--
--               TopoDS_Edge edge = TopoDS::Edge (exp3.Current());
--               if (BRep_Tool::Degenerated(edge))
--               {
--                  //(*testout) << "ignoring degenerated edge" << endl;
--                  continue;
--               }
--
--               if (geom.vmap.FindIndex(TopExp::FirstVertex (edge)) ==
--                  geom.vmap.FindIndex(TopExp::LastVertex (edge)))
--               {
--                  GProp_GProps system;
--                  BRepGProp::LinearProperties(edge, system);
--
--                  if (system.Mass() < eps)
--                  {
--                     cout << "ignoring edge " << geom.emap.FindIndex (edge)
--                        << ". closed edge with length < " << eps << endl;
--                     continue;
--                  }
--               }
--
--
--               Handle(Geom2d_Curve) cof;
--               double s0, s1;
--               cof = BRep_Tool::CurveOnSurface (edge, face, s0, s1);
--
--               int geomedgenr = geom.emap.FindIndex(edge);
--
--               Array <MeshPoint> mp;
--               Array <double> params;
--
--               DivideEdge (edge, mp, params, mesh);
-- 
--               Array <int> pnums;
--               pnums.SetSize (mp.Size()+2);
--
--               if (!merge_solids)
--               {
--                  pnums[0] = geom.vmap.FindIndex (TopExp::FirstVertex (edge));
--                  pnums[pnums.Size()-1] = geom.vmap.FindIndex (TopExp::LastVertex (edge));
--               }
--               else
--               {
--                  Point<3> fp = occ2ng (BRep_Tool::Pnt (TopExp::FirstVertex (edge)));
--                  Point<3> lp = occ2ng (BRep_Tool::Pnt (TopExp::LastVertex (edge)));
--
--                  pnums[0] = -1;
--                  pnums.Last() = -1;
--                  for (PointIndex pi = 1; pi < first_ep; pi++)
--                  {
--                     if (Dist2 (mesh[pi], fp) < eps*eps) pnums[0] = pi;
--                     if (Dist2 (mesh[pi], lp) < eps*eps) pnums.Last() = pi;
--                  }
--               }
--
--
--               for (int i = 1; i <= mp.Size(); i++)
--               {
--                  bool exists = 0;
--                  int j;
--                  for (j = first_ep; j <= mesh.GetNP(); j++)
--                     if ((mesh.Point(j)-Point<3>(mp[i-1])).Length() < eps)
--                     {
--                        exists = 1;
--                        break;
--                     }
--
--                     if (exists)
--                        pnums[i] = j;
--                     else
--                     {
--                        mesh.AddPoint (mp[i-1]);
--                        (*testout) << "add meshpoint " << mp[i-1] << endl;
--                        pnums[i] = mesh.GetNP();
--                     }
--               }
--               (*testout) << "NP = " << mesh.GetNP() << endl;
--
--               //(*testout) << pnums[pnums.Size()-1] << endl;
--
--               for (int i = 1; i <= mp.Size()+1; i++)
--               {
--                  edgenr++;
--                  Segment seg;
--
--                  seg[0] = pnums[i-1];
--                  seg[1] = pnums[i];
--                  seg.edgenr = edgenr;
--                  seg.si = facenr;
--                  seg.epgeominfo[0].dist = params[i-1];
--                  seg.epgeominfo[1].dist = params[i];
--                  seg.epgeominfo[0].edgenr = geomedgenr;
--                  seg.epgeominfo[1].edgenr = geomedgenr;
--
--                  gp_Pnt2d p2d;
--                  p2d = cof->Value(params[i-1]);
--                  //                  if (i == 1) p2d = cof->Value(s0);
--                  seg.epgeominfo[0].u = p2d.X();
--                  seg.epgeominfo[0].v = p2d.Y();
--                  p2d = cof->Value(params[i]);
--                  //                  if (i == mp.Size()+1) p2d = cof -> Value(s1);
--                  seg.epgeominfo[1].u = p2d.X();
--                  seg.epgeominfo[1].v = p2d.Y();
--
--                  /*
--                  if (occface->IsUPeriodic())
--                  {
--                  cout << "U Periodic" << endl;
--                  if (fabs(seg.epgeominfo[1].u-seg.epgeominfo[0].u) >
--                  fabs(seg.epgeominfo[1].u-
--                  (seg.epgeominfo[0].u-occface->UPeriod())))
--                  seg.epgeominfo[0].u = p2d.X()+occface->UPeriod();
--
--                  if (fabs(seg.epgeominfo[1].u-seg.epgeominfo[0].u) >
--                  fabs(seg.epgeominfo[1].u-
--                  (seg.epgeominfo[0].u+occface->UPeriod())))
--                  seg.epgeominfo[0].u = p2d.X()-occface->UPeriod();
--                  }
--
--                  if (occface->IsVPeriodic())
--                  {
--                  cout << "V Periodic" << endl;
--                  if (fabs(seg.epgeominfo[1].v-seg.epgeominfo[0].v) >
--                  fabs(seg.epgeominfo[1].v-
--                  (seg.epgeominfo[0].v-occface->VPeriod())))
--                  seg.epgeominfo[0].v = p2d.Y()+occface->VPeriod();
--
--                  if (fabs(seg.epgeominfo[1].v-seg.epgeominfo[0].v) >
--                  fabs(seg.epgeominfo[1].v-
--                  (seg.epgeominfo[0].v+occface->VPeriod())))
--                  seg.epgeominfo[0].v = p2d.Y()-occface->VPeriod();
--                  }
--                  */
--
--                  if (edge.Orientation() == TopAbs_REVERSED)
--                  {
--                     swap (seg[0], seg[1]);
--                     swap (seg.epgeominfo[0].dist, seg.epgeominfo[1].dist);
--                     swap (seg.epgeominfo[0].u, seg.epgeominfo[1].u);
--                     swap (seg.epgeominfo[0].v, seg.epgeominfo[1].v);
--                  }
--
--                  mesh.AddSegment (seg);
--
--                  //edgesegments[geomedgenr-1]->Append(mesh.GetNSeg());
--
--               }
--            }
--         }
--      }
--
--      //      for(i=1; i<=mesh.GetNSeg(); i++)
--      //              (*testout) << "edge " << mesh.LineSegment(i).edgenr << " face " << mesh.LineSegment(i).si
--      //                              << " p1 " << mesh.LineSegment(i)[0] << " p2 " << mesh.LineSegment(i)[1] << endl;
--      //      exit(10);
--
--      mesh.CalcSurfacesOfNode();
--      multithread.task = savetask;
--   }
--
--
--
--
--   void OCCMeshSurface (OCCGeometry & geom, Mesh & mesh, int perfstepsend)
--   {
--      int i, j, k;
--      int changed;
--
--      const char * savetask = multithread.task;
--      multithread.task = "Surface meshing";
--
--      geom.facemeshstatus = 0;
--
--      int noldp = mesh.GetNP();
--
--      double starttime = GetTime();
--
--      Array<int> glob2loc(noldp);
--
--      //int projecttype = PARAMETERSPACE;
--
--      int projecttype = PARAMETERSPACE;
--
--      int notrys = 1;
--
--      int surfmesherror = 0;
--
--      for (k = 1; k <= mesh.GetNFD(); k++)
--      {
--         if(1==0 && !geom.fvispar[k-1].IsDrawable())
--         {
--            (*testout) << "ignoring face " << k << endl;
--            cout << "ignoring face " << k << endl;
--            continue;
--         }
--
--         (*testout) << "mesh face " << k << endl;
--         multithread.percent = 100 * k / (mesh.GetNFD() + VSMALL);
--         geom.facemeshstatus[k-1] = -1;
--
--
--         /*
--         if (k != 42)
--         {
--         cout << "skipped" << endl;
--         continue;
--         }
--         */
--
--
--         FaceDescriptor & fd = mesh.GetFaceDescriptor(k);
--
--         int oldnf = mesh.GetNSE();
--
--         Box<3> bb = geom.GetBoundingBox();
--
--         //      int projecttype = PLANESPACE;
--
--         Meshing2OCCSurfaces meshing(TopoDS::Face(geom.fmap(k)), bb, projecttype);
--
--         if (meshing.GetProjectionType() == PLANESPACE)
--            PrintMessage (2, "Face ", k, " / ", mesh.GetNFD(), " (plane space projection)");
--         else
--            PrintMessage (2, "Face ", k, " / ", mesh.GetNFD(), " (parameter space projection)");
--
--         if (surfmesherror)
--            cout << "Surface meshing error occured before (in " << surfmesherror << " faces)" << endl;
--
--         //      Meshing2OCCSurfaces meshing(f2, bb);
--         meshing.SetStartTime (starttime);
--
--         //(*testout) << "Face " << k << endl << endl;
--
--
--         if (meshing.GetProjectionType() == PLANESPACE)
--         {
--            int cntp = 0;
--            glob2loc = 0;
--            for (i = 1; i <= mesh.GetNSeg(); i++)
--            {
--               Segment & seg = mesh.LineSegment(i);
--               if (seg.si == k)
--               {
--                  for (j = 1; j <= 2; j++)
--                  {
--                     int pi = (j == 1) ? seg[0] : seg[1];
--                     if (!glob2loc.Get(pi))
--                     {
--                        meshing.AddPoint (mesh.Point(pi), pi);
--                        cntp++;
--                        glob2loc.Elem(pi) = cntp;
--                     }
--                  }
--               }
--            }
--
--            for (i = 1; i <= mesh.GetNSeg(); i++)
--            {
--               Segment & seg = mesh.LineSegment(i);
--               if (seg.si == k)
--               {
--                  PointGeomInfo gi0, gi1;
--                  gi0.trignum = gi1.trignum = k;
--                  gi0.u = seg.epgeominfo[0].u;
--                  gi0.v = seg.epgeominfo[0].v;
--                  gi1.u = seg.epgeominfo[1].u;
--                  gi1.v = seg.epgeominfo[1].v;
--
--                  meshing.AddBoundaryElement (glob2loc.Get(seg[0]), glob2loc.Get(seg[1]), gi0, gi1);
--                  //(*testout) << gi0.u << " " << gi0.v << endl;
--                  //(*testout) << gi1.u << " " << gi1.v << endl;
--               }
--            }
--         }
--         else
--         {
--            int cntp = 0;
--
--            for (i = 1; i <= mesh.GetNSeg(); i++)
--               if (mesh.LineSegment(i).si == k)
--                  cntp+=2;
--
--
--            Array< PointGeomInfo > gis;
--
--            gis.SetAllocSize (cntp);
--            gis.SetSize (0);
--
--            for (i = 1; i <= mesh.GetNSeg(); i++)
--            {
--               Segment & seg = mesh.LineSegment(i);
--               if (seg.si == k)
--               {
--                  PointGeomInfo gi0, gi1;
--                  gi0.trignum = gi1.trignum = k;
--                  gi0.u = seg.epgeominfo[0].u;
--                  gi0.v = seg.epgeominfo[0].v;
--                  gi1.u = seg.epgeominfo[1].u;
--                  gi1.v = seg.epgeominfo[1].v;
--
--                  int locpnum[2] = {0, 0};
--
--                  for (j = 0; j < 2; j++)
--                  {
--                     PointGeomInfo gi = (j == 0) ? gi0 : gi1;
--
--                     int l;
--                     for (l = 0; l < gis.Size() && locpnum[j] == 0; l++)
--                     {
--                        double dist = sqr (gis[l].u-gi.u)+sqr(gis[l].v-gi.v);
--
--                        if (dist < 1e-10)
--                           locpnum[j] = l+1;
--                     }
--
--                     if (locpnum[j] == 0)
--                     {
--                        int pi = (j == 0) ? seg[0] : seg[1];
--                        meshing.AddPoint (mesh.Point(pi), pi);
--
--                        gis.SetSize (gis.Size()+1);
--                        gis[l] = gi;
--                        locpnum[j] = l+1;
--                     }
--                  }
--
--                  meshing.AddBoundaryElement (locpnum[0], locpnum[1], gi0, gi1);
--                  //(*testout) << gi0.u << " " << gi0.v << endl;
--                  //(*testout) << gi1.u << " " << gi1.v << endl;
--
--               }
--            }
--         }
--
--
--
--
--
--         // Philippose - 15/01/2009
--         double maxh = geom.face_maxh[k-1];
--         //double maxh = mparam.maxh;
--         mparam.checkoverlap = 0;
--         //      int noldpoints = mesh->GetNP();
--         int noldsurfel = mesh.GetNSE();
--
--         GProp_GProps sprops;
--         BRepGProp::SurfaceProperties(TopoDS::Face(geom.fmap(k)),sprops);
--         meshing.SetMaxArea(2.*sprops.Mass());
--
--         MESHING2_RESULT res;
--
--         try {
--         res = meshing.GenerateMesh (mesh, mparam, maxh, k);
--         }
--
--         catch (SingularMatrixException)
--         {
--            (*myerr) << "Singular Matrix" << endl;
--            res = MESHING2_GIVEUP;
--         }
--
--         catch (UVBoundsException)
--         {
--            (*myerr) << "UV bounds exceeded" << endl;
--            res = MESHING2_GIVEUP;
--         }
--
--         projecttype = PARAMETERSPACE;
--
--         if (res != MESHING2_OK)
--         {
--            if (notrys == 1)
--            {
--               for (int i = noldsurfel+1; i <= mesh.GetNSE(); i++)
--                  mesh.DeleteSurfaceElement (i);
--
--               mesh.Compress();
--
--               cout << "retry Surface " << k << endl;
--
--               k--;
--               projecttype*=-1;
--               notrys++;
--               continue;
--            }
--            else
--            {
--               geom.facemeshstatus[k-1] = -1;
--               PrintError ("Problem in Surface mesh generation");
--               surfmesherror++;
--               //           throw NgException ("Problem in Surface mesh generation");
--            }
--         }
--         else
--         {
--            geom.facemeshstatus[k-1] = 1;
--         }
--
--         notrys = 1;
--
--         for (i = oldnf+1; i <= mesh.GetNSE(); i++)
--            mesh.SurfaceElement(i).SetIndex (k);
--
--      }
--
--//      ofstream problemfile("occmesh.rep");
--
--//      problemfile << "SURFACEMESHING" << endl << endl;
--
--      if (surfmesherror)
--      {
--         cout << "WARNING! NOT ALL FACES HAVE BEEN MESHED" << endl;
--         cout << "SURFACE MESHING ERROR OCCURED IN " << surfmesherror << " FACES:" << endl;
--         for (int i = 1; i <= geom.fmap.Extent(); i++)
--            if (geom.facemeshstatus[i-1] == -1)
--            {
--               cout << "Face " << i << endl;
--//               problemfile << "problem with face " << i << endl;
--//               problemfile << "vertices: " << endl;
--               TopExp_Explorer exp0,exp1,exp2;
--               for ( exp0.Init(TopoDS::Face (geom.fmap(i)), TopAbs_WIRE); exp0.More(); exp0.Next() )
--               {
--                  TopoDS_Wire wire = TopoDS::Wire(exp0.Current());
--                  for ( exp1.Init(wire,TopAbs_EDGE); exp1.More(); exp1.Next() )
--                  {
--                     TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
--                     for ( exp2.Init(edge,TopAbs_VERTEX); exp2.More(); exp2.Next() )
--                     {
--                        TopoDS_Vertex vertex = TopoDS::Vertex(exp2.Current());
--                        gp_Pnt point = BRep_Tool::Pnt(vertex);
--//                        problemfile << point.X() << " " << point.Y() << " " << point.Z() << endl;
--                     }
--                  }
--               }
--//               problemfile << endl;
--
--            }
--            cout << endl << endl;
--            cout << "for more information open IGES/STEP Topology Explorer" << endl;
--//            problemfile.close();
--            throw NgException ("Problem in Surface mesh generation");
--      }
--      else
--      {
--//         problemfile << "OK" << endl << endl;
--//         problemfile.close();
--      }
--
--
--
--
--      if (multithread.terminate || perfstepsend < MESHCONST_OPTSURFACE)
--         return;
--
--      multithread.task = "Optimizing surface";
--
--      static int timer_opt2d = NgProfiler::CreateTimer ("Optimization 2D");
--      NgProfiler::StartTimer (timer_opt2d);
--
--      for (k = 1; k <= mesh.GetNFD(); k++)
--      {
--         //      if (k != 42) continue;
--         //      if (k != 36) continue;
--
--         //      (*testout) << "optimize face " << k << endl;
--         multithread.percent = 100 * k / (mesh.GetNFD() + VSMALL);
--
--         FaceDescriptor & fd = mesh.GetFaceDescriptor(k);
--
--         PrintMessage (1, "Optimize Surface ", k);
--         for (i = 1; i <= mparam.optsteps2d; i++)
--         {
--            //          (*testout) << "optstep " << i << endl;
--            if (multithread.terminate) return;
--
--            {
--               MeshOptimize2dOCCSurfaces meshopt(geom);
--               meshopt.SetFaceIndex (k);
--               meshopt.SetImproveEdges (0);
--               meshopt.SetMetricWeight (mparam.elsizeweight);
--               //meshopt.SetMetricWeight (0.2);
--               meshopt.SetWriteStatus (0);
--
--               //         (*testout) << "EdgeSwapping (mesh, (i > mparam.optsteps2d/2))" << endl;
--               meshopt.EdgeSwapping (mesh, (i > mparam.optsteps2d/2));
--            }
--
--            if (multithread.terminate) return;
--            {
--               MeshOptimize2dOCCSurfaces meshopt(geom);
--               meshopt.SetFaceIndex (k);
--               meshopt.SetImproveEdges (0);
--               //meshopt.SetMetricWeight (0.2);
--               meshopt.SetMetricWeight (mparam.elsizeweight);
--               meshopt.SetWriteStatus (0);
--
--               //         (*testout) << "ImproveMesh (mesh)" << endl;
--               meshopt.ImproveMesh (mesh, mparam);
--            }
--
--            {
--               MeshOptimize2dOCCSurfaces meshopt(geom);
--               meshopt.SetFaceIndex (k);
--               meshopt.SetImproveEdges (0);
--               //meshopt.SetMetricWeight (0.2);
--               meshopt.SetMetricWeight (mparam.elsizeweight);
--               meshopt.SetWriteStatus (0);
--
--               //         (*testout) << "CombineImprove (mesh)" << endl;
--               meshopt.CombineImprove (mesh);
--            }
--
--            if (multithread.terminate) return;
--            {
--               MeshOptimize2dOCCSurfaces meshopt(geom);
--               meshopt.SetFaceIndex (k);
--               meshopt.SetImproveEdges (0);
--               //meshopt.SetMetricWeight (0.2);
--               meshopt.SetMetricWeight (mparam.elsizeweight);
--               meshopt.SetWriteStatus (0);
--
--               //         (*testout) << "ImproveMesh (mesh)" << endl;
--               meshopt.ImproveMesh (mesh, mparam);
--            }
--         }
--
--      }
--
--
--      mesh.CalcSurfacesOfNode();
--      mesh.Compress();
--
--      NgProfiler::StopTimer (timer_opt2d);
--
--      multithread.task = savetask;
--   }
--
--
--
--   void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh)
--   {
--      mesh.SetGlobalH (mparam.maxh);
--      mesh.SetMinimalH (mparam.minh);
--
--      Array<double> maxhdom;
--      maxhdom.SetSize (geom.NrSolids());
--      maxhdom = mparam.maxh;
--
--      mesh.SetMaxHDomain (maxhdom);
--
--      Box<3> bb = geom.GetBoundingBox();
--      bb.Increase (bb.Diam()/10);
--
--      mesh.SetLocalH (bb.PMin(), bb.PMax(), 0.5);
--
--      if (mparam.uselocalh)
--      {
--         const char * savetask = multithread.task;
--         multithread.percent = 0;
--
--         mesh.SetLocalH (bb.PMin(), bb.PMax(), mparam.grading);
--
--         int nedges = geom.emap.Extent();
--
--               double mincurvelength = IGNORECURVELENGTH;
--         double maxedgelen = 0;
--         double minedgelen = 1e99;
--
--               if(occparam.resthminedgelenenable) 
--               {
--                      mincurvelength = occparam.resthminedgelen;
--                      if(mincurvelength < IGNORECURVELENGTH) mincurvelength = IGNORECURVELENGTH;
--               }
--
--         multithread.task = "Setting local mesh size (elements per edge)";
--
--         // setting elements per edge
--
--         for (int i = 1; i <= nedges && !multithread.terminate; i++)
--         {
--            TopoDS_Edge e = TopoDS::Edge (geom.emap(i));
--            multithread.percent = 100 * (i-1)/double(nedges);
--            if (BRep_Tool::Degenerated(e)) continue;
--
--            GProp_GProps system;
--            BRepGProp::LinearProperties(e, system);
--            double len = system.Mass();
--
--            if (len < mincurvelength)
--            {
--               (*testout) << "ignored" << endl;
--               continue;
--            }
--
--            double localh = len/mparam.segmentsperedge;
--            double s0, s1;
--
--            // Philippose - 23/01/2009
--            // Find all the parent faces of a given edge
--            // and limit the mesh size of the edge based on the
--            // mesh size limit of the face
--            TopTools_IndexedDataMapOfShapeListOfShape edge_face_map;
--            edge_face_map.Clear();
--
--            TopExp::MapShapesAndAncestors(geom.shape, TopAbs_EDGE, TopAbs_FACE, edge_face_map);
--            const TopTools_ListOfShape& parent_faces = edge_face_map.FindFromKey(e);
--
--            TopTools_ListIteratorOfListOfShape parent_face_list;
--
--            for(parent_face_list.Initialize(parent_faces); parent_face_list.More(); parent_face_list.Next())
--            {
--               TopoDS_Face parent_face = TopoDS::Face(parent_face_list.Value());
--
--               int face_index = geom.fmap.FindIndex(parent_face);
--
--               if(face_index >= 1) localh = min(localh,geom.face_maxh[face_index - 1]);
--            }
--
--            Handle(Geom_Curve) c = BRep_Tool::Curve(e, s0, s1);
--
--            maxedgelen = max (maxedgelen, len);
--            minedgelen = min (minedgelen, len);
--
--            // Philippose - 23/01/2009
--            // Modified the calculation of maxj, because the
--            // method used so far always results in maxj = 2,
--            // which causes the localh to be set only at the
--            // starting, mid and end of the edge.
--            // Old Algorithm:
--            // int maxj = 2 * (int) ceil (localh/len);
--            int maxj = max((int) ceil(len/localh), 2);
--
--            for (int j = 0; j <= maxj; j++)
--            {
--               gp_Pnt pnt = c->Value (s0+double(j)/maxj*(s1-s0));
--               mesh.RestrictLocalH (Point3d(pnt.X(), pnt.Y(), pnt.Z()), localh);
--            }
--         }
--
--         multithread.task = "Setting local mesh size (edge curvature)";
--
--         // setting edge curvature
--
--         int nsections = 20;
--
--         for (int i = 1; i <= nedges && !multithread.terminate; i++)
--         {
--            double maxcur = 0;
--            multithread.percent = 100 * (i-1)/double(nedges);
--            TopoDS_Edge edge = TopoDS::Edge (geom.emap(i));
--            if (BRep_Tool::Degenerated(edge)) continue;
--            double s0, s1;
--            Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1);
--            BRepAdaptor_Curve brepc(edge);
--            BRepLProp_CLProps prop(brepc, 2, 1e-5);
--
--            for (int j = 1; j <= nsections; j++)
--            {
--               double s = s0 + j/(double) nsections * (s1-s0);
--               prop.SetParameter (s);
--               double curvature = prop.Curvature();
--               if(curvature> maxcur) maxcur = curvature;
--
--               if (curvature >= 1e99)
--                  continue;
--
--               gp_Pnt pnt = c->Value (s);
--
--               mesh.RestrictLocalH (Point3d(pnt.X(), pnt.Y(), pnt.Z()), ComputeH (fabs(curvature)));
--            }
--            // (*testout) << "edge " << i << " max. curvature: " << maxcur << endl;
--         }
--
--         multithread.task = "Setting local mesh size (face curvature)";
--
--         // setting face curvature
--
--         int nfaces = geom.fmap.Extent();
--
--         for (int i = 1; i <= nfaces && !multithread.terminate; i++)
--         {
--            multithread.percent = 100 * (i-1)/double(nfaces);
--            TopoDS_Face face = TopoDS::Face(geom.fmap(i));
--            TopLoc_Location loc;
--            Handle(Geom_Surface) surf = BRep_Tool::Surface (face);
--            Handle(Poly_Triangulation) triangulation = BRep_Tool::Triangulation (face, loc);
--
--            if (triangulation.IsNull()) continue;
--
--            BRepAdaptor_Surface sf(face, Standard_True);
--            BRepLProp_SLProps prop(sf, 2, 1e-5);
--
--            int ntriangles = triangulation -> NbTriangles();
--            for (int j = 1; j <= ntriangles; j++)
--            {
--               gp_Pnt p[3];
--               gp_Pnt2d par[3];
--
--               for (int k = 1; k <=3; k++)
--               {
--                  int n = triangulation->Triangles()(j)(k);
--                  p[k-1] = triangulation->Nodes()(n).Transformed(loc);
--                  par[k-1] = triangulation->UVNodes()(n);
--               }
--
--               //double maxside = 0;
--               //maxside = max (maxside, p[0].Distance(p[1]));
--               //maxside = max (maxside, p[0].Distance(p[2]));
--               //maxside = max (maxside, p[1].Distance(p[2]));
--               //cout << "\rFace " << i << " pos11 ntriangles " << ntriangles << " maxside " << maxside << flush;
--
--               RestrictHTriangle (par[0], par[1], par[2], &prop, mesh, 0);
--               //cout << "\rFace " << i << " pos12 ntriangles " << ntriangles << flush;
--            }
--         }
--
--         // setting close edges
--
--         if (occparam.resthcloseedgeenable)
--         {
--            multithread.task = "Setting local mesh size (close edges)";
--
--            int sections = 100;
--
--            Array<Line> lines(sections*nedges);
--
--            Box3dTree* searchtree =
--               new Box3dTree (bb.PMin(), bb.PMax());
--
--            int nlines = 0;
--            for (int i = 1; i <= nedges && !multithread.terminate; i++)
--            {
--               TopoDS_Edge edge = TopoDS::Edge (geom.emap(i));
--               if (BRep_Tool::Degenerated(edge)) continue;
--
--               double s0, s1;
--               Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1);
--               BRepAdaptor_Curve brepc(edge);
--               BRepLProp_CLProps prop(brepc, 1, 1e-5);
--               prop.SetParameter (s0);
--
--               gp_Vec d0 = prop.D1().Normalized();
--               double s_start = s0;
--               int count = 0;
--               for (int j = 1; j <= sections; j++)
--               {
--                  double s = s0 + (s1-s0)*(double)j/(double)sections;
--                  prop.SetParameter (s);
--                  gp_Vec d1 = prop.D1().Normalized();
--                  double cosalpha = fabs(d0*d1);
--                  if ((j == sections) || (cosalpha < cos(10.0/180.0*M_PI)))
--                  {
--                     count++;
--                     gp_Pnt p0 = c->Value (s_start);
--                     gp_Pnt p1 = c->Value (s);
--                     lines[nlines].p0 = Point<3> (p0.X(), p0.Y(), p0.Z());
--                     lines[nlines].p1 = Point<3> (p1.X(), p1.Y(), p1.Z());
--
--                     Box3d box;
--                     box.SetPoint (Point3d(lines[nlines].p0));
--                     box.AddPoint (Point3d(lines[nlines].p1));
--
--                     searchtree->Insert (box.PMin(), box.PMax(), nlines+1);
--                     nlines++;
--
--                     s_start = s;
--                     d0 = d1;
--                  }
--               }
--            }
--
--            Array<int> linenums;
--
--            for (int i = 0; i < nlines; i++)
--            {
--               multithread.percent = (100*i)/double(nlines);
--               Line & line = lines[i];
--
--               Box3d box;
--               box.SetPoint (Point3d(line.p0));
--               box.AddPoint (Point3d(line.p1));
--               double maxhline = max (mesh.GetH(box.PMin()),
--                  mesh.GetH(box.PMax()));
--               box.Increase(maxhline);
--
--               double mindist = 1e99;
--               linenums.SetSize(0);
--               searchtree->GetIntersecting(box.PMin(),box.PMax(),linenums);
--
--               for (int j = 0; j < linenums.Size(); j++)
--               {
--                  int num = linenums[j]-1;
--                  if (i == num) continue;
--                  if ((line.p0-lines[num].p0).Length2() < 1e-15) continue;
--                  if ((line.p0-lines[num].p1).Length2() < 1e-15) continue;
--                  if ((line.p1-lines[num].p0).Length2() < 1e-15) continue;
--                  if ((line.p1-lines[num].p1).Length2() < 1e-15) continue;
--                  mindist = min (mindist, line.Dist(lines[num]));
--               }
--
--               mindist /= (occparam.resthcloseedgefac + VSMALL);
--
--               if (mindist < 1e-3)
--               {
--                  (*testout) << "extremely small local h: " << mindist
--                     << " --> setting to 1e-3" << endl;
--                  (*testout) << "somewhere near " << line.p0 << " - " << line.p1 << endl;
--                  mindist = 1e-3;
--               }
--
--               mesh.RestrictLocalHLine(line.p0, line.p1, mindist);
--            }
--         }
--
--         multithread.task = savetask;
--
--      }
--
--      // Philippose - 09/03/2009
--      // Added the capability to load the mesh size from a 
--      // file also for OpenCascade Geometry
--      // Note: 
--      // ** If the "uselocalh" option is ticked in 
--      // the "mesh options...insider" menu, the mesh 
--      // size will be further modified by the topology 
--      // analysis routines.
--      // ** To use the mesh size file as the sole source 
--      // for defining the mesh size, uncheck the "uselocalh"
--      // option.
--      mesh.LoadLocalMeshSize (mparam.meshsizefilename);
--   }
--
--
--
--  int OCCGenerateMesh (OCCGeometry & geom, Mesh *& mesh, MeshingParameters & mparam,
--                     int perfstepsstart, int perfstepsend)
--   {
--      multithread.percent = 0;
--
--      if (perfstepsstart <= MESHCONST_ANALYSE)
--      {
--         delete mesh;
--         mesh = new Mesh();
--         mesh->geomtype = Mesh::GEOM_OCC;
--
--         OCCSetLocalMeshSize(geom,*mesh);
--      }
--
--      if (multithread.terminate || perfstepsend <= MESHCONST_ANALYSE)
--         return TCL_OK;
--
--      if (perfstepsstart <= MESHCONST_MESHEDGES)
--      {
--         OCCFindEdges (geom, *mesh);
--
--         /*
--         cout << "Removing redundant points" << endl;
--
--         int i, j;
--         int np = mesh->GetNP();
--         Array<int> equalto;
--
--         equalto.SetSize (np);
--         equalto = 0;
--
--         for (i = 1; i <= np; i++)
--         {
--         for (j = i+1; j <= np; j++)
--         {
--         if (!equalto[j-1] && (Dist2 (mesh->Point(i), mesh->Point(j)) < 1e-12))
--         equalto[j-1] = i;
--         }
--         }
--
--         for (i = 1; i <= np; i++)
--         if (equalto[i-1])
--         {
--         cout << "Point " << i << " is equal to Point " << equalto[i-1] << endl;
--         for (j = 1; j <= mesh->GetNSeg(); j++)
--         {
--         Segment & seg = mesh->LineSegment(j);
--         if (seg[0] == i) seg[0] = equalto[i-1];
--         if (seg[1] == i) seg[1] = equalto[i-1];
--         }
--         }
--
--         cout << "Removing degenerated segments" << endl;
--         for (j = 1; j <= mesh->GetNSeg(); j++)
--         {
--         Segment & seg = mesh->LineSegment(j);
--         if (seg[0] == seg[1])
--         {
--         mesh->DeleteSegment(j);
--         cout << "Deleting Segment " << j << endl;
--         }
--         }
--
--         mesh->Compress();
--         */
--
--         /*
--         for (int i = 1; i <= geom.fmap.Extent(); i++)
--         {
--         Handle(Geom_Surface) hf1 =
--         BRep_Tool::Surface(TopoDS::Face(geom.fmap(i)));
--         for (int j = i+1; j <= geom.fmap.Extent(); j++)
--         {
--         Handle(Geom_Surface) hf2 =
--         BRep_Tool::Surface(TopoDS::Face(geom.fmap(j)));
--         if (hf1 == hf2) cout << "face " << i << " and face " << j << " lie on same surface" << endl;
--         }
--         }
--         */
--
--#ifdef LOG_STREAM
--         (*logout) << "Edges meshed" << endl
--            << "time = " << GetTime() << " sec" << endl
--            << "points: " << mesh->GetNP() << endl;
--#endif
--      }
--
--      if (multithread.terminate || perfstepsend <= MESHCONST_MESHEDGES)
--         return TCL_OK;
--
--      if (perfstepsstart <= MESHCONST_MESHSURFACE)
--      {
--         OCCMeshSurface (geom, *mesh, perfstepsend);
--         if (multithread.terminate) return TCL_OK;
--
--#ifdef LOG_STREAM
--         (*logout) << "Surfaces meshed" << endl
--            << "time = " << GetTime() << " sec" << endl
--            << "points: " << mesh->GetNP() << endl;
--#endif
--
--#ifdef STAT_STREAM
--         (*statout) << mesh->GetNSeg() << " & "
--            << mesh->GetNSE() << " & - &"
--            << GetTime() << " & " << endl;
--#endif
--
--         //      MeshQuality2d (*mesh);
--         mesh->CalcSurfacesOfNode();
--      }
--
--      if (multithread.terminate || perfstepsend <= MESHCONST_OPTSURFACE)
--         return TCL_OK;
--
--      if (perfstepsstart <= MESHCONST_MESHVOLUME)
--      {
--         multithread.task = "Volume meshing";
--
--         MESHING3_RESULT res = MeshVolume (mparam, *mesh);
--
--/*
--         ofstream problemfile("occmesh.rep",ios_base::app);
--
--         problemfile << "VOLUMEMESHING" << endl << endl;
--         if(res != MESHING3_OK)
--            problemfile << "ERROR" << endl << endl;
--         else
--            problemfile << "OK" << endl
--            << mesh->GetNE() << " elements" << endl << endl;
--
--         problemfile.close();
--*/
--
--         if (res != MESHING3_OK) return TCL_ERROR;
--
--         if (multithread.terminate) return TCL_OK;
--
--         RemoveIllegalElements (*mesh);
--         if (multithread.terminate) return TCL_OK;
--
--         MeshQuality3d (*mesh);
--
--#ifdef STAT_STREAM
--         (*statout) << GetTime() << " & ";
--#endif
--
--#ifdef LOG_STREAM
--         (*logout) << "Volume meshed" << endl
--            << "time = " << GetTime() << " sec" << endl
--            << "points: " << mesh->GetNP() << endl;
--#endif
--      }
--
--      if (multithread.terminate || perfstepsend <= MESHCONST_MESHVOLUME)
--         return TCL_OK;
--
--      if (perfstepsstart <= MESHCONST_OPTVOLUME)
--      {
--         multithread.task = "Volume optimization";
--
--         OptimizeVolume (mparam, *mesh);
--         if (multithread.terminate) return TCL_OK;
--
--#ifdef STAT_STREAM
--         (*statout) << GetTime() << " & "
--            << mesh->GetNE() << " & "
--            << mesh->GetNP() << " " << '\\' << '\\' << " \\" << "hline" << endl;
--#endif
--
--#ifdef LOG_STREAM
--         (*logout) << "Volume optimized" << endl
--            << "time = " << GetTime() << " sec" << endl
--            << "points: " << mesh->GetNP() << endl;
--#endif
--
--         // cout << "Optimization complete" << endl;
--
--      }
--
--      (*testout) << "NP: " << mesh->GetNP() << endl;
--      for (int i = 1; i <= mesh->GetNP(); i++)
--         (*testout) << mesh->Point(i) << endl;
--
--      (*testout) << endl << "NSegments: " << mesh->GetNSeg() << endl;
--      for (int i = 1; i <= mesh->GetNSeg(); i++)
--         (*testout) << mesh->LineSegment(i) << endl;
--
--      return TCL_OK;
--   }
--}
--
--#endif
-+#ifdef OCCGEOMETRY
-+
-+#include <mystdlib.h>
-+#include <occgeom.hpp>
-+#include <meshing.hpp>
-+
-+
-+namespace netgen
-+{
-+
-+#include "occmeshsurf.hpp"
-+
-+#define TCL_OK 0
-+#define TCL_ERROR 1
-+
-+#define DIVIDEEDGESECTIONS 1000
-+#define IGNORECURVELENGTH 1e-4
-+#define VSMALL 1e-10
-+
-+
-+   bool merge_solids = 1;
-+
-+
-+  // can you please explain what you intend to compute here (JS) !!!
-+   double Line :: Dist (Line l)
-+   {
-+      Vec<3> n = p1-p0;
-+      Vec<3> q = l.p1-l.p0;
-+      double nq = n*q;
-+
-+      Point<3> p = p0 + 0.5*n;
-+      double lambda = (p-l.p0)*n / (nq + VSMALL);
-+
-+      if (lambda >= 0 && lambda <= 1)
-+      {
-+         double d = (p-l.p0-lambda*q).Length();
-+         //        if (d < 1e-3) d = 1e99;
-+         return d;
-+      }
-+      else
-+         return 1e99;
-+   }
-+
-+
-+
-+   double Line :: Length ()
-+   {
-+      return (p1-p0).Length();
-+   }
-+
-+
-+
-+   inline Point<3> occ2ng (const gp_Pnt & p)
-+   {
-+      return  Point<3> (p.X(), p.Y(), p.Z());
-+   }
-+
-+
-+
-+   double ComputeH (double kappa)
-+   {
-+      double hret;
-+      kappa *= mparam.curvaturesafety;
-+
-+      if (mparam.maxh * kappa < 1)
-+         hret = mparam.maxh;
-+      else
-+         hret = 1 / (kappa + VSMALL);
-+
-+      if (mparam.maxh < hret)
-+         hret = mparam.maxh;
-+
-+      return (hret);
-+   }
-+
-+
-+
-+
-+   void RestrictHTriangle (gp_Pnt2d & par0, gp_Pnt2d & par1, gp_Pnt2d & par2,
-+                           BRepLProp_SLProps * prop, Mesh & mesh, int depth, double h = 0)
-+   {
-+      int ls = -1;
-+
-+      gp_Pnt pnt0,pnt1,pnt2;
-+
-+      prop->SetParameters (par0.X(), par0.Y());
-+      pnt0 = prop->Value();
-+
-+      prop->SetParameters (par1.X(), par1.Y());
-+      pnt1 = prop->Value();
-+
-+      prop->SetParameters (par2.X(), par2.Y());
-+      pnt2 = prop->Value();
-+
-+      double aux;
-+      double maxside = pnt0.Distance(pnt1);
-+      ls = 2;
-+      aux = pnt1.Distance(pnt2);
-+      if(aux > maxside)
-+      {
-+         maxside = aux;
-+         ls = 0;
-+      }
-+      aux = pnt2.Distance(pnt0);
-+      if(aux > maxside)
-+      {
-+         maxside = aux;
-+         ls = 1;
-+      }
-+
-+
-+
-+      gp_Pnt2d parmid;
-+
-+      parmid.SetX( (par0.X()+par1.X()+par2.X()) / 3 );
-+      parmid.SetY( (par0.Y()+par1.Y()+par2.Y()) / 3 );
-+
-+      if (depth%3 == 0)
-+      {
-+         double curvature = 0;
-+
-+         prop->SetParameters (parmid.X(), parmid.Y());
-+         if (!prop->IsCurvatureDefined())
-+         {
-+            (*testout) << "curvature not defined!" << endl;
-+            return;
-+         }
-+         curvature = max(fabs(prop->MinCurvature()),
-+            fabs(prop->MaxCurvature()));
-+
-+         prop->SetParameters (par0.X(), par0.Y());
-+         if (!prop->IsCurvatureDefined())
-+         {
-+            (*testout) << "curvature not defined!" << endl;
-+            return;
-+         }
-+         curvature = max(curvature,max(fabs(prop->MinCurvature()),
-+            fabs(prop->MaxCurvature())));
-+
-+         prop->SetParameters (par1.X(), par1.Y());
-+         if (!prop->IsCurvatureDefined())
-+         {
-+            (*testout) << "curvature not defined!" << endl;
-+            return;
-+         }
-+         curvature = max(curvature,max(fabs(prop->MinCurvature()),
-+            fabs(prop->MaxCurvature())));
-+
-+         prop->SetParameters (par2.X(), par2.Y());
-+         if (!prop->IsCurvatureDefined())
-+         {
-+            (*testout) << "curvature not defined!" << endl;
-+            return;
-+         }
-+         curvature = max(curvature,max(fabs(prop->MinCurvature()),
-+            fabs(prop->MaxCurvature())));
-+
-+         //(*testout) << "curvature " << curvature << endl;
-+
-+         if (curvature < 1e-3)
-+         {
-+            //(*testout) << "curvature too small (" << curvature << ")!" << endl;
-+            return;
-+            // return war bis 10.2.05 auskommentiert
-+         }
-+
-+
-+
-+         h = ComputeH (curvature+1e-10);
-+
-+         if(h < 1e-4*maxside)
-+            return;
-+
-+         // commented to restrict H on a large sphere for example
-+         //if (h > 30) return;
-+      }
-+
-+      if (h < maxside && depth < 10)
-+      {
-+         //cout << "\r h " << h << flush;
-+         gp_Pnt2d pm;
-+
-+         //cout << "h " << h << " maxside " << maxside << " depth " << depth << endl;
-+         //cout << "par0 " << par0.X() << " " << par0.Y()
-+         //<< " par1 " << par1.X() << " " << par1.Y()
-+         //   << " par2 " << par2.X() << " " << par2.Y()<< endl;
-+
-+         if(ls == 0)
-+         {
-+            pm.SetX(0.5*(par1.X()+par2.X())); pm.SetY(0.5*(par1.Y()+par2.Y()));
-+            RestrictHTriangle(pm, par2, par0, prop, mesh, depth+1, h);
-+            RestrictHTriangle(pm, par0, par1, prop, mesh, depth+1, h);
-+         }
-+         else if(ls == 1)
-+         {
-+            pm.SetX(0.5*(par0.X()+par2.X())); pm.SetY(0.5*(par0.Y()+par2.Y()));
-+            RestrictHTriangle(pm, par1, par2, prop, mesh, depth+1, h);
-+            RestrictHTriangle(pm, par0, par1, prop, mesh, depth+1, h);
-+         }
-+         else if(ls == 2)
-+         {
-+            pm.SetX(0.5*(par0.X()+par1.X())); pm.SetY(0.5*(par0.Y()+par1.Y()));
-+            RestrictHTriangle(pm, par1, par2, prop, mesh, depth+1, h);
-+            RestrictHTriangle(pm, par2, par0, prop, mesh, depth+1, h);
-+         }
-+
-+      }
-+      else
-+      {
-+         gp_Pnt pnt;
-+         Point3d p3d;
-+
-+         prop->SetParameters (parmid.X(), parmid.Y());
-+         pnt = prop->Value();
-+         p3d = Point3d(pnt.X(), pnt.Y(), pnt.Z());
-+         mesh.RestrictLocalH (p3d, h);
-+
-+         p3d = Point3d(pnt0.X(), pnt0.Y(), pnt0.Z());
-+         mesh.RestrictLocalH (p3d, h);
-+
-+         p3d = Point3d(pnt1.X(), pnt1.Y(), pnt1.Z());
-+         mesh.RestrictLocalH (p3d, h);
-+
-+         p3d = Point3d(pnt2.X(), pnt2.Y(), pnt2.Z());
-+         mesh.RestrictLocalH (p3d, h);
-+
-+         //(*testout) << "p = " << p3d << ", h = " << h << ", maxside = " << maxside << endl;
-+
-+      }
-+   }
-+
-+
-+
-+   void DivideEdge (TopoDS_Edge & edge, Array<MeshPoint> & ps,
-+                    Array<double> & params, Mesh & mesh)
-+   {
-+      double s0, s1;
-+      double maxh = mparam.maxh;
-+      int nsubedges = 1;
-+      gp_Pnt pnt, oldpnt;
-+      double svalue[DIVIDEEDGESECTIONS];
-+
-+      GProp_GProps system;
-+      BRepGProp::LinearProperties(edge, system);
-+      double L = system.Mass();
-+
-+      Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1);
-+
-+      double hvalue[DIVIDEEDGESECTIONS+1];
-+      hvalue[0] = 0;
-+      pnt = c->Value(s0);
-+
-+      //double olddist = 0; -- useless variables
-+      //double dist = 0;
-+
-+      int tmpVal = (int)(DIVIDEEDGESECTIONS);
-+
-+      for (int i = 1; i <= tmpVal; i++)
-+      {
-+         oldpnt = pnt;
-+         pnt = c->Value(s0+(i/double(DIVIDEEDGESECTIONS))*(s1-s0));
-+         // -- no more than 1 segment per <edge length>/DIVIDEEDGESECTIONS
-+         hvalue[i] = hvalue[i-1] +
-+         //   1.0/mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))*
-+         //   pnt.Distance(oldpnt);
-+           min( 1.0,
-+            1.0/mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))*
-+                pnt.Distance(oldpnt));
-+
-+         //(*testout) << "mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z())) " << mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))
-+         //      <<  " pnt.Distance(oldpnt) " << pnt.Distance(oldpnt) << endl;
-+
-+         //olddist = dist; -- useless variables
-+         //dist = pnt.Distance(oldpnt);
-+      }
-+
-+      //  nsubedges = int(ceil(hvalue[DIVIDEEDGESECTIONS]));
-+      nsubedges = max (1, int(floor(hvalue[DIVIDEEDGESECTIONS]+0.5)));
-+
-+      ps.SetSize(nsubedges-1);
-+      params.SetSize(nsubedges+1);
-+
-+      int i = 1;
-+      int i1 = 0;
-+      do
-+      {
-+         if (hvalue[i1]/hvalue[DIVIDEEDGESECTIONS]*nsubedges >= i)
-+         {
-+            // -- for nsubedges comparable to DIVIDEEDGESECTIONS
-+            //params[i] = s0+(i1/double(DIVIDEEDGESECTIONS))*(s1-s0);
-+            double d1 = i1 - (hvalue[i1] - i*hvalue[DIVIDEEDGESECTIONS]/nsubedges)/(hvalue[i1]-hvalue[i1-1]);
-+            params[i] = s0+(d1/double(DIVIDEEDGESECTIONS))*(s1-s0);
-+            pnt = c->Value(params[i]);
-+            ps[i-1] = MeshPoint (Point3d(pnt.X(), pnt.Y(), pnt.Z()));
-+            i++;
-+         }
-+         i1++;
-+         if (i1 > DIVIDEEDGESECTIONS)
-+         {
-+            nsubedges = i;
-+            ps.SetSize(nsubedges-1);
-+            params.SetSize(nsubedges+1);
-+            cout << "divide edge: local h too small" << endl;
-+         }
-+      } while (i < nsubedges);
-+
-+      params[0] = s0;
-+      params[nsubedges] = s1;
-+
-+      if (params[nsubedges] <= params[nsubedges-1])
-+      {
-+         cout << "CORRECTED" << endl;
-+         ps.SetSize (nsubedges-2);
-+         params.SetSize (nsubedges);
-+         params[nsubedges] = s1;
-+      }
-+   }
-+
-+
-+
-+
-+   void OCCFindEdges (OCCGeometry & geom, Mesh & mesh)
-+   {
-+      const char * savetask = multithread.task;
-+      multithread.task = "Edge meshing";
-+
-+      (*testout) << "edge meshing" << endl;
-+
-+      int nvertices = geom.vmap.Extent();
-+      int nedges = geom.emap.Extent();
-+
-+      (*testout) << "nvertices = " << nvertices << endl;
-+      (*testout) << "nedges = " << nedges << endl;
-+
-+      double eps = 1e-6 * geom.GetBoundingBox().Diam();
-+      const double eps2 = eps * eps; // -- small optimization
-+
-+      int first_vp = mesh.GetNP()+1; // -- to support SALOME sub-meshes
-+
-+      for (int i = 1; i <= nvertices; i++)
-+      {
-+         gp_Pnt pnt = BRep_Tool::Pnt (TopoDS::Vertex(geom.vmap(i)));
-+         MeshPoint mp( Point<3>(pnt.X(), pnt.Y(), pnt.Z()) );
-+
-+         bool exists = 0;
-+         if (merge_solids)
-+            for (PointIndex pi = 1; pi <= mesh.GetNP(); pi++)
-+               //if ( Dist2 (mesh[pi], Point<3>(mp)) < eps*eps)
-+               if ( Dist2 (mesh[pi], Point<3>(mp)) < eps2 ) // -- small optimization
-+               {
-+                  exists = 1;
-+                  break;
-+               }
-+
-+               if (!exists)
-+                  mesh.AddPoint (mp);
-+      }
-+
-+      (*testout) << "different vertices = " << mesh.GetNP() << endl;
-+
-+
-+      int first_ep = mesh.GetNP()+1;
-+
-+      Array<int> face2solid[2];
-+      for (int i = 0; i<2; i++)
-+      {
-+         face2solid[i].SetSize (geom.fmap.Extent());
-+         face2solid[i] = 0;
-+      }
-+
-+      int solidnr = 0;
-+      for (TopExp_Explorer exp0(geom.shape, TopAbs_SOLID); exp0.More(); exp0.Next())
-+      {
-+         solidnr++;
-+         for (TopExp_Explorer exp1(exp0.Current(), TopAbs_FACE); exp1.More(); exp1.Next())
-+         {
-+            TopoDS_Face face = TopoDS::Face(exp1.Current());
-+            int facenr = geom.fmap.FindIndex(face);
-+            if ( facenr < 1 ) continue; // -- to support SALOME sub-meshes
-+
-+            if (face2solid[0][facenr-1] == 0)
-+               face2solid[0][facenr-1] = solidnr;
-+            else
-+               face2solid[1][facenr-1] = solidnr;
-+         }
-+      }
-+
-+
-+      int total = 0;
-+      for (int i3 = 1; i3 <= geom.fmap.Extent(); i3++)
-+         for (TopExp_Explorer exp2(geom.fmap(i3), TopAbs_WIRE); exp2.More(); exp2.Next())
-+            for (TopExp_Explorer exp3(exp2.Current(), TopAbs_EDGE); exp3.More(); exp3.Next())
-+               total++;
-+
-+
-+      int facenr = 0;
-+      int edgenr = 0;
-+
-+      edgenr = mesh.GetNSeg(); // to support SALOME sub-meshes
-+
-+      (*testout) << "faces = " << geom.fmap.Extent() << endl;
-+      int curr = 0;
-+
-+      for (int i3 = 1; i3 <= geom.fmap.Extent(); i3++)
-+      {
-+         TopoDS_Face face = TopoDS::Face(geom.fmap(i3));
-+         facenr = geom.fmap.FindIndex (face);       // sollte doch immer == i3 sein ??? JS
-+
-+         int solidnr0 = face2solid[0][i3-1];
-+         int solidnr1 = face2solid[1][i3-1];
-+
-+         /* auskommentiert am 3.3.05 von robert
-+         for (exp2.Init (geom.somap(solidnr0), TopAbs_FACE); exp2.More(); exp2.Next())
-+         {
-+         TopoDS_Face face2 = TopoDS::Face(exp2.Current());
-+         if (geom.fmap.FindIndex(face2) == facenr)
-+         {
-+         //                 if (face.Orientation() != face2.Orientation()) swap (solidnr0, solidnr1);
-+         }
-+         }
-+         */
-+
-+         mesh.AddFaceDescriptor (FaceDescriptor(facenr, solidnr0, solidnr1, 0));
-+
-+         // Philippose - 06/07/2009
-+         // Add the face colour to the mesh data
-+         Quantity_Color face_colour;
-+
-+         if(!(geom.face_colours.IsNull())
-+            && (geom.face_colours->GetColor(face,XCAFDoc_ColorSurf,face_colour)))
-+         {
-+            mesh.GetFaceDescriptor(facenr).SetSurfColour(Vec3d(face_colour.Red(),face_colour.Green(),face_colour.Blue()));
-+         }
-+         else
-+         {
-+            mesh.GetFaceDescriptor(facenr).SetSurfColour(Vec3d(0.0,1.0,0.0));
-+         }
-+         // ACHTUNG! STIMMT NICHT ALLGEMEIN (RG)
-+
-+
-+         Handle(Geom_Surface) occface = BRep_Tool::Surface(face);
-+
-+         for (TopExp_Explorer exp2 (face, TopAbs_WIRE); exp2.More(); exp2.Next())
-+         {
-+            TopoDS_Shape wire = exp2.Current();
-+
-+            for (TopExp_Explorer exp3 (wire, TopAbs_EDGE); exp3.More(); exp3.Next())
-+            {
-+               curr++;
-+               (*testout) << "edge nr " << curr << endl;
-+
-+               multithread.percent = 100 * curr / double (total);
-+               if (multithread.terminate) return;
-+
-+               TopoDS_Edge edge = TopoDS::Edge (exp3.Current());
-+               if (BRep_Tool::Degenerated(edge))
-+               {
-+                  //(*testout) << "ignoring degenerated edge" << endl;
-+                  continue;
-+               }
-+               if ( geom.emap.FindIndex(edge) < 1 ) continue; // to support SALOME sub-meshes
-+
-+               if (geom.vmap.FindIndex(TopExp::FirstVertex (edge)) ==
-+                  geom.vmap.FindIndex(TopExp::LastVertex (edge)))
-+               {
-+                  GProp_GProps system;
-+                  BRepGProp::LinearProperties(edge, system);
-+
-+                  if (system.Mass() < eps)
-+                  {
-+                     cout << "ignoring edge " << geom.emap.FindIndex (edge)
-+                        << ". closed edge with length < " << eps << endl;
-+                     continue;
-+                  }
-+               }
-+
-+
-+               Handle(Geom2d_Curve) cof;
-+               double s0, s1;
-+               cof = BRep_Tool::CurveOnSurface (edge, face, s0, s1);
-+
-+               int geomedgenr = geom.emap.FindIndex(edge);
-+
-+               Array <MeshPoint> mp;
-+               Array <double> params;
-+
-+               DivideEdge (edge, mp, params, mesh);
-+
-+               Array <int> pnums;
-+               pnums.SetSize (mp.Size()+2);
-+
-+               if (!merge_solids)
-+               {
-+                 //pnums[0] = geom.vmap.FindIndex (TopExp::FirstVertex (edge));
-+                 //pnums[pnums.Size()-1] = geom.vmap.FindIndex (TopExp::LastVertex (edge));
-+                 MeshPoint dfltP ( Point<3> ( 0, 0, 0 ) );
-+                 int *ipp[] = { &pnums[0], &pnums[pnums.Size()-1] };
-+                 TopoDS_Iterator vIt( edge, false );
-+                 TopoDS_Vertex v[2];
-+                 v[0] = TopoDS::Vertex( vIt.Value() ); vIt.Next();
-+                 v[1] = TopoDS::Vertex( vIt.Value() );
-+                 if ( v[0].Orientation() == TopAbs_REVERSED )
-+                   std::swap( v[0], v[1] );
-+                 for ( int i = 0; i < 2; ++i)
-+                 {
-+                   int &ip = *ipp[i];
-+                   ip = geom.vmap.FindIndex ( v[i] );
-+                   if ( ip == 0 || ip > nvertices )
-+                   {
-+                     int iv = ip;
-+                     if ( ip == 0 )
-+                       ip = iv = geom.vmap.Add( v[i] );
-+                     gp_Pnt pnt = BRep_Tool::Pnt( v[i] );
-+                     MeshPoint mp( Point<3>(pnt.X(), pnt.Y(), pnt.Z()) );
-+                     for (PointIndex pi = 1; pi < first_vp; pi++)
-+                       if ( Dist2 (mesh.Point(pi), Point<3>(mp)) < 1e-100 )
-+                       {
-+                         ip = pi;
-+                         if ( mesh.Point(ip).GetLayer() != dfltP.GetLayer() && mesh.Point(ip).GetLayer() != iv )
-+                           continue;
-+                         if ( mesh.Point(ip).GetLayer() == dfltP.GetLayer())
-+                           mesh.Point(ip) = MeshPoint( mesh.Point(ip), iv );
-+                         break;
-+                       }
-+               }
-+               else
-+               {
-+                     ip += first_vp - 1;
-+                   }
-+                 }
-+               }
-+               else
-+               {
-+                 TopoDS_Iterator vIt( edge, false );
-+                 TopoDS_Vertex v1 = TopoDS::Vertex( vIt.Value() ); vIt.Next();
-+                 TopoDS_Vertex v2 = TopoDS::Vertex( vIt.Value() );
-+                 if ( v1.Orientation() == TopAbs_REVERSED )
-+                   std::swap( v1, v2 );
-+                 const bool isClosedEdge = v1.IsSame( v2 );
-+
-+                  Point<3> fp = occ2ng (BRep_Tool::Pnt (v1));
-+                  Point<3> lp = occ2ng (BRep_Tool::Pnt (v2));
-+                  double tol2 = std::min( eps*eps, 1e-6 * Dist2( fp, lp ));
-+                  if ( isClosedEdge )
-+                    tol2 = BRep_Tool::Tolerance( v1 ) * BRep_Tool::Tolerance( v1 );
-+
-+                  pnums[0] = -1;
-+                  pnums.Last() = -1;
-+                  for (PointIndex pi = 1; pi < first_ep; pi++)
-+                  {
-+                    if (Dist2 (mesh[pi], fp) < tol2) pnums[0] = pi;
-+                    if (Dist2 (mesh[pi], lp) < tol2) pnums.Last() = pi;
-+                  }
-+                  if (( isClosedEdge && pnums[0] != pnums.Last() ) ||
-+                      ( !isClosedEdge && pnums[0] == pnums.Last() ))
-+                    pnums[0] = pnums.Last() = -1;
-+                  if ( pnums[0] == -1 || pnums.Last() == -1 )
-+                  {
-+                    // take into account a possible large gap between a vertex and an edge curve
-+                    // end and a large vertex tolerance covering the whole edge
-+                    if ( pnums[0] == -1 )
-+                    {
-+                      double tol = BRep_Tool::Tolerance( v1 );
-+                      for (PointIndex pi = 1; pi < first_ep; pi++)
-+                        if (pi != pnums.Last() && Dist2 (mesh[pi], fp) < 2*tol*tol)
-+                          pnums[0] = pi;
-+
-+                      if ( pnums[0] == -1 )
-+                        pnums[0] = first_ep-1- nvertices + geom.vmap.FindIndex ( v1 );
-+                    }
-+                    if ( isClosedEdge )
-+                    {
-+                      pnums.Last() = pnums[0];
-+                    }
-+                    else
-+                    {
-+                      if ( pnums.Last() == -1 )
-+                      {
-+                        double tol = BRep_Tool::Tolerance( v2 );
-+                        for (PointIndex pi = 1; pi < first_ep; pi++)
-+                          if (pi != pnums[0] && Dist2 (mesh[pi], lp) < 2*tol*tol)
-+                            pnums.Last() = pi;
-+
-+                        if ( pnums.Last() == -1 )
-+                          pnums.Last() = first_ep-1-nvertices + geom.vmap.FindIndex ( v2 );
-+                      }
-+
-+                      if ( Dist2( fp, mesh[PointIndex(pnums[0])]) >
-+                           Dist2( lp, mesh[PointIndex(pnums.Last())]))
-+                      std::swap( pnums[0], pnums.Last() );
-+                    }
-+                  }
-+               }
-+
-+
-+               for (int i = 1; i <= mp.Size(); i++)
-+               {
-+                  bool exists = 0;
-+                  int j;
-+                  for (j = first_ep; j <= mesh.GetNP(); j++)
-+                  {
-+                     if (!merge_solids && mesh.Point(j).GetLayer() != geomedgenr ) continue; // to support SALOME fuse edges
-+                     if ((mesh.Point(j)-Point<3>(mp[i-1])).Length() < eps)
-+                     {
-+                        exists = 1;
-+                        break;
-+                     }
-+                  }
-+
-+                     if (exists)
-+                        pnums[i] = j;
-+                     else
-+                     {
-+                        mesh.AddPoint (mp[i-1], geomedgenr); // to support SALOME fuse edges
-+                        (*testout) << "add meshpoint " << mp[i-1] << endl;
-+                        pnums[i] = mesh.GetNP();
-+                     }
-+               }
-+               (*testout) << "NP = " << mesh.GetNP() << endl;
-+
-+               //(*testout) << pnums[pnums.Size()-1] << endl;
-+
-+               for (int i = 1; i <= mp.Size()+1; i++)
-+               {
-+                  edgenr++;
-+                  Segment seg;
-+
-+                  seg[0] = pnums[i-1];
-+                  seg[1] = pnums[i];
-+                  seg.edgenr = edgenr;
-+                  seg.si = facenr;
-+                  seg.epgeominfo[0].dist = params[i-1];
-+                  seg.epgeominfo[1].dist = params[i];
-+                  seg.epgeominfo[0].edgenr = geomedgenr;
-+                  seg.epgeominfo[1].edgenr = geomedgenr;
-+
-+                  gp_Pnt2d p2d;
-+                  p2d = cof->Value(params[i-1]);
-+                  //                  if (i == 1) p2d = cof->Value(s0);
-+                  seg.epgeominfo[0].u = p2d.X();
-+                  seg.epgeominfo[0].v = p2d.Y();
-+                  p2d = cof->Value(params[i]);
-+                  //                  if (i == mp.Size()+1) p2d = cof -> Value(s1);
-+                  seg.epgeominfo[1].u = p2d.X();
-+                  seg.epgeominfo[1].v = p2d.Y();
-+
-+                  /*
-+                  if (occface->IsUPeriodic())
-+                  {
-+                  cout << "U Periodic" << endl;
-+                  if (fabs(seg.epgeominfo[1].u-seg.epgeominfo[0].u) >
-+                  fabs(seg.epgeominfo[1].u-
-+                  (seg.epgeominfo[0].u-occface->UPeriod())))
-+                  seg.epgeominfo[0].u = p2d.X()+occface->UPeriod();
-+
-+                  if (fabs(seg.epgeominfo[1].u-seg.epgeominfo[0].u) >
-+                  fabs(seg.epgeominfo[1].u-
-+                  (seg.epgeominfo[0].u+occface->UPeriod())))
-+                  seg.epgeominfo[0].u = p2d.X()-occface->UPeriod();
-+                  }
-+
-+                  if (occface->IsVPeriodic())
-+                  {
-+                  cout << "V Periodic" << endl;
-+                  if (fabs(seg.epgeominfo[1].v-seg.epgeominfo[0].v) >
-+                  fabs(seg.epgeominfo[1].v-
-+                  (seg.epgeominfo[0].v-occface->VPeriod())))
-+                  seg.epgeominfo[0].v = p2d.Y()+occface->VPeriod();
-+
-+                  if (fabs(seg.epgeominfo[1].v-seg.epgeominfo[0].v) >
-+                  fabs(seg.epgeominfo[1].v-
-+                  (seg.epgeominfo[0].v+occface->VPeriod())))
-+                  seg.epgeominfo[0].v = p2d.Y()-occface->VPeriod();
-+                  }
-+                  */
-+
-+                  if (edge.Orientation() == TopAbs_REVERSED)
-+                  {
-+                     swap (seg[0], seg[1]);
-+                     swap (seg.epgeominfo[0].dist, seg.epgeominfo[1].dist);
-+                     swap (seg.epgeominfo[0].u, seg.epgeominfo[1].u);
-+                     swap (seg.epgeominfo[0].v, seg.epgeominfo[1].v);
-+                  }
-+
-+                  mesh.AddSegment (seg);
-+
-+                  //edgesegments[geomedgenr-1]->Append(mesh.GetNSeg());
-+
-+               }
-+            }
-+         }
-+      }
-+
-+      //      for(i=1; i<=mesh.GetNSeg(); i++)
-+      //              (*testout) << "edge " << mesh.LineSegment(i).edgenr << " face " << mesh.LineSegment(i).si
-+      //                              << " p1 " << mesh.LineSegment(i)[0] << " p2 " << mesh.LineSegment(i)[1] << endl;
-+      //      exit(10);
-+      for (int j = 1; j <= mesh.GetNP(); j++) // to support SALOME fuse edges: set level to zero
-+        mesh.Point(j) = MeshPoint( (Point<3>&) mesh.Point(j) );
-+
-+      mesh.CalcSurfacesOfNode();
-+      multithread.task = savetask;
-+   }
-+
-+
-+
-+
-+   void OCCMeshSurface (OCCGeometry & geom, Mesh & mesh, int perfstepsend)
-+   {
-+      int i, j, k;
-+      int changed;
-+
-+      const char * savetask = multithread.task;
-+      multithread.task = "Surface meshing";
-+
-+      geom.facemeshstatus = 0;
-+
-+      int noldp = mesh.GetNP();
-+
-+      double starttime = GetTime();
-+
-+      Array<int> glob2loc(noldp);
-+
-+      //int projecttype = PARAMETERSPACE;
-+
-+      int projecttype = PARAMETERSPACE;
-+
-+      int notrys = 1;
-+
-+      int surfmesherror = 0;
-+
-+      for (k = 1; k <= mesh.GetNFD(); k++)
-+      {
-+         if(1==0 && !geom.fvispar[k-1].IsDrawable())
-+         {
-+            (*testout) << "ignoring face " << k << endl;
-+            cout << "ignoring face " << k << endl;
-+            continue;
-+         }
-+
-+         (*testout) << "mesh face " << k << endl;
-+         multithread.percent = 100 * k / (mesh.GetNFD() + VSMALL);
-+         geom.facemeshstatus[k-1] = -1;
-+
-+
-+         /*
-+         if (k != 42)
-+         {
-+         cout << "skipped" << endl;
-+         continue;
-+         }
-+         */
-+
-+
-+         FaceDescriptor & fd = mesh.GetFaceDescriptor(k);
-+
-+         int oldnf = mesh.GetNSE();
-+
-+         Box<3> bb = geom.GetBoundingBox();
-+
-+         //      int projecttype = PLANESPACE;
-+
-+         Meshing2OCCSurfaces meshing(TopoDS::Face(geom.fmap(k)), bb, projecttype);
-+
-+         if (meshing.GetProjectionType() == PLANESPACE)
-+            PrintMessage (2, "Face ", k, " / ", mesh.GetNFD(), " (plane space projection)");
-+         else
-+            PrintMessage (2, "Face ", k, " / ", mesh.GetNFD(), " (parameter space projection)");
-+
-+         if (surfmesherror)
-+            cout << "Surface meshing error occured before (in " << surfmesherror << " faces)" << endl;
-+
-+         //      Meshing2OCCSurfaces meshing(f2, bb);
-+         meshing.SetStartTime (starttime);
-+
-+         //(*testout) << "Face " << k << endl << endl;
-+
-+
-+         if (meshing.GetProjectionType() == PLANESPACE)
-+         {
-+            int cntp = 0;
-+            glob2loc = 0;
-+            for (i = 1; i <= mesh.GetNSeg(); i++)
-+            {
-+               Segment & seg = mesh.LineSegment(i);
-+               if (seg.si == k)
-+               {
-+                  for (j = 1; j <= 2; j++)
-+                  {
-+                     int pi = (j == 1) ? seg[0] : seg[1];
-+                     if (!glob2loc.Get(pi))
-+                     {
-+                        meshing.AddPoint (mesh.Point(pi), pi);
-+                        cntp++;
-+                        glob2loc.Elem(pi) = cntp;
-+                     }
-+                  }
-+               }
-+            }
-+
-+            for (i = 1; i <= mesh.GetNSeg(); i++)
-+            {
-+               Segment & seg = mesh.LineSegment(i);
-+               if (seg.si == k)
-+               {
-+                  PointGeomInfo gi0, gi1;
-+                  gi0.trignum = gi1.trignum = k;
-+                  gi0.u = seg.epgeominfo[0].u;
-+                  gi0.v = seg.epgeominfo[0].v;
-+                  gi1.u = seg.epgeominfo[1].u;
-+                  gi1.v = seg.epgeominfo[1].v;
-+
-+                  meshing.AddBoundaryElement (glob2loc.Get(seg[0]), glob2loc.Get(seg[1]), gi0, gi1);
-+                  //(*testout) << gi0.u << " " << gi0.v << endl;
-+                  //(*testout) << gi1.u << " " << gi1.v << endl;
-+               }
-+            }
-+         }
-+         else
-+         {
-+            int cntp = 0;
-+
-+            for (i = 1; i <= mesh.GetNSeg(); i++)
-+               if (mesh.LineSegment(i).si == k)
-+                  cntp+=2;
-+
-+
-+            Array< PointGeomInfo > gis;
-+
-+            gis.SetAllocSize (cntp);
-+            gis.SetSize (0);
-+
-+            for (i = 1; i <= mesh.GetNSeg(); i++)
-+            {
-+               Segment & seg = mesh.LineSegment(i);
-+               if (seg.si == k)
-+               {
-+                  PointGeomInfo gi0, gi1;
-+                  gi0.trignum = gi1.trignum = k;
-+                  gi0.u = seg.epgeominfo[0].u;
-+                  gi0.v = seg.epgeominfo[0].v;
-+                  gi1.u = seg.epgeominfo[1].u;
-+                  gi1.v = seg.epgeominfo[1].v;
-+
-+                  int locpnum[2] = {0, 0};
-+
-+                  for (j = 0; j < 2; j++)
-+                  {
-+                     PointGeomInfo gi = (j == 0) ? gi0 : gi1;
-+
-+                     int l;
-+                     for (l = 0; l < gis.Size() && locpnum[j] == 0; l++)
-+                     {
-+                        double dist = sqr (gis[l].u-gi.u)+sqr(gis[l].v-gi.v);
-+
-+                        if (dist < 1e-10)
-+                           locpnum[j] = l+1;
-+                     }
-+
-+                     if (locpnum[j] == 0)
-+                     {
-+                        int pi = (j == 0) ? seg[0] : seg[1];
-+                        meshing.AddPoint (mesh.Point(pi), pi);
-+
-+                        gis.SetSize (gis.Size()+1);
-+                        gis[l] = gi;
-+                        locpnum[j] = l+1;
-+                     }
-+                  }
-+
-+                  meshing.AddBoundaryElement (locpnum[0], locpnum[1], gi0, gi1);
-+                  //(*testout) << gi0.u << " " << gi0.v << endl;
-+                  //(*testout) << gi1.u << " " << gi1.v << endl;
-+
-+               }
-+            }
-+         }
-+
-+
-+
-+
-+
-+         // Philippose - 15/01/2009
-+         double maxh = geom.face_maxh[k-1];
-+         //double maxh = mparam.maxh;
-+         mparam.checkoverlap = 0;
-+         //      int noldpoints = mesh->GetNP();
-+         int noldsurfel = mesh.GetNSE();
-+
-+         GProp_GProps sprops;
-+         BRepGProp::SurfaceProperties(TopoDS::Face(geom.fmap(k)),sprops);
-+         meshing.SetMaxArea(2.*sprops.Mass());
-+
-+         MESHING2_RESULT res;
-+
-+         try {
-+         res = meshing.GenerateMesh (mesh, mparam, maxh, k);
-+         }
-+
-+         catch (SingularMatrixException)
-+         {
-+            (*myerr) << "Singular Matrix" << endl;
-+            res = MESHING2_GIVEUP;
-+         }
-+
-+         catch (UVBoundsException)
-+         {
-+            (*myerr) << "UV bounds exceeded" << endl;
-+            res = MESHING2_GIVEUP;
-+         }
-+
-+         projecttype = PARAMETERSPACE;
-+
-+         if (res != MESHING2_OK)
-+         {
-+            if (notrys == 1)
-+            {
-+               for (int i = noldsurfel+1; i <= mesh.GetNSE(); i++)
-+                  mesh.DeleteSurfaceElement (i);
-+
-+               mesh.Compress();
-+
-+               cout << "retry Surface " << k << endl;
-+
-+               k--;
-+               projecttype*=-1;
-+               notrys++;
-+               continue;
-+            }
-+            else
-+            {
-+               geom.facemeshstatus[k-1] = -1;
-+               PrintError ("Problem in Surface mesh generation");
-+               surfmesherror++;
-+               //           throw NgException ("Problem in Surface mesh generation");
-+            }
-+         }
-+         else
-+         {
-+            geom.facemeshstatus[k-1] = 1;
-+         }
-+
-+         notrys = 1;
-+
-+         for (i = oldnf+1; i <= mesh.GetNSE(); i++)
-+            mesh.SurfaceElement(i).SetIndex (k);
-+
-+      }
-+
-+//      ofstream problemfile("occmesh.rep");
-+
-+//      problemfile << "SURFACEMESHING" << endl << endl;
-+
-+      if (surfmesherror)
-+      {
-+         cout << "WARNING! NOT ALL FACES HAVE BEEN MESHED" << endl;
-+         cout << "SURFACE MESHING ERROR OCCURED IN " << surfmesherror << " FACES:" << endl;
-+         for (int i = 1; i <= geom.fmap.Extent(); i++)
-+            if (geom.facemeshstatus[i-1] == -1)
-+            {
-+               cout << "Face " << i << endl;
-+//               problemfile << "problem with face " << i << endl;
-+//               problemfile << "vertices: " << endl;
-+               TopExp_Explorer exp0,exp1,exp2;
-+               for ( exp0.Init(TopoDS::Face (geom.fmap(i)), TopAbs_WIRE); exp0.More(); exp0.Next() )
-+               {
-+                  TopoDS_Wire wire = TopoDS::Wire(exp0.Current());
-+                  for ( exp1.Init(wire,TopAbs_EDGE); exp1.More(); exp1.Next() )
-+                  {
-+                     TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
-+                     for ( exp2.Init(edge,TopAbs_VERTEX); exp2.More(); exp2.Next() )
-+                     {
-+                        TopoDS_Vertex vertex = TopoDS::Vertex(exp2.Current());
-+                        gp_Pnt point = BRep_Tool::Pnt(vertex);
-+//                        problemfile << point.X() << " " << point.Y() << " " << point.Z() << endl;
-+                     }
-+                  }
-+               }
-+//               problemfile << endl;
-+
-+            }
-+            cout << endl << endl;
-+            cout << "for more information open IGES/STEP Topology Explorer" << endl;
-+//            problemfile.close();
-+            throw NgException ("Problem in Surface mesh generation");
-+      }
-+      else
-+      {
-+//         problemfile << "OK" << endl << endl;
-+//         problemfile.close();
-+      }
-+
-+
-+
-+
-+      if (multithread.terminate || perfstepsend < MESHCONST_OPTSURFACE)
-+         return;
-+
-+      multithread.task = "Optimizing surface";
-+
-+      static int timer_opt2d = NgProfiler::CreateTimer ("Optimization 2D");
-+      NgProfiler::StartTimer (timer_opt2d);
-+
-+      for (k = 1; k <= mesh.GetNFD(); k++)
-+      {
-+         //      if (k != 42) continue;
-+         //      if (k != 36) continue;
-+
-+         //      (*testout) << "optimize face " << k << endl;
-+         multithread.percent = 100 * k / (mesh.GetNFD() + VSMALL);
-+
-+         FaceDescriptor & fd = mesh.GetFaceDescriptor(k);
-+
-+         PrintMessage (1, "Optimize Surface ", k);
-+         for (i = 1; i <= mparam.optsteps2d; i++)
-+         {
-+            //          (*testout) << "optstep " << i << endl;
-+            if (multithread.terminate) return;
-+
-+            {
-+               MeshOptimize2dOCCSurfaces meshopt(geom);
-+               meshopt.SetFaceIndex (k);
-+               meshopt.SetImproveEdges (0);
-+               meshopt.SetMetricWeight (mparam.elsizeweight);
-+               //meshopt.SetMetricWeight (0.2);
-+               meshopt.SetWriteStatus (0);
-+
-+               //         (*testout) << "EdgeSwapping (mesh, (i > mparam.optsteps2d/2))" << endl;
-+               meshopt.EdgeSwapping (mesh, (i > mparam.optsteps2d/2));
-+            }
-+
-+            if (multithread.terminate) return;
-+            {
-+               MeshOptimize2dOCCSurfaces meshopt(geom);
-+               meshopt.SetFaceIndex (k);
-+               meshopt.SetImproveEdges (0);
-+               //meshopt.SetMetricWeight (0.2);
-+               meshopt.SetMetricWeight (mparam.elsizeweight);
-+               meshopt.SetWriteStatus (0);
-+
-+               //         (*testout) << "ImproveMesh (mesh)" << endl;
-+               meshopt.ImproveMesh (mesh, mparam);
-+            }
-+
-+            {
-+               MeshOptimize2dOCCSurfaces meshopt(geom);
-+               meshopt.SetFaceIndex (k);
-+               meshopt.SetImproveEdges (0);
-+               //meshopt.SetMetricWeight (0.2);
-+               meshopt.SetMetricWeight (mparam.elsizeweight);
-+               meshopt.SetWriteStatus (0);
-+
-+               //         (*testout) << "CombineImprove (mesh)" << endl;
-+               meshopt.CombineImprove (mesh);
-+            }
-+
-+            if (multithread.terminate) return;
-+            {
-+               MeshOptimize2dOCCSurfaces meshopt(geom);
-+               meshopt.SetFaceIndex (k);
-+               meshopt.SetImproveEdges (0);
-+               //meshopt.SetMetricWeight (0.2);
-+               meshopt.SetMetricWeight (mparam.elsizeweight);
-+               meshopt.SetWriteStatus (0);
-+
-+               //         (*testout) << "ImproveMesh (mesh)" << endl;
-+               meshopt.ImproveMesh (mesh, mparam);
-+            }
-+         }
-+
-+      }
-+
-+
-+      mesh.CalcSurfacesOfNode();
-+      mesh.Compress();
-+
-+      NgProfiler::StopTimer (timer_opt2d);
-+
-+      multithread.task = savetask;
-+   }
-+
-+
-+
-+   void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh)
-+   {
-+      mesh.SetGlobalH (mparam.maxh);
-+      mesh.SetMinimalH (mparam.minh);
-+
-+      Array<double> maxhdom;
-+      maxhdom.SetSize (geom.NrSolids());
-+      maxhdom = mparam.maxh;
-+
-+      mesh.SetMaxHDomain (maxhdom);
-+
-+      Box<3> bb = geom.GetBoundingBox();
-+      bb.Increase (bb.Diam()/10);
-+
-+      mesh.SetLocalH (bb.PMin(), bb.PMax(), 0.5);
-+
-+      if (mparam.uselocalh)
-+      {
-+         const char * savetask = multithread.task;
-+         multithread.percent = 0;
-+
-+         mesh.SetLocalH (bb.PMin(), bb.PMax(), mparam.grading);
-+
-+         int nedges = geom.emap.Extent();
-+
-+               double mincurvelength = IGNORECURVELENGTH;
-+         double maxedgelen = 0;
-+         double minedgelen = 1e99;
-+
-+               if(occparam.resthminedgelenenable)
-+               {
-+                      mincurvelength = occparam.resthminedgelen;
-+                      if(mincurvelength < IGNORECURVELENGTH) mincurvelength = IGNORECURVELENGTH;
-+               }
-+
-+         multithread.task = "Setting local mesh size (elements per edge)";
-+
-+         // setting elements per edge
-+
-+         for (int i = 1; i <= nedges && !multithread.terminate; i++)
-+         {
-+            TopoDS_Edge e = TopoDS::Edge (geom.emap(i));
-+            multithread.percent = 100 * (i-1)/double(nedges);
-+            if (BRep_Tool::Degenerated(e)) continue;
-+
-+            GProp_GProps system;
-+            BRepGProp::LinearProperties(e, system);
-+            double len = system.Mass();
-+
-+            if (len < mincurvelength)
-+            {
-+               (*testout) << "ignored" << endl;
-+               continue;
-+            }
-+
-+            double localh = len/mparam.segmentsperedge;
-+            double s0, s1;
-+
-+            // Philippose - 23/01/2009
-+            // Find all the parent faces of a given edge
-+            // and limit the mesh size of the edge based on the
-+            // mesh size limit of the face
-+            TopTools_IndexedDataMapOfShapeListOfShape edge_face_map;
-+            edge_face_map.Clear();
-+
-+            TopExp::MapShapesAndAncestors(geom.shape, TopAbs_EDGE, TopAbs_FACE, edge_face_map);
-+            const TopTools_ListOfShape& parent_faces = edge_face_map.FindFromKey(e);
-+
-+            TopTools_ListIteratorOfListOfShape parent_face_list;
-+
-+            for(parent_face_list.Initialize(parent_faces); parent_face_list.More(); parent_face_list.Next())
-+            {
-+               TopoDS_Face parent_face = TopoDS::Face(parent_face_list.Value());
-+
-+               int face_index = geom.fmap.FindIndex(parent_face);
-+
-+               if(face_index >= 1) localh = min(localh,geom.face_maxh[face_index - 1]);
-+            }
-+
-+            Handle(Geom_Curve) c = BRep_Tool::Curve(e, s0, s1);
-+
-+            maxedgelen = max (maxedgelen, len);
-+            minedgelen = min (minedgelen, len);
-+
-+            // Philippose - 23/01/2009
-+            // Modified the calculation of maxj, because the
-+            // method used so far always results in maxj = 2,
-+            // which causes the localh to be set only at the
-+            // starting, mid and end of the edge.
-+            // Old Algorithm:
-+            // int maxj = 2 * (int) ceil (localh/len);
-+            int maxj = max((int) ceil(len/localh), 2);
-+
-+            for (int j = 0; j <= maxj; j++)
-+            {
-+               gp_Pnt pnt = c->Value (s0+double(j)/maxj*(s1-s0));
-+               mesh.RestrictLocalH (Point3d(pnt.X(), pnt.Y(), pnt.Z()), localh);
-+            }
-+         }
-+
-+         multithread.task = "Setting local mesh size (edge curvature)";
-+
-+         // setting edge curvature
-+
-+         int nsections = 20;
-+
-+         for (int i = 1; i <= nedges && !multithread.terminate; i++)
-+         {
-+            double maxcur = 0;
-+            multithread.percent = 100 * (i-1)/double(nedges);
-+            TopoDS_Edge edge = TopoDS::Edge (geom.emap(i));
-+            if (BRep_Tool::Degenerated(edge)) continue;
-+            double s0, s1;
-+            Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1);
-+            BRepAdaptor_Curve brepc(edge);
-+            BRepLProp_CLProps prop(brepc, 2, 1e-5);
-+
-+            for (int j = 1; j <= nsections; j++)
-+            {
-+               double s = s0 + j/(double) nsections * (s1-s0);
-+               prop.SetParameter (s);
-+               double curvature = prop.Curvature();
-+               if(curvature> maxcur) maxcur = curvature;
-+
-+               if (curvature >= 1e99)
-+                  continue;
-+
-+               gp_Pnt pnt = c->Value (s);
-+
-+               mesh.RestrictLocalH (Point3d(pnt.X(), pnt.Y(), pnt.Z()), ComputeH (fabs(curvature)));
-+            }
-+            // (*testout) << "edge " << i << " max. curvature: " << maxcur << endl;
-+         }
-+
-+         multithread.task = "Setting local mesh size (face curvature)";
-+
-+         // setting face curvature
-+
-+         int nfaces = geom.fmap.Extent();
-+
-+         for (int i = 1; i <= nfaces && !multithread.terminate; i++)
-+         {
-+            multithread.percent = 100 * (i-1)/double(nfaces);
-+            TopoDS_Face face = TopoDS::Face(geom.fmap(i));
-+            TopLoc_Location loc;
-+            Handle(Geom_Surface) surf = BRep_Tool::Surface (face);
-+            Handle(Poly_Triangulation) triangulation = BRep_Tool::Triangulation (face, loc);
-+
-+            if (triangulation.IsNull()) continue;
-+
-+            BRepAdaptor_Surface sf(face, Standard_True);
-+            BRepLProp_SLProps prop(sf, 2, 1e-5);
-+
-+            int ntriangles = triangulation -> NbTriangles();
-+            for (int j = 1; j <= ntriangles; j++)
-+            {
-+               gp_Pnt p[3];
-+               gp_Pnt2d par[3];
-+
-+               for (int k = 1; k <=3; k++)
-+               {
-+                  int n = triangulation->Triangles()(j)(k);
-+                  p[k-1] = triangulation->Nodes()(n).Transformed(loc);
-+                  par[k-1] = triangulation->UVNodes()(n);
-+               }
-+
-+               //double maxside = 0;
-+               //maxside = max (maxside, p[0].Distance(p[1]));
-+               //maxside = max (maxside, p[0].Distance(p[2]));
-+               //maxside = max (maxside, p[1].Distance(p[2]));
-+               //cout << "\rFace " << i << " pos11 ntriangles " << ntriangles << " maxside " << maxside << flush;
-+
-+               RestrictHTriangle (par[0], par[1], par[2], &prop, mesh, 0);
-+               //cout << "\rFace " << i << " pos12 ntriangles " << ntriangles << flush;
-+            }
-+         }
-+
-+         // setting close edges
-+
-+         if (occparam.resthcloseedgeenable)
-+         {
-+            multithread.task = "Setting local mesh size (close edges)";
-+
-+            int sections = 100;
-+
-+            Array<Line> lines(sections*nedges);
-+
-+            Box3dTree* searchtree =
-+               new Box3dTree (bb.PMin(), bb.PMax());
-+
-+            int nlines = 0;
-+            for (int i = 1; i <= nedges && !multithread.terminate; i++)
-+            {
-+               TopoDS_Edge edge = TopoDS::Edge (geom.emap(i));
-+               if (BRep_Tool::Degenerated(edge)) continue;
-+
-+               double s0, s1;
-+               Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1);
-+               BRepAdaptor_Curve brepc(edge);
-+               BRepLProp_CLProps prop(brepc, 1, 1e-5);
-+               prop.SetParameter (s0);
-+
-+               gp_Vec d0 = prop.D1().Normalized();
-+               double s_start = s0;
-+               int count = 0;
-+               for (int j = 1; j <= sections; j++)
-+               {
-+                  double s = s0 + (s1-s0)*(double)j/(double)sections;
-+                  prop.SetParameter (s);
-+                  gp_Vec d1 = prop.D1().Normalized();
-+                  double cosalpha = fabs(d0*d1);
-+                  if ((j == sections) || (cosalpha < cos(10.0/180.0*M_PI)))
-+                  {
-+                     count++;
-+                     gp_Pnt p0 = c->Value (s_start);
-+                     gp_Pnt p1 = c->Value (s);
-+                     lines[nlines].p0 = Point<3> (p0.X(), p0.Y(), p0.Z());
-+                     lines[nlines].p1 = Point<3> (p1.X(), p1.Y(), p1.Z());
-+
-+                     Box3d box;
-+                     box.SetPoint (Point3d(lines[nlines].p0));
-+                     box.AddPoint (Point3d(lines[nlines].p1));
-+
-+                     searchtree->Insert (box.PMin(), box.PMax(), nlines+1);
-+                     nlines++;
-+
-+                     s_start = s;
-+                     d0 = d1;
-+                  }
-+               }
-+            }
-+
-+            Array<int> linenums;
-+
-+            for (int i = 0; i < nlines; i++)
-+            {
-+               multithread.percent = (100*i)/double(nlines);
-+               Line & line = lines[i];
-+
-+               Box3d box;
-+               box.SetPoint (Point3d(line.p0));
-+               box.AddPoint (Point3d(line.p1));
-+               double maxhline = max (mesh.GetH(box.PMin()),
-+                  mesh.GetH(box.PMax()));
-+               box.Increase(maxhline);
-+
-+               double mindist = 1e99;
-+               linenums.SetSize(0);
-+               searchtree->GetIntersecting(box.PMin(),box.PMax(),linenums);
-+
-+               for (int j = 0; j < linenums.Size(); j++)
-+               {
-+                  int num = linenums[j]-1;
-+                  if (i == num) continue;
-+                  if ((line.p0-lines[num].p0).Length2() < 1e-15) continue;
-+                  if ((line.p0-lines[num].p1).Length2() < 1e-15) continue;
-+                  if ((line.p1-lines[num].p0).Length2() < 1e-15) continue;
-+                  if ((line.p1-lines[num].p1).Length2() < 1e-15) continue;
-+                  mindist = min (mindist, line.Dist(lines[num]));
-+               }
-+
-+               mindist /= (occparam.resthcloseedgefac + VSMALL);
-+
-+               if (mindist < 1e-3)
-+               {
-+                  (*testout) << "extremely small local h: " << mindist
-+                     << " --> setting to 1e-3" << endl;
-+                  (*testout) << "somewhere near " << line.p0 << " - " << line.p1 << endl;
-+                  mindist = 1e-3;
-+               }
-+
-+               mesh.RestrictLocalHLine(line.p0, line.p1, mindist);
-+            }
-+         }
-+
-+         multithread.task = savetask;
-+
-+      }
-+
-+      // Philippose - 09/03/2009
-+      // Added the capability to load the mesh size from a
-+      // file also for OpenCascade Geometry
-+      // Note:
-+      // ** If the "uselocalh" option is ticked in
-+      // the "mesh options...insider" menu, the mesh
-+      // size will be further modified by the topology
-+      // analysis routines.
-+      // ** To use the mesh size file as the sole source
-+      // for defining the mesh size, uncheck the "uselocalh"
-+      // option.
-+      mesh.LoadLocalMeshSize (mparam.meshsizefilename);
-+   }
-+
-+
-+
-+  int OCCGenerateMesh (OCCGeometry & geom, Mesh *& mesh, MeshingParameters & mparam,
-+                     int perfstepsstart, int perfstepsend)
-+   {
-+      multithread.percent = 0;
-+
-+      if (perfstepsstart <= MESHCONST_ANALYSE)
-+      {
-+         delete mesh;
-+         mesh = new Mesh();
-+         mesh->geomtype = Mesh::GEOM_OCC;
-+
-+         OCCSetLocalMeshSize(geom,*mesh);
-+      }
-+
-+      if (multithread.terminate || perfstepsend <= MESHCONST_ANALYSE)
-+         return TCL_OK;
-+
-+      if (perfstepsstart <= MESHCONST_MESHEDGES)
-+      {
-+         OCCFindEdges (geom, *mesh);
-+
-+         /*
-+         cout << "Removing redundant points" << endl;
-+
-+         int i, j;
-+         int np = mesh->GetNP();
-+         Array<int> equalto;
-+
-+         equalto.SetSize (np);
-+         equalto = 0;
-+
-+         for (i = 1; i <= np; i++)
-+         {
-+         for (j = i+1; j <= np; j++)
-+         {
-+         if (!equalto[j-1] && (Dist2 (mesh->Point(i), mesh->Point(j)) < 1e-12))
-+         equalto[j-1] = i;
-+         }
-+         }
-+
-+         for (i = 1; i <= np; i++)
-+         if (equalto[i-1])
-+         {
-+         cout << "Point " << i << " is equal to Point " << equalto[i-1] << endl;
-+         for (j = 1; j <= mesh->GetNSeg(); j++)
-+         {
-+         Segment & seg = mesh->LineSegment(j);
-+         if (seg[0] == i) seg[0] = equalto[i-1];
-+         if (seg[1] == i) seg[1] = equalto[i-1];
-+         }
-+         }
-+
-+         cout << "Removing degenerated segments" << endl;
-+         for (j = 1; j <= mesh->GetNSeg(); j++)
-+         {
-+         Segment & seg = mesh->LineSegment(j);
-+         if (seg[0] == seg[1])
-+         {
-+         mesh->DeleteSegment(j);
-+         cout << "Deleting Segment " << j << endl;
-+         }
-+         }
-+
-+         mesh->Compress();
-+         */
-+
-+         /*
-+         for (int i = 1; i <= geom.fmap.Extent(); i++)
-+         {
-+         Handle(Geom_Surface) hf1 =
-+         BRep_Tool::Surface(TopoDS::Face(geom.fmap(i)));
-+         for (int j = i+1; j <= geom.fmap.Extent(); j++)
-+         {
-+         Handle(Geom_Surface) hf2 =
-+         BRep_Tool::Surface(TopoDS::Face(geom.fmap(j)));
-+         if (hf1 == hf2) cout << "face " << i << " and face " << j << " lie on same surface" << endl;
-+         }
-+         }
-+         */
-+
-+#ifdef LOG_STREAM
-+         (*logout) << "Edges meshed" << endl
-+            << "time = " << GetTime() << " sec" << endl
-+            << "points: " << mesh->GetNP() << endl;
-+#endif
-+      }
-+
-+      if (multithread.terminate || perfstepsend <= MESHCONST_MESHEDGES)
-+         return TCL_OK;
-+
-+      if (perfstepsstart <= MESHCONST_MESHSURFACE)
-+      {
-+         OCCMeshSurface (geom, *mesh, perfstepsend);
-+         if (multithread.terminate) return TCL_OK;
-+
-+#ifdef LOG_STREAM
-+         (*logout) << "Surfaces meshed" << endl
-+            << "time = " << GetTime() << " sec" << endl
-+            << "points: " << mesh->GetNP() << endl;
-+#endif
-+
-+#ifdef STAT_STREAM
-+         (*statout) << mesh->GetNSeg() << " & "
-+            << mesh->GetNSE() << " & - &"
-+            << GetTime() << " & " << endl;
-+#endif
-+
-+         //      MeshQuality2d (*mesh);
-+         mesh->CalcSurfacesOfNode();
-+      }
-+
-+      if (multithread.terminate || perfstepsend <= MESHCONST_OPTSURFACE)
-+         return TCL_OK;
-+
-+      if (perfstepsstart <= MESHCONST_MESHVOLUME)
-+      {
-+         multithread.task = "Volume meshing";
-+
-+         MESHING3_RESULT res = MeshVolume (mparam, *mesh);
-+
-+/*
-+         ofstream problemfile("occmesh.rep",ios_base::app);
-+
-+         problemfile << "VOLUMEMESHING" << endl << endl;
-+         if(res != MESHING3_OK)
-+            problemfile << "ERROR" << endl << endl;
-+         else
-+            problemfile << "OK" << endl
-+            << mesh->GetNE() << " elements" << endl << endl;
-+
-+         problemfile.close();
-+*/
-+
-+         if (res != MESHING3_OK) return TCL_ERROR;
-+
-+         if (multithread.terminate) return TCL_OK;
-+
-+         RemoveIllegalElements (*mesh);
-+         if (multithread.terminate) return TCL_OK;
-+
-+         MeshQuality3d (*mesh);
-+
-+#ifdef STAT_STREAM
-+         (*statout) << GetTime() << " & ";
-+#endif
-+
-+#ifdef LOG_STREAM
-+         (*logout) << "Volume meshed" << endl
-+            << "time = " << GetTime() << " sec" << endl
-+            << "points: " << mesh->GetNP() << endl;
-+#endif
-+      }
-+
-+      if (multithread.terminate || perfstepsend <= MESHCONST_MESHVOLUME)
-+         return TCL_OK;
-+
-+      if (perfstepsstart <= MESHCONST_OPTVOLUME)
-+      {
-+         multithread.task = "Volume optimization";
-+
-+         OptimizeVolume (mparam, *mesh);
-+         if (multithread.terminate) return TCL_OK;
-+
-+#ifdef STAT_STREAM
-+         (*statout) << GetTime() << " & "
-+            << mesh->GetNE() << " & "
-+            << mesh->GetNP() << " " << '\\' << '\\' << " \\" << "hline" << endl;
-+#endif
-+
-+#ifdef LOG_STREAM
-+         (*logout) << "Volume optimized" << endl
-+            << "time = " << GetTime() << " sec" << endl
-+            << "points: " << mesh->GetNP() << endl;
-+#endif
-+
-+         // cout << "Optimization complete" << endl;
-+
-+      }
-+
-+      (*testout) << "NP: " << mesh->GetNP() << endl;
-+      for (int i = 1; i <= mesh->GetNP(); i++)
-+         (*testout) << mesh->Point(i) << endl;
-+
-+      (*testout) << endl << "NSegments: " << mesh->GetNSeg() << endl;
-+      for (int i = 1; i <= mesh->GetNSeg(); i++)
-+         (*testout) << mesh->LineSegment(i) << endl;
-+
-+      return TCL_OK;
-+   }
-+}
-+
-+#endif
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occgeom.cpp netgen-5.3.1_SRC_modif/libsrc/occ/occgeom.cpp
---- netgen-5.3.1_SRC_orig/libsrc/occ/occgeom.cpp       2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/occgeom.cpp      2018-03-01 15:45:08.689877466 +0300
-@@ -1,1612 +1,1669 @@
--
--#ifdef OCCGEOMETRY
--
--#include <mystdlib.h>
--#include <occgeom.hpp>
--#include "ShapeAnalysis_ShapeTolerance.hxx"
--#include "ShapeAnalysis_ShapeContents.hxx"
--#include "ShapeAnalysis_CheckSmallFace.hxx"
--#include "ShapeAnalysis_DataMapOfShapeListOfReal.hxx"
--#include "ShapeAnalysis_Surface.hxx"
--#include "BRepAlgoAPI_Fuse.hxx"
--#include "BRepCheck_Analyzer.hxx"
--#include "BRepLib.hxx"
--#include "ShapeBuild_ReShape.hxx"
--#include "ShapeFix.hxx"
--#include "ShapeFix_FixSmallFace.hxx"
--#include "Partition_Spliter.hxx"
--
--
--namespace netgen
--{
--   void OCCGeometry :: PrintNrShapes ()
--   {
--      TopExp_Explorer e;
--      int count = 0;
--      for (e.Init(shape, TopAbs_COMPSOLID); e.More(); e.Next()) count++;
--      cout << "CompSolids: " << count << endl;
--
--      cout << "Solids    : " << somap.Extent() << endl;
--      cout << "Shells    : " << shmap.Extent() << endl;
--      cout << "Faces     : " << fmap.Extent() << endl;
--      cout << "Edges     : " << emap.Extent() << endl;
--      cout << "Vertices  : " << vmap.Extent() << endl;
--   }
--
--
--
--
--   void PrintContents (OCCGeometry * geom)
--   {
--      ShapeAnalysis_ShapeContents cont;
--      cont.Clear();
--      cont.Perform(geom->shape);
--
--      (*testout) << "OCC CONTENTS" << endl;
--      (*testout) << "============" << endl;
--      (*testout) << "SOLIDS   : " << cont.NbSolids() << endl;
--      (*testout) << "SHELLS   : " << cont.NbShells() << endl;
--      (*testout) << "FACES    : " << cont.NbFaces() << endl;
--      (*testout) << "WIRES    : " << cont.NbWires() << endl;
--      (*testout) << "EDGES    : " << cont.NbEdges() << endl;
--      (*testout) << "VERTICES : " << cont.NbVertices() << endl;
--
--      TopExp_Explorer e;
--      int count = 0;
--      for (e.Init(geom->shape, TopAbs_COMPOUND); e.More(); e.Next())
--         count++;
--      (*testout) << "Compounds: " << count << endl;
--
--      count = 0;
--      for (e.Init(geom->shape, TopAbs_COMPSOLID); e.More(); e.Next())
--         count++;
--      (*testout) << "CompSolids: " << count << endl;
--
--      (*testout) << endl;
--
--      cout << "Highest entry in topology hierarchy: " << endl;
--      if (count)
--         cout << count << " composite solid(s)" << endl;
--      else
--         if (geom->somap.Extent())
--            cout << geom->somap.Extent() << " solid(s)" << endl;
--         else
--            if (geom->shmap.Extent())
--               cout << geom->shmap.Extent() << " shells(s)" << endl;
--            else
--               if (geom->fmap.Extent())
--                  cout << geom->fmap.Extent() << " face(s)" << endl;
--               else
--                  if (geom->wmap.Extent())
--                     cout << geom->wmap.Extent() << " wire(s)" << endl;
--                  else
--                     if (geom->emap.Extent())
--                        cout << geom->emap.Extent() << " edge(s)" << endl;
--                     else
--                        if (geom->vmap.Extent())
--                           cout << geom->vmap.Extent() << " vertices(s)" << endl;
--                        else
--                           cout << "no entities" << endl;
--
--   }
--
--
--
--   void OCCGeometry :: HealGeometry ()
--   {
--      int nrc = 0, nrcs = 0,
--         nrso = somap.Extent(),
--         nrsh = shmap.Extent(),
--         nrf = fmap.Extent(),
--         nrw = wmap.Extent(),
--         nre = emap.Extent(),
--         nrv = vmap.Extent();
--
--      TopExp_Explorer exp0;
--      TopExp_Explorer exp1;
--
--
--      for (exp0.Init(shape, TopAbs_COMPOUND); exp0.More(); exp0.Next()) nrc++;
--      for (exp0.Init(shape, TopAbs_COMPSOLID); exp0.More(); exp0.Next()) nrcs++;
--
--      double surfacecont = 0;
--
--      {
--         Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
--         rebuild->Apply(shape);
--         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
--         {
--            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
--            if ( BRep_Tool::Degenerated(edge) )
--               rebuild->Remove(edge, false);
--         }
--         shape = rebuild->Apply(shape);
--      }
--
--      BuildFMap();
--
--
--      for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
--      {
--         TopoDS_Face face = TopoDS::Face(exp0.Current());
--
--         GProp_GProps system;
--         BRepGProp::SurfaceProperties(face, system);
--         surfacecont += system.Mass();
--      }
--
--
--      cout << "Starting geometry healing procedure (tolerance: " << tolerance << ")" << endl
--         << "-----------------------------------" << endl;
--
--      {
--         cout << endl << "- repairing faces" << endl;
--
--         Handle(ShapeFix_Face) sff;
--         Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
--         rebuild->Apply(shape);
--
--
--         for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
--         {
--            // Variable to hold the colour (if there exists one) of 
--            // the current face being processed
--            Quantity_Color face_colour;
--
--            TopoDS_Face face = TopoDS::Face (exp0.Current());
--
--            if(face_colours.IsNull()
--               || (!(face_colours->GetColor(face,XCAFDoc_ColorSurf,face_colour))))
--            {
--               // Set the default face colour to green (Netgen Standard)
--               // if no colour has been defined for the face
--               face_colour = Quantity_Color(0.0,1.0,0.0,Quantity_TOC_RGB);
--            }
--
--            sff = new ShapeFix_Face (face);
--            sff->FixAddNaturalBoundMode() = Standard_True;
--            sff->FixSmallAreaWireMode() = Standard_True;
--            sff->Perform();
--
--            if(sff->Status(ShapeExtend_DONE1) ||
--               sff->Status(ShapeExtend_DONE2) ||
--               sff->Status(ShapeExtend_DONE3) ||
--               sff->Status(ShapeExtend_DONE4) ||
--               sff->Status(ShapeExtend_DONE5))
--            {
--               cout << "repaired face " << fmap.FindIndex(face) << " ";
--               if(sff->Status(ShapeExtend_DONE1))
--                  cout << "(some wires are fixed)" <<endl;
--               else if(sff->Status(ShapeExtend_DONE2))
--                  cout << "(orientation of wires fixed)" <<endl;
--               else if(sff->Status(ShapeExtend_DONE3))
--                  cout << "(missing seam added)" <<endl;
--               else if(sff->Status(ShapeExtend_DONE4))
--                  cout << "(small area wire removed)" <<endl;
--               else if(sff->Status(ShapeExtend_DONE5))
--                  cout << "(natural bounds added)" <<endl;
--               TopoDS_Face newface = sff->Face();
--
--               rebuild->Replace(face, newface, Standard_False);
--            }
--
--            // Set the original colour of the face to the newly created 
--            // face (after the healing process)
--            face = TopoDS::Face (exp0.Current());
--            face_colours->SetColor(face,face_colour,XCAFDoc_ColorSurf);
--         }
--         shape = rebuild->Apply(shape);
--      }
--
--
--      {
--         Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
--         rebuild->Apply(shape);
--         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
--         {
--            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
--            if ( BRep_Tool::Degenerated(edge) )
--               rebuild->Remove(edge, false);
--         }
--         shape = rebuild->Apply(shape);
--      }
--
--
--      if (fixsmalledges)
--      {
--         cout << endl << "- fixing small edges" << endl;
--
--         Handle(ShapeFix_Wire) sfw;
--         Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
--         rebuild->Apply(shape);
--
--
--         for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
--         {
--            TopoDS_Face face = TopoDS::Face(exp0.Current());
--
--            for (exp1.Init (face, TopAbs_WIRE); exp1.More(); exp1.Next())
--            {
--               TopoDS_Wire oldwire = TopoDS::Wire(exp1.Current());
--               sfw = new ShapeFix_Wire (oldwire, face ,tolerance);
--               sfw->ModifyTopologyMode() = Standard_True;
--
--               sfw->ClosedWireMode() = Standard_True;
--
--               bool replace = false;
--
--               replace = sfw->FixReorder() || replace;
--
--               replace = sfw->FixConnected() || replace;
--
--
--
--               if (sfw->FixSmall (Standard_False, tolerance) && ! (sfw->StatusSmall(ShapeExtend_FAIL1) ||
--                  sfw->StatusSmall(ShapeExtend_FAIL2) ||
--                  sfw->StatusSmall(ShapeExtend_FAIL3)))
--               {
--                  cout << "Fixed small edge in wire " << wmap.FindIndex (oldwire) << endl;
--                  replace = true;
--
--               }
--               else if (sfw->StatusSmall(ShapeExtend_FAIL1))
--                  cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire)
--                  << ", edge cannot be checked (no 3d curve and no pcurve)" << endl;
--               else if (sfw->StatusSmall(ShapeExtend_FAIL2))
--                  cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire)
--                  << ", edge is null-length and has different vertives at begin and end, and lockvtx is True or ModifiyTopologyMode is False" << endl;
--               else if (sfw->StatusSmall(ShapeExtend_FAIL3))
--                  cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire)
--                  << ", CheckConnected has failed" << endl;
--
--               replace = sfw->FixEdgeCurves() || replace;
--
--               replace = sfw->FixDegenerated() || replace;
--
--               replace = sfw->FixSelfIntersection() || replace;
--
--               replace = sfw->FixLacking(Standard_True) || replace;
--
--               if(replace)
--               {
--                  TopoDS_Wire newwire = sfw->Wire();
--                  rebuild->Replace(oldwire, newwire, Standard_False);
--               }
--
--               //delete sfw; sfw = NULL;
--
--            }
--         }
--
--         shape = rebuild->Apply(shape);
--
--
--
--         {
--            BuildFMap();
--            Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
--            rebuild->Apply(shape);
--
--            for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
--            {
--               TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
--               if (vmap.FindIndex(TopExp::FirstVertex (edge)) ==
--                  vmap.FindIndex(TopExp::LastVertex (edge)))
--               {
--                  GProp_GProps system;
--                  BRepGProp::LinearProperties(edge, system);
--                  if (system.Mass() < tolerance)
--                  {
--                     cout << "removing degenerated edge " << emap.FindIndex(edge)
--                        << " from vertex " << vmap.FindIndex(TopExp::FirstVertex (edge))
--                        << " to vertex " << vmap.FindIndex(TopExp::LastVertex (edge)) << endl;
--                     rebuild->Remove(edge, false);
--                  }
--               }
--            }
--            shape = rebuild->Apply(shape);
--
--            //delete rebuild; rebuild = NULL;
--         }
--
--
--
--         {
--            Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
--            rebuild->Apply(shape);
--            for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
--            {
--               TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
--               if ( BRep_Tool::Degenerated(edge) )
--                  rebuild->Remove(edge, false);
--            }
--            shape = rebuild->Apply(shape);
--         }
--
--
--
--
--         Handle(ShapeFix_Wireframe) sfwf = new ShapeFix_Wireframe;
--         sfwf->SetPrecision(tolerance);
--         sfwf->Load (shape);
--         sfwf->ModeDropSmallEdges() = Standard_True;
--
--         sfwf->SetPrecision(boundingbox.Diam());
--
--         if (sfwf->FixWireGaps())
--         {
--            cout << endl << "- fixing wire gaps" << endl;
--            if (sfwf->StatusWireGaps(ShapeExtend_OK)) cout << "no gaps found" << endl;
--            if (sfwf->StatusWireGaps(ShapeExtend_DONE1)) cout << "some 2D gaps fixed" << endl;
--            if (sfwf->StatusWireGaps(ShapeExtend_DONE2)) cout << "some 3D gaps fixed" << endl;
--            if (sfwf->StatusWireGaps(ShapeExtend_FAIL1)) cout << "failed to fix some 2D gaps" << endl;
--            if (sfwf->StatusWireGaps(ShapeExtend_FAIL2)) cout << "failed to fix some 3D gaps" << endl;
--         }
--
--         sfwf->SetPrecision(tolerance);
--
--
--         {
--            for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
--            {
--               TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
--               if ( BRep_Tool::Degenerated(edge) )
--                  cout << "degenerated edge at position 4" << endl;
--            }
--         }
--
--
--
--         if (sfwf->FixSmallEdges())
--         {
--            cout << endl << "- fixing wire frames" << endl;
--            if (sfwf->StatusSmallEdges(ShapeExtend_OK)) cout << "no small edges found" << endl;
--            if (sfwf->StatusSmallEdges(ShapeExtend_DONE1)) cout << "some small edges fixed" << endl;
--            if (sfwf->StatusSmallEdges(ShapeExtend_FAIL1)) cout << "failed to fix some small edges" << endl;
--         }
--
--
--
--         shape = sfwf->Shape();
--
--         //delete sfwf; sfwf = NULL;
--         //delete rebuild; rebuild = NULL;
--
--      }
--
--
--
--
--
--      {
--         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
--         {
--            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
--            if ( BRep_Tool::Degenerated(edge) )
--               cout << "degenerated edge at position 5" << endl;
--         }
--      }
--
--
--
--
--      if (fixspotstripfaces)
--      {
--
--         cout << endl << "- fixing spot and strip faces" << endl;
--         Handle(ShapeFix_FixSmallFace) sffsm = new ShapeFix_FixSmallFace();
--         sffsm -> Init (shape);
--         sffsm -> SetPrecision (tolerance);
--         sffsm -> Perform();
--
--         shape = sffsm -> FixShape();
--         //delete sffsm; sffsm = NULL;
--      }
--
--
--      {
--         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
--         {
--            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
--            if ( BRep_Tool::Degenerated(edge) )
--               cout << "degenerated edge at position 6" << endl;
--         }
--      }
--
--
--
--      if (sewfaces)
--      {
--         cout << endl << "- sewing faces" << endl;
--
--         BRepOffsetAPI_Sewing sewedObj(tolerance);
--
--         for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
--         {
--            TopoDS_Face face = TopoDS::Face (exp0.Current());
--            sewedObj.Add (face);
--         }
--
--         sewedObj.Perform();
--
--         if (!sewedObj.SewedShape().IsNull())
--            shape = sewedObj.SewedShape();
--         else
--            cout << " not possible";
--      }
--
--
--
--      {
--         Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
--         rebuild->Apply(shape);
--         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
--         {
--            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
--            if ( BRep_Tool::Degenerated(edge) )
--               rebuild->Remove(edge, false);
--         }
--         shape = rebuild->Apply(shape);
--      }
--
--
--      if (makesolids)
--      {
--         cout << endl << "- making solids" << endl;
--
--         BRepBuilderAPI_MakeSolid ms;
--         int count = 0;
--         for (exp0.Init(shape, TopAbs_SHELL); exp0.More(); exp0.Next())
--         {
--            count++;
--            ms.Add (TopoDS::Shell(exp0.Current()));
--         }
--
--         if (!count)
--         {
--            cout << " not possible (no shells)" << endl;
--         }
--         else
--         {
--            BRepCheck_Analyzer ba(ms);
--            if (ba.IsValid ())
--            {
--               Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape;
--               sfs->Init (ms);
--               sfs->SetPrecision(tolerance);
--               sfs->SetMaxTolerance(tolerance);
--               sfs->Perform();
--               shape = sfs->Shape();
--
--               for (exp0.Init(shape, TopAbs_SOLID); exp0.More(); exp0.Next())
--               {
--                  TopoDS_Solid solid = TopoDS::Solid(exp0.Current());
--                  TopoDS_Solid newsolid = solid;
--                  BRepLib::OrientClosedSolid (newsolid);
--                  Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
--                  //            rebuild->Apply(shape);
--                  rebuild->Replace(solid, newsolid, Standard_False);
--                  TopoDS_Shape newshape = rebuild->Apply(shape, TopAbs_COMPSOLID);//, 1);
--                  //            TopoDS_Shape newshape = rebuild->Apply(shape);
--                  shape = newshape;
--               }
--
--               //delete sfs; sfs = NULL;
--            }
--            else
--               cout << " not possible" << endl;
--         }
--      }
--
--
--
--      if (splitpartitions)
--      {
--         cout << "- running SALOME partition splitter" << endl;
--
--         TopExp_Explorer e2;
--         Partition_Spliter ps;
--         int count = 0;
--
--         for (e2.Init (shape, TopAbs_SOLID);
--            e2.More(); e2.Next())
--         {
--            count++;
--            ps.AddShape (e2.Current());
--         }
--
--         ps.Compute();
--         shape = ps.Shape();
--
--         cout << " before: " << count << " solids" << endl;
--
--         count = 0;
--         for (e2.Init (shape, TopAbs_SOLID);
--            e2.More(); e2.Next()) count++;
--
--            cout << " after : " << count << " solids" << endl;
--      }
--
--      BuildFMap();
--
--
--
--      {
--         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
--         {
--            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
--            if ( BRep_Tool::Degenerated(edge) )
--               cout << "degenerated edge at position 8" << endl;
--         }
--      }
--
--
--      double newsurfacecont = 0;
--
--
--      for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
--      {
--         TopoDS_Face face = TopoDS::Face(exp0.Current());
--         GProp_GProps system;
--         BRepGProp::SurfaceProperties(face, system);
--         newsurfacecont += system.Mass();
--      }
--
--
--      int nnrc = 0, nnrcs = 0,
--         nnrso = somap.Extent(),
--         nnrsh = shmap.Extent(),
--         nnrf = fmap.Extent(),
--         nnrw = wmap.Extent(),
--         nnre = emap.Extent(),
--         nnrv = vmap.Extent();
--
--      for (exp0.Init(shape, TopAbs_COMPOUND); exp0.More(); exp0.Next()) nnrc++;
--      for (exp0.Init(shape, TopAbs_COMPSOLID); exp0.More(); exp0.Next()) nnrcs++;
--
--      cout << "-----------------------------------" << endl;
--      cout << "Compounds       : " << nnrc << " (" << nrc << ")" << endl;
--      cout << "Composite solids: " << nnrcs << " (" << nrcs << ")" << endl;
--      cout << "Solids          : " << nnrso << " (" << nrso << ")" << endl;
--      cout << "Shells          : " << nnrsh << " (" << nrsh << ")" << endl;
--      cout << "Wires           : " << nnrw << " (" << nrw << ")" << endl;
--      cout << "Faces           : " << nnrf << " (" << nrf << ")" << endl;
--      cout << "Edges           : " << nnre << " (" << nre << ")" << endl;
--      cout << "Vertices        : " << nnrv << " (" << nrv << ")" << endl;
--      cout << endl;
--      cout << "Totol surface area : " << newsurfacecont << " (" << surfacecont << ")" << endl;
--      cout << endl;
--   }
--
--
--
--
--   void OCCGeometry :: BuildFMap()
--   {
--      somap.Clear();
--      shmap.Clear();
--      fmap.Clear();
--      wmap.Clear();
--      emap.Clear();
--      vmap.Clear();
--
--      TopExp_Explorer exp0, exp1, exp2, exp3, exp4, exp5;
--
--      for (exp0.Init(shape, TopAbs_COMPOUND);
--         exp0.More(); exp0.Next())
--      {
--         TopoDS_Compound compound = TopoDS::Compound (exp0.Current());
--         (*testout) << "compound" << endl;
--         int i = 0;
--         for (exp1.Init(compound, TopAbs_SHELL);
--            exp1.More(); exp1.Next())
--         {
--            (*testout) << "shell " << ++i << endl;
--         }
--      }
--
--      for (exp0.Init(shape, TopAbs_SOLID);
--         exp0.More(); exp0.Next())
--      {
--         TopoDS_Solid solid = TopoDS::Solid (exp0.Current());
--
--         if (somap.FindIndex(solid) < 1)
--         {
--            somap.Add (solid);
--
--            for (exp1.Init(solid, TopAbs_SHELL);
--               exp1.More(); exp1.Next())
--            {
--               TopoDS_Shell shell = TopoDS::Shell (exp1.Current());
--               if (shmap.FindIndex(shell) < 1)
--               {
--                  shmap.Add (shell);
--
--                  for (exp2.Init(shell, TopAbs_FACE);
--                     exp2.More(); exp2.Next())
--                  {
--                     TopoDS_Face face = TopoDS::Face(exp2.Current());
--                     if (fmap.FindIndex(face) < 1)
--                     {
--                        fmap.Add (face);
--                        (*testout) << "face " << fmap.FindIndex(face) << " ";
--                        (*testout) << ((face.Orientation() == TopAbs_REVERSED) ? "-" : "+") << ", ";
--                        (*testout) << ((exp2.Current().Orientation() == TopAbs_REVERSED) ? "-" : "+") << endl;
--                        for (exp3.Init(exp2.Current(), TopAbs_WIRE);
--                           exp3.More(); exp3.Next())
--                        {
--                           TopoDS_Wire wire = TopoDS::Wire (exp3.Current());
--                           if (wmap.FindIndex(wire) < 1)
--                           {
--                              wmap.Add (wire);
--
--                              for (exp4.Init(exp3.Current(), TopAbs_EDGE);
--                                 exp4.More(); exp4.Next())
--                              {
--                                 TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
--                                 if (emap.FindIndex(edge) < 1)
--                                 {
--                                    emap.Add (edge);
--                                    for (exp5.Init(exp4.Current(), TopAbs_VERTEX);
--                                       exp5.More(); exp5.Next())
--                                    {
--                                       TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
--                                       if (vmap.FindIndex(vertex) < 1)
--                                          vmap.Add (vertex);
--                                    }
--                                 }
--                              }
--                           }
--                        }
--                     }
--                  }
--               }
--            }
--         }
--      }
--
--      // Free Shells
--      for (exp1.Init(shape, TopAbs_SHELL, TopAbs_SOLID); exp1.More(); exp1.Next())
--      {
--         TopoDS_Shell shell = TopoDS::Shell(exp1.Current());
--         if (shmap.FindIndex(shell) < 1)
--         {
--            shmap.Add (shell);
--
--            (*testout) << "shell " << shmap.FindIndex(shell) << " ";
--            (*testout) << ((shell.Orientation() == TopAbs_REVERSED) ? "-" : "+") << ", ";
--            (*testout) << ((exp1.Current().Orientation() == TopAbs_REVERSED) ? "-" : "+") << endl;
--
--            for (exp2.Init(shell, TopAbs_FACE); exp2.More(); exp2.Next())
--            {
--               TopoDS_Face face = TopoDS::Face(exp2.Current());
--               if (fmap.FindIndex(face) < 1)
--               {
--                  fmap.Add (face);
--
--                  for (exp3.Init(face, TopAbs_WIRE); exp3.More(); exp3.Next())
--                  {
--                     TopoDS_Wire wire = TopoDS::Wire (exp3.Current());
--                     if (wmap.FindIndex(wire) < 1)
--                     {
--                        wmap.Add (wire);
--
--                        for (exp4.Init(wire, TopAbs_EDGE); exp4.More(); exp4.Next())
--                        {
--                           TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
--                           if (emap.FindIndex(edge) < 1)
--                           {
--                              emap.Add (edge);
--                              for (exp5.Init(edge, TopAbs_VERTEX); exp5.More(); exp5.Next())
--                              {
--                                 TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
--                                 if (vmap.FindIndex(vertex) < 1)
--                                    vmap.Add (vertex);
--                              }
--                           }
--                        }
--                     }
--                  }
--               }
--            }
--         }
--      }
--
--
--      // Free Faces
--
--      for (exp2.Init(shape, TopAbs_FACE, TopAbs_SHELL); exp2.More(); exp2.Next())
--      {
--         TopoDS_Face face = TopoDS::Face(exp2.Current());
--         if (fmap.FindIndex(face) < 1)
--         {
--            fmap.Add (face);
--
--            for (exp3.Init(exp2.Current(), TopAbs_WIRE); exp3.More(); exp3.Next())
--            {
--               TopoDS_Wire wire = TopoDS::Wire (exp3.Current());
--               if (wmap.FindIndex(wire) < 1)
--               {
--                  wmap.Add (wire);
--
--                  for (exp4.Init(exp3.Current(), TopAbs_EDGE); exp4.More(); exp4.Next())
--                  {
--                     TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
--                     if (emap.FindIndex(edge) < 1)
--                     {
--                        emap.Add (edge);
--                        for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next())
--                        {
--                           TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
--                           if (vmap.FindIndex(vertex) < 1)
--                              vmap.Add (vertex);
--                        }
--                     }
--                  }
--               }
--            }
--         }
--      }
--
--
--      // Free Wires
--
--      for (exp3.Init(shape, TopAbs_WIRE, TopAbs_FACE); exp3.More(); exp3.Next())
--      {
--         TopoDS_Wire wire = TopoDS::Wire (exp3.Current());
--         if (wmap.FindIndex(wire) < 1)
--         {
--            wmap.Add (wire);
--
--            for (exp4.Init(exp3.Current(), TopAbs_EDGE); exp4.More(); exp4.Next())
--            {
--               TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
--               if (emap.FindIndex(edge) < 1)
--               {
--                  emap.Add (edge);
--                  for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next())
--                  {
--                     TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
--                     if (vmap.FindIndex(vertex) < 1)
--                        vmap.Add (vertex);
--                  }
--               }
--            }
--         }
--      }
--
--
--      // Free Edges
--
--      for (exp4.Init(shape, TopAbs_EDGE, TopAbs_WIRE); exp4.More(); exp4.Next())
--      {
--         TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
--         if (emap.FindIndex(edge) < 1)
--         {
--            emap.Add (edge);
--            for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next())
--            {
--               TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
--               if (vmap.FindIndex(vertex) < 1)
--                  vmap.Add (vertex);
--            }
--         }
--      }
--
--
--      // Free Vertices
--
--      for (exp5.Init(shape, TopAbs_VERTEX, TopAbs_EDGE); exp5.More(); exp5.Next())
--      {
--         TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
--         if (vmap.FindIndex(vertex) < 1)
--            vmap.Add (vertex);
--      }
--
--
--
--
--      facemeshstatus.DeleteAll();
--      facemeshstatus.SetSize (fmap.Extent());
--      facemeshstatus = 0;
--
--      // Philippose - 15/01/2009
--      face_maxh.DeleteAll();
--      face_maxh.SetSize (fmap.Extent());
--      face_maxh = mparam.maxh;
--
--      // Philippose - 15/01/2010      
--      face_maxh_modified.DeleteAll();      
--      face_maxh_modified.SetSize(fmap.Extent());      
--      face_maxh_modified = 0;
--      
--
--      // Philippose - 17/01/2009
--      face_sel_status.DeleteAll();
--      face_sel_status.SetSize (fmap.Extent());
--      face_sel_status = 0;
--
--      fvispar.SetSize (fmap.Extent());
--      evispar.SetSize (emap.Extent());
--      vvispar.SetSize (vmap.Extent());
--
--      fsingular.SetSize (fmap.Extent());
--      esingular.SetSize (emap.Extent());
--      vsingular.SetSize (vmap.Extent());
--
--      fsingular = esingular = vsingular = false;
--   }
--
--
--
--   void OCCGeometry :: SewFaces ()
--   {
--      (*testout) << "Trying to sew faces ..." << endl;
--      cout << "Trying to sew faces ..." << flush;
--
--      BRepOffsetAPI_Sewing sewedObj(1);
-- 
--      for (int i = 1; i <= fmap.Extent(); i++)
--      {
--         TopoDS_Face face = TopoDS::Face (fmap(i));
--         sewedObj.Add (face);
--      }
--
--      sewedObj.Perform();
--
--      if (!sewedObj.SewedShape().IsNull())
--      {
--         shape = sewedObj.SewedShape();
--         cout << " done" << endl;
--      }
--      else
--         cout << " not possible";
--   }
--
--
--
--
--
--   void OCCGeometry :: MakeSolid ()
--   {
--      TopExp_Explorer exp0;
--
--      (*testout) << "Trying to build solids ..." << endl;
--      cout << "Trying to build solids ..." << flush;
--
--      BRepBuilderAPI_MakeSolid ms;
--      int count = 0;
--      for (exp0.Init(shape, TopAbs_SHELL); exp0.More(); exp0.Next())
--      {
--         count++;
--         ms.Add (TopoDS::Shell(exp0.Current()));
--      }
--
--      if (!count)
--      {
--         cout << " not possible (no shells)" << endl;
--         return;
--      }
--
--      BRepCheck_Analyzer ba(ms);
--      if (ba.IsValid ())
--      {
--         Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape;
--         sfs->Init (ms);
--
--         sfs->SetPrecision(1e-5);
--         sfs->SetMaxTolerance(1e-5);
--
--         sfs->Perform();
--
--         shape = sfs->Shape();
--
--         for (exp0.Init(shape, TopAbs_SOLID); exp0.More(); exp0.Next())
--         {
--            TopoDS_Solid solid = TopoDS::Solid(exp0.Current());
--            TopoDS_Solid newsolid = solid;
--            BRepLib::OrientClosedSolid (newsolid);
--            Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
--            rebuild->Replace(solid, newsolid, Standard_False);
--
--            TopoDS_Shape newshape = rebuild->Apply(shape, TopAbs_SHAPE, 1);
--            shape = newshape;
--         }
--
--         cout << " done" << endl;
--      }
--      else
--         cout << " not possible" << endl;
--   }
--
--
--
--
--   void OCCGeometry :: BuildVisualizationMesh (double deflection)
--   {
--      cout << "Preparing visualization (deflection = " << deflection << ") ... " << flush;
--
--      BRepTools::Clean (shape);
--      // BRepMesh_IncrementalMesh::
--      BRepMesh_IncrementalMesh (shape, deflection, true);
--      cout << "done" << endl;
--   }
--
--
--
--
--   void OCCGeometry :: CalcBoundingBox ()
--   {
--      Bnd_Box bb;
--      BRepBndLib::Add (shape, bb);
--
--      double x1,y1,z1,x2,y2,z2;
--      bb.Get (x1,y1,z1,x2,y2,z2);
--      Point<3> p1 = Point<3> (x1,y1,z1);
--      Point<3> p2 = Point<3> (x2,y2,z2);
--
--      (*testout) << "Bounding Box = [" << p1 << " - " << p2 << "]" << endl;
--      boundingbox = Box<3> (p1,p2);
--      SetCenter();
--   }
--
--
--
--
--   void OCCGeometry :: Project (int surfi, Point<3> & p) const
--   {
--      static int cnt = 0;
--      if (++cnt % 1000 == 0) cout << "Project cnt = " << cnt << endl;
--
--      gp_Pnt pnt(p(0), p(1), p(2));
--
--      double u,v;
--      Handle( Geom_Surface ) thesurf = BRep_Tool::Surface(TopoDS::Face(fmap(surfi)));
--      Handle( ShapeAnalysis_Surface ) su = new ShapeAnalysis_Surface( thesurf );
--      gp_Pnt2d suval = su->ValueOfUV ( pnt, BRep_Tool::Tolerance( TopoDS::Face(fmap(surfi)) ) );
--      suval.Coord( u, v);
--      pnt = thesurf->Value( u, v );
--
--
--      p = Point<3> (pnt.X(), pnt.Y(), pnt.Z());
--
--   }
--
--
--
--
--   bool OCCGeometry :: FastProject (int surfi, Point<3> & ap, double& u, double& v) const
--   {
--      gp_Pnt p(ap(0), ap(1), ap(2));
--
--      Handle(Geom_Surface) surface = BRep_Tool::Surface(TopoDS::Face(fmap(surfi)));
--
--      gp_Pnt x = surface->Value (u,v);
--
--      if (p.SquareDistance(x) <= sqr(PROJECTION_TOLERANCE)) return true;
--
--      gp_Vec du, dv;
--
--      surface->D1(u,v,x,du,dv);
--
--      int count = 0;
--
--      gp_Pnt xold;
--      gp_Vec n;
--      double det, lambda, mu;
--
--      do {
--         count++;
--
--         n = du^dv;
--
--         det = Det3 (n.X(), du.X(), dv.X(),
--            n.Y(), du.Y(), dv.Y(),
--            n.Z(), du.Z(), dv.Z());
--
--         if (det < 1e-15) return false;
--
--         lambda = Det3 (n.X(), p.X()-x.X(), dv.X(),
--            n.Y(), p.Y()-x.Y(), dv.Y(),
--            n.Z(), p.Z()-x.Z(), dv.Z())/det;
--
--         mu     = Det3 (n.X(), du.X(), p.X()-x.X(),
--            n.Y(), du.Y(), p.Y()-x.Y(),
--            n.Z(), du.Z(), p.Z()-x.Z())/det;
--
--         u += lambda;
--         v += mu;
--
--         xold = x;
--         surface->D1(u,v,x,du,dv);
--
--      } while (xold.SquareDistance(x) > sqr(PROJECTION_TOLERANCE) && count < 50);
--
--      //    (*testout) << "FastProject count: " << count << endl;
--
--      if (count == 50) return false;
--
--      ap = Point<3> (x.X(), x.Y(), x.Z());
--
--      return true;
--   }
--
--
--
--
--   void OCCGeometry :: WriteOCC_STL(char * filename)
--   {
--      cout << "writing stl..."; cout.flush();
--      StlAPI_Writer writer;
--      writer.RelativeMode() = Standard_False;
--
--      writer.SetDeflection(0.02);
--      writer.Write(shape,filename);
--
--      cout << "done" << endl;
--   }
--
--
--
--   // Philippose - 23/02/2009
--   /* Special IGES File load function including the ability
--   to extract individual surface colours via the extended
--   OpenCascade XDE and XCAF Feature set.
--   */
--   OCCGeometry *LoadOCC_IGES(const char *filename)
--   {
--      OCCGeometry *occgeo;
--      occgeo = new OCCGeometry;
--
--      // Initiate a dummy XCAF Application to handle the IGES XCAF Document
--      static Handle_XCAFApp_Application dummy_app = XCAFApp_Application::GetApplication();
--
--      // Create an XCAF Document to contain the IGES file itself
--      Handle_TDocStd_Document iges_doc;
--
--      // Check if a IGES File is already open under this handle, if so, close it to prevent
--      // Segmentation Faults when trying to create a new document
--      if(dummy_app->NbDocuments() > 0)
--      {
--         dummy_app->GetDocument(1,iges_doc);
--         dummy_app->Close(iges_doc);
--      }
--      dummy_app->NewDocument ("IGES-XCAF",iges_doc);
--
--      IGESCAFControl_Reader reader;
--
--      Standard_Integer stat = reader.ReadFile((char*)filename);
--
--      if(stat != IFSelect_RetDone)
--      {
--         delete occgeo;
--         return NULL;
--      }
--
--      // Enable transfer of colours
--      reader.SetColorMode(Standard_True);
--
--      reader.Transfer(iges_doc);
--
--      // Read in the shape(s) and the colours present in the IGES File
--      Handle_XCAFDoc_ShapeTool iges_shape_contents = XCAFDoc_DocumentTool::ShapeTool(iges_doc->Main());
--      Handle_XCAFDoc_ColorTool iges_colour_contents = XCAFDoc_DocumentTool::ColorTool(iges_doc->Main());
--
--      TDF_LabelSequence iges_shapes;
--      iges_shape_contents->GetShapes(iges_shapes);
--
--      // List out the available colours in the IGES File as Colour Names
--      TDF_LabelSequence all_colours;
--      iges_colour_contents->GetColors(all_colours);
--      PrintMessage(1,"Number of colours in IGES File: ",all_colours.Length());
--      for(int i = 1; i <= all_colours.Length(); i++)
--      {
--         Quantity_Color col;
--         stringstream col_rgb;
--         iges_colour_contents->GetColor(all_colours.Value(i),col);
--         col_rgb << " : (" << col.Red() << "," << col.Green() << "," << col.Blue() << ")";
--         PrintMessage(1, "Colour [", i, "] = ",col.StringName(col.Name()),col_rgb.str());
--      }
--
--
--      // For the IGES Reader, all the shapes can be exported as one compund shape 
--      // using the "OneShape" member
--      occgeo->shape = reader.OneShape();
--      occgeo->face_colours = iges_colour_contents;
--      occgeo->changed = 1;
--      occgeo->BuildFMap();
--
--      occgeo->CalcBoundingBox();
--      PrintContents (occgeo);
--
--      return occgeo;
--   }
--
--
--
--
--
--   // Philippose - 29/01/2009
--   /* Special STEP File load function including the ability
--   to extract individual surface colours via the extended
--   OpenCascade XDE and XCAF Feature set.
--   */
--   OCCGeometry * LoadOCC_STEP (const char * filename)
--   {
--      OCCGeometry * occgeo;
--      occgeo = new OCCGeometry;
--
--      // Initiate a dummy XCAF Application to handle the STEP XCAF Document
--      static Handle_XCAFApp_Application dummy_app = XCAFApp_Application::GetApplication();
--
--      // Create an XCAF Document to contain the STEP file itself
--      Handle_TDocStd_Document step_doc;
--
--      // Check if a STEP File is already open under this handle, if so, close it to prevent
--      // Segmentation Faults when trying to create a new document
--      if(dummy_app->NbDocuments() > 0)
--      {
--         dummy_app->GetDocument(1,step_doc);
--         dummy_app->Close(step_doc);
--      }
--      dummy_app->NewDocument ("STEP-XCAF",step_doc);
--
--      STEPCAFControl_Reader reader;
--
--      // Enable transfer of colours
--      reader.SetColorMode(Standard_True);
--
--      Standard_Integer stat = reader.ReadFile((char*)filename);
--
--      if(stat != IFSelect_RetDone)
--      {
--         delete occgeo;
--         return NULL;
--      }
--
--      reader.Transfer(step_doc);
--
--      // Read in the shape(s) and the colours present in the STEP File
--      Handle_XCAFDoc_ShapeTool step_shape_contents = XCAFDoc_DocumentTool::ShapeTool(step_doc->Main());
--      Handle_XCAFDoc_ColorTool step_colour_contents = XCAFDoc_DocumentTool::ColorTool(step_doc->Main());
--
--      TDF_LabelSequence step_shapes;
--      step_shape_contents->GetShapes(step_shapes);
--
--      // List out the available colours in the STEP File as Colour Names
--      TDF_LabelSequence all_colours;
--      step_colour_contents->GetColors(all_colours);
--      PrintMessage(1,"Number of colours in STEP File: ",all_colours.Length());
--      for(int i = 1; i <= all_colours.Length(); i++)
--      {
--         Quantity_Color col;
--         stringstream col_rgb;
--         step_colour_contents->GetColor(all_colours.Value(i),col);
--         col_rgb << " : (" << col.Red() << "," << col.Green() << "," << col.Blue() << ")";
--         PrintMessage(1, "Colour [", i, "] = ",col.StringName(col.Name()),col_rgb.str());
--      }
--
--
--      // For the STEP File Reader in OCC, the 1st Shape contains the entire 
--      // compound geometry as one shape
--      occgeo->shape = step_shape_contents->GetShape(step_shapes.Value(1));
--      occgeo->face_colours = step_colour_contents;
--      occgeo->changed = 1;
--      occgeo->BuildFMap();
--
--      occgeo->CalcBoundingBox();
--      PrintContents (occgeo);
--
--      return occgeo;
--   }
--
--
--
--
--   OCCGeometry *LoadOCC_BREP (const char *filename)
--   {
--      OCCGeometry * occgeo;
--      occgeo = new OCCGeometry;
--
--      BRep_Builder aBuilder;
--      Standard_Boolean result = BRepTools::Read(occgeo->shape, const_cast<char*> (filename),aBuilder);
--
--      if(!result)
--      {
--         delete occgeo;
--         return NULL;
--      }
--
--      // Philippose - 23/02/2009
--      // Fixed a bug in the OpenCascade XDE Colour handling when 
--      // opening BREP Files, since BREP Files have no colour data.
--      // Hence, the face_colours Handle needs to be created as a NULL handle.
--      occgeo->face_colours = Handle_XCAFDoc_ColorTool();
--      occgeo->face_colours.Nullify();
--      occgeo->changed = 1;
--      occgeo->BuildFMap();
--
--      occgeo->CalcBoundingBox();
--      PrintContents (occgeo);
--
--      return occgeo;
--   }
--
--
--  void OCCGeometry :: Save (string sfilename) const
--  {
--    const char * filename = sfilename.c_str();
--    if (strlen(filename) < 4) 
--      throw NgException ("illegal filename");
--    
--    if (strcmp (&filename[strlen(filename)-3], "igs") == 0)
--      {
--      IGESControl_Writer writer("millimeters", 1);
--      writer.AddShape (shape);
--      writer.Write (filename);
--      }
--    else if (strcmp (&filename[strlen(filename)-3], "stp") == 0)
--      {
--      STEPControl_Writer writer;
--      writer.Transfer (shape, STEPControl_AsIs);
--      writer.Write (filename);
--      }
--    else if (strcmp (&filename[strlen(filename)-3], "stl") == 0)
--      {
--      StlAPI_Writer writer;
--      writer.ASCIIMode() = Standard_True;
--      writer.Write (shape, filename);
--      }
--    else if (strcmp (&filename[strlen(filename)-4], "stlb") == 0)
--      {
--      StlAPI_Writer writer;
--      writer.ASCIIMode() = Standard_False;
--      writer.Write (shape, filename);
--      }
--  }
--
--
--
--  const char * shapesname[] =
--   {" ", "CompSolids", "Solids", "Shells",
--
--   "Faces", "Wires", "Edges", "Vertices"};
--
--  const char * shapename[] =
--   {" ", "CompSolid", "Solid", "Shell",
--   "Face", "Wire", "Edge", "Vertex"};
--
--  const char * orientationstring[] =
--     {"+", "-"};
--
--
--
--
--   void OCCGeometry :: RecursiveTopologyTree (const TopoDS_Shape & sh,
--      stringstream & str,
--      TopAbs_ShapeEnum l,
--      bool isfree,
--      const char * lname)
--   {
--      if (l > TopAbs_VERTEX) return;
--
--      TopExp_Explorer e;
--      int count = 0;
--      int count2 = 0;
--
--      if (isfree)
--         e.Init(sh, l, TopAbs_ShapeEnum(l-1));
--      else
--         e.Init(sh, l);
--
--      for (; e.More(); e.Next())
--      {
--         count++;
--
--         stringstream lname2;
--         lname2 << lname << "/" << shapename[l] << count;
--         str << lname2.str() << " ";
--
--         switch (e.Current().ShapeType())
--         {
--         case TopAbs_SOLID:
--           count2 = somap.FindIndex(TopoDS::Solid(e.Current())); break;
--         case TopAbs_SHELL:
--           count2 = shmap.FindIndex(TopoDS::Shell(e.Current())); break;
--         case TopAbs_FACE:
--           count2 = fmap.FindIndex(TopoDS::Face(e.Current())); break;
--         case TopAbs_WIRE:
--           count2 = wmap.FindIndex(TopoDS::Wire(e.Current())); break;
--         case TopAbs_EDGE:
--           count2 = emap.FindIndex(TopoDS::Edge(e.Current())); break;
--         case TopAbs_VERTEX:
--           count2 = vmap.FindIndex(TopoDS::Vertex(e.Current())); break;
--         default:
--           cout << "RecursiveTopologyTree: Case " << e.Current().ShapeType() << " not handeled" << endl;
--         }
--
--         int nrsubshapes = 0;
--
--         if (l <= TopAbs_WIRE)
--         {
--            TopExp_Explorer e2;
--            for (e2.Init (e.Current(), TopAbs_ShapeEnum (l+1));
--               e2.More(); e2.Next())
--               nrsubshapes++;
--         }
--
--         str << "{" << shapename[l] << " " << count2;
--
--         if (l <= TopAbs_EDGE)
--         {
--            str << " (" << orientationstring[e.Current().Orientation()];
--            if (nrsubshapes != 0) str << ", " << nrsubshapes;
--            str << ") } ";
--         }
--         else
--            str << " } ";
--
--         RecursiveTopologyTree (e.Current(), str, TopAbs_ShapeEnum (l+1),
--            false, (char*)lname2.str().c_str());
--
--      }
--   }
--
--
--
--
--   void OCCGeometry :: GetTopologyTree (stringstream & str)
--   {
--      cout << "Building topology tree ... " << flush;
--      RecursiveTopologyTree (shape, str, TopAbs_COMPSOLID, false, "CompSolids");
--      RecursiveTopologyTree (shape, str, TopAbs_SOLID, true, "FreeSolids");
--      RecursiveTopologyTree (shape, str, TopAbs_SHELL, true, "FreeShells");
--      RecursiveTopologyTree (shape, str, TopAbs_FACE, true, "FreeFaces");
--      RecursiveTopologyTree (shape, str, TopAbs_WIRE, true, "FreeWires");
--      RecursiveTopologyTree (shape, str, TopAbs_EDGE, true, "FreeEdges");
--      RecursiveTopologyTree (shape, str, TopAbs_VERTEX, true, "FreeVertices");
--      str << flush;
--      //  cout << "done" << endl;
--   }
--
--
--
--
--   void OCCGeometry :: CheckIrregularEntities(stringstream & str)
--   {
--      ShapeAnalysis_CheckSmallFace csm;
--
--      csm.SetTolerance (1e-6);
--
--      TopTools_DataMapOfShapeListOfShape mapEdges;
--      ShapeAnalysis_DataMapOfShapeListOfReal mapParam;
--      TopoDS_Compound theAllVert;
--
--      int spotfaces = 0;
--      int stripsupportfaces = 0;
--      int singlestripfaces = 0;
--      int stripfaces = 0;
--      int facessplitbyvertices = 0;
--      int stretchedpinfaces = 0;
--      int smoothpinfaces = 0;
--      int twistedfaces = 0;
--      // int edgessamebutnotidentified = 0;
--
--      cout << "checking faces ... " << flush;
--
--      int i;
--      for (i = 1; i <= fmap.Extent(); i++)
--      {
--         TopoDS_Face face = TopoDS::Face (fmap(i));
--         TopoDS_Edge e1, e2;
--
--         if (csm.CheckSpotFace (face))
--         {
--            if (!spotfaces++)
--               str << "SpotFace {Spot face} ";
--
--            (*testout) << "Face " << i << " is a spot face" << endl;
--            str << "SpotFace/Face" << i << " ";
--            str << "{Face " << i << " } ";
--         }
--
--         if (csm.IsStripSupport (face))
--         {
--            if (!stripsupportfaces++)
--               str << "StripSupportFace {Strip support face} ";
--
--            (*testout) << "Face " << i << " has strip support" << endl;
--            str << "StripSupportFace/Face" << i << " ";
--            str << "{Face " << i << " } ";
--         }
--
--         if (csm.CheckSingleStrip(face, e1, e2))
--         {
--            if (!singlestripfaces++)
--               str << "SingleStripFace {Single strip face} ";
--
--            (*testout) << "Face " << i << " is a single strip (edge " << emap.FindIndex(e1)
--               << " and edge " << emap.FindIndex(e2) << " are identical)" << endl;
--            str << "SingleStripFace/Face" << i << " ";
--            str << "{Face " << i << " (edge " << emap.FindIndex(e1)
--               << " and edge " << emap.FindIndex(e2) << " are identical)} ";
--         }
--
--         if (csm.CheckStripFace(face, e1, e2))
--         {
--            if (!stripfaces++)
--               str << "StripFace {Strip face} ";
--
--            (*testout) << "Face " << i << " is a strip (edge " << emap.FindIndex(e1)
--               << " and edge " << emap.FindIndex(e2)
--               << " are identical)" << endl;
--            str << "StripFace/Face" << i << " ";
--            str << "{Face " << i << " (edge " << emap.FindIndex(e1)
--               << " and edge " << emap.FindIndex(e2) << " are identical)} ";
--         }
--
--         if (int count = csm.CheckSplittingVertices(face, mapEdges, mapParam, theAllVert))
--         {
--            if (!facessplitbyvertices++)
--               str << "FaceSplitByVertices {Face split by vertices} ";
--
--            (*testout) << "Face " << i << " is split by " << count
--               << " vertex/vertices " << endl;
--            str << "FaceSplitByVertices/Face" << i << " ";
--            str << "{Face " << i << " (split by " << count << "vertex/vertices)} ";
--         }
--
--         int whatrow, sens;
--         if (int type = csm.CheckPin (face, whatrow, sens))
--         {
--            if (type == 1)
--            {
--               if (!smoothpinfaces++)
--                  str << "SmoothPinFace {Smooth pin face} ";
--
--               (*testout) << "Face " << i << " is a smooth pin" << endl;
--               str << "SmoothPinFace/Face" << i << " ";
--               str << "{Face " << i << " } ";
--            }
--            else
--            {
--               if (!stretchedpinfaces++)
--                  str << "StretchedPinFace {Stretched pin face} ";
--
--               (*testout) << "Face " << i << " is a streched pin" << endl;
--               str << "StretchedPinFace/Face" << i << " ";
--               str << "{Face " << i << " } ";
--            }
--         }
--
--         double paramu, paramv;
--         if (csm.CheckTwisted (face, paramu, paramv))
--         {
--            if (!twistedfaces++)
--               str << "TwistedFace {Twisted face} ";
--
--            (*testout) << "Face " << i << " is twisted" << endl;
--            str << "TwistedFace/Face" << i << " ";
--            str << "{Face " << i << " } ";
--         }
--      }
--
--      cout << "done" << endl;
--      cout << "checking edges ... " << flush;
--
--      // double dmax;
--      // int cnt = 0;
--      Array <double> edgeLengths;
--      Array <int> order;
--      edgeLengths.SetSize (emap.Extent());
--      order.SetSize (emap.Extent());
--
--      for (i = 1; i <= emap.Extent(); i++)
--      {
--         TopoDS_Edge edge1 = TopoDS::Edge (emap(i));
--         GProp_GProps system;
--         BRepGProp::LinearProperties(edge1, system);
--         edgeLengths[i-1] = system.Mass();
--      }
--
--      Sort (edgeLengths, order);
--
--      str << "ShortestEdges {Shortest edges} ";
--      for (i = 1; i <= min(20, emap.Extent()); i++)
--      {
--         str << "ShortestEdges/Edge" << i;
--         str << " {Edge " << order[i-1] << " (L=" << edgeLengths[order[i-1]-1] << ")} ";
--      }
--
--      str << flush;
--
--      cout << "done" << endl;
--   }
--
--
--
--
--   void OCCGeometry :: GetUnmeshedFaceInfo (stringstream & str)
--   {
--      for (int i = 1; i <= fmap.Extent(); i++)
--      {
--         if (facemeshstatus[i-1] == -1)
--            str << "Face" << i << " {Face " << i << " } ";
--      }
--      str << flush;
--   }
--
--
--
--
--   void OCCGeometry :: GetNotDrawableFaces (stringstream & str)
--   {
--      for (int i = 1; i <= fmap.Extent(); i++)
--      {
--         if (!fvispar[i-1].IsDrawable())
--            str << "Face" << i << " {Face " << i << " } ";
--      }
--      str << flush;
--   }
--
--
--
--
--   bool OCCGeometry :: ErrorInSurfaceMeshing ()
--   {
--      for (int i = 1; i <= fmap.Extent(); i++)
--         if (facemeshstatus[i-1] == -1)
--            return true;
--
--      return false;
--   }
--
--
--
--
--  int OCCGeometry :: GenerateMesh (Mesh*& mesh, MeshingParameters & mparam,
--      int perfstepsstart, int perfstepsend)
--   {
--     return OCCGenerateMesh (*this, mesh, mparam, perfstepsstart, perfstepsend);
--   }
--
--
--
--
--   const Refinement & OCCGeometry :: GetRefinement () const
--   {
--      return * new OCCRefinementSurfaces (*this);
--   }
--
--
--
--
--   OCCParameters :: OCCParameters()
--   {
--      resthcloseedgefac = 1;
--      resthcloseedgeenable = 1;
--        resthminedgelen = 0.001;
--        resthminedgelenenable = 1;
--   }
--
--
--
--
--   void OCCParameters :: Print(ostream & ost) const
--   {
--      ost << "OCC Parameters:" << endl
--         << "close edges: " << resthcloseedgeenable
--         << ", fac = " << resthcloseedgefac << endl
--               << "minimum edge length: " << resthminedgelenenable
--               << ", min len = " << resthminedgelen << endl;
--   }
--
--
--
--
--   OCCParameters occparam;
--
--}
--
--
--#endif
-+
-+#ifdef OCCGEOMETRY
-+
-+#include <mystdlib.h>
-+#include <occgeom.hpp>
-+#include "ShapeAnalysis_ShapeTolerance.hxx"
-+#include "ShapeAnalysis_ShapeContents.hxx"
-+#include "ShapeAnalysis_CheckSmallFace.hxx"
-+#include "ShapeAnalysis_DataMapOfShapeListOfReal.hxx"
-+#include "ShapeAnalysis_Surface.hxx"
-+#include <BRepTopAdaptor_FClass2d.hxx> // -- to optimize Project() and FastProject()
-+#include <TopAbs_State.hxx>
-+#include "BRepAlgoAPI_Fuse.hxx"
-+#include "BRepCheck_Analyzer.hxx"
-+#include "BRepLib.hxx"
-+#include "ShapeBuild_ReShape.hxx"
-+#include "ShapeFix.hxx"
-+#include "ShapeFix_FixSmallFace.hxx"
-+#include "Partition_Spliter.hxx"
-+
-+namespace netgen
-+{
-+  // free data used to optimize Project() and FastProject()
-+  OCCGeometry::~OCCGeometry()
-+  {
-+    NCollection_DataMap<int,BRepTopAdaptor_FClass2d*>::Iterator it(fclsmap);
-+    for (; it.More(); it.Next())
-+      delete it.Value();
-+  }
-+
-+   void OCCGeometry :: PrintNrShapes ()
-+   {
-+      TopExp_Explorer e;
-+      int count = 0;
-+      for (e.Init(shape, TopAbs_COMPSOLID); e.More(); e.Next()) count++;
-+      cout << "CompSolids: " << count << endl;
-+
-+      cout << "Solids    : " << somap.Extent() << endl;
-+      cout << "Shells    : " << shmap.Extent() << endl;
-+      cout << "Faces     : " << fmap.Extent() << endl;
-+      cout << "Edges     : " << emap.Extent() << endl;
-+      cout << "Vertices  : " << vmap.Extent() << endl;
-+   }
-+
-+
-+
-+
-+   void PrintContents (OCCGeometry * geom)
-+   {
-+      ShapeAnalysis_ShapeContents cont;
-+      cont.Clear();
-+      cont.Perform(geom->shape);
-+
-+      (*testout) << "OCC CONTENTS" << endl;
-+      (*testout) << "============" << endl;
-+      (*testout) << "SOLIDS   : " << cont.NbSolids() << endl;
-+      (*testout) << "SHELLS   : " << cont.NbShells() << endl;
-+      (*testout) << "FACES    : " << cont.NbFaces() << endl;
-+      (*testout) << "WIRES    : " << cont.NbWires() << endl;
-+      (*testout) << "EDGES    : " << cont.NbEdges() << endl;
-+      (*testout) << "VERTICES : " << cont.NbVertices() << endl;
-+
-+      TopExp_Explorer e;
-+      int count = 0;
-+      for (e.Init(geom->shape, TopAbs_COMPOUND); e.More(); e.Next())
-+         count++;
-+      (*testout) << "Compounds: " << count << endl;
-+
-+      count = 0;
-+      for (e.Init(geom->shape, TopAbs_COMPSOLID); e.More(); e.Next())
-+         count++;
-+      (*testout) << "CompSolids: " << count << endl;
-+
-+      (*testout) << endl;
-+
-+      cout << "Highest entry in topology hierarchy: " << endl;
-+      if (count)
-+         cout << count << " composite solid(s)" << endl;
-+      else
-+         if (geom->somap.Extent())
-+            cout << geom->somap.Extent() << " solid(s)" << endl;
-+         else
-+            if (geom->shmap.Extent())
-+               cout << geom->shmap.Extent() << " shells(s)" << endl;
-+            else
-+               if (geom->fmap.Extent())
-+                  cout << geom->fmap.Extent() << " face(s)" << endl;
-+               else
-+                  if (geom->wmap.Extent())
-+                     cout << geom->wmap.Extent() << " wire(s)" << endl;
-+                  else
-+                     if (geom->emap.Extent())
-+                        cout << geom->emap.Extent() << " edge(s)" << endl;
-+                     else
-+                        if (geom->vmap.Extent())
-+                           cout << geom->vmap.Extent() << " vertices(s)" << endl;
-+                        else
-+                           cout << "no entities" << endl;
-+
-+   }
-+
-+
-+
-+   void OCCGeometry :: HealGeometry ()
-+   {
-+      int nrc = 0, nrcs = 0,
-+         nrso = somap.Extent(),
-+         nrsh = shmap.Extent(),
-+         nrf = fmap.Extent(),
-+         nrw = wmap.Extent(),
-+         nre = emap.Extent(),
-+         nrv = vmap.Extent();
-+
-+      TopExp_Explorer exp0;
-+      TopExp_Explorer exp1;
-+
-+
-+      for (exp0.Init(shape, TopAbs_COMPOUND); exp0.More(); exp0.Next()) nrc++;
-+      for (exp0.Init(shape, TopAbs_COMPSOLID); exp0.More(); exp0.Next()) nrcs++;
-+
-+      double surfacecont = 0;
-+
-+      {
-+         Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
-+         rebuild->Apply(shape);
-+         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
-+         {
-+            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
-+            if ( BRep_Tool::Degenerated(edge) )
-+               rebuild->Remove(edge);
-+         }
-+         shape = rebuild->Apply(shape);
-+      }
-+
-+      BuildFMap();
-+
-+
-+      for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
-+      {
-+         TopoDS_Face face = TopoDS::Face(exp0.Current());
-+
-+         GProp_GProps system;
-+         BRepGProp::SurfaceProperties(face, system);
-+         surfacecont += system.Mass();
-+      }
-+
-+
-+      cout << "Starting geometry healing procedure (tolerance: " << tolerance << ")" << endl
-+         << "-----------------------------------" << endl;
-+
-+      {
-+         cout << endl << "- repairing faces" << endl;
-+
-+         Handle(ShapeFix_Face) sff;
-+         Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
-+         rebuild->Apply(shape);
-+
-+
-+         for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
-+         {
-+            // Variable to hold the colour (if there exists one) of
-+            // the current face being processed
-+            Quantity_Color face_colour;
-+
-+            TopoDS_Face face = TopoDS::Face (exp0.Current());
-+
-+            if(face_colours.IsNull()
-+               || (!(face_colours->GetColor(face,XCAFDoc_ColorSurf,face_colour))))
-+            {
-+               // Set the default face colour to green (Netgen Standard)
-+               // if no colour has been defined for the face
-+               face_colour = Quantity_Color(0.0,1.0,0.0,Quantity_TOC_RGB);
-+            }
-+
-+            sff = new ShapeFix_Face (face);
-+            sff->FixAddNaturalBoundMode() = Standard_True;
-+            sff->FixSmallAreaWireMode() = Standard_True;
-+            sff->Perform();
-+
-+            if(sff->Status(ShapeExtend_DONE1) ||
-+               sff->Status(ShapeExtend_DONE2) ||
-+               sff->Status(ShapeExtend_DONE3) ||
-+               sff->Status(ShapeExtend_DONE4) ||
-+               sff->Status(ShapeExtend_DONE5))
-+            {
-+               cout << "repaired face " << fmap.FindIndex(face) << " ";
-+               if(sff->Status(ShapeExtend_DONE1))
-+                  cout << "(some wires are fixed)" <<endl;
-+               else if(sff->Status(ShapeExtend_DONE2))
-+                  cout << "(orientation of wires fixed)" <<endl;
-+               else if(sff->Status(ShapeExtend_DONE3))
-+                  cout << "(missing seam added)" <<endl;
-+               else if(sff->Status(ShapeExtend_DONE4))
-+                  cout << "(small area wire removed)" <<endl;
-+               else if(sff->Status(ShapeExtend_DONE5))
-+                  cout << "(natural bounds added)" <<endl;
-+               TopoDS_Face newface = sff->Face();
-+
-+               rebuild->Replace(face, newface);
-+            }
-+
-+            // Set the original colour of the face to the newly created
-+            // face (after the healing process)
-+            face = TopoDS::Face (exp0.Current());
-+            face_colours->SetColor(face,face_colour,XCAFDoc_ColorSurf);
-+         }
-+         shape = rebuild->Apply(shape);
-+      }
-+
-+
-+      {
-+         Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
-+         rebuild->Apply(shape);
-+         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
-+         {
-+            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
-+            if ( BRep_Tool::Degenerated(edge) )
-+               rebuild->Remove(edge);
-+         }
-+         shape = rebuild->Apply(shape);
-+      }
-+
-+
-+      if (fixsmalledges)
-+      {
-+         cout << endl << "- fixing small edges" << endl;
-+
-+         Handle(ShapeFix_Wire) sfw;
-+         Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
-+         rebuild->Apply(shape);
-+
-+
-+         for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
-+         {
-+            TopoDS_Face face = TopoDS::Face(exp0.Current());
-+
-+            for (exp1.Init (face, TopAbs_WIRE); exp1.More(); exp1.Next())
-+            {
-+               TopoDS_Wire oldwire = TopoDS::Wire(exp1.Current());
-+               sfw = new ShapeFix_Wire (oldwire, face ,tolerance);
-+               sfw->ModifyTopologyMode() = Standard_True;
-+
-+               sfw->ClosedWireMode() = Standard_True;
-+
-+               bool replace = false;
-+
-+               replace = sfw->FixReorder() || replace;
-+
-+               replace = sfw->FixConnected() || replace;
-+
-+
-+
-+               if (sfw->FixSmall (Standard_False, tolerance) && ! (sfw->StatusSmall(ShapeExtend_FAIL1) ||
-+                  sfw->StatusSmall(ShapeExtend_FAIL2) ||
-+                  sfw->StatusSmall(ShapeExtend_FAIL3)))
-+               {
-+                  cout << "Fixed small edge in wire " << wmap.FindIndex (oldwire) << endl;
-+                  replace = true;
-+
-+               }
-+               else if (sfw->StatusSmall(ShapeExtend_FAIL1))
-+                  cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire)
-+                  << ", edge cannot be checked (no 3d curve and no pcurve)" << endl;
-+               else if (sfw->StatusSmall(ShapeExtend_FAIL2))
-+                  cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire)
-+                  << ", edge is null-length and has different vertives at begin and end, and lockvtx is True or ModifiyTopologyMode is False" << endl;
-+               else if (sfw->StatusSmall(ShapeExtend_FAIL3))
-+                  cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire)
-+                  << ", CheckConnected has failed" << endl;
-+
-+               replace = sfw->FixEdgeCurves() || replace;
-+
-+               replace = sfw->FixDegenerated() || replace;
-+
-+               replace = sfw->FixSelfIntersection() || replace;
-+
-+               replace = sfw->FixLacking(Standard_True) || replace;
-+
-+               if(replace)
-+               {
-+                  TopoDS_Wire newwire = sfw->Wire();
-+                  rebuild->Replace(oldwire, newwire);
-+               }
-+
-+               //delete sfw; sfw = NULL;
-+
-+            }
-+         }
-+
-+         shape = rebuild->Apply(shape);
-+
-+
-+
-+         {
-+            BuildFMap();
-+            Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
-+            rebuild->Apply(shape);
-+
-+            for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
-+            {
-+               TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
-+               if (vmap.FindIndex(TopExp::FirstVertex (edge)) ==
-+                  vmap.FindIndex(TopExp::LastVertex (edge)))
-+               {
-+                  GProp_GProps system;
-+                  BRepGProp::LinearProperties(edge, system);
-+                  if (system.Mass() < tolerance)
-+                  {
-+                     cout << "removing degenerated edge " << emap.FindIndex(edge)
-+                        << " from vertex " << vmap.FindIndex(TopExp::FirstVertex (edge))
-+                        << " to vertex " << vmap.FindIndex(TopExp::LastVertex (edge)) << endl;
-+                     rebuild->Remove(edge);
-+                  }
-+               }
-+            }
-+            shape = rebuild->Apply(shape);
-+
-+            //delete rebuild; rebuild = NULL;
-+         }
-+
-+
-+
-+         {
-+            Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
-+            rebuild->Apply(shape);
-+            for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
-+            {
-+               TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
-+               if ( BRep_Tool::Degenerated(edge) )
-+                  rebuild->Remove(edge);
-+            }
-+            shape = rebuild->Apply(shape);
-+         }
-+
-+
-+
-+
-+         Handle(ShapeFix_Wireframe) sfwf = new ShapeFix_Wireframe;
-+         sfwf->SetPrecision(tolerance);
-+         sfwf->Load (shape);
-+         sfwf->ModeDropSmallEdges() = Standard_True;
-+
-+         sfwf->SetPrecision(boundingbox.Diam());
-+
-+         if (sfwf->FixWireGaps())
-+         {
-+            cout << endl << "- fixing wire gaps" << endl;
-+            if (sfwf->StatusWireGaps(ShapeExtend_OK)) cout << "no gaps found" << endl;
-+            if (sfwf->StatusWireGaps(ShapeExtend_DONE1)) cout << "some 2D gaps fixed" << endl;
-+            if (sfwf->StatusWireGaps(ShapeExtend_DONE2)) cout << "some 3D gaps fixed" << endl;
-+            if (sfwf->StatusWireGaps(ShapeExtend_FAIL1)) cout << "failed to fix some 2D gaps" << endl;
-+            if (sfwf->StatusWireGaps(ShapeExtend_FAIL2)) cout << "failed to fix some 3D gaps" << endl;
-+         }
-+
-+         sfwf->SetPrecision(tolerance);
-+
-+
-+         {
-+            for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
-+            {
-+               TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
-+               if ( BRep_Tool::Degenerated(edge) )
-+                  cout << "degenerated edge at position 4" << endl;
-+            }
-+         }
-+
-+
-+
-+         if (sfwf->FixSmallEdges())
-+         {
-+            cout << endl << "- fixing wire frames" << endl;
-+            if (sfwf->StatusSmallEdges(ShapeExtend_OK)) cout << "no small edges found" << endl;
-+            if (sfwf->StatusSmallEdges(ShapeExtend_DONE1)) cout << "some small edges fixed" << endl;
-+            if (sfwf->StatusSmallEdges(ShapeExtend_FAIL1)) cout << "failed to fix some small edges" << endl;
-+         }
-+
-+
-+
-+         shape = sfwf->Shape();
-+
-+         //delete sfwf; sfwf = NULL;
-+         //delete rebuild; rebuild = NULL;
-+
-+      }
-+
-+
-+
-+
-+
-+      {
-+         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
-+         {
-+            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
-+            if ( BRep_Tool::Degenerated(edge) )
-+               cout << "degenerated edge at position 5" << endl;
-+         }
-+      }
-+
-+
-+
-+
-+      if (fixspotstripfaces)
-+      {
-+
-+         cout << endl << "- fixing spot and strip faces" << endl;
-+         Handle(ShapeFix_FixSmallFace) sffsm = new ShapeFix_FixSmallFace();
-+         sffsm -> Init (shape);
-+         sffsm -> SetPrecision (tolerance);
-+         sffsm -> Perform();
-+
-+         shape = sffsm -> FixShape();
-+         //delete sffsm; sffsm = NULL;
-+      }
-+
-+
-+      {
-+         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
-+         {
-+            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
-+            if ( BRep_Tool::Degenerated(edge) )
-+               cout << "degenerated edge at position 6" << endl;
-+         }
-+      }
-+
-+
-+
-+      if (sewfaces)
-+      {
-+         cout << endl << "- sewing faces" << endl;
-+
-+         BRepOffsetAPI_Sewing sewedObj(tolerance);
-+
-+         for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
-+         {
-+            TopoDS_Face face = TopoDS::Face (exp0.Current());
-+            sewedObj.Add (face);
-+         }
-+
-+         sewedObj.Perform();
-+
-+         if (!sewedObj.SewedShape().IsNull())
-+            shape = sewedObj.SewedShape();
-+         else
-+            cout << " not possible";
-+      }
-+
-+
-+
-+      {
-+         Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
-+         rebuild->Apply(shape);
-+         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
-+         {
-+            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
-+            if ( BRep_Tool::Degenerated(edge) )
-+               rebuild->Remove(edge);
-+         }
-+         shape = rebuild->Apply(shape);
-+      }
-+
-+
-+      if (makesolids)
-+      {
-+         cout << endl << "- making solids" << endl;
-+
-+         BRepBuilderAPI_MakeSolid ms;
-+         int count = 0;
-+         for (exp0.Init(shape, TopAbs_SHELL); exp0.More(); exp0.Next())
-+         {
-+            count++;
-+            ms.Add (TopoDS::Shell(exp0.Current()));
-+         }
-+
-+         if (!count)
-+         {
-+            cout << " not possible (no shells)" << endl;
-+         }
-+         else
-+         {
-+            BRepCheck_Analyzer ba(ms);
-+            if (ba.IsValid ())
-+            {
-+               Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape;
-+               sfs->Init (ms);
-+               sfs->SetPrecision(tolerance);
-+               sfs->SetMaxTolerance(tolerance);
-+               sfs->Perform();
-+               shape = sfs->Shape();
-+
-+               for (exp0.Init(shape, TopAbs_SOLID); exp0.More(); exp0.Next())
-+               {
-+                  TopoDS_Solid solid = TopoDS::Solid(exp0.Current());
-+                  TopoDS_Solid newsolid = solid;
-+                  BRepLib::OrientClosedSolid (newsolid);
-+                  Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
-+                  //            rebuild->Apply(shape);
-+                  rebuild->Replace(solid, newsolid);
-+                  TopoDS_Shape newshape = rebuild->Apply(shape, TopAbs_COMPSOLID);//, 1);
-+                  //            TopoDS_Shape newshape = rebuild->Apply(shape);
-+                  shape = newshape;
-+               }
-+
-+               //delete sfs; sfs = NULL;
-+            }
-+            else
-+               cout << " not possible" << endl;
-+         }
-+      }
-+
-+
-+
-+      if (splitpartitions)
-+      {
-+         cout << "- running SALOME partition splitter" << endl;
-+
-+         TopExp_Explorer e2;
-+         Partition_Spliter ps;
-+         int count = 0;
-+
-+         for (e2.Init (shape, TopAbs_SOLID);
-+            e2.More(); e2.Next())
-+         {
-+            count++;
-+            ps.AddShape (e2.Current());
-+         }
-+
-+         ps.Compute();
-+         shape = ps.Shape();
-+
-+         cout << " before: " << count << " solids" << endl;
-+
-+         count = 0;
-+         for (e2.Init (shape, TopAbs_SOLID);
-+            e2.More(); e2.Next()) count++;
-+
-+            cout << " after : " << count << " solids" << endl;
-+      }
-+
-+      BuildFMap();
-+
-+
-+
-+      {
-+         for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next())
-+         {
-+            TopoDS_Edge edge = TopoDS::Edge(exp1.Current());
-+            if ( BRep_Tool::Degenerated(edge) )
-+               cout << "degenerated edge at position 8" << endl;
-+         }
-+      }
-+
-+
-+      double newsurfacecont = 0;
-+
-+
-+      for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next())
-+      {
-+         TopoDS_Face face = TopoDS::Face(exp0.Current());
-+         GProp_GProps system;
-+         BRepGProp::SurfaceProperties(face, system);
-+         newsurfacecont += system.Mass();
-+      }
-+
-+
-+      int nnrc = 0, nnrcs = 0,
-+         nnrso = somap.Extent(),
-+         nnrsh = shmap.Extent(),
-+         nnrf = fmap.Extent(),
-+         nnrw = wmap.Extent(),
-+         nnre = emap.Extent(),
-+         nnrv = vmap.Extent();
-+
-+      for (exp0.Init(shape, TopAbs_COMPOUND); exp0.More(); exp0.Next()) nnrc++;
-+      for (exp0.Init(shape, TopAbs_COMPSOLID); exp0.More(); exp0.Next()) nnrcs++;
-+
-+      cout << "-----------------------------------" << endl;
-+      cout << "Compounds       : " << nnrc << " (" << nrc << ")" << endl;
-+      cout << "Composite solids: " << nnrcs << " (" << nrcs << ")" << endl;
-+      cout << "Solids          : " << nnrso << " (" << nrso << ")" << endl;
-+      cout << "Shells          : " << nnrsh << " (" << nrsh << ")" << endl;
-+      cout << "Wires           : " << nnrw << " (" << nrw << ")" << endl;
-+      cout << "Faces           : " << nnrf << " (" << nrf << ")" << endl;
-+      cout << "Edges           : " << nnre << " (" << nre << ")" << endl;
-+      cout << "Vertices        : " << nnrv << " (" << nrv << ")" << endl;
-+      cout << endl;
-+      cout << "Totol surface area : " << newsurfacecont << " (" << surfacecont << ")" << endl;
-+      cout << endl;
-+   }
-+
-+
-+
-+
-+   void OCCGeometry :: BuildFMap()
-+   {
-+      somap.Clear();
-+      shmap.Clear();
-+      fmap.Clear();
-+      wmap.Clear();
-+      emap.Clear();
-+      vmap.Clear();
-+
-+      TopExp_Explorer exp0, exp1, exp2, exp3, exp4, exp5;
-+
-+      for (exp0.Init(shape, TopAbs_COMPOUND);
-+         exp0.More(); exp0.Next())
-+      {
-+         TopoDS_Compound compound = TopoDS::Compound (exp0.Current());
-+         (*testout) << "compound" << endl;
-+         int i = 0;
-+         for (exp1.Init(compound, TopAbs_SHELL);
-+            exp1.More(); exp1.Next())
-+         {
-+            (*testout) << "shell " << ++i << endl;
-+         }
-+      }
-+
-+      for (exp0.Init(shape, TopAbs_SOLID);
-+         exp0.More(); exp0.Next())
-+      {
-+         TopoDS_Solid solid = TopoDS::Solid (exp0.Current());
-+
-+         if (somap.FindIndex(solid) < 1)
-+         {
-+            somap.Add (solid);
-+
-+            for (exp1.Init(solid, TopAbs_SHELL);
-+               exp1.More(); exp1.Next())
-+            {
-+               TopoDS_Shell shell = TopoDS::Shell (exp1.Current());
-+               if (shmap.FindIndex(shell) < 1)
-+               {
-+                  shmap.Add (shell);
-+
-+                  for (exp2.Init(shell, TopAbs_FACE);
-+                     exp2.More(); exp2.Next())
-+                  {
-+                     TopoDS_Face face = TopoDS::Face(exp2.Current());
-+                     if (fmap.FindIndex(face) < 1)
-+                     {
-+                        fmap.Add (face);
-+                        (*testout) << "face " << fmap.FindIndex(face) << " ";
-+                        (*testout) << ((face.Orientation() == TopAbs_REVERSED) ? "-" : "+") << ", ";
-+                        (*testout) << ((exp2.Current().Orientation() == TopAbs_REVERSED) ? "-" : "+") << endl;
-+                        for (exp3.Init(exp2.Current(), TopAbs_WIRE);
-+                           exp3.More(); exp3.Next())
-+                        {
-+                           TopoDS_Wire wire = TopoDS::Wire (exp3.Current());
-+                           if (wmap.FindIndex(wire) < 1)
-+                           {
-+                              wmap.Add (wire);
-+
-+                              for (exp4.Init(exp3.Current(), TopAbs_EDGE);
-+                                 exp4.More(); exp4.Next())
-+                              {
-+                                 TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
-+                                 if (emap.FindIndex(edge) < 1)
-+                                 {
-+                                    emap.Add (edge);
-+                                    for (exp5.Init(exp4.Current(), TopAbs_VERTEX);
-+                                       exp5.More(); exp5.Next())
-+                                    {
-+                                       TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
-+                                       if (vmap.FindIndex(vertex) < 1)
-+                                          vmap.Add (vertex);
-+                                    }
-+                                 }
-+                              }
-+                           }
-+                        }
-+                     }
-+                  }
-+               }
-+            }
-+         }
-+      }
-+
-+      // Free Shells
-+      for (exp1.Init(shape, TopAbs_SHELL, TopAbs_SOLID); exp1.More(); exp1.Next())
-+      {
-+         TopoDS_Shell shell = TopoDS::Shell(exp1.Current());
-+         if (shmap.FindIndex(shell) < 1)
-+         {
-+            shmap.Add (shell);
-+
-+            (*testout) << "shell " << shmap.FindIndex(shell) << " ";
-+            (*testout) << ((shell.Orientation() == TopAbs_REVERSED) ? "-" : "+") << ", ";
-+            (*testout) << ((exp1.Current().Orientation() == TopAbs_REVERSED) ? "-" : "+") << endl;
-+
-+            for (exp2.Init(shell, TopAbs_FACE); exp2.More(); exp2.Next())
-+            {
-+               TopoDS_Face face = TopoDS::Face(exp2.Current());
-+               if (fmap.FindIndex(face) < 1)
-+               {
-+                  fmap.Add (face);
-+
-+                  for (exp3.Init(face, TopAbs_WIRE); exp3.More(); exp3.Next())
-+                  {
-+                     TopoDS_Wire wire = TopoDS::Wire (exp3.Current());
-+                     if (wmap.FindIndex(wire) < 1)
-+                     {
-+                        wmap.Add (wire);
-+
-+                        for (exp4.Init(wire, TopAbs_EDGE); exp4.More(); exp4.Next())
-+                        {
-+                           TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
-+                           if (emap.FindIndex(edge) < 1)
-+                           {
-+                              emap.Add (edge);
-+                              for (exp5.Init(edge, TopAbs_VERTEX); exp5.More(); exp5.Next())
-+                              {
-+                                 TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
-+                                 if (vmap.FindIndex(vertex) < 1)
-+                                    vmap.Add (vertex);
-+                              }
-+                           }
-+                        }
-+                     }
-+                  }
-+               }
-+            }
-+         }
-+      }
-+
-+
-+      // Free Faces
-+
-+      for (exp2.Init(shape, TopAbs_FACE, TopAbs_SHELL); exp2.More(); exp2.Next())
-+      {
-+         TopoDS_Face face = TopoDS::Face(exp2.Current());
-+         if (fmap.FindIndex(face) < 1)
-+         {
-+            fmap.Add (face);
-+
-+            for (exp3.Init(exp2.Current(), TopAbs_WIRE); exp3.More(); exp3.Next())
-+            {
-+               TopoDS_Wire wire = TopoDS::Wire (exp3.Current());
-+               if (wmap.FindIndex(wire) < 1)
-+               {
-+                  wmap.Add (wire);
-+
-+                  for (exp4.Init(exp3.Current(), TopAbs_EDGE); exp4.More(); exp4.Next())
-+                  {
-+                     TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
-+                     if (emap.FindIndex(edge) < 1)
-+                     {
-+                        emap.Add (edge);
-+                        for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next())
-+                        {
-+                           TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
-+                           if (vmap.FindIndex(vertex) < 1)
-+                              vmap.Add (vertex);
-+                        }
-+                     }
-+                  }
-+               }
-+            }
-+         }
-+      }
-+
-+
-+      // Free Wires
-+
-+      for (exp3.Init(shape, TopAbs_WIRE, TopAbs_FACE); exp3.More(); exp3.Next())
-+      {
-+         TopoDS_Wire wire = TopoDS::Wire (exp3.Current());
-+         if (wmap.FindIndex(wire) < 1)
-+         {
-+            wmap.Add (wire);
-+
-+            for (exp4.Init(exp3.Current(), TopAbs_EDGE); exp4.More(); exp4.Next())
-+            {
-+               TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
-+               if (emap.FindIndex(edge) < 1)
-+               {
-+                  emap.Add (edge);
-+                  for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next())
-+                  {
-+                     TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
-+                     if (vmap.FindIndex(vertex) < 1)
-+                        vmap.Add (vertex);
-+                  }
-+               }
-+            }
-+         }
-+      }
-+
-+
-+      // Free Edges
-+
-+      for (exp4.Init(shape, TopAbs_EDGE, TopAbs_WIRE); exp4.More(); exp4.Next())
-+      {
-+         TopoDS_Edge edge = TopoDS::Edge(exp4.Current());
-+         if (emap.FindIndex(edge) < 1)
-+         {
-+            emap.Add (edge);
-+            for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next())
-+            {
-+               TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
-+               if (vmap.FindIndex(vertex) < 1)
-+                  vmap.Add (vertex);
-+            }
-+         }
-+      }
-+
-+
-+      // Free Vertices
-+
-+      for (exp5.Init(shape, TopAbs_VERTEX, TopAbs_EDGE); exp5.More(); exp5.Next())
-+      {
-+         TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current());
-+         if (vmap.FindIndex(vertex) < 1)
-+            vmap.Add (vertex);
-+      }
-+
-+
-+
-+
-+      facemeshstatus.DeleteAll();
-+      facemeshstatus.SetSize (fmap.Extent());
-+      facemeshstatus = 0;
-+
-+      // Philippose - 15/01/2009
-+      face_maxh.DeleteAll();
-+      face_maxh.SetSize (fmap.Extent());
-+      face_maxh = mparam.maxh;
-+
-+      // Philippose - 15/01/2010
-+      face_maxh_modified.DeleteAll();
-+      face_maxh_modified.SetSize(fmap.Extent());
-+      face_maxh_modified = 0;
-+
-+
-+      // Philippose - 17/01/2009
-+      face_sel_status.DeleteAll();
-+      face_sel_status.SetSize (fmap.Extent());
-+      face_sel_status = 0;
-+
-+      fvispar.SetSize (fmap.Extent());
-+      evispar.SetSize (emap.Extent());
-+      vvispar.SetSize (vmap.Extent());
-+
-+      fsingular.SetSize (fmap.Extent());
-+      esingular.SetSize (emap.Extent());
-+      vsingular.SetSize (vmap.Extent());
-+
-+      fsingular = esingular = vsingular = false;
-+   }
-+
-+
-+
-+   void OCCGeometry :: SewFaces ()
-+   {
-+      (*testout) << "Trying to sew faces ..." << endl;
-+      cout << "Trying to sew faces ..." << flush;
-+
-+      BRepOffsetAPI_Sewing sewedObj(1);
-+
-+      for (int i = 1; i <= fmap.Extent(); i++)
-+      {
-+         TopoDS_Face face = TopoDS::Face (fmap(i));
-+         sewedObj.Add (face);
-+      }
-+
-+      sewedObj.Perform();
-+
-+      if (!sewedObj.SewedShape().IsNull())
-+      {
-+         shape = sewedObj.SewedShape();
-+         cout << " done" << endl;
-+      }
-+      else
-+         cout << " not possible";
-+   }
-+
-+
-+
-+
-+
-+   void OCCGeometry :: MakeSolid ()
-+   {
-+      TopExp_Explorer exp0;
-+
-+      (*testout) << "Trying to build solids ..." << endl;
-+      cout << "Trying to build solids ..." << flush;
-+
-+      BRepBuilderAPI_MakeSolid ms;
-+      int count = 0;
-+      for (exp0.Init(shape, TopAbs_SHELL); exp0.More(); exp0.Next())
-+      {
-+         count++;
-+         ms.Add (TopoDS::Shell(exp0.Current()));
-+      }
-+
-+      if (!count)
-+      {
-+         cout << " not possible (no shells)" << endl;
-+         return;
-+      }
-+
-+      BRepCheck_Analyzer ba(ms);
-+      if (ba.IsValid ())
-+      {
-+         Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape;
-+         sfs->Init (ms);
-+
-+         sfs->SetPrecision(1e-5);
-+         sfs->SetMaxTolerance(1e-5);
-+
-+         sfs->Perform();
-+
-+         shape = sfs->Shape();
-+
-+         for (exp0.Init(shape, TopAbs_SOLID); exp0.More(); exp0.Next())
-+         {
-+            TopoDS_Solid solid = TopoDS::Solid(exp0.Current());
-+            TopoDS_Solid newsolid = solid;
-+            BRepLib::OrientClosedSolid (newsolid);
-+            Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape;
-+            rebuild->Replace(solid, newsolid);
-+
-+            TopoDS_Shape newshape = rebuild->Apply(shape, TopAbs_SHAPE, 1);
-+            shape = newshape;
-+         }
-+
-+         cout << " done" << endl;
-+      }
-+      else
-+         cout << " not possible" << endl;
-+   }
-+
-+
-+
-+
-+   void OCCGeometry :: BuildVisualizationMesh (double deflection)
-+   {
-+      cout << "Preparing visualization (deflection = " << deflection << ") ... " << flush;
-+
-+      BRepTools::Clean (shape);
-+      // BRepMesh_IncrementalMesh::
-+      BRepMesh_IncrementalMesh (shape, deflection, true);
-+      cout << "done" << endl;
-+   }
-+
-+
-+
-+
-+   void OCCGeometry :: CalcBoundingBox ()
-+   {
-+      Bnd_Box bb;
-+      BRepBndLib::Add (shape, bb);
-+
-+      double x1,y1,z1,x2,y2,z2;
-+      bb.Get (x1,y1,z1,x2,y2,z2);
-+      Point<3> p1 = Point<3> (x1,y1,z1);
-+      Point<3> p2 = Point<3> (x2,y2,z2);
-+
-+      (*testout) << "Bounding Box = [" << p1 << " - " << p2 << "]" << endl;
-+      boundingbox = Box<3> (p1,p2);
-+      SetCenter();
-+   }
-+
-+
-+   // returns a projector and a classifier for the given surface
-+   void OCCGeometry::GetFaceTools(int surfi, Handle(ShapeAnalysis_Surface)& proj,
-+                                  BRepTopAdaptor_FClass2d*& cls) const
-+   {
-+     //MSV: organize caching projector in the map
-+     if (fprjmap.IsBound(surfi))
-+     {
-+       proj = fprjmap.Find(surfi);
-+       cls = fclsmap.Find(surfi);
-+     }
-+     else
-+     {
-+       const TopoDS_Face& aFace = TopoDS::Face(fmap(surfi));
-+       Handle(Geom_Surface) aSurf = BRep_Tool::Surface(aFace);
-+       proj = new ShapeAnalysis_Surface(aSurf);
-+       fprjmap.Bind(surfi, proj);
-+       cls = new BRepTopAdaptor_FClass2d(aFace,Precision::Confusion());
-+       fclsmap.Bind(surfi, cls);
-+     }
-+   }
-+
-+   // void OCCGeometry :: Project (int surfi, Point<3> & p) const
-+   bool OCCGeometry :: Project (int surfi, Point<3> & p, double& u, double& v) const
-+   {
-+      static int cnt = 0;
-+      if (++cnt % 1000 == 0) cout << "Project cnt = " << cnt << endl;
-+
-+      gp_Pnt pnt(p(0), p(1), p(2));
-+
-+      // -- Optimization: use cached projector and classifier
-+      // double u,v;
-+      // Handle( Geom_Surface ) thesurf = BRep_Tool::Surface(TopoDS::Face(fmap(surfi)));
-+      // Handle( ShapeAnalysis_Surface ) su = new ShapeAnalysis_Surface( thesurf );
-+      // gp_Pnt2d suval = su->ValueOfUV ( pnt, BRep_Tool::Tolerance( TopoDS::Face(fmap(surfi)) ) );
-+      // suval.Coord( u, v);
-+      // pnt = thesurf->Value( u, v );
-+
-+      Handle(ShapeAnalysis_Surface) proj;
-+      BRepTopAdaptor_FClass2d *cls;
-+      GetFaceTools(surfi, proj, cls);
-+
-+      gp_Pnt2d p2d = proj->ValueOfUV(pnt, Precision::Confusion());
-+      if (cls->Perform(p2d) == TopAbs_OUT)
-+      {
-+        return false;
-+      }
-+      pnt = proj->Value(p2d);
-+      p2d.Coord(u, v);
-+
-+      p = Point<3> (pnt.X(), pnt.Y(), pnt.Z());
-+
-+      return true;
-+   }
-+
-+
-+
-+
-+   bool OCCGeometry :: FastProject (int surfi, Point<3> & ap, double& u, double& v) const
-+   {
-+      gp_Pnt p(ap(0), ap(1), ap(2));
-+
-+      // -- Optimization: use cached projector and classifier
-+      // Handle(Geom_Surface) surface = BRep_Tool::Surface(TopoDS::Face(fmap(surfi)));
-+      //
-+      // gp_Pnt x = surface->Value (u,v);
-+      //
-+      // if (p.SquareDistance(x) <= sqr(PROJECTION_TOLERANCE)) return true;
-+      //
-+      // gp_Vec du, dv;
-+      //
-+      // surface->D1(u,v,x,du,dv);
-+      //
-+      // int count = 0;
-+      //
-+      // gp_Pnt xold;
-+      // gp_Vec n;
-+      // double det, lambda, mu;
-+      //
-+      // do {
-+      //    count++;
-+      //
-+      //    n = du^dv;
-+      //
-+      //    det = Det3 (n.X(), du.X(), dv.X(),
-+      //       n.Y(), du.Y(), dv.Y(),
-+      //       n.Z(), du.Z(), dv.Z());
-+      //
-+      //    if (det < 1e-15) return false;
-+      //
-+      //    lambda = Det3 (n.X(), p.X()-x.X(), dv.X(),
-+      //       n.Y(), p.Y()-x.Y(), dv.Y(),
-+      //       n.Z(), p.Z()-x.Z(), dv.Z())/det;
-+      //
-+      //    mu     = Det3 (n.X(), du.X(), p.X()-x.X(),
-+      //       n.Y(), du.Y(), p.Y()-x.Y(),
-+      //       n.Z(), du.Z(), p.Z()-x.Z())/det;
-+      //
-+      //    u += lambda;
-+      //    v += mu;
-+      //
-+      //    xold = x;
-+      //    surface->D1(u,v,x,du,dv);
-+      //
-+      // } while (xold.SquareDistance(x) > sqr(PROJECTION_TOLERANCE) && count < 50);
-+      //
-+      // //    (*testout) << "FastProject count: " << count << endl;
-+      //
-+      // if (count == 50) return false;
-+      //
-+      // ap = Point<3> (x.X(), x.Y(), x.Z());
-+      Handle(ShapeAnalysis_Surface) proj;
-+      BRepTopAdaptor_FClass2d *cls;
-+      GetFaceTools(surfi, proj, cls);
-+
-+      gp_Pnt2d p2d = proj->NextValueOfUV(gp_Pnt2d(u,v), p, Precision::Confusion());
-+      if (cls->Perform(p2d) == TopAbs_OUT)
-+      {
-+        //cout << "Projection fails" << endl;
-+        return false;
-+      }
-+
-+      p = proj->Value(p2d);
-+      p2d.Coord(u, v);
-+      ap = Point<3> (p.X(), p.Y(), p.Z());
-+
-+      return true;
-+   }
-+
-+
-+
-+
-+   void OCCGeometry :: WriteOCC_STL(char * filename)
-+   {
-+      cout << "writing stl..."; cout.flush();
-+      StlAPI_Writer writer;
-+      //writer.RelativeMode() = Standard_False;
-+
-+      //writer.SetDeflection(0.02);
-+      writer.Write(shape,filename);
-+
-+      cout << "done" << endl;
-+   }
-+
-+
-+
-+   // Philippose - 23/02/2009
-+   /* Special IGES File load function including the ability
-+   to extract individual surface colours via the extended
-+   OpenCascade XDE and XCAF Feature set.
-+   */
-+   OCCGeometry *LoadOCC_IGES(const char *filename)
-+   {
-+      OCCGeometry *occgeo;
-+      occgeo = new OCCGeometry;
-+
-+      // Initiate a dummy XCAF Application to handle the IGES XCAF Document
-+      static Handle(XCAFApp_Application) dummy_app = XCAFApp_Application::GetApplication();
-+
-+      // Create an XCAF Document to contain the IGES file itself
-+      Handle(TDocStd_Document) iges_doc;
-+
-+      // Check if a IGES File is already open under this handle, if so, close it to prevent
-+      // Segmentation Faults when trying to create a new document
-+      if(dummy_app->NbDocuments() > 0)
-+      {
-+         dummy_app->GetDocument(1,iges_doc);
-+         dummy_app->Close(iges_doc);
-+      }
-+      dummy_app->NewDocument ("IGES-XCAF",iges_doc);
-+
-+      IGESCAFControl_Reader reader;
-+
-+      Standard_Integer stat = reader.ReadFile((char*)filename);
-+
-+      if(stat != IFSelect_RetDone)
-+      {
-+         delete occgeo;
-+         return NULL;
-+      }
-+
-+      // Enable transfer of colours
-+      reader.SetColorMode(Standard_True);
-+
-+      reader.Transfer(iges_doc);
-+
-+      // Read in the shape(s) and the colours present in the IGES File
-+      Handle(XCAFDoc_ShapeTool) iges_shape_contents = XCAFDoc_DocumentTool::ShapeTool(iges_doc->Main());
-+      Handle(XCAFDoc_ColorTool) iges_colour_contents = XCAFDoc_DocumentTool::ColorTool(iges_doc->Main());
-+
-+      TDF_LabelSequence iges_shapes;
-+      iges_shape_contents->GetShapes(iges_shapes);
-+
-+      // List out the available colours in the IGES File as Colour Names
-+      TDF_LabelSequence all_colours;
-+      iges_colour_contents->GetColors(all_colours);
-+      PrintMessage(1,"Number of colours in IGES File: ",all_colours.Length());
-+      for(int i = 1; i <= all_colours.Length(); i++)
-+      {
-+         Quantity_Color col;
-+         stringstream col_rgb;
-+         iges_colour_contents->GetColor(all_colours.Value(i),col);
-+         col_rgb << " : (" << col.Red() << "," << col.Green() << "," << col.Blue() << ")";
-+         PrintMessage(1, "Colour [", i, "] = ",col.StringName(col.Name()),col_rgb.str());
-+      }
-+
-+
-+      // For the IGES Reader, all the shapes can be exported as one compund shape
-+      // using the "OneShape" member
-+      occgeo->shape = reader.OneShape();
-+      occgeo->face_colours = iges_colour_contents;
-+      occgeo->changed = 1;
-+      occgeo->BuildFMap();
-+
-+      occgeo->CalcBoundingBox();
-+      PrintContents (occgeo);
-+
-+      return occgeo;
-+   }
-+
-+
-+
-+
-+
-+   // Philippose - 29/01/2009
-+   /* Special STEP File load function including the ability
-+   to extract individual surface colours via the extended
-+   OpenCascade XDE and XCAF Feature set.
-+   */
-+   OCCGeometry * LoadOCC_STEP (const char * filename)
-+   {
-+      OCCGeometry * occgeo;
-+      occgeo = new OCCGeometry;
-+
-+      // Initiate a dummy XCAF Application to handle the STEP XCAF Document
-+      static Handle(XCAFApp_Application) dummy_app = XCAFApp_Application::GetApplication();
-+
-+      // Create an XCAF Document to contain the STEP file itself
-+      Handle(TDocStd_Document) step_doc;
-+
-+      // Check if a STEP File is already open under this handle, if so, close it to prevent
-+      // Segmentation Faults when trying to create a new document
-+      if(dummy_app->NbDocuments() > 0)
-+      {
-+         dummy_app->GetDocument(1,step_doc);
-+         dummy_app->Close(step_doc);
-+      }
-+      dummy_app->NewDocument ("STEP-XCAF",step_doc);
-+
-+      STEPCAFControl_Reader reader;
-+
-+      // Enable transfer of colours
-+      reader.SetColorMode(Standard_True);
-+
-+      Standard_Integer stat = reader.ReadFile((char*)filename);
-+
-+      if(stat != IFSelect_RetDone)
-+      {
-+         delete occgeo;
-+         return NULL;
-+      }
-+
-+      reader.Transfer(step_doc);
-+
-+      // Read in the shape(s) and the colours present in the STEP File
-+      Handle(XCAFDoc_ShapeTool) step_shape_contents = XCAFDoc_DocumentTool::ShapeTool(step_doc->Main());
-+      Handle(XCAFDoc_ColorTool) step_colour_contents = XCAFDoc_DocumentTool::ColorTool(step_doc->Main());
-+
-+      TDF_LabelSequence step_shapes;
-+      step_shape_contents->GetShapes(step_shapes);
-+
-+      // List out the available colours in the STEP File as Colour Names
-+      TDF_LabelSequence all_colours;
-+      step_colour_contents->GetColors(all_colours);
-+      PrintMessage(1,"Number of colours in STEP File: ",all_colours.Length());
-+      for(int i = 1; i <= all_colours.Length(); i++)
-+      {
-+         Quantity_Color col;
-+         stringstream col_rgb;
-+         step_colour_contents->GetColor(all_colours.Value(i),col);
-+         col_rgb << " : (" << col.Red() << "," << col.Green() << "," << col.Blue() << ")";
-+         PrintMessage(1, "Colour [", i, "] = ",col.StringName(col.Name()),col_rgb.str());
-+      }
-+
-+
-+      // For the STEP File Reader in OCC, the 1st Shape contains the entire
-+      // compound geometry as one shape
-+      occgeo->shape = step_shape_contents->GetShape(step_shapes.Value(1));
-+      occgeo->face_colours = step_colour_contents;
-+      occgeo->changed = 1;
-+      occgeo->BuildFMap();
-+
-+      occgeo->CalcBoundingBox();
-+      PrintContents (occgeo);
-+
-+      return occgeo;
-+   }
-+
-+
-+
-+
-+   OCCGeometry *LoadOCC_BREP (const char *filename)
-+   {
-+      OCCGeometry * occgeo;
-+      occgeo = new OCCGeometry;
-+
-+      BRep_Builder aBuilder;
-+      Standard_Boolean result = BRepTools::Read(occgeo->shape, const_cast<char*> (filename),aBuilder);
-+
-+      if(!result)
-+      {
-+         delete occgeo;
-+         return NULL;
-+      }
-+
-+      // Philippose - 23/02/2009
-+      // Fixed a bug in the OpenCascade XDE Colour handling when
-+      // opening BREP Files, since BREP Files have no colour data.
-+      // Hence, the face_colours Handle needs to be created as a NULL handle.
-+      occgeo->face_colours = Handle(XCAFDoc_ColorTool)();
-+      occgeo->face_colours.Nullify();
-+      occgeo->changed = 1;
-+      occgeo->BuildFMap();
-+
-+      occgeo->CalcBoundingBox();
-+      PrintContents (occgeo);
-+
-+      return occgeo;
-+   }
-+
-+
-+  void OCCGeometry :: Save (string sfilename) const
-+  {
-+    const char * filename = sfilename.c_str();
-+    if (strlen(filename) < 4)
-+      throw NgException ("illegal filename");
-+
-+    if (strcmp (&filename[strlen(filename)-3], "igs") == 0)
-+      {
-+      IGESControl_Writer writer("millimeters", 1);
-+      writer.AddShape (shape);
-+      writer.Write (filename);
-+      }
-+    else if (strcmp (&filename[strlen(filename)-3], "stp") == 0)
-+      {
-+      STEPControl_Writer writer;
-+      writer.Transfer (shape, STEPControl_AsIs);
-+      writer.Write (filename);
-+      }
-+    else if (strcmp (&filename[strlen(filename)-3], "stl") == 0)
-+      {
-+      StlAPI_Writer writer;
-+      writer.ASCIIMode() = Standard_True;
-+      writer.Write (shape, filename);
-+      }
-+    else if (strcmp (&filename[strlen(filename)-4], "stlb") == 0)
-+      {
-+      StlAPI_Writer writer;
-+      writer.ASCIIMode() = Standard_False;
-+      writer.Write (shape, filename);
-+      }
-+  }
-+
-+
-+
-+  const char * shapesname[] =
-+   {" ", "CompSolids", "Solids", "Shells",
-+
-+   "Faces", "Wires", "Edges", "Vertices"};
-+
-+  const char * shapename[] =
-+   {" ", "CompSolid", "Solid", "Shell",
-+   "Face", "Wire", "Edge", "Vertex"};
-+
-+  const char * orientationstring[] =
-+     {"+", "-"};
-+
-+
-+
-+
-+   void OCCGeometry :: RecursiveTopologyTree (const TopoDS_Shape & sh,
-+      stringstream & str,
-+      TopAbs_ShapeEnum l,
-+      bool isfree,
-+      const char * lname)
-+   {
-+      if (l > TopAbs_VERTEX) return;
-+
-+      TopExp_Explorer e;
-+      int count = 0;
-+      int count2 = 0;
-+
-+      if (isfree)
-+         e.Init(sh, l, TopAbs_ShapeEnum(l-1));
-+      else
-+         e.Init(sh, l);
-+
-+      for (; e.More(); e.Next())
-+      {
-+         count++;
-+
-+         stringstream lname2;
-+         lname2 << lname << "/" << shapename[l] << count;
-+         str << lname2.str() << " ";
-+
-+         switch (e.Current().ShapeType())
-+         {
-+         case TopAbs_SOLID:
-+           count2 = somap.FindIndex(TopoDS::Solid(e.Current())); break;
-+         case TopAbs_SHELL:
-+           count2 = shmap.FindIndex(TopoDS::Shell(e.Current())); break;
-+         case TopAbs_FACE:
-+           count2 = fmap.FindIndex(TopoDS::Face(e.Current())); break;
-+         case TopAbs_WIRE:
-+           count2 = wmap.FindIndex(TopoDS::Wire(e.Current())); break;
-+         case TopAbs_EDGE:
-+           count2 = emap.FindIndex(TopoDS::Edge(e.Current())); break;
-+         case TopAbs_VERTEX:
-+           count2 = vmap.FindIndex(TopoDS::Vertex(e.Current())); break;
-+         default:
-+           cout << "RecursiveTopologyTree: Case " << e.Current().ShapeType() << " not handeled" << endl;
-+         }
-+
-+         int nrsubshapes = 0;
-+
-+         if (l <= TopAbs_WIRE)
-+         {
-+            TopExp_Explorer e2;
-+            for (e2.Init (e.Current(), TopAbs_ShapeEnum (l+1));
-+               e2.More(); e2.Next())
-+               nrsubshapes++;
-+         }
-+
-+         str << "{" << shapename[l] << " " << count2;
-+
-+         if (l <= TopAbs_EDGE)
-+         {
-+            str << " (" << orientationstring[e.Current().Orientation()];
-+            if (nrsubshapes != 0) str << ", " << nrsubshapes;
-+            str << ") } ";
-+         }
-+         else
-+            str << " } ";
-+
-+         RecursiveTopologyTree (e.Current(), str, TopAbs_ShapeEnum (l+1),
-+            false, (char*)lname2.str().c_str());
-+
-+      }
-+   }
-+
-+
-+
-+
-+   void OCCGeometry :: GetTopologyTree (stringstream & str)
-+   {
-+      cout << "Building topology tree ... " << flush;
-+      RecursiveTopologyTree (shape, str, TopAbs_COMPSOLID, false, "CompSolids");
-+      RecursiveTopologyTree (shape, str, TopAbs_SOLID, true, "FreeSolids");
-+      RecursiveTopologyTree (shape, str, TopAbs_SHELL, true, "FreeShells");
-+      RecursiveTopologyTree (shape, str, TopAbs_FACE, true, "FreeFaces");
-+      RecursiveTopologyTree (shape, str, TopAbs_WIRE, true, "FreeWires");
-+      RecursiveTopologyTree (shape, str, TopAbs_EDGE, true, "FreeEdges");
-+      RecursiveTopologyTree (shape, str, TopAbs_VERTEX, true, "FreeVertices");
-+      str << flush;
-+      //  cout << "done" << endl;
-+   }
-+
-+
-+
-+
-+   void OCCGeometry :: CheckIrregularEntities(stringstream & str)
-+   {
-+      ShapeAnalysis_CheckSmallFace csm;
-+
-+      csm.SetTolerance (1e-6);
-+
-+      TopTools_DataMapOfShapeListOfShape mapEdges;
-+      ShapeAnalysis_DataMapOfShapeListOfReal mapParam;
-+      TopoDS_Compound theAllVert;
-+
-+      int spotfaces = 0;
-+      int stripsupportfaces = 0;
-+      int singlestripfaces = 0;
-+      int stripfaces = 0;
-+      int facessplitbyvertices = 0;
-+      int stretchedpinfaces = 0;
-+      int smoothpinfaces = 0;
-+      int twistedfaces = 0;
-+      // int edgessamebutnotidentified = 0;
-+
-+      cout << "checking faces ... " << flush;
-+
-+      int i;
-+      for (i = 1; i <= fmap.Extent(); i++)
-+      {
-+         TopoDS_Face face = TopoDS::Face (fmap(i));
-+         TopoDS_Edge e1, e2;
-+
-+         if (csm.CheckSpotFace (face))
-+         {
-+            if (!spotfaces++)
-+               str << "SpotFace {Spot face} ";
-+
-+            (*testout) << "Face " << i << " is a spot face" << endl;
-+            str << "SpotFace/Face" << i << " ";
-+            str << "{Face " << i << " } ";
-+         }
-+
-+         if (csm.IsStripSupport (face))
-+         {
-+            if (!stripsupportfaces++)
-+               str << "StripSupportFace {Strip support face} ";
-+
-+            (*testout) << "Face " << i << " has strip support" << endl;
-+            str << "StripSupportFace/Face" << i << " ";
-+            str << "{Face " << i << " } ";
-+         }
-+
-+         if (csm.CheckSingleStrip(face, e1, e2))
-+         {
-+            if (!singlestripfaces++)
-+               str << "SingleStripFace {Single strip face} ";
-+
-+            (*testout) << "Face " << i << " is a single strip (edge " << emap.FindIndex(e1)
-+               << " and edge " << emap.FindIndex(e2) << " are identical)" << endl;
-+            str << "SingleStripFace/Face" << i << " ";
-+            str << "{Face " << i << " (edge " << emap.FindIndex(e1)
-+               << " and edge " << emap.FindIndex(e2) << " are identical)} ";
-+         }
-+
-+         if (csm.CheckStripFace(face, e1, e2))
-+         {
-+            if (!stripfaces++)
-+               str << "StripFace {Strip face} ";
-+
-+            (*testout) << "Face " << i << " is a strip (edge " << emap.FindIndex(e1)
-+               << " and edge " << emap.FindIndex(e2)
-+               << " are identical)" << endl;
-+            str << "StripFace/Face" << i << " ";
-+            str << "{Face " << i << " (edge " << emap.FindIndex(e1)
-+               << " and edge " << emap.FindIndex(e2) << " are identical)} ";
-+         }
-+
-+         if (int count = csm.CheckSplittingVertices(face, mapEdges, mapParam, theAllVert))
-+         {
-+            if (!facessplitbyvertices++)
-+               str << "FaceSplitByVertices {Face split by vertices} ";
-+
-+            (*testout) << "Face " << i << " is split by " << count
-+               << " vertex/vertices " << endl;
-+            str << "FaceSplitByVertices/Face" << i << " ";
-+            str << "{Face " << i << " (split by " << count << "vertex/vertices)} ";
-+         }
-+
-+         int whatrow, sens;
-+         if (int type = csm.CheckPin (face, whatrow, sens))
-+         {
-+            if (type == 1)
-+            {
-+               if (!smoothpinfaces++)
-+                  str << "SmoothPinFace {Smooth pin face} ";
-+
-+               (*testout) << "Face " << i << " is a smooth pin" << endl;
-+               str << "SmoothPinFace/Face" << i << " ";
-+               str << "{Face " << i << " } ";
-+            }
-+            else
-+            {
-+               if (!stretchedpinfaces++)
-+                  str << "StretchedPinFace {Stretched pin face} ";
-+
-+               (*testout) << "Face " << i << " is a streched pin" << endl;
-+               str << "StretchedPinFace/Face" << i << " ";
-+               str << "{Face " << i << " } ";
-+            }
-+         }
-+
-+         double paramu, paramv;
-+         if (csm.CheckTwisted (face, paramu, paramv))
-+         {
-+            if (!twistedfaces++)
-+               str << "TwistedFace {Twisted face} ";
-+
-+            (*testout) << "Face " << i << " is twisted" << endl;
-+            str << "TwistedFace/Face" << i << " ";
-+            str << "{Face " << i << " } ";
-+         }
-+      }
-+
-+      cout << "done" << endl;
-+      cout << "checking edges ... " << flush;
-+
-+      // double dmax;
-+      // int cnt = 0;
-+      Array <double> edgeLengths;
-+      Array <int> order;
-+      edgeLengths.SetSize (emap.Extent());
-+      order.SetSize (emap.Extent());
-+
-+      for (i = 1; i <= emap.Extent(); i++)
-+      {
-+         TopoDS_Edge edge1 = TopoDS::Edge (emap(i));
-+         GProp_GProps system;
-+         BRepGProp::LinearProperties(edge1, system);
-+         edgeLengths[i-1] = system.Mass();
-+      }
-+
-+      Sort (edgeLengths, order);
-+
-+      str << "ShortestEdges {Shortest edges} ";
-+      for (i = 1; i <= min(20, emap.Extent()); i++)
-+      {
-+         str << "ShortestEdges/Edge" << i;
-+         str << " {Edge " << order[i-1] << " (L=" << edgeLengths[order[i-1]-1] << ")} ";
-+      }
-+
-+      str << flush;
-+
-+      cout << "done" << endl;
-+   }
-+
-+
-+
-+
-+   void OCCGeometry :: GetUnmeshedFaceInfo (stringstream & str)
-+   {
-+      for (int i = 1; i <= fmap.Extent(); i++)
-+      {
-+         if (facemeshstatus[i-1] == -1)
-+            str << "Face" << i << " {Face " << i << " } ";
-+      }
-+      str << flush;
-+   }
-+
-+
-+
-+
-+   void OCCGeometry :: GetNotDrawableFaces (stringstream & str)
-+   {
-+      for (int i = 1; i <= fmap.Extent(); i++)
-+      {
-+         if (!fvispar[i-1].IsDrawable())
-+            str << "Face" << i << " {Face " << i << " } ";
-+      }
-+      str << flush;
-+   }
-+
-+
-+
-+
-+   bool OCCGeometry :: ErrorInSurfaceMeshing ()
-+   {
-+      for (int i = 1; i <= fmap.Extent(); i++)
-+         if (facemeshstatus[i-1] == -1)
-+            return true;
-+
-+      return false;
-+   }
-+
-+
-+
-+
-+  int OCCGeometry :: GenerateMesh (Mesh*& mesh, MeshingParameters & mparam,
-+      int perfstepsstart, int perfstepsend)
-+   {
-+     return OCCGenerateMesh (*this, mesh, mparam, perfstepsstart, perfstepsend);
-+   }
-+
-+
-+
-+
-+   const Refinement & OCCGeometry :: GetRefinement () const
-+   {
-+      return * new OCCRefinementSurfaces (*this);
-+   }
-+
-+
-+
-+
-+   OCCParameters :: OCCParameters()
-+   {
-+      resthcloseedgefac = 1;
-+      resthcloseedgeenable = 1;
-+        resthminedgelen = 0.001;
-+        resthminedgelenenable = 1;
-+   }
-+
-+
-+
-+
-+   void OCCParameters :: Print(ostream & ost) const
-+   {
-+      ost << "OCC Parameters:" << endl
-+         << "close edges: " << resthcloseedgeenable
-+         << ", fac = " << resthcloseedgefac << endl
-+               << "minimum edge length: " << resthminedgelenenable
-+               << ", min len = " << resthminedgelen << endl;
-+   }
-+
-+
-+
-+
-+   OCCParameters occparam;
-+
-+}
-+
-+
-+#endif
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occgeom.hpp netgen-5.3.1_SRC_modif/libsrc/occ/occgeom.hpp
---- netgen-5.3.1_SRC_orig/libsrc/occ/occgeom.hpp       2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/occgeom.hpp      2018-03-01 15:45:08.691877252 +0300
-@@ -1,457 +1,475 @@
--#ifndef FILE_OCCGEOM
--#define FILE_OCCGEOM
--
--/* *************************************************************************/
--/* File:   occgeom.hpp                                                     */
--/* Author: Robert Gaisbauer                                                */
--/* Date:   26. May  03                                                     */
--/* *************************************************************************/
--
--#ifdef OCCGEOMETRY
--
--#include <meshing.hpp>
--
--#include "BRep_Tool.hxx"
--#include "Geom_Curve.hxx"
--#include "Geom2d_Curve.hxx"
--#include "Geom_Surface.hxx"
--#include "GeomAPI_ProjectPointOnSurf.hxx"
--#include "GeomAPI_ProjectPointOnCurve.hxx"
--#include "BRepTools.hxx"
--#include "TopExp.hxx"
--#include "BRepBuilderAPI_MakeVertex.hxx"
--#include "BRepBuilderAPI_MakeShell.hxx"
--#include "BRepBuilderAPI_MakeSolid.hxx"
--#include "BRepOffsetAPI_Sewing.hxx"
--#include "BRepLProp_SLProps.hxx"
--#include "BRepAdaptor_Surface.hxx"
--#include "Poly_Triangulation.hxx"
--#include "Poly_Array1OfTriangle.hxx"
--#include "TColgp_Array1OfPnt2d.hxx"
--#include "Poly_Triangle.hxx"
--#include "GProp_GProps.hxx"
--#include "BRepGProp.hxx"
--#include "Geom_Surface.hxx"
--#include "TopExp.hxx"
--#include "gp_Pnt.hxx"
--#include "TopoDS.hxx"
--#include "TopoDS_Solid.hxx"
--#include "TopExp_Explorer.hxx"
--#include "TopTools_ListIteratorOfListOfShape.hxx"
--#include "BRep_Tool.hxx"
--#include "Geom_Curve.hxx"
--#include "Geom2d_Curve.hxx"
--#include "Geom_Surface.hxx"
--#include "GeomAPI_ProjectPointOnSurf.hxx"
--#include "GeomAPI_ProjectPointOnCurve.hxx"
--#include "TopoDS_Wire.hxx"
--#include "BRepTools_WireExplorer.hxx"
--#include "BRepTools.hxx"
--#include "TopTools_IndexedMapOfShape.hxx"
--#include "TopExp.hxx"
--#include "BRepBuilderAPI_MakeVertex.hxx"
--#include "BRepBuilderAPI_MakeShell.hxx"
--#include "BRepBuilderAPI_MakeSolid.hxx"
--#include "BRepOffsetAPI_Sewing.hxx"
--#include "BRepLProp_CLProps.hxx"
--#include "BRepLProp_SLProps.hxx"
--#include "BRepAdaptor_Surface.hxx"
--#include "BRepAdaptor_Curve.hxx"
--#include "Poly_Triangulation.hxx"
--#include "Poly_Array1OfTriangle.hxx"
--#include "TColgp_Array1OfPnt2d.hxx"
--#include "Poly_Triangle.hxx"
--#include "GProp_GProps.hxx"
--#include "BRepGProp.hxx"
--#include "TopoDS_Shape.hxx"
--#include "TopoDS_Face.hxx"
--#include "IGESToBRep_Reader.hxx"
--#include "Interface_Static.hxx"
--#include "GeomAPI_ExtremaCurveCurve.hxx"
--#include "Standard_ErrorHandler.hxx"
--#include "Standard_Failure.hxx"
--#include "ShapeUpgrade_ShellSewing.hxx"
--#include "ShapeFix_Shape.hxx"
--#include "ShapeFix_Wireframe.hxx"
--#include "BRepMesh.hxx"
--#include "BRepMesh_IncrementalMesh.hxx"
--#include "BRepBndLib.hxx"
--#include "Bnd_Box.hxx"
--#include "ShapeAnalysis.hxx"
--#include "ShapeBuild_ReShape.hxx"
--
--
--// Philippose - 29/01/2009
--// OpenCascade XDE Support
--// Include support for OpenCascade XDE Features
--#include "TDocStd_Document.hxx"
--#include "Quantity_Color.hxx"
--#include "XCAFApp_Application.hxx"
--#include "XCAFDoc_ShapeTool.hxx"
--#include "XCAFDoc_Color.hxx"
--#include "XCAFDoc_ColorTool.hxx"
--#include "XCAFDoc_ColorType.hxx"
--#include "XCAFDoc_LayerTool.hxx"
--#include "XCAFDoc_DimTolTool.hxx"
--#include "XCAFDoc_MaterialTool.hxx"
--#include "XCAFDoc_DocumentTool.hxx"
--#include "TDF_Label.hxx"
--#include "TDF_LabelSequence.hxx"
--#include "STEPCAFControl_Reader.hxx"
--#include "STEPCAFControl_Writer.hxx"
--#include "IGESCAFControl_Reader.hxx"
--#include "IGESCAFControl_Writer.hxx"
--
--#include "IGESControl_Reader.hxx"
--#include "STEPControl_Reader.hxx"
--#include "IGESControl_Writer.hxx"
--#include "STEPControl_Writer.hxx"
--
--#include "StlAPI_Writer.hxx"
--#include "STEPControl_StepModelType.hxx"
--
--namespace netgen
--{
--#include "occmeshsurf.hpp"
--
--  extern DLL_HEADER MeshingParameters mparam;
--
--#define PROJECTION_TOLERANCE 1e-10
--
--#define ENTITYISVISIBLE 1
--#define ENTITYISHIGHLIGHTED 2
--#define ENTITYISDRAWABLE 4
--
--#define OCCGEOMETRYVISUALIZATIONNOCHANGE   0
--#define OCCGEOMETRYVISUALIZATIONFULLCHANGE 1  // Compute transformation matrices and redraw
--#define OCCGEOMETRYVISUALIZATIONHALFCHANGE 2  // Redraw
--
--
--
--   class EntityVisualizationCode
--   {
--      int code;
--
--   public:
--
--      EntityVisualizationCode()
--      {  code = ENTITYISVISIBLE + !ENTITYISHIGHLIGHTED + ENTITYISDRAWABLE;}
--
--      int IsVisible ()
--      {  return code & ENTITYISVISIBLE;}
--
--      int IsHighlighted ()
--      {  return code & ENTITYISHIGHLIGHTED;}
--
--      int IsDrawable ()
--      {  return code & ENTITYISDRAWABLE;}
--
--      void Show ()
--      {  code |= ENTITYISVISIBLE;}
--
--      void Hide ()
--      {  code &= ~ENTITYISVISIBLE;}
--
--      void Highlight ()
--      {  code |= ENTITYISHIGHLIGHTED;}
--
--      void Lowlight ()
--      {  code &= ~ENTITYISHIGHLIGHTED;}
--
--      void SetDrawable ()
--      {  code |= ENTITYISDRAWABLE;}
--
--      void SetNotDrawable ()
--      {  code &= ~ENTITYISDRAWABLE;}
--   };
--
--
--
--   class Line
--   {
--   public:
--      Point<3> p0, p1;
--
--      double Dist (Line l);
--
--      double Length ();
--   };
--
--
--
--   inline double Det3 (double a00, double a01, double a02,
--      double a10, double a11, double a12,
--      double a20, double a21, double a22)
--   {
--      return a00*a11*a22 + a01*a12*a20 + a10*a21*a02 - a20*a11*a02 - a10*a01*a22 - a21*a12*a00;
--   }
--
--
--
--
--   class OCCGeometry : public NetgenGeometry
--   {
--      Point<3> center;
--
--   public:
--      TopoDS_Shape shape;
--      TopTools_IndexedMapOfShape fmap, emap, vmap, somap, shmap, wmap;
--      Array<bool> fsingular, esingular, vsingular;
--      Box<3> boundingbox;
--
--      // Philippose - 29/01/2009
--      // OpenCascade XDE Support
--      // XCAF Handle to make the face colours available to the rest of
--      // the system
--      Handle_XCAFDoc_ColorTool face_colours;
--
--     mutable int changed;
--      Array<int> facemeshstatus;
--
--      // Philippose - 15/01/2009
--      // Maximum mesh size for a given face
--      // (Used to explicitly define mesh size limits on individual faces)
--      Array<double> face_maxh;
--      
--      // Philippose - 14/01/2010
--      // Boolean array to detect whether a face has been explicitly modified 
--      // by the user or not
--      Array<bool> face_maxh_modified;
--
--      // Philippose - 15/01/2009
--      // Indicates which faces have been selected by the user in geometry mode
--      // (Currently handles only selection of one face at a time, but an array would
--      //  help to extend this to multiple faces)
--      Array<bool> face_sel_status;
--
--      Array<EntityVisualizationCode> fvispar, evispar, vvispar;
--
--      double tolerance;
--      bool fixsmalledges;
--      bool fixspotstripfaces;
--      bool sewfaces;
--      bool makesolids;
--      bool splitpartitions;
--
--      OCCGeometry()
--      {
--         somap.Clear();
--         shmap.Clear();
--         fmap.Clear();
--         wmap.Clear();
--         emap.Clear();
--         vmap.Clear();
--      }
--
--
--     virtual void Save (string filename) const;
--
--
--      void BuildFMap();
--
--      Box<3> GetBoundingBox()
--      {  return boundingbox;}
--
--      int NrSolids()
--      {  return somap.Extent();}
--
--      // Philippose - 17/01/2009
--      // Total number of faces in the geometry
--      int NrFaces()
--      {  return fmap.Extent();}
--
--      void SetCenter()
--      {  center = boundingbox.Center();}
--
--      Point<3> Center()
--      {  return center;}
--
--      void Project (int surfi, Point<3> & p) const;
--      bool FastProject (int surfi, Point<3> & ap, double& u, double& v) const;
--
--      OCCSurface GetSurface (int surfi)
--      {
--         cout << "OCCGeometry::GetSurface using PLANESPACE" << endl;
--         return OCCSurface (TopoDS::Face(fmap(surfi)), PLANESPACE);
--      }
--
--      void CalcBoundingBox ();
--      void BuildVisualizationMesh (double deflection);
--
--      void RecursiveTopologyTree (const TopoDS_Shape & sh,
--         stringstream & str,
--         TopAbs_ShapeEnum l,
--         bool free,
--         const char * lname);
--
--      void GetTopologyTree (stringstream & str);
--
--      void PrintNrShapes ();
--
--      void CheckIrregularEntities (stringstream & str);
--
--      void SewFaces();
--
--      void MakeSolid();
--
--      void HealGeometry();
--
--      // Philippose - 15/01/2009
--      // Sets the maximum mesh size for a given face
--      // (Note: Local mesh size limited by the global max mesh size)
--      void SetFaceMaxH(int facenr, double faceh)
--      {
--         if((facenr> 0) && (facenr <= fmap.Extent()))
--         {
--         face_maxh[facenr-1] = min(mparam.maxh,faceh);
--            
--            // Philippose - 14/01/2010
--            // If the face maxh is greater than or equal to the 
--            // current global maximum, then identify the face as 
--            // not explicitly controlled by the user any more
--            if(faceh >= mparam.maxh)
--            {
--               face_maxh_modified[facenr-1] = 0;
--            }
--            else
--            {
--               face_maxh_modified[facenr-1] = 1;
--            }
--         }
--      }
--
--      // Philippose - 15/01/2009
--      // Returns the local mesh size of a given face
--      double GetFaceMaxH(int facenr)
--      {
--         if((facenr> 0) && (facenr <= fmap.Extent()))
--         {
--            return face_maxh[facenr-1];
--         }
--         else
--         {
--            return 0.0;
--         }
--      }
--      
--      // Philippose - 14/01/2010
--      // Returns the flag whether the given face 
--      // has a mesh size controlled by the user or not
--      bool GetFaceMaxhModified(int facenr)
--      {
--         return face_maxh_modified[facenr-1];
--      }
--      
--      // Philippose - 17/01/2009
--      // Returns the index of the currently selected face
--      int SelectedFace()
--      {
--         int i;
--
--         for(i = 1; i <= fmap.Extent(); i++)
--         {
--            if(face_sel_status[i-1])
--            {
--               return i;
--            }
--         }
--
--         return 0;
--      }
--
--      // Philippose - 17/01/2009
--      // Sets the currently selected face
--      void SetSelectedFace(int facenr)
--      {
--         face_sel_status = 0;
--
--         if((facenr >= 1) && (facenr <= fmap.Extent()))
--         {
--            face_sel_status[facenr-1] = 1;
--         }
--      }
--
--      void LowLightAll()
--      {
--         for (int i = 1; i <= fmap.Extent(); i++)
--            fvispar[i-1].Lowlight();
--         for (int i = 1; i <= emap.Extent(); i++)
--            evispar[i-1].Lowlight();
--         for (int i = 1; i <= vmap.Extent(); i++)
--            vvispar[i-1].Lowlight();
--      }
--
--      void GetUnmeshedFaceInfo (stringstream & str);
--      void GetNotDrawableFaces (stringstream & str);
--      bool ErrorInSurfaceMeshing ();
--
--     void WriteOCC_STL(char * filename);
--
--     virtual int GenerateMesh (Mesh*& mesh, MeshingParameters & mparam, 
--         int perfstepsstart, int perfstepsend);
--
--      virtual const Refinement & GetRefinement () const;
--   };
--
--
--
--   class OCCParameters
--   {
--   public:
--
--      /// Factor for meshing close edges 
--      double resthcloseedgefac;
--
--
--      /// Enable / Disable detection of close edges
--      int resthcloseedgeenable;
--
--
--        /// Minimum edge length to be used for dividing edges to mesh points
--        double resthminedgelen;
--
--
--        /// Enable / Disable use of the minimum edge length (by default use 1e-4)
--        int resthminedgelenenable;
--
--      /*!
--         Default Constructor for the OpenCascade
--         Mesh generation parameter set
--      */
--      OCCParameters();
--
--
--      /*!
--         Dump all the OpenCascade specific meshing parameters 
--         to console
--      */
--      void Print (ostream & ost) const;
--   };
--   
--
--   void PrintContents (OCCGeometry * geom);
--
--   OCCGeometry * LoadOCC_IGES (const char * filename);
--   OCCGeometry * LoadOCC_STEP (const char * filename);
--   OCCGeometry * LoadOCC_BREP (const char * filename);
--
--   extern OCCParameters occparam;
--
--
--   // Philippose - 31.09.2009
--   // External access to the mesh generation functions within the OCC
--   // subsystem (Not sure if this is the best way to implement this....!!)
--   extern int OCCGenerateMesh (OCCGeometry & occgeometry, Mesh*& mesh,
--                             MeshingParameters & mparam,
--                             int perfstepsstart, int perfstepsend);
--
--  extern void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh);
--
--   extern void OCCMeshSurface (OCCGeometry & geom, Mesh & mesh, int perfstepsend);
--
--   extern void OCCFindEdges (OCCGeometry & geom, Mesh & mesh);
--}
--
--#endif
--
--#endif
-+#ifndef FILE_OCCGEOM
-+#define FILE_OCCGEOM
-+
-+/* *************************************************************************/
-+/* File:   occgeom.hpp                                                     */
-+/* Author: Robert Gaisbauer                                                */
-+/* Date:   26. May  03                                                     */
-+/* *************************************************************************/
-+
-+#ifdef OCCGEOMETRY
-+
-+#include <meshing.hpp>
-+
-+#include "BRep_Tool.hxx"
-+#include "Geom_Curve.hxx"
-+#include "Geom2d_Curve.hxx"
-+#include "Geom_Surface.hxx"
-+// #include "GeomAPI_ProjectPointOnSurf.hxx"
-+// #include "GeomAPI_ProjectPointOnCurve.hxx"
-+#include "BRepTools.hxx"
-+#include "TopExp.hxx"
-+#include "BRepBuilderAPI_MakeVertex.hxx"
-+#include "BRepBuilderAPI_MakeShell.hxx"
-+#include "BRepBuilderAPI_MakeSolid.hxx"
-+#include "BRepOffsetAPI_Sewing.hxx"
-+#include "BRepLProp_SLProps.hxx"
-+#include "BRepAdaptor_Surface.hxx"
-+#include "Poly_Triangulation.hxx"
-+#include "Poly_Array1OfTriangle.hxx"
-+#include "TColgp_Array1OfPnt2d.hxx"
-+#include "Poly_Triangle.hxx"
-+#include "GProp_GProps.hxx"
-+#include "BRepGProp.hxx"
-+#include "Geom_Surface.hxx"
-+#include "TopExp.hxx"
-+#include "gp_Pnt.hxx"
-+#include "TopoDS.hxx"
-+#include "TopoDS_Solid.hxx"
-+#include "TopExp_Explorer.hxx"
-+#include "TopTools_ListIteratorOfListOfShape.hxx"
-+#include "BRep_Tool.hxx"
-+#include "Geom_Curve.hxx"
-+#include "Geom2d_Curve.hxx"
-+#include "Geom_Surface.hxx"
-+// #include "GeomAPI_ProjectPointOnSurf.hxx"
-+// #include "GeomAPI_ProjectPointOnCurve.hxx"
-+#include "TopoDS_Wire.hxx"
-+#include "BRepTools_WireExplorer.hxx"
-+#include "BRepTools.hxx"
-+#include "TopTools_IndexedMapOfShape.hxx"
-+#include "TopExp.hxx"
-+#include "BRepBuilderAPI_MakeVertex.hxx"
-+#include "BRepBuilderAPI_MakeShell.hxx"
-+#include "BRepBuilderAPI_MakeSolid.hxx"
-+#include "BRepOffsetAPI_Sewing.hxx"
-+#include "BRepLProp_CLProps.hxx"
-+#include "BRepLProp_SLProps.hxx"
-+#include "BRepAdaptor_Surface.hxx"
-+#include "BRepAdaptor_Curve.hxx"
-+#include "Poly_Triangulation.hxx"
-+#include "Poly_Array1OfTriangle.hxx"
-+#include "TColgp_Array1OfPnt2d.hxx"
-+#include "Poly_Triangle.hxx"
-+#include "GProp_GProps.hxx"
-+#include "BRepGProp.hxx"
-+#include "TopoDS_Shape.hxx"
-+#include "TopoDS_Face.hxx"
-+#include "IGESToBRep_Reader.hxx"
-+#include "Interface_Static.hxx"
-+#include "GeomAPI_ExtremaCurveCurve.hxx"
-+//#include "Standard_ErrorHandler.hxx"
-+#include "Standard_Failure.hxx"
-+#include "ShapeUpgrade_ShellSewing.hxx"
-+#include "ShapeFix_Shape.hxx"
-+#include "ShapeFix_Wireframe.hxx"
-+#include <Standard_Version.hxx>
-+#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) <= 0x060702
-+// porting to OCCT6.7.3
-+#include "BRepMesh.hxx"
-+#endif
-+#include "BRepMesh_IncrementalMesh.hxx"
-+#include "BRepBndLib.hxx"
-+#include "Bnd_Box.hxx"
-+#include "ShapeAnalysis.hxx"
-+#include "ShapeBuild_ReShape.hxx"
-+
-+// -- Optimization: to use cached projector and classifier
-+#include <NCollection_DataMap.hxx>
-+class ShapeAnalysis_Surface;
-+class BRepTopAdaptor_FClass2d;
-+
-+// Philippose - 29/01/2009
-+// OpenCascade XDE Support
-+// Include support for OpenCascade XDE Features
-+#include "TDocStd_Document.hxx"
-+#include "Quantity_Color.hxx"
-+#include "XCAFApp_Application.hxx"
-+#include "XCAFDoc_ShapeTool.hxx"
-+#include "XCAFDoc_Color.hxx"
-+#include "XCAFDoc_ColorTool.hxx"
-+#include "XCAFDoc_ColorType.hxx"
-+#include "XCAFDoc_LayerTool.hxx"
-+#include "XCAFDoc_DimTolTool.hxx"
-+#include "XCAFDoc_MaterialTool.hxx"
-+#include "XCAFDoc_DocumentTool.hxx"
-+#include "TDF_Label.hxx"
-+#include "TDF_LabelSequence.hxx"
-+#include "STEPCAFControl_Reader.hxx"
-+#include "STEPCAFControl_Writer.hxx"
-+#include "IGESCAFControl_Reader.hxx"
-+#include "IGESCAFControl_Writer.hxx"
-+
-+#include "IGESControl_Reader.hxx"
-+#include "STEPControl_Reader.hxx"
-+#include "IGESControl_Writer.hxx"
-+#include "STEPControl_Writer.hxx"
-+
-+#include "StlAPI_Writer.hxx"
-+#include "STEPControl_StepModelType.hxx"
-+
-+namespace netgen
-+{
-+#include "occmeshsurf.hpp"
-+
-+  extern DLL_HEADER MeshingParameters mparam;
-+
-+#define PROJECTION_TOLERANCE 1e-10
-+
-+#define ENTITYISVISIBLE 1
-+#define ENTITYISHIGHLIGHTED 2
-+#define ENTITYISDRAWABLE 4
-+
-+#define OCCGEOMETRYVISUALIZATIONNOCHANGE   0
-+#define OCCGEOMETRYVISUALIZATIONFULLCHANGE 1  // Compute transformation matrices and redraw
-+#define OCCGEOMETRYVISUALIZATIONHALFCHANGE 2  // Redraw
-+
-+
-+
-+   class EntityVisualizationCode
-+   {
-+      int code;
-+
-+   public:
-+
-+      EntityVisualizationCode()
-+      {  code = ENTITYISVISIBLE + !ENTITYISHIGHLIGHTED + ENTITYISDRAWABLE;}
-+
-+      int IsVisible ()
-+      {  return code & ENTITYISVISIBLE;}
-+
-+      int IsHighlighted ()
-+      {  return code & ENTITYISHIGHLIGHTED;}
-+
-+      int IsDrawable ()
-+      {  return code & ENTITYISDRAWABLE;}
-+
-+      void Show ()
-+      {  code |= ENTITYISVISIBLE;}
-+
-+      void Hide ()
-+      {  code &= ~ENTITYISVISIBLE;}
-+
-+      void Highlight ()
-+      {  code |= ENTITYISHIGHLIGHTED;}
-+
-+      void Lowlight ()
-+      {  code &= ~ENTITYISHIGHLIGHTED;}
-+
-+      void SetDrawable ()
-+      {  code |= ENTITYISDRAWABLE;}
-+
-+      void SetNotDrawable ()
-+      {  code &= ~ENTITYISDRAWABLE;}
-+   };
-+
-+
-+
-+   class Line
-+   {
-+   public:
-+      Point<3> p0, p1;
-+
-+      double Dist (Line l);
-+
-+      double Length ();
-+   };
-+
-+
-+
-+   inline double Det3 (double a00, double a01, double a02,
-+      double a10, double a11, double a12,
-+      double a20, double a21, double a22)
-+   {
-+      return a00*a11*a22 + a01*a12*a20 + a10*a21*a02 - a20*a11*a02 - a10*a01*a22 - a21*a12*a00;
-+   }
-+
-+
-+
-+
-+   class OCCGeometry : public NetgenGeometry
-+   {
-+      Point<3> center;
-+      // -- Optimization: to use cached projector and classifier
-+      mutable NCollection_DataMap<int,Handle(ShapeAnalysis_Surface)> fprjmap;
-+      mutable NCollection_DataMap<int,BRepTopAdaptor_FClass2d*> fclsmap;
-+
-+   public:
-+      TopoDS_Shape shape;
-+      TopTools_IndexedMapOfShape fmap, emap, vmap, somap, shmap, wmap;
-+      Array<bool> fsingular, esingular, vsingular;
-+      Box<3> boundingbox;
-+
-+      // Philippose - 29/01/2009
-+      // OpenCascade XDE Support
-+      // XCAF Handle to make the face colours available to the rest of
-+      // the system
-+      Handle(XCAFDoc_ColorTool) face_colours;
-+
-+     mutable int changed;
-+      Array<int> facemeshstatus;
-+
-+      // Philippose - 15/01/2009
-+      // Maximum mesh size for a given face
-+      // (Used to explicitly define mesh size limits on individual faces)
-+      Array<double> face_maxh;
-+
-+      // Philippose - 14/01/2010
-+      // Boolean array to detect whether a face has been explicitly modified
-+      // by the user or not
-+      Array<bool> face_maxh_modified;
-+
-+      // Philippose - 15/01/2009
-+      // Indicates which faces have been selected by the user in geometry mode
-+      // (Currently handles only selection of one face at a time, but an array would
-+      //  help to extend this to multiple faces)
-+      Array<bool> face_sel_status;
-+
-+      Array<EntityVisualizationCode> fvispar, evispar, vvispar;
-+
-+      double tolerance;
-+      bool fixsmalledges;
-+      bool fixspotstripfaces;
-+      bool sewfaces;
-+      bool makesolids;
-+      bool splitpartitions;
-+
-+      OCCGeometry()
-+      {
-+         somap.Clear();
-+         shmap.Clear();
-+         fmap.Clear();
-+         wmap.Clear();
-+         emap.Clear();
-+         vmap.Clear();
-+      }
-+
-+
-+     virtual void Save (string filename) const;
-+
-+
-+      ~OCCGeometry();      // -- to free cached projector and classifier
-+
-+      void BuildFMap();
-+
-+      Box<3> GetBoundingBox()
-+      {  return boundingbox;}
-+
-+      int NrSolids()
-+      {  return somap.Extent();}
-+
-+      // Philippose - 17/01/2009
-+      // Total number of faces in the geometry
-+      int NrFaces()
-+      {  return fmap.Extent();}
-+
-+      void SetCenter()
-+      {  center = boundingbox.Center();}
-+
-+      Point<3> Center()
-+      {  return center;}
-+
-+      // void Project (int surfi, Point<3> & p) const; -- optimization
-+      bool Project (int surfi, Point<3> & p, double& u, double& v) const;
-+      bool FastProject (int surfi, Point<3> & ap, double& u, double& v) const;
-+
-+      // -- Optimization: to use cached projector and classifier
-+      void GetFaceTools(int surfi, Handle(ShapeAnalysis_Surface)& proj,
-+                        BRepTopAdaptor_FClass2d*& cls) const;
-+
-+      OCCSurface GetSurface (int surfi)
-+      {
-+         cout << "OCCGeometry::GetSurface using PLANESPACE" << endl;
-+         return OCCSurface (TopoDS::Face(fmap(surfi)), PLANESPACE);
-+      }
-+
-+      void CalcBoundingBox ();
-+      void BuildVisualizationMesh (double deflection);
-+
-+      void RecursiveTopologyTree (const TopoDS_Shape & sh,
-+         stringstream & str,
-+         TopAbs_ShapeEnum l,
-+         bool free,
-+         const char * lname);
-+
-+      void GetTopologyTree (stringstream & str);
-+
-+      void PrintNrShapes ();
-+
-+      void CheckIrregularEntities (stringstream & str);
-+
-+      void SewFaces();
-+
-+      void MakeSolid();
-+
-+      void HealGeometry();
-+
-+      // Philippose - 15/01/2009
-+      // Sets the maximum mesh size for a given face
-+      // (Note: Local mesh size limited by the global max mesh size)
-+      void SetFaceMaxH(int facenr, double faceh)
-+      {
-+         if((facenr> 0) && (facenr <= fmap.Extent()))
-+         {
-+         face_maxh[facenr-1] = min(mparam.maxh,faceh);
-+
-+            // Philippose - 14/01/2010
-+            // If the face maxh is greater than or equal to the
-+            // current global maximum, then identify the face as
-+            // not explicitly controlled by the user any more
-+            if(faceh >= mparam.maxh)
-+            {
-+               face_maxh_modified[facenr-1] = 0;
-+            }
-+            else
-+            {
-+               face_maxh_modified[facenr-1] = 1;
-+            }
-+         }
-+      }
-+
-+      // Philippose - 15/01/2009
-+      // Returns the local mesh size of a given face
-+      double GetFaceMaxH(int facenr)
-+      {
-+         if((facenr> 0) && (facenr <= fmap.Extent()))
-+         {
-+            return face_maxh[facenr-1];
-+         }
-+         else
-+         {
-+            return 0.0;
-+         }
-+      }
-+
-+      // Philippose - 14/01/2010
-+      // Returns the flag whether the given face
-+      // has a mesh size controlled by the user or not
-+      bool GetFaceMaxhModified(int facenr)
-+      {
-+         return face_maxh_modified[facenr-1];
-+      }
-+
-+      // Philippose - 17/01/2009
-+      // Returns the index of the currently selected face
-+      int SelectedFace()
-+      {
-+         int i;
-+
-+         for(i = 1; i <= fmap.Extent(); i++)
-+         {
-+            if(face_sel_status[i-1])
-+            {
-+               return i;
-+            }
-+         }
-+
-+         return 0;
-+      }
-+
-+      // Philippose - 17/01/2009
-+      // Sets the currently selected face
-+      void SetSelectedFace(int facenr)
-+      {
-+         face_sel_status = 0;
-+
-+         if((facenr >= 1) && (facenr <= fmap.Extent()))
-+         {
-+            face_sel_status[facenr-1] = 1;
-+         }
-+      }
-+
-+      void LowLightAll()
-+      {
-+         for (int i = 1; i <= fmap.Extent(); i++)
-+            fvispar[i-1].Lowlight();
-+         for (int i = 1; i <= emap.Extent(); i++)
-+            evispar[i-1].Lowlight();
-+         for (int i = 1; i <= vmap.Extent(); i++)
-+            vvispar[i-1].Lowlight();
-+      }
-+
-+      void GetUnmeshedFaceInfo (stringstream & str);
-+      void GetNotDrawableFaces (stringstream & str);
-+      bool ErrorInSurfaceMeshing ();
-+
-+     void WriteOCC_STL(char * filename);
-+
-+     virtual int GenerateMesh (Mesh*& mesh, MeshingParameters & mparam,
-+         int perfstepsstart, int perfstepsend);
-+
-+      virtual const Refinement & GetRefinement () const;
-+   };
-+
-+
-+
-+   class OCCParameters
-+   {
-+   public:
-+
-+      /// Factor for meshing close edges
-+      double resthcloseedgefac;
-+
-+
-+      /// Enable / Disable detection of close edges
-+      int resthcloseedgeenable;
-+
-+
-+        /// Minimum edge length to be used for dividing edges to mesh points
-+        double resthminedgelen;
-+
-+
-+        /// Enable / Disable use of the minimum edge length (by default use 1e-4)
-+        int resthminedgelenenable;
-+
-+      /*!
-+         Default Constructor for the OpenCascade
-+         Mesh generation parameter set
-+      */
-+      OCCParameters();
-+
-+
-+      /*!
-+         Dump all the OpenCascade specific meshing parameters
-+         to console
-+      */
-+      void Print (ostream & ost) const;
-+   };
-+
-+
-+   void PrintContents (OCCGeometry * geom);
-+
-+   OCCGeometry * LoadOCC_IGES (const char * filename);
-+   OCCGeometry * LoadOCC_STEP (const char * filename);
-+   OCCGeometry * LoadOCC_BREP (const char * filename);
-+
-+   extern OCCParameters occparam;
-+
-+
-+   // Philippose - 31.09.2009
-+   // External access to the mesh generation functions within the OCC
-+   // subsystem (Not sure if this is the best way to implement this....!!)
-+   extern int OCCGenerateMesh (OCCGeometry & occgeometry, Mesh*& mesh,
-+                             MeshingParameters & mparam,
-+                             int perfstepsstart, int perfstepsend);
-+
-+  extern void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh);
-+
-+   extern void OCCMeshSurface (OCCGeometry & geom, Mesh & mesh, int perfstepsend);
-+
-+   extern void OCCFindEdges (OCCGeometry & geom, Mesh & mesh);
-+}
-+
-+#endif
-+
-+#endif
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occmeshsurf.cpp netgen-5.3.1_SRC_modif/libsrc/occ/occmeshsurf.cpp
---- netgen-5.3.1_SRC_orig/libsrc/occ/occmeshsurf.cpp   2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/occmeshsurf.cpp  2018-03-01 15:41:03.997157610 +0300
-@@ -6,6 +6,7 @@
- #include <meshing.hpp>
- #include <GeomLProp_SLProps.hxx>
- #include <ShapeAnalysis_Surface.hxx>
-+#include <GeomAPI_ProjectPointOnCurve.hxx> // -- moved here from occgeom.hpp
- namespace netgen
-@@ -96,13 +97,16 @@
-       n.Normalize();
-       }
--    else
-+    else if ( lprop.IsNormalDefined() )
-       {
-       n(0)=lprop.Normal().X();
-       n(1)=lprop.Normal().Y();
-       n(2)=lprop.Normal().Z();
-       }
--
-+    else
-+      {
-+        n = 0;
-+      }
-     if(glob_testout)
-       {
-       (*testout) << "u " << geominfo.u << " v " << geominfo.v 
-@@ -434,23 +438,33 @@
-   void MeshOptimize2dOCCSurfaces :: ProjectPoint (INDEX surfind, Point<3> & p) const
-   {
--    geometry.Project (surfind, p);
-+    // geometry.Project (surfind, p); -- signature of Project() changed for optimization
-+    double u, v;
-+    geometry.Project (surfind, p, u, v);
-   }
-   int MeshOptimize2dOCCSurfaces :: ProjectPointGI (INDEX surfind, Point<3> & p, PointGeomInfo & gi) const
-   {
--    double u = gi.u;
--    double v = gi.v;
-+    //double u = gi.u;
-+    //double v = gi.v;
-     Point<3> hp = p;
--    if (geometry.FastProject (surfind, hp, u, v))
--      {
-+    // -- u and v are computed by FastProject() and Project(), no need to call CalcPointGeomInfo()
-+    // if (geometry.FastProject (surfind, hp, u, v))
-+    //   {
-+    //    p = hp;
-+    //    return 1;
-+    //   }
-+    // ProjectPoint (surfind, p); 
-+    // return CalcPointGeomInfo (surfind, gi, p); 
-+    bool ok;
-+    if (gi.trignum > 0)
-+      ok = geometry.FastProject (surfind, hp, gi.u, gi.v);
-+    else
-+      ok = geometry.Project (surfind, hp, gi.u, gi.v);
-       p = hp;
--      return 1;
--      }
--    ProjectPoint (surfind, p); 
--    return CalcPointGeomInfo (surfind, gi, p); 
-+    return ok;
-   }
-@@ -680,7 +694,8 @@
-       if (!geometry.FastProject (surfi, hnewp, u, v))
-         {
-         //  cout << "Fast projection to surface fails! Using OCC projection" << endl;
--          geometry.Project (surfi, hnewp);
-+          // geometry.Project (surfi, hnewp); -- Project() changed for optimization
-+          geometry.Project (surfi, hnewp, u, v);
-         }
-       newgi.trignum = 1;
-@@ -689,7 +704,7 @@
-       }
-   
-     newp = hnewp;
--  }
-+  }//; -- to compile with -Wall -pedantic
-   void OCCRefinementSurfaces :: 
-@@ -708,14 +723,18 @@
-     hnewp = Point<3> (pnt.X(), pnt.Y(), pnt.Z());
-     newp = hnewp;
-     newgi = ap1;
--  };
-+  }//; -- to compile with -Wall -pedantic
-   void OCCRefinementSurfaces :: ProjectToSurface (Point<3> & p, int surfi) const
-   {
-     if (surfi > 0)
--      geometry.Project (surfi, p);
--  };
-+      //geometry.Project (surfi, p);
-+    {
-+      double u, v;
-+      geometry.Project (surfi, p, u, v);
-+    }
-+  }//; -- to compile with -Wall -pedantic
-   void OCCRefinementSurfaces :: ProjectToSurface (Point<3> & p, int surfi, PointGeomInfo & gi) const
-   {
-@@ -723,9 +742,10 @@
-       if (!geometry.FastProject (surfi, p, gi.u, gi.v))
-       {
-         cout << "Fast projection to surface fails! Using OCC projection" << endl;
--        geometry.Project (surfi, p);
-+          double u, v;
-+        geometry.Project (surfi, p, u, v);
-+      }
-       }
--  };
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occpkg.cpp netgen-5.3.1_SRC_modif/libsrc/occ/occpkg.cpp
---- netgen-5.3.1_SRC_orig/libsrc/occ/occpkg.cpp        2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/occpkg.cpp       2018-03-01 15:45:08.687877681 +0300
-@@ -1,1024 +1,1024 @@
--#ifdef OCCGEOMETRY
--
--#include <mystdlib.h>
--#include <myadt.hpp>
--#include <linalg.hpp>
--#include <csg.hpp>
--#include <occgeom.hpp>
--
--
--#include <incvis.hpp>
--#include <visual.hpp>
--
--#include "../meshing/bcfunctions.hpp"
--
--#include "vsocc.hpp"
--
--
--extern "C" int Ng_occ_Init (Tcl_Interp * interp);
--
--
--
--namespace netgen
--{
--  extern AutoPtr<NetgenGeometry> ng_geometry;
--  extern AutoPtr<Mesh> mesh;
-- 
--  char * err_needsoccgeometry = (char*) "This operation needs an OCC geometry";
--  extern char * err_needsmesh;
--  extern char * err_jobrunning;
--
--
--
--                          
--  class OCCGeometryRegister : public GeometryRegister
--  {
--  public:
--    virtual NetgenGeometry * Load (string filename) const;
--    virtual VisualScene * GetVisualScene (const NetgenGeometry * geom) const;
--
--    virtual void SetParameters (Tcl_Interp * interp) 
--    {
--      occparam.resthcloseedgefac =
--      atof (Tcl_GetVar (interp, "::stloptions.resthcloseedgefac", 0));
--      occparam.resthcloseedgeenable =
--      atoi (Tcl_GetVar (interp, "::stloptions.resthcloseedgeenable", 0));
--        occparam.resthminedgelen = 
--      atof (Tcl_GetVar (interp, "::stloptions.resthminedgelen", 0));
--        occparam.resthminedgelenenable = 
--      atoi (Tcl_GetVar (interp, "::stloptions.resthminedgelenenable", 0));
--    }
--  };
--
--
--
--
--  int Ng_SetOCCVisParameters  (ClientData clientData,
--                             Tcl_Interp * interp,
--                             int argc, tcl_const char *argv[])
--  {
--#ifdef OCCGEOMETRY
--    int showvolume;
--      OCCGeometry * occgeometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
--
--    showvolume = atoi (Tcl_GetVar (interp, "::occoptions.showvolumenr", 0));
--
--    if (occgeometry)
--      if (showvolume != vispar.occshowvolumenr)
--      {
--        if (showvolume < 0 || showvolume > occgeometry->NrSolids())
--          {
--            char buf[20];
--            sprintf (buf, "%5i", vispar.occshowvolumenr);
--            Tcl_SetVar (interp, "::occoptions.showvolumenr", buf, 0);
--          }
--        else
--          {
--            vispar.occshowvolumenr = showvolume;
--            if (occgeometry)
--              occgeometry -> changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--          }
--      }
--    
--    int temp;
--
--    temp = atoi (Tcl_GetVar (interp, "::occoptions.visproblemfaces", 0));
--
--    if ((bool) temp != vispar.occvisproblemfaces)
--      {
--      vispar.occvisproblemfaces = temp;
--      if (occgeometry)
--        occgeometry -> changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--      }
--
--    vispar.occshowsurfaces = atoi (Tcl_GetVar (interp, "::occoptions.showsurfaces", 0));
--    vispar.occshowedges = atoi (Tcl_GetVar (interp, "::occoptions.showedges", 0));
--    vispar.occzoomtohighlightedentity = atoi (Tcl_GetVar (interp, "::occoptions.zoomtohighlightedentity", 0));
--    vispar.occdeflection = pow(10.0,-1-atof (Tcl_GetVar (interp, "::occoptions.deflection", 0)));
--
--#endif
--
--
--
--
--
--#ifdef ACIS
--    vispar.ACISshowfaces = atoi (Tcl_GetVar (interp, "::occoptions.showsurfaces", 0));
--    vispar.ACISshowedges = atoi (Tcl_GetVar (interp, "::occoptions.showedges", 0));
--    vispar.ACISshowsolidnr = atoi (Tcl_GetVar (interp, "::occoptions.showsolidnr", 0));
--    vispar.ACISshowsolidnr2 = atoi (Tcl_GetVar (interp, "::occoptions.showsolidnr2", 0));
--
--#endif
--
--
--
--    return TCL_OK;
--  }  
--
--
--
--
--  int Ng_GetOCCData (ClientData clientData,
--                   Tcl_Interp * interp,
--                   int argc, tcl_const char *argv[])
--  {
--#ifdef OCCGEOMETRY
--    OCCGeometry * occgeometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
--
--    static char buf[1000];
--    buf[0] = 0;
--    stringstream str;
--
--    if (argc >= 2)
--      {
--      if (strcmp (argv[1], "getentities") == 0)
--        {
--          if (occgeometry)
--            {
--              occgeometry->GetTopologyTree(str);
--            }
--        }
--      }
--
--    Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
--
--#endif
--    return TCL_OK;
--  }
--
--  
--
--  int Ng_OCCCommand (ClientData clientData,
--                   Tcl_Interp * interp,
--                   int argc, tcl_const char *argv[])
--  {
--#ifdef OCCGEOMETRY
--    OCCGeometry * occgeometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
--
--    stringstream str;
--    if (argc >= 2)
--      {
--      if (strcmp (argv[1], "isoccgeometryloaded") == 0)
--        {
--          if (occgeometry)
--            str << "1 " << flush;
--          else str << "0 " << flush;
--
--          Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
--        }
--      if (occgeometry)
--        {
--          if (strcmp (argv[1], "buildvisualizationmesh") == 0)
--            {
--              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
--              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--            }
--          if (strcmp (argv[1], "mesherror") == 0)
--            {
--              if (occgeometry->ErrorInSurfaceMeshing())
--                str << 1;
--              else
--                str << 0;
--            }
--          if (strcmp (argv[1], "sewfaces") == 0)
--            {
--              cout << "Before operation:" << endl;
--              occgeometry->PrintNrShapes();
--              occgeometry->SewFaces();
--              occgeometry->BuildFMap();
--              cout << endl << "After operation:" << endl;
--              occgeometry->PrintNrShapes();
--              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
--              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--            }
--          if (strcmp (argv[1], "makesolid") == 0)
--            {
--              cout << "Before operation:" << endl;
--              occgeometry->PrintNrShapes();
--              occgeometry->MakeSolid();
--              occgeometry->BuildFMap();
--              cout << endl << "After operation:" << endl;
--              occgeometry->PrintNrShapes();
--              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
--              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--            }
--          if (strcmp (argv[1], "upgradetopology") == 0)
--            {
--              cout << "Before operation:" << endl;
--              occgeometry->PrintNrShapes();
--              occgeometry->SewFaces();
--              occgeometry->MakeSolid();
--              occgeometry->BuildFMap();
--              cout << endl << "After operation:" << endl;
--              occgeometry->PrintNrShapes();
--              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
--              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--            }
--          if (strcmp (argv[1], "shapehealing") == 0)
--            {
--              occgeometry->tolerance =
--                atof (Tcl_GetVar (interp, "::occoptions.tolerance", 0));
--              occgeometry->fixsmalledges =
--                atoi (Tcl_GetVar (interp, "::occoptions.fixsmalledges", 0));
--              occgeometry->fixspotstripfaces =
--                atoi (Tcl_GetVar (interp, "::occoptions.fixspotstripfaces", 0));
--              occgeometry->sewfaces =
--                atoi (Tcl_GetVar (interp, "::occoptions.sewfaces", 0));
--              occgeometry->makesolids =
--                atoi (Tcl_GetVar (interp, "::occoptions.makesolids", 0));
--              occgeometry->splitpartitions =
--                atoi (Tcl_GetVar (interp, "::occoptions.splitpartitions", 0));
--
--              //            cout << "Before operation:" << endl;
--              //            occgeometry->PrintNrShapes();
--              occgeometry->HealGeometry();
--              occgeometry->BuildFMap();
--              //            cout << endl << "After operation:" << endl;
--              //            occgeometry->PrintNrShapes();
--              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
--              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--            }
--
--
--          if (strcmp (argv[1], "highlightentity") == 0)
--            {
--              if (strcmp (argv[2], "Face") == 0)
--                {
--                  int nr = atoi (argv[3]);
--                  occgeometry->LowLightAll();
--
--                  occgeometry->fvispar[nr-1].Highlight();
--                  if (vispar.occzoomtohighlightedentity)
--                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
--                  else
--                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--                }
--              if (strcmp (argv[2], "Shell") == 0)
--                {
--                  int nr = atoi (argv[3]);
--                  occgeometry->LowLightAll();
--
--                  TopExp_Explorer exp;
--                  for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE);
--                       exp.More(); exp.Next())
--                    {
--                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
--                      occgeometry->fvispar[i-1].Highlight();
--                    }
--                  if (vispar.occzoomtohighlightedentity)
--                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
--                  else
--                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--                }
--              if (strcmp (argv[2], "Solid") == 0)
--                {
--                  int nr = atoi (argv[3]);
--                  occgeometry->LowLightAll();
--
--                  TopExp_Explorer exp;
--                  for (exp.Init (occgeometry->somap(nr), TopAbs_FACE);
--                       exp.More(); exp.Next())
--                    {
--                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
--                      occgeometry->fvispar[i-1].Highlight();
--                    }
--                  if (vispar.occzoomtohighlightedentity)
--                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
--                  else
--                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--                }
--              /*
--                if (strcmp (argv[2], "CompSolid") == 0)
--                {
--                int nr = atoi (argv[3]);
--                occgeometry->LowLightAll();
--
--                TopExp_Explorer exp;
--                for (exp.Init (occgeometry->cmap(nr), TopAbs_FACE);
--                exp.More(); exp.Next())
--                {
--                int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
--                occgeometry->fvispar[i-1].Highlight();
--                }
--                occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--                }
--              */
--
--              if (strcmp (argv[2], "Edge") == 0)
--                {
--                  int nr = atoi (argv[3]);
--                  occgeometry->LowLightAll();
--
--                  occgeometry->evispar[nr-1].Highlight();
--                  if (vispar.occzoomtohighlightedentity)
--                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
--                  else
--                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--                }
--              if (strcmp (argv[2], "Wire") == 0)
--                {
--                  int nr = atoi (argv[3]);
--                  occgeometry->LowLightAll();
--
--                  TopExp_Explorer exp;
--                  for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE);
--                       exp.More(); exp.Next())
--                    {
--                      int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current()));
--                      occgeometry->evispar[i-1].Highlight();
--                    }
--                  if (vispar.occzoomtohighlightedentity)
--                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
--                  else
--                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--                }
--
--              if (strcmp (argv[2], "Vertex") == 0)
--                {
--                  int nr = atoi (argv[3]);
--                  occgeometry->LowLightAll();
--
--                  occgeometry->vvispar[nr-1].Highlight();
--                  if (vispar.occzoomtohighlightedentity)
--                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
--                  else
--                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--                }
--
--            }
--
--
--
--          if (strcmp (argv[1], "show") == 0)
--            {
--              int nr = atoi (argv[3]);
--              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--
--              if (strcmp (argv[2], "Face") == 0)
--                {
--                  occgeometry->fvispar[nr-1].Show();
--                }
--              if (strcmp (argv[2], "Shell") == 0)
--                {
--                  TopExp_Explorer exp;
--                  for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE);
--                       exp.More(); exp.Next())
--                    {
--                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
--                      occgeometry->fvispar[i-1].Show();
--                    }
--                }
--              if (strcmp (argv[2], "Solid") == 0)
--                {
--                  TopExp_Explorer exp;
--                  for (exp.Init (occgeometry->somap(nr), TopAbs_FACE);
--                       exp.More(); exp.Next())
--                    {
--                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
--                      occgeometry->fvispar[i-1].Show();
--                    }
--                }
--              if (strcmp (argv[2], "Edge") == 0)
--                {
--                  occgeometry->evispar[nr-1].Show();
--                }
--              if (strcmp (argv[2], "Wire") == 0)
--                {
--                  TopExp_Explorer exp;
--                  for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE);
--                       exp.More(); exp.Next())
--                    {
--                      int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current()));
--                      occgeometry->evispar[i-1].Show();
--                    }
--                }
--            }
--
--
--          if (strcmp (argv[1], "hide") == 0)
--            {
--              int nr = atoi (argv[3]);
--              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--
--              if (strcmp (argv[2], "Face") == 0)
--                {
--                  occgeometry->fvispar[nr-1].Hide();
--                }
--              if (strcmp (argv[2], "Shell") == 0)
--                {
--                  TopExp_Explorer exp;
--                  for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE);
--                       exp.More(); exp.Next())
--                    {
--                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
--                      occgeometry->fvispar[i-1].Hide();
--                    }
--                }
--              if (strcmp (argv[2], "Solid") == 0)
--                {
--                  TopExp_Explorer exp;
--                  for (exp.Init (occgeometry->somap(nr), TopAbs_FACE);
--                       exp.More(); exp.Next())
--                    {
--                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
--                      occgeometry->fvispar[i-1].Hide();
--                    }
--                }
--              if (strcmp (argv[2], "Edge") == 0)
--                {
--                  occgeometry->evispar[nr-1].Hide();
--                }
--              if (strcmp (argv[2], "Wire") == 0)
--                {
--                  TopExp_Explorer exp;
--                  for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE);
--                       exp.More(); exp.Next())
--                    {
--                      int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current()));
--                      occgeometry->evispar[i-1].Hide();
--                    }
--                }
--            }
--
--
--
--          if (strcmp (argv[1], "findsmallentities") == 0)
--            {
--              stringstream str("");
--              occgeometry->CheckIrregularEntities(str);
--              Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
--            }
--          if (strcmp (argv[1], "getunmeshedfaceinfo") == 0)
--            {
--              occgeometry->GetUnmeshedFaceInfo(str);
--              Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
--            }
--          if (strcmp (argv[1], "getnotdrawablefaces") == 0)
--            {
--              occgeometry->GetNotDrawableFaces(str);
--              Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
--            }
--          if (strcmp (argv[1], "redrawstatus") == 0)
--            {
--              int i = atoi (argv[2]);
--              occgeometry->changed = i;
--            }
--          if (strcmp (argv[1], "swaporientation") == 0)
--            {
--              IGESControl_Writer writer("millimeters", 1);
--              writer.AddShape (occgeometry->shape);
--              writer.Write ("1.igs");
--              /*
--                int nr = atoi (argv[3]);
--
--                //          const_cast<TopoDS_Shape&> (occgeometry->fmap(nr)).Reverse();
--
--                Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
--                rebuild->Apply(occgeometry->shape);
--
--                TopoDS_Shape sh;
--
--                //          if (strcmp (argv[2], "CompSolid") == 0) sh = occgeometry->cmap(nr);
--                if (strcmp (argv[2], "Solid") == 0) sh = occgeometry->somap(nr);
--                if (strcmp (argv[2], "Shell") == 0) sh = occgeometry->shmap(nr);
--                if (strcmp (argv[2], "Face") == 0) sh = occgeometry->fmap(nr);
--                if (strcmp (argv[2], "Wire") == 0) sh = occgeometry->wmap(nr);
--                if (strcmp (argv[2], "Edge") == 0) sh = occgeometry->emap(nr);
--
--                rebuild->Replace(sh, sh.Reversed(), Standard_False);
--
--                TopoDS_Shape newshape = rebuild->Apply(occgeometry->shape, TopAbs_SHELL, 1);
--                occgeometry->shape = newshape;
--
--                occgeometry->BuildFMap();
--                occgeometry->BuildVisualizationMesh();
--                occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--              */
--            }
--          if (strcmp (argv[1], "marksingular") == 0)
--            {
--              int nr = atoi (argv[3]);
--              cout << "marking " << argv[2] << " " << nr << endl;
--              char buf[2]; buf[0] = '0'; buf[1] = 0;
--              bool sing = false;
--              if (strcmp (argv[2], "Face") == 0)
--                sing = occgeometry->fsingular[nr-1] = !occgeometry->fsingular[nr-1];
--              if (strcmp (argv[2], "Edge") == 0)
--                sing = occgeometry->esingular[nr-1] = !occgeometry->esingular[nr-1];
--              if (strcmp (argv[2], "Vertex") == 0)
--                sing = occgeometry->vsingular[nr-1] = !occgeometry->vsingular[nr-1];
--
--              if (sing) buf[0] = '1';
--
--                Tcl_SetVar (interp, "::ismarkedsingular", buf, 0);
--
--              stringstream str;
--              occgeometry->GetTopologyTree (str);
--
--              char* cstr = (char*)str.str().c_str();
--
--              (*testout) << cstr << endl;
--
--              char helpstr[1000];
--
--              while (strchr (cstr, '}'))
--                {
--                  strncpy (helpstr, cstr+2, strlen(strchr(cstr+2, '}')));
--                  (*testout) << "***" << cstr << "***" << endl;
--                  cstr = strchr (cstr, '}');
--                } 
--            }
--        }
--      }
--
--#endif
--    return TCL_OK;
--  }
--
--
--
--#ifdef OCCGEOMETRY
--  /*
--  void OCCConstructGeometry (OCCGeometry & geom);
--
--  int Ng_OCCConstruction (ClientData clientData,
--                        Tcl_Interp * interp,
--                        int argc, tcl_const char *argv[])
--  {
--    if (occgeometry)
--      OCCConstructGeometry (*occgeometry);
--    return TCL_OK;
--  }
--  */
--#endif
--
--
--
--
--  // Philippose - 30/01/2009
--  // TCL interface function for the Local Face Mesh size
--  // definition functionality
--  int Ng_SurfaceMeshSize (ClientData clientData,
--                                  Tcl_Interp * interp,
--                                  int argc, tcl_const char *argv[])
--  {
--#ifdef OCCGEOMETRY
--
--    static char buf[100];
--
--    if (argc < 2)
--    {
--         Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize needs arguments", TCL_STATIC);
--         return TCL_ERROR;
--    }
--
--    OCCGeometry * occgeometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
--    if (!occgeometry)
--    {
--      Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize currently supports only OCC (STEP/IGES) Files", TCL_STATIC);
--         return TCL_ERROR;
--    }
--
--    // Update the face mesh sizes to reflect the global maximum mesh size
--    for(int i = 1; i <= occgeometry->NrFaces(); i++)
--    {
--           if(!occgeometry->GetFaceMaxhModified(i))
--           {
--              occgeometry->SetFaceMaxH(i, mparam.maxh);
--           }   
--    }
--
--    if (strcmp (argv[1], "setsurfms") == 0)
--    {
--         int facenr = atoi (argv[2]);
--         double surfms = atof (argv[3]);
--         if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces())
--           occgeometry->SetFaceMaxH(facenr, surfms);
--
--    }
--
--    if (strcmp (argv[1], "setall") == 0)
--    {
--         double surfms = atof (argv[2]);
--         if (occgeometry)
--         {
--           int nrFaces = occgeometry->NrFaces();
--           for (int i = 1; i <= nrFaces; i++)
--            occgeometry->SetFaceMaxH(i, surfms);
--         }
--    }
--
--    if (strcmp (argv[1], "getsurfms") == 0)
--    {
--         int facenr = atoi (argv[2]);
--         if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces())
--         {
--           sprintf (buf, "%5.2f", occgeometry->GetFaceMaxH(facenr));
--         }
--         else
--         {
--           sprintf (buf, "%5.2f", mparam.maxh);
--         }
--         Tcl_SetResult (interp, buf, TCL_STATIC);
--    }
--
--    if (strcmp (argv[1], "getactive") == 0)
--    {
--         sprintf (buf, "%d", occgeometry->SelectedFace());
--         Tcl_SetResult (interp, buf, TCL_STATIC);
--    }
--
--    if (strcmp (argv[1], "setactive") == 0)
--    {
--         int facenr = atoi (argv[2]);
--         if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces())
--         {
--           occgeometry->SetSelectedFace (facenr);
--
--        occgeometry->LowLightAll();
--        occgeometry->fvispar[facenr-1].Highlight();
--        occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
--         }
--    }
--
--    if (strcmp (argv[1], "getnfd") == 0)
--    {
--         if (occgeometry)
--           sprintf (buf, "%d", occgeometry->NrFaces());
--         else
--           sprintf (buf, "0");
--         Tcl_SetResult (interp, buf, TCL_STATIC);
--    }
--    return TCL_OK;
--#else // No OCCGEOMETRY 
--
--    Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize currently supports only OCC (STEP/IGES) Files", TCL_STATIC);
--    return TCL_ERROR;
--    
--#endif // OCCGEOMETRY
--  }
--
--
--
--  // Philippose - 25/07/2010
--  // TCL interface function for extracting and eventually 
--  // setting or editing the current colours present in the mesh
--  int Ng_CurrentFaceColours (ClientData clientData,
--                             Tcl_Interp * interp,
--                             int argc, tcl_const char *argv[])
--  {
--     if(argc < 1)
--     {
--        Tcl_SetResult (interp, (char *)"Ng_GetCurrentFaceColours needs arguments", TCL_STATIC);
--        return TCL_ERROR;
--     }
--
--     if(!mesh.Ptr())
--     {
--        Tcl_SetResult (interp, (char *)"Ng_GetCurrentFaceColours: Valid netgen mesh required...please mesh the Geometry first", TCL_STATIC);
--           return TCL_ERROR;
--     }
--
--     if(strcmp(argv[1], "getcolours") == 0)
--     {
--        stringstream outVar;
--        Array<Vec3d> face_colours;
--        GetFaceColours(*mesh, face_colours);
--
--        for(int i = 0; i < face_colours.Size();i++)
--        {
--           outVar << "{ " << face_colours[i].X(1)
--                  << " "  << face_colours[i].X(2)
--                  << " "  << face_colours[i].X(3)
--                  << " } ";
--        }
--
--        tcl_const char * valuevar = argv[2];
--        Tcl_SetVar  (interp, valuevar, (char*)outVar.str().c_str(), 0);
--     }
--
--     if(strcmp(argv[1], "showalso") == 0)
--     {
--        Array<Vec3d> face_colours;
--        GetFaceColours(*mesh,face_colours);
--
--        int colourind = atoi (argv[2]);
--
--        for(int i = 1; i <= mesh->GetNFD(); i++)
--        {
--           Array<SurfaceElementIndex> surfElems;
--           mesh->GetSurfaceElementsOfFace(i,surfElems);
--
--           if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour()))
--           {
--              for(int j = 0; j < surfElems.Size(); j++)
--              {
--                 mesh->SurfaceElement(surfElems[j]).Visible(1);
--              }
--           }
--        }
--
--        mesh->SetNextTimeStamp();
--     }
--
--     if(strcmp(argv[1], "hidealso") == 0)
--     {
--        Array<Vec3d> face_colours;
--        GetFaceColours(*mesh,face_colours);
--
--        int colourind = atoi (argv[2]);
--
--        for(int i = 1; i <= mesh->GetNFD(); i++)
--        {
--           Array<SurfaceElementIndex> surfElems;
--           mesh->GetSurfaceElementsOfFace(i,surfElems);
--
--           if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour()))
--           {
--              for(int j = 0; j < surfElems.Size(); j++)
--              {
--                 mesh->SurfaceElement(surfElems[j]).Visible(0);
--              }
--           }
--        }
--
--        mesh->SetNextTimeStamp();
--     }
--
--     if(strcmp(argv[1], "showonly") == 0)
--     {
--        Array<Vec3d> face_colours;
--        GetFaceColours(*mesh,face_colours);
--
--        int colourind = atoi (argv[2]);
--
--        for(int i = 1; i <= mesh->GetNFD(); i++)
--        {
--           Array<SurfaceElementIndex> surfElems;
--           mesh->GetSurfaceElementsOfFace(i,surfElems);
--
--           if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour()))
--           {
--              for(int j = 0; j < surfElems.Size(); j++)
--              {
--                 mesh->SurfaceElement(surfElems[j]).Visible(1);
--              }
--           }
--           else
--           {
--              for(int j = 0; j < surfElems.Size(); j++)
--              {
--                 mesh->SurfaceElement(surfElems[j]).Visible(0);
--              }
--           }
--        }
--
--        mesh->SetNextTimeStamp();
--     }
--
--     if(strcmp(argv[1], "hideonly") == 0)
--     {
--        Array<Vec3d> face_colours;
--        GetFaceColours(*mesh,face_colours);
--
--        int colourind = atoi (argv[2]);
--
--        for(int i = 1; i <= mesh->GetNFD(); i++)
--        {
--           Array<SurfaceElementIndex> surfElems;
--           mesh->GetSurfaceElementsOfFace(i,surfElems);
--
--           if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour()))
--           {
--              for(int j = 0; j < surfElems.Size(); j++)
--              {
--                 mesh->SurfaceElement(surfElems[j]).Visible(0);
--              }
--           }
--           else
--           {
--              for(int j = 0; j < surfElems.Size(); j++)
--              {
--                 mesh->SurfaceElement(surfElems[j]).Visible(1);
--              }
--           }
--        }
--
--        mesh->SetNextTimeStamp();
--     }
--
--     if(strcmp(argv[1], "showall") == 0)
--     {
--        for(int i = 1; i <= mesh->GetNSE(); i++)
--        {
--           mesh->SurfaceElement(i).Visible(1);
--        }
--
--        mesh->SetNextTimeStamp();
--     }
--
--     if(strcmp(argv[1], "hideall") == 0)
--     {
--        for(int i = 1; i <= mesh->GetNSE(); i++)
--        {
--           mesh->SurfaceElement(i).Visible(0);
--        }
--
--        mesh->SetNextTimeStamp();
--     }
--
--     return TCL_OK;
--  }
--
--
--
--
--  // Philippose - 10/03/2009
--  // TCL interface function for the Automatic Colour-based
--  // definition of boundary conditions for OCC Geometry
--  int Ng_AutoColourBcProps (ClientData clientData,
--                                    Tcl_Interp * interp,
--                                    int argc, tcl_const char *argv[])
--  {
--     if(argc < 1)
--     {
--        Tcl_SetResult (interp, (char *)"Ng_AutoColourBcProps needs arguments", TCL_STATIC);
--        return TCL_ERROR;
--     }
--
--     if(!mesh.Ptr())
--     {
--        Tcl_SetResult (interp, (char *)"Ng_AutoColourBcProps: Valid netgen mesh required...please mesh the Geometry first", TCL_STATIC);
--           return TCL_ERROR;
--     }
--
--     if(strcmp(argv[1], "auto") == 0)
--     {
--        AutoColourBcProps(*mesh, 0);
--     }
--
--     if(strcmp(argv[1], "profile") == 0)
--     {
--        AutoColourBcProps(*mesh, argv[2]);
--     }
--
--     return TCL_OK;
--  }
--
--
--  int Ng_SetOCCParameters  (ClientData clientData,
--                          Tcl_Interp * interp,
--                          int argc, tcl_const char *argv[])
--  {
--    OCCGeometryRegister reg;
--    reg.SetParameters (interp);
--    /*
--    occparam.resthcloseedgefac =
--      atof (Tcl_GetVar (interp, "::stloptions.resthcloseedgefac", 0));
--
--    occparam.resthcloseedgeenable =
--      atoi (Tcl_GetVar (interp, "::stloptions.resthcloseedgeenable", 0));
--    */
--    return TCL_OK;
--  }
--
--
--
--
--  NetgenGeometry *  OCCGeometryRegister :: Load (string filename) const
--  {
--    const char * lgfilename = filename.c_str();
--
--
--    /*
--    if (strcmp (&cfilename[strlen(cfilename)-3], "geo") == 0)
--      {
--      PrintMessage (1, "Load OCCG geometry file ", cfilename);
--      
--      extern OCCGeometry * ParseOCCG (istream & istr);
--
--      ifstream infile(cfilename);
--
--      OCCGeometry * hgeom = ParseOCCG (infile);
--      if (!hgeom)
--        throw NgException ("geo-file should start with 'algebraic3d'");
--
--      hgeom -> FindIdenticSurfaces(1e-8 * hgeom->MaxSize()); 
--      return hgeom;
--      }
--    */
--
--
--    if ((strcmp (&lgfilename[strlen(lgfilename)-4], "iges") == 0) ||
--      (strcmp (&lgfilename[strlen(lgfilename)-3], "igs") == 0) ||
--      (strcmp (&lgfilename[strlen(lgfilename)-3], "IGS") == 0) ||
--      (strcmp (&lgfilename[strlen(lgfilename)-4], "IGES") == 0))
--      {
--      PrintMessage (1, "Load IGES geometry file ", lgfilename);
--      OCCGeometry * occgeometry = LoadOCC_IGES (lgfilename);
--      return occgeometry;
--      }
--
--    else if ((strcmp (&lgfilename[strlen(lgfilename)-4], "step") == 0) ||
--                   (strcmp (&lgfilename[strlen(lgfilename)-3], "stp") == 0) ||
--                   (strcmp (&lgfilename[strlen(lgfilename)-3], "STP") == 0) ||
--                   (strcmp (&lgfilename[strlen(lgfilename)-4], "STEP") == 0))
--      {
--      PrintMessage (1, "Load STEP geometry file ", lgfilename);
--      OCCGeometry * occgeometry = LoadOCC_STEP (lgfilename);
--      return occgeometry;    
--      }
--    else if ((strcmp (&lgfilename[strlen(lgfilename)-4], "brep") == 0) ||
--           (strcmp (&lgfilename[strlen(lgfilename)-4], "Brep") == 0) ||
--           (strcmp (&lgfilename[strlen(lgfilename)-4], "BREP") == 0))
--      {
--      PrintMessage (1, "Load BREP geometry file ", lgfilename);
--      OCCGeometry * occgeometry = LoadOCC_BREP (lgfilename);
--      return occgeometry;
--      }
--    
--    return NULL;
--  }
--
--
--  static VisualSceneOCCGeometry vsoccgeom;
--
--  VisualScene * OCCGeometryRegister :: GetVisualScene (const NetgenGeometry * geom) const
--  {
--    OCCGeometry * geometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
--    if (geometry)
--      {
--      vsoccgeom.SetGeometry (geometry);
--      return &vsoccgeom;
--      }
--    return NULL;
--  }
--
--
--
--}
--
--
--
--using namespace netgen;
--
--int Ng_occ_Init (Tcl_Interp * interp)
--{
--  geometryregister.Append (new OCCGeometryRegister);
--
--
--    Tcl_CreateCommand (interp, "Ng_SetOCCVisParameters",
--                     Ng_SetOCCVisParameters,
--                     (ClientData)NULL,
--                     (Tcl_CmdDeleteProc*) NULL);
--
--    Tcl_CreateCommand (interp, "Ng_GetOCCData",
--                     Ng_GetOCCData,
--                     (ClientData)NULL,
--                     (Tcl_CmdDeleteProc*) NULL);
--
--    /*
--#ifdef OCCGEOMETRY
--    Tcl_CreateCommand (interp, "Ng_OCCConstruction",
--                     Ng_OCCConstruction,
--                     (ClientData)NULL,
--                     (Tcl_CmdDeleteProc*) NULL);
--#endif
--    */
--
--    Tcl_CreateCommand (interp, "Ng_OCCCommand",
--                     Ng_OCCCommand,
--                     (ClientData)NULL,
--                     (Tcl_CmdDeleteProc*) NULL);
--
--
--    Tcl_CreateCommand (interp, "Ng_SetOCCParameters", Ng_SetOCCParameters,
--                     (ClientData)NULL,
--                     (Tcl_CmdDeleteProc*) NULL);
--
--
--
--    // Philippose - 30/01/2009
--    // Register the TCL Interface Command for local face mesh size
--    // definition
--    Tcl_CreateCommand (interp, "Ng_SurfaceMeshSize", Ng_SurfaceMeshSize,
--                     (ClientData)NULL,
--                     (Tcl_CmdDeleteProc*) NULL);
--
--    Tcl_CreateCommand (interp, "Ng_AutoColourBcProps", Ng_AutoColourBcProps,
--                     (ClientData)NULL,
--                     (Tcl_CmdDeleteProc*) NULL);
--
--    // Philippose - 25/07/2010
--    // Register the TCL Interface Command for handling the face colours 
--    // present in the mesh
--    Tcl_CreateCommand(interp, "Ng_CurrentFaceColours", Ng_CurrentFaceColours,
--                      (ClientData)NULL,
--                      (Tcl_CmdDeleteProc*) NULL);
--
--
--  return TCL_OK;
--}
--
--#endif
--
-+#ifdef OCCGEOMETRY
-+
-+#include <mystdlib.h>
-+#include <myadt.hpp>
-+#include <linalg.hpp>
-+#include <csg.hpp>
-+#include <occgeom.hpp>
-+
-+
-+#include <incvis.hpp>
-+#include <visual.hpp>
-+
-+#include "../meshing/bcfunctions.hpp"
-+
-+#include "vsocc.hpp"
-+
-+
-+extern "C" int Ng_occ_Init (Tcl_Interp * interp);
-+
-+
-+
-+namespace netgen
-+{
-+  extern AutoPtr<NetgenGeometry> ng_geometry;
-+  extern AutoPtr<Mesh> mesh;
-+
-+  char * err_needsoccgeometry = (char*) "This operation needs an OCC geometry";
-+  extern char * err_needsmesh;
-+  extern char * err_jobrunning;
-+
-+
-+
-+
-+  class OCCGeometryRegister : public GeometryRegister
-+  {
-+  public:
-+    virtual NetgenGeometry * Load (string filename) const;
-+    virtual VisualScene * GetVisualScene (const NetgenGeometry * geom) const;
-+
-+    virtual void SetParameters (Tcl_Interp * interp)
-+    {
-+      occparam.resthcloseedgefac =
-+      atof (Tcl_GetVar (interp, "::stloptions.resthcloseedgefac", 0));
-+      occparam.resthcloseedgeenable =
-+      atoi (Tcl_GetVar (interp, "::stloptions.resthcloseedgeenable", 0));
-+        occparam.resthminedgelen =
-+      atof (Tcl_GetVar (interp, "::stloptions.resthminedgelen", 0));
-+        occparam.resthminedgelenenable =
-+      atoi (Tcl_GetVar (interp, "::stloptions.resthminedgelenenable", 0));
-+    }
-+  };
-+
-+
-+
-+
-+  int Ng_SetOCCVisParameters  (ClientData clientData,
-+                             Tcl_Interp * interp,
-+                             int argc, tcl_const char *argv[])
-+  {
-+#ifdef OCCGEOMETRY
-+    int showvolume;
-+      OCCGeometry * occgeometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
-+
-+    showvolume = atoi (Tcl_GetVar (interp, "::occoptions.showvolumenr", 0));
-+
-+    if (occgeometry)
-+      if (showvolume != vispar.occshowvolumenr)
-+      {
-+        if (showvolume < 0 || showvolume > occgeometry->NrSolids())
-+          {
-+            char buf[20];
-+            sprintf (buf, "%5i", vispar.occshowvolumenr);
-+            Tcl_SetVar (interp, "::occoptions.showvolumenr", buf, 0);
-+          }
-+        else
-+          {
-+            vispar.occshowvolumenr = showvolume;
-+            if (occgeometry)
-+              occgeometry -> changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+          }
-+      }
-+
-+    int temp;
-+
-+    temp = atoi (Tcl_GetVar (interp, "::occoptions.visproblemfaces", 0));
-+
-+    if ((bool) temp != vispar.occvisproblemfaces)
-+      {
-+      vispar.occvisproblemfaces = temp;
-+      if (occgeometry)
-+        occgeometry -> changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+      }
-+
-+    vispar.occshowsurfaces = atoi (Tcl_GetVar (interp, "::occoptions.showsurfaces", 0));
-+    vispar.occshowedges = atoi (Tcl_GetVar (interp, "::occoptions.showedges", 0));
-+    vispar.occzoomtohighlightedentity = atoi (Tcl_GetVar (interp, "::occoptions.zoomtohighlightedentity", 0));
-+    vispar.occdeflection = pow(10.0,-1-atof (Tcl_GetVar (interp, "::occoptions.deflection", 0)));
-+
-+#endif
-+
-+
-+
-+
-+
-+#ifdef ACIS
-+    vispar.ACISshowfaces = atoi (Tcl_GetVar (interp, "::occoptions.showsurfaces", 0));
-+    vispar.ACISshowedges = atoi (Tcl_GetVar (interp, "::occoptions.showedges", 0));
-+    vispar.ACISshowsolidnr = atoi (Tcl_GetVar (interp, "::occoptions.showsolidnr", 0));
-+    vispar.ACISshowsolidnr2 = atoi (Tcl_GetVar (interp, "::occoptions.showsolidnr2", 0));
-+
-+#endif
-+
-+
-+
-+    return TCL_OK;
-+  }
-+
-+
-+
-+
-+  int Ng_GetOCCData (ClientData clientData,
-+                   Tcl_Interp * interp,
-+                   int argc, tcl_const char *argv[])
-+  {
-+#ifdef OCCGEOMETRY
-+    OCCGeometry * occgeometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
-+
-+    static char buf[1000];
-+    buf[0] = 0;
-+    stringstream str;
-+
-+    if (argc >= 2)
-+      {
-+      if (strcmp (argv[1], "getentities") == 0)
-+        {
-+          if (occgeometry)
-+            {
-+              occgeometry->GetTopologyTree(str);
-+            }
-+        }
-+      }
-+
-+    Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
-+
-+#endif
-+    return TCL_OK;
-+  }
-+
-+
-+
-+  int Ng_OCCCommand (ClientData clientData,
-+                   Tcl_Interp * interp,
-+                   int argc, tcl_const char *argv[])
-+  {
-+#ifdef OCCGEOMETRY
-+    OCCGeometry * occgeometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
-+
-+    stringstream str;
-+    if (argc >= 2)
-+      {
-+      if (strcmp (argv[1], "isoccgeometryloaded") == 0)
-+        {
-+          if (occgeometry)
-+            str << "1 " << flush;
-+          else str << "0 " << flush;
-+
-+          Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
-+        }
-+      if (occgeometry)
-+        {
-+          if (strcmp (argv[1], "buildvisualizationmesh") == 0)
-+            {
-+              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
-+              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+            }
-+          if (strcmp (argv[1], "mesherror") == 0)
-+            {
-+              if (occgeometry->ErrorInSurfaceMeshing())
-+                str << 1;
-+              else
-+                str << 0;
-+            }
-+          if (strcmp (argv[1], "sewfaces") == 0)
-+            {
-+              cout << "Before operation:" << endl;
-+              occgeometry->PrintNrShapes();
-+              occgeometry->SewFaces();
-+              occgeometry->BuildFMap();
-+              cout << endl << "After operation:" << endl;
-+              occgeometry->PrintNrShapes();
-+              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
-+              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+            }
-+          if (strcmp (argv[1], "makesolid") == 0)
-+            {
-+              cout << "Before operation:" << endl;
-+              occgeometry->PrintNrShapes();
-+              occgeometry->MakeSolid();
-+              occgeometry->BuildFMap();
-+              cout << endl << "After operation:" << endl;
-+              occgeometry->PrintNrShapes();
-+              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
-+              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+            }
-+          if (strcmp (argv[1], "upgradetopology") == 0)
-+            {
-+              cout << "Before operation:" << endl;
-+              occgeometry->PrintNrShapes();
-+              occgeometry->SewFaces();
-+              occgeometry->MakeSolid();
-+              occgeometry->BuildFMap();
-+              cout << endl << "After operation:" << endl;
-+              occgeometry->PrintNrShapes();
-+              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
-+              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+            }
-+          if (strcmp (argv[1], "shapehealing") == 0)
-+            {
-+              occgeometry->tolerance =
-+                atof (Tcl_GetVar (interp, "::occoptions.tolerance", 0));
-+              occgeometry->fixsmalledges =
-+                atoi (Tcl_GetVar (interp, "::occoptions.fixsmalledges", 0));
-+              occgeometry->fixspotstripfaces =
-+                atoi (Tcl_GetVar (interp, "::occoptions.fixspotstripfaces", 0));
-+              occgeometry->sewfaces =
-+                atoi (Tcl_GetVar (interp, "::occoptions.sewfaces", 0));
-+              occgeometry->makesolids =
-+                atoi (Tcl_GetVar (interp, "::occoptions.makesolids", 0));
-+              occgeometry->splitpartitions =
-+                atoi (Tcl_GetVar (interp, "::occoptions.splitpartitions", 0));
-+
-+              //            cout << "Before operation:" << endl;
-+              //            occgeometry->PrintNrShapes();
-+              occgeometry->HealGeometry();
-+              occgeometry->BuildFMap();
-+              //            cout << endl << "After operation:" << endl;
-+              //            occgeometry->PrintNrShapes();
-+              occgeometry->BuildVisualizationMesh(vispar.occdeflection);
-+              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+            }
-+
-+
-+          if (strcmp (argv[1], "highlightentity") == 0)
-+            {
-+              if (strcmp (argv[2], "Face") == 0)
-+                {
-+                  int nr = atoi (argv[3]);
-+                  occgeometry->LowLightAll();
-+
-+                  occgeometry->fvispar[nr-1].Highlight();
-+                  if (vispar.occzoomtohighlightedentity)
-+                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
-+                  else
-+                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+                }
-+              if (strcmp (argv[2], "Shell") == 0)
-+                {
-+                  int nr = atoi (argv[3]);
-+                  occgeometry->LowLightAll();
-+
-+                  TopExp_Explorer exp;
-+                  for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE);
-+                       exp.More(); exp.Next())
-+                    {
-+                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
-+                      occgeometry->fvispar[i-1].Highlight();
-+                    }
-+                  if (vispar.occzoomtohighlightedentity)
-+                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
-+                  else
-+                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+                }
-+              if (strcmp (argv[2], "Solid") == 0)
-+                {
-+                  int nr = atoi (argv[3]);
-+                  occgeometry->LowLightAll();
-+
-+                  TopExp_Explorer exp;
-+                  for (exp.Init (occgeometry->somap(nr), TopAbs_FACE);
-+                       exp.More(); exp.Next())
-+                    {
-+                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
-+                      occgeometry->fvispar[i-1].Highlight();
-+                    }
-+                  if (vispar.occzoomtohighlightedentity)
-+                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
-+                  else
-+                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+                }
-+              /*
-+                if (strcmp (argv[2], "CompSolid") == 0)
-+                {
-+                int nr = atoi (argv[3]);
-+                occgeometry->LowLightAll();
-+
-+                TopExp_Explorer exp;
-+                for (exp.Init (occgeometry->cmap(nr), TopAbs_FACE);
-+                exp.More(); exp.Next())
-+                {
-+                int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
-+                occgeometry->fvispar[i-1].Highlight();
-+                }
-+                occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+                }
-+              */
-+
-+              if (strcmp (argv[2], "Edge") == 0)
-+                {
-+                  int nr = atoi (argv[3]);
-+                  occgeometry->LowLightAll();
-+
-+                  occgeometry->evispar[nr-1].Highlight();
-+                  if (vispar.occzoomtohighlightedentity)
-+                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
-+                  else
-+                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+                }
-+              if (strcmp (argv[2], "Wire") == 0)
-+                {
-+                  int nr = atoi (argv[3]);
-+                  occgeometry->LowLightAll();
-+
-+                  TopExp_Explorer exp;
-+                  for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE);
-+                       exp.More(); exp.Next())
-+                    {
-+                      int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current()));
-+                      occgeometry->evispar[i-1].Highlight();
-+                    }
-+                  if (vispar.occzoomtohighlightedentity)
-+                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
-+                  else
-+                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+                }
-+
-+              if (strcmp (argv[2], "Vertex") == 0)
-+                {
-+                  int nr = atoi (argv[3]);
-+                  occgeometry->LowLightAll();
-+
-+                  occgeometry->vvispar[nr-1].Highlight();
-+                  if (vispar.occzoomtohighlightedentity)
-+                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE;
-+                  else
-+                    occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+                }
-+
-+            }
-+
-+
-+
-+          if (strcmp (argv[1], "show") == 0)
-+            {
-+              int nr = atoi (argv[3]);
-+              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+
-+              if (strcmp (argv[2], "Face") == 0)
-+                {
-+                  occgeometry->fvispar[nr-1].Show();
-+                }
-+              if (strcmp (argv[2], "Shell") == 0)
-+                {
-+                  TopExp_Explorer exp;
-+                  for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE);
-+                       exp.More(); exp.Next())
-+                    {
-+                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
-+                      occgeometry->fvispar[i-1].Show();
-+                    }
-+                }
-+              if (strcmp (argv[2], "Solid") == 0)
-+                {
-+                  TopExp_Explorer exp;
-+                  for (exp.Init (occgeometry->somap(nr), TopAbs_FACE);
-+                       exp.More(); exp.Next())
-+                    {
-+                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
-+                      occgeometry->fvispar[i-1].Show();
-+                    }
-+                }
-+              if (strcmp (argv[2], "Edge") == 0)
-+                {
-+                  occgeometry->evispar[nr-1].Show();
-+                }
-+              if (strcmp (argv[2], "Wire") == 0)
-+                {
-+                  TopExp_Explorer exp;
-+                  for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE);
-+                       exp.More(); exp.Next())
-+                    {
-+                      int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current()));
-+                      occgeometry->evispar[i-1].Show();
-+                    }
-+                }
-+            }
-+
-+
-+          if (strcmp (argv[1], "hide") == 0)
-+            {
-+              int nr = atoi (argv[3]);
-+              occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+
-+              if (strcmp (argv[2], "Face") == 0)
-+                {
-+                  occgeometry->fvispar[nr-1].Hide();
-+                }
-+              if (strcmp (argv[2], "Shell") == 0)
-+                {
-+                  TopExp_Explorer exp;
-+                  for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE);
-+                       exp.More(); exp.Next())
-+                    {
-+                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
-+                      occgeometry->fvispar[i-1].Hide();
-+                    }
-+                }
-+              if (strcmp (argv[2], "Solid") == 0)
-+                {
-+                  TopExp_Explorer exp;
-+                  for (exp.Init (occgeometry->somap(nr), TopAbs_FACE);
-+                       exp.More(); exp.Next())
-+                    {
-+                      int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current()));
-+                      occgeometry->fvispar[i-1].Hide();
-+                    }
-+                }
-+              if (strcmp (argv[2], "Edge") == 0)
-+                {
-+                  occgeometry->evispar[nr-1].Hide();
-+                }
-+              if (strcmp (argv[2], "Wire") == 0)
-+                {
-+                  TopExp_Explorer exp;
-+                  for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE);
-+                       exp.More(); exp.Next())
-+                    {
-+                      int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current()));
-+                      occgeometry->evispar[i-1].Hide();
-+                    }
-+                }
-+            }
-+
-+
-+
-+          if (strcmp (argv[1], "findsmallentities") == 0)
-+            {
-+              stringstream str("");
-+              occgeometry->CheckIrregularEntities(str);
-+              Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
-+            }
-+          if (strcmp (argv[1], "getunmeshedfaceinfo") == 0)
-+            {
-+              occgeometry->GetUnmeshedFaceInfo(str);
-+              Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
-+            }
-+          if (strcmp (argv[1], "getnotdrawablefaces") == 0)
-+            {
-+              occgeometry->GetNotDrawableFaces(str);
-+              Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE);
-+            }
-+          if (strcmp (argv[1], "redrawstatus") == 0)
-+            {
-+              int i = atoi (argv[2]);
-+              occgeometry->changed = i;
-+            }
-+          if (strcmp (argv[1], "swaporientation") == 0)
-+            {
-+              IGESControl_Writer writer("millimeters", 1);
-+              writer.AddShape (occgeometry->shape);
-+              writer.Write ("1.igs");
-+              /*
-+                int nr = atoi (argv[3]);
-+
-+                //          const_cast<TopoDS_Shape&> (occgeometry->fmap(nr)).Reverse();
-+
-+                Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape;
-+                rebuild->Apply(occgeometry->shape);
-+
-+                TopoDS_Shape sh;
-+
-+                //          if (strcmp (argv[2], "CompSolid") == 0) sh = occgeometry->cmap(nr);
-+                if (strcmp (argv[2], "Solid") == 0) sh = occgeometry->somap(nr);
-+                if (strcmp (argv[2], "Shell") == 0) sh = occgeometry->shmap(nr);
-+                if (strcmp (argv[2], "Face") == 0) sh = occgeometry->fmap(nr);
-+                if (strcmp (argv[2], "Wire") == 0) sh = occgeometry->wmap(nr);
-+                if (strcmp (argv[2], "Edge") == 0) sh = occgeometry->emap(nr);
-+
-+                rebuild->Replace(sh, sh.Reversed());
-+
-+                TopoDS_Shape newshape = rebuild->Apply(occgeometry->shape, TopAbs_SHELL, 1);
-+                occgeometry->shape = newshape;
-+
-+                occgeometry->BuildFMap();
-+                occgeometry->BuildVisualizationMesh();
-+                occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+              */
-+            }
-+          if (strcmp (argv[1], "marksingular") == 0)
-+            {
-+              int nr = atoi (argv[3]);
-+              cout << "marking " << argv[2] << " " << nr << endl;
-+              char buf[2]; buf[0] = '0'; buf[1] = 0;
-+              bool sing = false;
-+              if (strcmp (argv[2], "Face") == 0)
-+                sing = occgeometry->fsingular[nr-1] = !occgeometry->fsingular[nr-1];
-+              if (strcmp (argv[2], "Edge") == 0)
-+                sing = occgeometry->esingular[nr-1] = !occgeometry->esingular[nr-1];
-+              if (strcmp (argv[2], "Vertex") == 0)
-+                sing = occgeometry->vsingular[nr-1] = !occgeometry->vsingular[nr-1];
-+
-+              if (sing) buf[0] = '1';
-+
-+                Tcl_SetVar (interp, "::ismarkedsingular", buf, 0);
-+
-+              stringstream str;
-+              occgeometry->GetTopologyTree (str);
-+
-+              char* cstr = (char*)str.str().c_str();
-+
-+              (*testout) << cstr << endl;
-+
-+              char helpstr[1000];
-+
-+              while (strchr (cstr, '}'))
-+                {
-+                  strncpy (helpstr, cstr+2, strlen(strchr(cstr+2, '}')));
-+                  (*testout) << "***" << cstr << "***" << endl;
-+                  cstr = strchr (cstr, '}');
-+                }
-+            }
-+        }
-+      }
-+
-+#endif
-+    return TCL_OK;
-+  }
-+
-+
-+
-+#ifdef OCCGEOMETRY
-+  /*
-+  void OCCConstructGeometry (OCCGeometry & geom);
-+
-+  int Ng_OCCConstruction (ClientData clientData,
-+                        Tcl_Interp * interp,
-+                        int argc, tcl_const char *argv[])
-+  {
-+    if (occgeometry)
-+      OCCConstructGeometry (*occgeometry);
-+    return TCL_OK;
-+  }
-+  */
-+#endif
-+
-+
-+
-+
-+  // Philippose - 30/01/2009
-+  // TCL interface function for the Local Face Mesh size
-+  // definition functionality
-+  int Ng_SurfaceMeshSize (ClientData clientData,
-+                                  Tcl_Interp * interp,
-+                                  int argc, tcl_const char *argv[])
-+  {
-+#ifdef OCCGEOMETRY
-+
-+    static char buf[100];
-+
-+    if (argc < 2)
-+    {
-+         Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize needs arguments", TCL_STATIC);
-+         return TCL_ERROR;
-+    }
-+
-+    OCCGeometry * occgeometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
-+    if (!occgeometry)
-+    {
-+      Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize currently supports only OCC (STEP/IGES) Files", TCL_STATIC);
-+         return TCL_ERROR;
-+    }
-+
-+    // Update the face mesh sizes to reflect the global maximum mesh size
-+    for(int i = 1; i <= occgeometry->NrFaces(); i++)
-+    {
-+           if(!occgeometry->GetFaceMaxhModified(i))
-+           {
-+              occgeometry->SetFaceMaxH(i, mparam.maxh);
-+           }
-+    }
-+
-+    if (strcmp (argv[1], "setsurfms") == 0)
-+    {
-+         int facenr = atoi (argv[2]);
-+         double surfms = atof (argv[3]);
-+         if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces())
-+           occgeometry->SetFaceMaxH(facenr, surfms);
-+
-+    }
-+
-+    if (strcmp (argv[1], "setall") == 0)
-+    {
-+         double surfms = atof (argv[2]);
-+         if (occgeometry)
-+         {
-+           int nrFaces = occgeometry->NrFaces();
-+           for (int i = 1; i <= nrFaces; i++)
-+            occgeometry->SetFaceMaxH(i, surfms);
-+         }
-+    }
-+
-+    if (strcmp (argv[1], "getsurfms") == 0)
-+    {
-+         int facenr = atoi (argv[2]);
-+         if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces())
-+         {
-+           sprintf (buf, "%5.2f", occgeometry->GetFaceMaxH(facenr));
-+         }
-+         else
-+         {
-+           sprintf (buf, "%5.2f", mparam.maxh);
-+         }
-+         Tcl_SetResult (interp, buf, TCL_STATIC);
-+    }
-+
-+    if (strcmp (argv[1], "getactive") == 0)
-+    {
-+         sprintf (buf, "%d", occgeometry->SelectedFace());
-+         Tcl_SetResult (interp, buf, TCL_STATIC);
-+    }
-+
-+    if (strcmp (argv[1], "setactive") == 0)
-+    {
-+         int facenr = atoi (argv[2]);
-+         if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces())
-+         {
-+           occgeometry->SetSelectedFace (facenr);
-+
-+        occgeometry->LowLightAll();
-+        occgeometry->fvispar[facenr-1].Highlight();
-+        occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE;
-+         }
-+    }
-+
-+    if (strcmp (argv[1], "getnfd") == 0)
-+    {
-+         if (occgeometry)
-+           sprintf (buf, "%d", occgeometry->NrFaces());
-+         else
-+           sprintf (buf, "0");
-+         Tcl_SetResult (interp, buf, TCL_STATIC);
-+    }
-+    return TCL_OK;
-+#else // No OCCGEOMETRY
-+
-+    Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize currently supports only OCC (STEP/IGES) Files", TCL_STATIC);
-+    return TCL_ERROR;
-+
-+#endif // OCCGEOMETRY
-+  }
-+
-+
-+
-+  // Philippose - 25/07/2010
-+  // TCL interface function for extracting and eventually
-+  // setting or editing the current colours present in the mesh
-+  int Ng_CurrentFaceColours (ClientData clientData,
-+                             Tcl_Interp * interp,
-+                             int argc, tcl_const char *argv[])
-+  {
-+     if(argc < 1)
-+     {
-+        Tcl_SetResult (interp, (char *)"Ng_GetCurrentFaceColours needs arguments", TCL_STATIC);
-+        return TCL_ERROR;
-+     }
-+
-+     if(!mesh.Ptr())
-+     {
-+        Tcl_SetResult (interp, (char *)"Ng_GetCurrentFaceColours: Valid netgen mesh required...please mesh the Geometry first", TCL_STATIC);
-+           return TCL_ERROR;
-+     }
-+
-+     if(strcmp(argv[1], "getcolours") == 0)
-+     {
-+        stringstream outVar;
-+        Array<Vec3d> face_colours;
-+        GetFaceColours(*mesh, face_colours);
-+
-+        for(int i = 0; i < face_colours.Size();i++)
-+        {
-+           outVar << "{ " << face_colours[i].X(1)
-+                  << " "  << face_colours[i].X(2)
-+                  << " "  << face_colours[i].X(3)
-+                  << " } ";
-+        }
-+
-+        tcl_const char * valuevar = argv[2];
-+        Tcl_SetVar  (interp, valuevar, (char*)outVar.str().c_str(), 0);
-+     }
-+
-+     if(strcmp(argv[1], "showalso") == 0)
-+     {
-+        Array<Vec3d> face_colours;
-+        GetFaceColours(*mesh,face_colours);
-+
-+        int colourind = atoi (argv[2]);
-+
-+        for(int i = 1; i <= mesh->GetNFD(); i++)
-+        {
-+           Array<SurfaceElementIndex> surfElems;
-+           mesh->GetSurfaceElementsOfFace(i,surfElems);
-+
-+           if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour()))
-+           {
-+              for(int j = 0; j < surfElems.Size(); j++)
-+              {
-+                 mesh->SurfaceElement(surfElems[j]).Visible(1);
-+              }
-+           }
-+        }
-+
-+        mesh->SetNextTimeStamp();
-+     }
-+
-+     if(strcmp(argv[1], "hidealso") == 0)
-+     {
-+        Array<Vec3d> face_colours;
-+        GetFaceColours(*mesh,face_colours);
-+
-+        int colourind = atoi (argv[2]);
-+
-+        for(int i = 1; i <= mesh->GetNFD(); i++)
-+        {
-+           Array<SurfaceElementIndex> surfElems;
-+           mesh->GetSurfaceElementsOfFace(i,surfElems);
-+
-+           if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour()))
-+           {
-+              for(int j = 0; j < surfElems.Size(); j++)
-+              {
-+                 mesh->SurfaceElement(surfElems[j]).Visible(0);
-+              }
-+           }
-+        }
-+
-+        mesh->SetNextTimeStamp();
-+     }
-+
-+     if(strcmp(argv[1], "showonly") == 0)
-+     {
-+        Array<Vec3d> face_colours;
-+        GetFaceColours(*mesh,face_colours);
-+
-+        int colourind = atoi (argv[2]);
-+
-+        for(int i = 1; i <= mesh->GetNFD(); i++)
-+        {
-+           Array<SurfaceElementIndex> surfElems;
-+           mesh->GetSurfaceElementsOfFace(i,surfElems);
-+
-+           if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour()))
-+           {
-+              for(int j = 0; j < surfElems.Size(); j++)
-+              {
-+                 mesh->SurfaceElement(surfElems[j]).Visible(1);
-+              }
-+           }
-+           else
-+           {
-+              for(int j = 0; j < surfElems.Size(); j++)
-+              {
-+                 mesh->SurfaceElement(surfElems[j]).Visible(0);
-+              }
-+           }
-+        }
-+
-+        mesh->SetNextTimeStamp();
-+     }
-+
-+     if(strcmp(argv[1], "hideonly") == 0)
-+     {
-+        Array<Vec3d> face_colours;
-+        GetFaceColours(*mesh,face_colours);
-+
-+        int colourind = atoi (argv[2]);
-+
-+        for(int i = 1; i <= mesh->GetNFD(); i++)
-+        {
-+           Array<SurfaceElementIndex> surfElems;
-+           mesh->GetSurfaceElementsOfFace(i,surfElems);
-+
-+           if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour()))
-+           {
-+              for(int j = 0; j < surfElems.Size(); j++)
-+              {
-+                 mesh->SurfaceElement(surfElems[j]).Visible(0);
-+              }
-+           }
-+           else
-+           {
-+              for(int j = 0; j < surfElems.Size(); j++)
-+              {
-+                 mesh->SurfaceElement(surfElems[j]).Visible(1);
-+              }
-+           }
-+        }
-+
-+        mesh->SetNextTimeStamp();
-+     }
-+
-+     if(strcmp(argv[1], "showall") == 0)
-+     {
-+        for(int i = 1; i <= mesh->GetNSE(); i++)
-+        {
-+           mesh->SurfaceElement(i).Visible(1);
-+        }
-+
-+        mesh->SetNextTimeStamp();
-+     }
-+
-+     if(strcmp(argv[1], "hideall") == 0)
-+     {
-+        for(int i = 1; i <= mesh->GetNSE(); i++)
-+        {
-+           mesh->SurfaceElement(i).Visible(0);
-+        }
-+
-+        mesh->SetNextTimeStamp();
-+     }
-+
-+     return TCL_OK;
-+  }
-+
-+
-+
-+
-+  // Philippose - 10/03/2009
-+  // TCL interface function for the Automatic Colour-based
-+  // definition of boundary conditions for OCC Geometry
-+  int Ng_AutoColourBcProps (ClientData clientData,
-+                                    Tcl_Interp * interp,
-+                                    int argc, tcl_const char *argv[])
-+  {
-+     if(argc < 1)
-+     {
-+        Tcl_SetResult (interp, (char *)"Ng_AutoColourBcProps needs arguments", TCL_STATIC);
-+        return TCL_ERROR;
-+     }
-+
-+     if(!mesh.Ptr())
-+     {
-+        Tcl_SetResult (interp, (char *)"Ng_AutoColourBcProps: Valid netgen mesh required...please mesh the Geometry first", TCL_STATIC);
-+           return TCL_ERROR;
-+     }
-+
-+     if(strcmp(argv[1], "auto") == 0)
-+     {
-+        AutoColourBcProps(*mesh, 0);
-+     }
-+
-+     if(strcmp(argv[1], "profile") == 0)
-+     {
-+        AutoColourBcProps(*mesh, argv[2]);
-+     }
-+
-+     return TCL_OK;
-+  }
-+
-+
-+  int Ng_SetOCCParameters  (ClientData clientData,
-+                          Tcl_Interp * interp,
-+                          int argc, tcl_const char *argv[])
-+  {
-+    OCCGeometryRegister reg;
-+    reg.SetParameters (interp);
-+    /*
-+    occparam.resthcloseedgefac =
-+      atof (Tcl_GetVar (interp, "::stloptions.resthcloseedgefac", 0));
-+
-+    occparam.resthcloseedgeenable =
-+      atoi (Tcl_GetVar (interp, "::stloptions.resthcloseedgeenable", 0));
-+    */
-+    return TCL_OK;
-+  }
-+
-+
-+
-+
-+  NetgenGeometry *  OCCGeometryRegister :: Load (string filename) const
-+  {
-+    const char * lgfilename = filename.c_str();
-+
-+
-+    /*
-+    if (strcmp (&cfilename[strlen(cfilename)-3], "geo") == 0)
-+      {
-+      PrintMessage (1, "Load OCCG geometry file ", cfilename);
-+
-+      extern OCCGeometry * ParseOCCG (istream & istr);
-+
-+      ifstream infile(cfilename);
-+
-+      OCCGeometry * hgeom = ParseOCCG (infile);
-+      if (!hgeom)
-+        throw NgException ("geo-file should start with 'algebraic3d'");
-+
-+      hgeom -> FindIdenticSurfaces(1e-8 * hgeom->MaxSize());
-+      return hgeom;
-+      }
-+    */
-+
-+
-+    if ((strcmp (&lgfilename[strlen(lgfilename)-4], "iges") == 0) ||
-+      (strcmp (&lgfilename[strlen(lgfilename)-3], "igs") == 0) ||
-+      (strcmp (&lgfilename[strlen(lgfilename)-3], "IGS") == 0) ||
-+      (strcmp (&lgfilename[strlen(lgfilename)-4], "IGES") == 0))
-+      {
-+      PrintMessage (1, "Load IGES geometry file ", lgfilename);
-+      OCCGeometry * occgeometry = LoadOCC_IGES (lgfilename);
-+      return occgeometry;
-+      }
-+
-+    else if ((strcmp (&lgfilename[strlen(lgfilename)-4], "step") == 0) ||
-+                   (strcmp (&lgfilename[strlen(lgfilename)-3], "stp") == 0) ||
-+                   (strcmp (&lgfilename[strlen(lgfilename)-3], "STP") == 0) ||
-+                   (strcmp (&lgfilename[strlen(lgfilename)-4], "STEP") == 0))
-+      {
-+      PrintMessage (1, "Load STEP geometry file ", lgfilename);
-+      OCCGeometry * occgeometry = LoadOCC_STEP (lgfilename);
-+      return occgeometry;
-+      }
-+    else if ((strcmp (&lgfilename[strlen(lgfilename)-4], "brep") == 0) ||
-+           (strcmp (&lgfilename[strlen(lgfilename)-4], "Brep") == 0) ||
-+           (strcmp (&lgfilename[strlen(lgfilename)-4], "BREP") == 0))
-+      {
-+      PrintMessage (1, "Load BREP geometry file ", lgfilename);
-+      OCCGeometry * occgeometry = LoadOCC_BREP (lgfilename);
-+      return occgeometry;
-+      }
-+
-+    return NULL;
-+  }
-+
-+
-+  static VisualSceneOCCGeometry vsoccgeom;
-+
-+  VisualScene * OCCGeometryRegister :: GetVisualScene (const NetgenGeometry * geom) const
-+  {
-+    OCCGeometry * geometry = dynamic_cast<OCCGeometry*> (ng_geometry.Ptr());
-+    if (geometry)
-+      {
-+      vsoccgeom.SetGeometry (geometry);
-+      return &vsoccgeom;
-+      }
-+    return NULL;
-+  }
-+
-+
-+
-+}
-+
-+
-+
-+using namespace netgen;
-+
-+int Ng_occ_Init (Tcl_Interp * interp)
-+{
-+  geometryregister.Append (new OCCGeometryRegister);
-+
-+
-+    Tcl_CreateCommand (interp, "Ng_SetOCCVisParameters",
-+                     Ng_SetOCCVisParameters,
-+                     (ClientData)NULL,
-+                     (Tcl_CmdDeleteProc*) NULL);
-+
-+    Tcl_CreateCommand (interp, "Ng_GetOCCData",
-+                     Ng_GetOCCData,
-+                     (ClientData)NULL,
-+                     (Tcl_CmdDeleteProc*) NULL);
-+
-+    /*
-+#ifdef OCCGEOMETRY
-+    Tcl_CreateCommand (interp, "Ng_OCCConstruction",
-+                     Ng_OCCConstruction,
-+                     (ClientData)NULL,
-+                     (Tcl_CmdDeleteProc*) NULL);
-+#endif
-+    */
-+
-+    Tcl_CreateCommand (interp, "Ng_OCCCommand",
-+                     Ng_OCCCommand,
-+                     (ClientData)NULL,
-+                     (Tcl_CmdDeleteProc*) NULL);
-+
-+
-+    Tcl_CreateCommand (interp, "Ng_SetOCCParameters", Ng_SetOCCParameters,
-+                     (ClientData)NULL,
-+                     (Tcl_CmdDeleteProc*) NULL);
-+
-+
-+
-+    // Philippose - 30/01/2009
-+    // Register the TCL Interface Command for local face mesh size
-+    // definition
-+    Tcl_CreateCommand (interp, "Ng_SurfaceMeshSize", Ng_SurfaceMeshSize,
-+                     (ClientData)NULL,
-+                     (Tcl_CmdDeleteProc*) NULL);
-+
-+    Tcl_CreateCommand (interp, "Ng_AutoColourBcProps", Ng_AutoColourBcProps,
-+                     (ClientData)NULL,
-+                     (Tcl_CmdDeleteProc*) NULL);
-+
-+    // Philippose - 25/07/2010
-+    // Register the TCL Interface Command for handling the face colours
-+    // present in the mesh
-+    Tcl_CreateCommand(interp, "Ng_CurrentFaceColours", Ng_CurrentFaceColours,
-+                      (ClientData)NULL,
-+                      (Tcl_CmdDeleteProc*) NULL);
-+
-+
-+  return TCL_OK;
-+}
-+
-+#endif
-+
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/utilities.h netgen-5.3.1_SRC_modif/libsrc/occ/utilities.h
---- netgen-5.3.1_SRC_orig/libsrc/occ/utilities.h       2014-08-29 13:54:03.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/occ/utilities.h      2018-03-01 15:41:03.998157502 +0300
-@@ -33,6 +33,7 @@
- #include <string>
- #include <iostream>
-+#include <iomanip>
- #include <cstdlib>
- // #include "SALOME_Log.hxx"
-diff -Naur netgen-5.3.1_SRC_orig/libsrc/stlgeom/Makefile.am netgen-5.3.1_SRC_modif/libsrc/stlgeom/Makefile.am
---- netgen-5.3.1_SRC_orig/libsrc/stlgeom/Makefile.am   2014-08-29 13:54:05.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/libsrc/stlgeom/Makefile.am  2018-03-01 15:41:03.998157502 +0300
-@@ -4,10 +4,10 @@
- AM_CPPFLAGS = -I$(top_srcdir)/libsrc/include $(TCL_INCLUDES)
- METASOURCES = AUTO
--lib_LTLIBRARIES = libstl.la 
-+noinst_LTLIBRARIES = libstl.la 
- if NGGUI
--lib_LTLIBRARIES += libstlvis.la 
-+lib_LTLIBRARIES = libstlvis.la 
- endif
- libstl_la_SOURCES = meshstlsurface.cpp stlgeom.cpp stlgeomchart.cpp \
-@@ -16,6 +16,5 @@
- libstlvis_la_SOURCES = stlpkg.cpp vsstl.cpp
- libstlvis_la_LIBADD = libstl.la
--libstl_la_LIBADD =  $(top_builddir)/libsrc/meshing/libmesh.la
- # libstlvis_la_LIBADD = libstl.la $(top_builddir)/libsrc/linalg/libla.la 
-diff -Naur netgen-5.3.1_SRC_orig/ng/menustat.tcl netgen-5.3.1_SRC_modif/ng/menustat.tcl
---- netgen-5.3.1_SRC_orig/ng/menustat.tcl      2014-08-29 13:54:01.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/ng/menustat.tcl     2018-03-01 15:45:35.128037102 +0300
-@@ -1,1123 +1,1123 @@
--# netgen menus:
--
--menu .ngmenu -tearoff 0  -relief raised -bd 2
--. configure -menu .ngmenu
--
--.ngmenu add cascade -label "File" -menu .ngmenu.file -underline 0
--.ngmenu add cascade -label "Geometry" -menu .ngmenu.geometry -underline 0
--.ngmenu add cascade -label "Mesh" -menu .ngmenu.mesh -underline 0
--.ngmenu add cascade -label "View" -menu .ngmenu.view -underline 0
--.ngmenu add cascade -label "Refinement" -menu .ngmenu.meshsize -underline 5
--
--if { $userlevel == 3} {
--    .ngmenu add cascade -label "Special" -menu .ngmenu.special -underline 3
--}
--
--.ngmenu add cascade -label "Help" -menu .ngmenu.help -underline 0
--
--
--#####################################################
--#                                                   #
--#     Menu File                                     #
--#                                                   #
--#####################################################
--
--menu .ngmenu.file
--
--.ngmenu.file add command -label "Load Geometry..." -accelerator "<l><g>" \
--    -command { 
--      set types {
--          {"All Geometry types"   { .stl .stlb .step .stp .geo .in2d .igs .iges .brep .sat} }
--          {"IGES Geometry"    {.igs .iges} }
--          {"BREP OpenCascade Geometry"    {.brep} }
--          {"STL Geometry"        {.stl} }
--          {"Binary STL Geometry"    {.stlb} }
--          {"STEP Geometry"    {.step .stp} }
--          {"Geometry file"       {.geo} }
--          {"2D Geometry"   {.in2d } } 
--      } 
--
--      set ACISavailable [Ng_ACISCommand isACISavailable]
--      if {$ACISavailable == "yes" } {
--          lappend types {"ACIS Geometry" {.sat} }
--      }
--
--      if {[catch {
--          set file [tk_getOpenFile -filetypes $types -initialdir $dirname -typevariable loadgeomtypevar]
--      }]} {
--          set file [tk_getOpenFile -filetypes $types -initialdir $dirname]
--      }
--
--      if {$file != ""} {
--          AddRecentFile $file
--          Ng_LoadGeometry $file 
--          Ng_ParseGeometry
--#         if { [Ng_STLInfo status]=="ERROR" } {
--#             tk_messageBox -message  "STL ERROR: \n [Ng_STLInfo statustext]" -type ok
--#         }
--          set selectvisual geometry
--          Ng_SetVisParameters
--          redraw
--          wm title . [concat "$progname - " $file]
--          set dirname [file dirname $file]
--          set basefilename [file tail [file rootname $file]]
--
--          if { $hasocc == "yes" } {
--              rebuildoccdialog
--          }
--      }
--    }
--
--
--
--.ngmenu.file add command -label "Save Geometry..." \
--    -command { 
--      set occgeometryloaded [Ng_OCCCommand isoccgeometryloaded]
--      puts $occgeometryloaded
--      if {$occgeometryloaded == 1 } {
--          set types {
--              {"IGES Geometry file"   {.igs} } 
--              {"STEP Geometry file"   {.stp} } 
--              {"STL Geometry file"   {.stl} } 
--              {"STL BIN Geometry file"   {.stlb} } 
--          }
--      } {
--          set types {
--              {"STL Geometry file"   {.stl} } 
--              {"STL BIN Geometry file"   {.stlb} } 
--          }
--      }
--
--      set ACISavailable [Ng_ACISCommand isACISavailable]
--      puts $ACISavailable
--      if {$ACISavailable == "yes" } {
--          lappend types {"ACIS Geometry" {.sat} }
--      }
--
--      set file [tk_getSaveFile -filetypes $types -initialdir $dirname -initialfile $basefilename ]
--      if {$file != ""} {
--          Ng_SaveGeometry $file 
--      }
--    }
-- 
--
--
--.ngmenu.file add cascade -label "Recent Files" -menu .ngmenu.file.recent 
--menu .ngmenu.file.recent
--
--
--proc AddRecentFile { filename } {
--    global progname
--    global dirname
--    catch { [.ngmenu.file.recent delete $filename] }
--    .ngmenu.file.recent insert 0 command -label $filename \
--      -command "AddRecentFile {$filename}; 
--                  Ng_LoadGeometry {$filename}; 
--                Ng_ParseGeometry;
--                set selectvisual geometry;
--                Ng_SetVisParameters;
--                redraw;
--                wm title . [concat \" $progname - $filename \"];
--                  set dirname {[file dirname $filename]};
--                  set basefilename {[file tail [file rootname $filename]]};
--                rebuildoccdialog;"
--
--    
--    if { [.ngmenu.file.recent index last] >= 6 } {
--      .ngmenu.file.recent delete last }
--    
--    saveinifile;
--    }
--loadinifile;
--
--.ngmenu.file add separator
--
--
--.ngmenu.file add command -label "Load Mesh..." -accelerator "<l><m>" \
--    -command {
--      set types {
--          {"Mesh file"   {.vol .vol.gz}       } }
--      set file [tk_getOpenFile -filetypes $types -defaultextension ".vol"]
--      if {$file != ""} {
--          AddRecentMeshFile $file;
--          Ng_LoadMesh $file; 
--          set selectvisual mesh
--          Ng_SetVisParameters
--          redraw
--          Ng_ReadStatus; 
--#         Ng_MeshSizeFromSurfaceMesh
--          wm title . [concat "$progname - " $file] 
--          set dirname [file dirname $file]
--          set basefilename [file tail [file rootname $file]]
--      }
--    }
--
--
--
--# astrid
--.ngmenu.file add cascade -label "Recent Meshes" -menu .ngmenu.file.recentmesh 
--menu .ngmenu.file.recentmesh
--
--
--proc AddRecentMeshFile { filename } {
--    global progname
--    global dirname
--    catch { [.ngmenu.file.recentmesh delete $filename] }
--    .ngmenu.file.recentmesh insert 0 command -label $filename \
--      -command "AddRecentMeshFile {$filename}; 
--                  Ng_LoadMesh {$filename};
--                set selectvisual mesh;
--                Ng_SetVisParameters;
--                redraw;
--                wm title . [concat \" $progname - $filename \"];
--                  set dirname {[file dirname $filename]};
--                  set basefilename {[file tail [file rootname $filename]]};
--                  rebuildoccdialog;"
--    
--    if { [.ngmenu.file.recentmesh index last] >= 6 } {
--      .ngmenu.file.recentmesh delete last }
--   
--    savemeshinifile;
--    }
--loadmeshinifile;
--
--# astrid ende
--
--
--.ngmenu.file add command -label "Save Mesh..." -accelerator "<s><m>" \
--    -command {
--      set types {
--          {"Mesh file"   {.vol .vol.gz}       } }
--
--      set file [tk_getSaveFile -filetypes $types -defaultextension ".vol.gz" -initialfile $basefilename -initialdir $dirname ]
--      if {$file != ""} {
--          Ng_SaveMesh $file }
--      AddRecentMeshFile $file;
--
--    }
--
--.ngmenu.file add command -label "Merge Mesh..." \
--    -command {
--      set types {
--          {"Mesh file"   {.vol}       } }
--      set file [tk_getOpenFile -filetypes $types -defaultextension ".vol"]
--      if {$file != ""} {
--          Ng_MergeMesh $file; 
--          set selectvisual mesh
--          Ng_SetVisParameters
--          redraw
--          Ng_ReadStatus; 
--      }
--    }
--
--
--
--
--
--.ngmenu.file add command -label "Import Mesh..." \
--    -command { 
--      set types {
--          {"Neutral format"  {.mesh .emt} }
--          {"Surface mesh format"  {.surf} }
--          {"Universal format"  {.unv} }
--          {"Olaf format"  {.emt} }
--          {"TET format" {.tet} }
--          {"Pro/ENGINEER neutral format" {.fnf} }
--                }
--      set file [tk_getOpenFile -filetypes $types ]
--      if {$file != ""} {
--          Ng_ImportMesh $file 
--          set selectvisual mesh
--          Ng_SetVisParameters
--          redraw
--          Ng_ReadStatus; 
--      }
--    }
--
--
--.ngmenu.file add command -label "Export Mesh..." \
--    -command {
--
--#     global meshexportformats
--      foreach exportformat $meshexportformats {
--          if { [lindex $exportformat 0] == $exportfiletype } {
--              set extension [lindex $exportformat 1]
--          }
--      }
--
--      if { $exportfiletype == "Elmer Format"} {
--          set file [file nativename [tk_chooseDirectory -title "Elmer Mesh Export - Select Directory"]]
--        } elseif { $exportfiletype == "OpenFOAM 1.5+ Format"} {
--          set file [file nativename [tk_chooseDirectory -title "OpenFOAM 1.5+ Mesh Export - Select Case Directory"]]
--        } elseif { $exportfiletype == "OpenFOAM 1.5+ Compressed"} {
--          set file [file nativename [tk_chooseDirectory -title "OpenFOAM 1.5+ Mesh Export - Select Case Directory"]]
--        } else {
--#         set file [tk_getSaveFile  -filetypes "{ \"$exportfiletype\" {$extension} }" ]
--          set file [tk_getSaveFile  -filetypes "{ \"$exportfiletype\" {*}}" ]
--      }
--
--      if {$file != ""} {
--          Ng_ExportMesh $file $exportfiletype 
--      }
--    }
--
--.ngmenu.file add cascade -label "Export Filetype" -menu .ngmenu.file.filetype 
--
--menu .ngmenu.file.filetype 
--
--
--.ngmenu.file add separator
--
--
--.ngmenu.file add command -label "Save Solution..." \
--    -command { 
--      set types { 
--            {"Solution File"  {.sol} } 
--            {"VTK File"  {.vtk} } 
--        }
--      set file [tk_getSaveFile -filetypes $types ]
--      if {$file != ""} {
--          Ng_SaveSolution $file 
--      }
--    }
--#-defaultextension ".sol"  ]
--
--.ngmenu.file add command -label "Import Solution..." \
--    -command { 
--      set types { {"Solution File"  {.sol} } }
--      set file [tk_getOpenFile -filetypes $types -defaultextension ".sol"  ]
--      if {$file != ""} {
--          Ng_ImportSolution $file 
--          set selectvisual solution
--          Ng_SetVisParameters
--          redraw
--      }
--    }
--
--
--
--
--
--
--set demostarttime [clock clicks -millisecond]
--set stopdemo 0
--proc demoredraw { } {
--    global demostarttime
--    global stopdemo
--    set curtime [clock clicks -millisecond]
--    set result [ Ng_DemoSetTime [expr $curtime - $demostarttime] ]
--    redraw
--    global videoactive
--    if { $videoactive == 1 } {
--        puts "addframe"
--        .ndraw Ng_VideoClip addframe
--    }
--    if { $result == 0 && $stopdemo == 0 } {
--      after 1 { demoredraw }
--    }
--}
--.ngmenu.file add command -label "Show Demo..." \
--    -command {
--      set types { {"Demo File"  {.dem} } }
--      set file [tk_getOpenFile -filetypes $types -defaultextension ".dem"  ]
--      if {$file != ""} {
--          Ng_ShowDemo $file 
--          set demostarttime [clock clicks -millisecond]
--          set stopdemo 0
--          demoredraw
--      }
--     }
--
--
--
--
--.ngmenu.file add separator
--
--.ngmenu.file add command -label "Snapshot..." \
--    -command { 
--      set types { 
--          {"JPG file" {.jpg} } 
--          {"GIF file" {.gif} } 
--          {"PPM file" {.ppm} } 
--      }
--      set file [tk_getSaveFile -filetypes $types]
--#  -defaultextension ".ppm"]
--      if {$file != ""} {
--          .ndraw Ng_SnapShot $file }
--    }
--
--
--.ngmenu.file add cascade -label "Video clip" -menu .ngmenu.file.video
--menu .ngmenu.file.video
--
--set videoactive 0
--.ngmenu.file.video add command -label "start..." \
--    -command { 
--      set types { 
--          {"MPG file" {.mpg} } 
--      }
--      set file [tk_getSaveFile -filetypes $types]
--      if {$file != ""} {
--          .ndraw Ng_VideoClip init $file 
--            global videoactive
--            set videoactive 1
--        }
--     }
--
--.ngmenu.file.video add command -label "add frame..." \
--    -command {.ndraw Ng_VideoClip addframe }
--
--.ngmenu.file.video add command -label "one cycle" \
--    -command {
--      set visoptions.redrawperiodic 1
--      for { set j 0 } { $j < 100 } { incr j } {
--          puts "j =  $j"
--          Ng_Vis_Set time [expr (1000 * $j / 100)]
--          redraw
--          .ndraw Ng_VideoClip addframe 
--          after 200
--      }
--    }
--
--.ngmenu.file.video add command -label "finalize..." \
--    -command {
--        .ndraw Ng_VideoClip finalize 
--        global videoactive
--        set videoactive 0
--    }
--
--
--
--.ngmenu.file add command -label "Save Options" \
--    -command { saveoptions }
--
--
--    
--
--.ngmenu.file add separator
--
--
--## herbert tcl load menue
--# .ngmenu.file add command -label "Run tests ..." \
--\#    -command { runtestdialog }
--##
--# .ngmenu.file add separator
--
--.ngmenu.file add command -label "Quit" -accelerator "<q>" \
--    -command { 
--        puts "Thank you for using $progname"; 
--
--        if { [catch { unload libngsolve[info sharedlibextension] ngsolve } result ] } {
--            # puts "cannot unload ngsolve" 
--            # puts "error: $result"
--        } 
--
--        Ng_Exit; 
--        destroy . 
--    }
--# exit
--
--
--#####################################################
--#                                                   #
--#     Menu Mesh                                     #
--#                                                   #
--#####################################################
--
--menu .ngmenu.mesh
--.ngmenu.mesh add command -label "Generate Mesh" -accelerator "<g><m>" \
--    -command { 
--      set selectvisual mesh
--      Ng_SetVisParameters
--      Ng_GenerateMesh ${meshoptions.firststep} ${meshoptions.laststep}
--      Ng_ReadStatus
--      redraw
--    }
--
--.ngmenu.mesh add command -label "Stop Meshing" \
--    -command { Ng_StopMeshing }
--
--.ngmenu.mesh add command -label "Meshing Options..." \
--    -command meshingoptionsdialog
--
--
--.ngmenu.mesh add separator
--
--.ngmenu.mesh add command -label "Delete Mesh" \
--    -command { Ng_New mesh; Ng_ReadStatus; redraw }
--
--.ngmenu.mesh add command -label "Delete Vol Mesh" \
--    -command { Ng_DeleteVolMesh; Ng_ReadStatus; redraw }
--
--
--.ngmenu.mesh add command -label "Mesh Info" \
--    -command {
--      set dim [Ng_MeshInfo dim]
--      set np [Ng_MeshInfo np]
--      set ne [Ng_MeshInfo ne]
--      set nse [Ng_MeshInfo nse]
--      set nseg [Ng_MeshInfo nseg]
--      set bbox [Ng_MeshInfo bbox]
--      tk_messageBox -message  "Dimension: $dim\nPoints: $np\nElements: $ne\nSurface Els: $nse\nSegments: $nseg\nxmin [lindex $bbox 0] xmax [lindex $bbox 1]\nymin [lindex $bbox 2] ymax [lindex $bbox 3]\nzmin [lindex $bbox 4] zmax [lindex $bbox 5]"
--    }
--
--
--.ngmenu.mesh add command -label "Mesh Quality" \
--    -command {
--      set inplanemin 0
--      set inplanemax 0
--      set betplanemin 0
--      set betplanemax 0
--      Ng_MeshQuality inplanemin inplanemax betplanemin betplanemax
--      puts "Triangle angles : $inplanemin - $inplanemax"
--      puts "Tet angles      : $betplanemin - $betplanemax"
--      tk_messageBox -message  "Triangle angles : $inplanemin - $inplanemax \n Tet angles      : $betplanemin - $betplanemax"
--    }
--
--# .ngmenu.mesh add command -label "Quality Plot" \
--#    -command { qualityviewdialog 1 }
--
--
--
--
--.ngmenu.mesh add command -label "Check Surface Mesh" \
--    -command { Ng_CheckSurfaceMesh }
--.ngmenu.mesh add command -label "Check Volume Mesh" \
--    -command { Ng_CheckVolumeMesh }
--
--.ngmenu.mesh add command -label "Edit Boundary Conditions..." \
--    -command { bcpropdialog }
--
--if { $userlevel == 3 } {
--    .ngmenu.mesh add command -label "Mesh Doctor..." \
--      -command { meshdoctordialog }
--}
--
--.ngmenu.mesh add command -label "METIS Mesh Partitioning..." \
--      -command { METISdialog }
--
--.ngmenu.mesh add separator
--
--.ngmenu.mesh add command -label "Analyze Geometry" \
--    -command { Ng_GenerateMesh ag ag; Ng_ReadStatus; redraw }
--.ngmenu.mesh add command -label "Mesh Edges" \
--    -command { Ng_GenerateMesh me me; Ng_ReadStatus; redraw }
--.ngmenu.mesh add command -label "Mesh Surface" \
--    -command { set selectvisual mesh; Ng_SetVisParameters; \
--                 Ng_GenerateMesh ms ms; Ng_ReadStatus; redraw }
--
--.ngmenu.mesh add command -label "Optimize Surface" \
--    -command { Ng_GenerateMesh os os cmsmSm; redraw }
--
--.ngmenu.mesh add cascade -label "Surface Optim. Step" -menu .ngmenu.mesh.surfoptstep 
--
--menu .ngmenu.mesh.surfoptstep 
--.ngmenu.mesh.surfoptstep add command -label "Mesh Smoothing" \
--    -command { Ng_GenerateMesh os os m; redraw}
--.ngmenu.mesh.surfoptstep add command -label "Edge swapping (topologic)" \
--    -command { Ng_GenerateMesh os os s; redraw}
--.ngmenu.mesh.surfoptstep add command -label "Edge swapping (metric)" \
--    -command { Ng_GenerateMesh os os S; redraw}
--.ngmenu.mesh.surfoptstep add command -label "Combine points" \
--    -command { Ng_GenerateMesh os os c; redraw}
--
--
--.ngmenu.mesh add separator
--.ngmenu.mesh add command -label "Mesh Volume" \
--    -command { Ng_GenerateMesh mv mv; Ng_ReadStatus }
--.ngmenu.mesh add command -label "Optimize Volume" \
--    -command { Ng_GenerateMesh ov ov; Ng_ReadStatus }
--.ngmenu.mesh add command -label "Smooth Opt Volume" \
--    -command { Ng_GenerateMesh ov ov m; Ng_ReadStatus }
--.ngmenu.mesh add command -label "Smooth Opt Volume Jacobian" \
--    -command { Ng_GenerateMesh ov ov j; Ng_ReadStatus }
--
--
--
--#####################################################
--#                                                   #
--#     Menu Geometry                                 #
--#                                                   #
--#####################################################
--
--menu .ngmenu.geometry
--
--
--
--
--
--
--
--#####################################################
--#                                                   #
--#     Menu View                                     #
--#                                                   #
--#####################################################
--
--menu .ngmenu.view
--.ngmenu.view add command -label "Zoom all" \
--    -command { Ng_ZoomAll; redraw }
--.ngmenu.view add command -label "Center" \
--    -command { Ng_Center; redraw }
--
--.ngmenu.view add command -label "x-y plane" \
--    -command { Ng_StandardRotation xy; redraw }
--.ngmenu.view add command -label "y-x plane" \
--    -command { Ng_StandardRotation yx; redraw }
--.ngmenu.view add command -label "x-z plane" \
--    -command { Ng_StandardRotation xz; redraw }
--.ngmenu.view add command -label "z-x plane" \
--    -command { Ng_StandardRotation zx; redraw }
--.ngmenu.view add command -label "y-z plane" \
--    -command { Ng_StandardRotation yz; redraw }
--.ngmenu.view add command -label "z-y plane" \
--    -command { Ng_StandardRotation zy; redraw }
--
--.ngmenu.view add command -label "Viewing Options..." \
--    -command { viewingoptionsdialog; redraw }
--.ngmenu.view add command -label "Clipping Plane..." \
--    -command { clippingdialog; redraw }
--.ngmenu.view add command -label "Solution Data..." \
--    -command { visual_dialog; redraw }
--.ngmenu.view add checkbutton -variable viewqualityplot \
--    -label "Quality Plot" \
--    -command { qualityviewdialog $viewqualityplot }
--.ngmenu.view add checkbutton -variable memuseplot \
--    -label "Memory Usage" \
--    -command { memusedialog $memuseplot }
--
--
--
--
--#####################################################
--#                                                   #
--#     Menu Refinement                               #
--#                                                   #
--#####################################################
--#
--# Mesh size menu
--#
--menu .ngmenu.meshsize
--.ngmenu.meshsize add command -label "Refine uniform" \
--    -command { Ng_Refine; Ng_HighOrder ${options.elementorder}; Ng_ReadStatus; redraw }
--
--.ngmenu.meshsize add command -label "Second Order" \
--    -command { Ng_SecondOrder; Ng_ReadStatus; redraw }
--
--.ngmenu.meshsize add command -label "Validate Second Order" \
--    -command { Ng_ValidateSecondOrder; Ng_ReadStatus; redraw }
--
--.ngmenu.meshsize add command -label "High Order" \
--    -command { Ng_HighOrder ${options.elementorder}; Ng_ReadStatus; redraw }
--
--.ngmenu.meshsize add separator
--
--.ngmenu.meshsize add command -label "Refinement Dialog..." \
--    -command { refinementdialog }
--.ngmenu.meshsize add command -label "Load Meshsize..." \
--    -command {
--      set types {
--          {"Meshsize file"   {.msz}   } }
--      set file [tk_getOpenFile -filetypes $types]
--      if {$file != ""} {
--          Ng_LoadMeshSize $file; 
--      }
--    }
--.ngmenu.meshsize add command -label "MS from Surf Mesh" \
--    -command { Ng_MeshSizeFromSurfaceMesh }
--
--
--if { $userlevel == 3 } {
--.ngmenu.meshsize add command -label "Singular point ms" \
--    -command { Ng_SingularPointMS; }
--
--.ngmenu.meshsize add command -label "Singular edge ms" \
--    -command { Ng_SingularEdgeMS; }
--
--.ngmenu.meshsize add separator
--
--set bisectfilename "";
--
--.ngmenu.meshsize add command -label "Bisection" \
--    -command { Ng_ReadStatus; set oldnp 0; set newnp $status_np; 
--#     Ng_BisectCopyMesh; 
--#     Ng_Split2Tets;
--      Ng_ReadStatus;
--      
--      while { $oldnp < $newnp } {
--#         if { $level == 0 } {
--#             Ng_ExportMesh feppmesh.vol fepp;
--#         } {
--#             Ng_ExportMesh feppmesh$level feppml 
--#         }
--          set level [expr $level+1]
--          if { $bisectfilename == ""} {
--              Ng_Bisect;
--          } else {
--              Ng_Bisect $bisectfilename;
--          }
--#         Ng_HighOrder ${options.elementorder} "noparallel"
--#         Ng_Split2Tets;
--          Ng_ReadStatus;
--          redraw; 
--          
--          if { $bisectfilename == ""} {
--              set oldnp $newnp;
--              set newnp $status_np;
--              puts "oldnp $oldnp newnp $newnp";
--          } else {
--              set oldnp $newnp;
--          }
--      }
--    }
--#    -command { Ng_Bisect; Ng_ReadStatus; redraw }
--#    -command { exec netgen abc >outfile 2>errfile; Ng_ReadStatus; redraw }
--
--}
--
--.ngmenu.meshsize add command -label "Load Refinement Info..." \
--    -command {
--      set types {
--          {"Refinement info" {.refine} }}
--      set bisectfilename [tk_getOpenFile -filetypes $types]
--    }
--
--.ngmenu.meshsize add command -label "Z-Refinement" \
--    -command { Ng_ZRefinement 2; Ng_ReadStatus; redraw }
--
--
--# .ngmenu.meshsize add command -label "hp-Refinement" \
--\#    -command { Ng_HPRefinement 4; Ng_ReadStatus; redraw }
--
--.ngmenu.meshsize add cascade -label "hp-Refinement" -menu .ngmenu.meshsize.hpref
--menu .ngmenu.meshsize.hpref
--.ngmenu.meshsize.hpref add command -label "1 Level" \
--    -command { Ng_HPRefinement 1; Ng_ReadStatus; redraw }
--.ngmenu.meshsize.hpref add command -label "2 Levels" \
--    -command { Ng_HPRefinement 2; Ng_ReadStatus; redraw }
--.ngmenu.meshsize.hpref add command -label "3 Levels" \
--    -command { Ng_HPRefinement 3; Ng_ReadStatus; redraw }
--.ngmenu.meshsize.hpref add command -label "4 Levels" \
--    -command { Ng_HPRefinement 4; Ng_ReadStatus; redraw }
--.ngmenu.meshsize.hpref add command -label "5 Levels" \
--    -command { Ng_HPRefinement 5; Ng_ReadStatus; redraw }
--.ngmenu.meshsize.hpref add command -label "6 Levels" \
--    -command { Ng_HPRefinement 6; Ng_ReadStatus; redraw }
--.ngmenu.meshsize.hpref add command -label "7 Levels" \
--    -command { Ng_HPRefinement 7; Ng_ReadStatus; redraw }
--.ngmenu.meshsize.hpref add command -label "8 Levels" \
--    -command { Ng_HPRefinement 8; Ng_ReadStatus; redraw }
--.ngmenu.meshsize.hpref add command -label "9 Levels" \
--    -command { Ng_HPRefinement 9; Ng_ReadStatus; redraw }
--.ngmenu.meshsize.hpref add command -label "10 Levels" \
--    -command { Ng_HPRefinement 10; Ng_ReadStatus; redraw }
--
--
--.ngmenu.meshsize add command -label "Split to Tets" \
--    -command { Ng_Split2Tets; Ng_ReadStatus; redraw }
--
--
--
--
--
--#####################################################
--#                                                   #
--#     Menu Special                                  #
--#                                                   #
--#####################################################
--
--menu .ngmenu.special
--.ngmenu.special add command -label "Prismatic Boundary Layer" \
--    -command { Ng_GenerateBoundaryLayer; redraw }
--.ngmenu.special add command -label "Insert virtual boundary layer" \
--    -command { Ng_InsertVirtualBL; redraw }
--.ngmenu.special add command -label "Cut off and combine with other" \
--    -command { 
--      set types { {"Mesh file"   {.vol}       } }
--      set file [tk_getOpenFile -filetypes $types]
--      if {$file != ""} {
--          Ng_CutOffAndCombine $file;  }
--      redraw 
--    }
--.ngmenu.special add command -label "Helmholtz Mesh grading" \
--    -command { Ng_HelmholtzMesh; }
--.ngmenu.special add cascade -label "Colour-based boundary conditions" -menu .ngmenu.special.colbndcond
--
--menu .ngmenu.special.colbndcond 
-- .ngmenu.special.colbndcond add command -label "Inspect Colours in mesh" \
--    -command { currmeshcoloursdialog }
--    
-- .ngmenu.special.colbndcond add separator     
--    
-- .ngmenu.special.colbndcond add command -label "Automatic Assignment" \
--    -command { Ng_AutoColourBcProps auto; redraw }
--      
-- .ngmenu.special.colbndcond add separator     
--
-- set ocffile [file join ${ngdir} netgen.ocf];
-- 
-- .ngmenu.special.colbndcond add command -label "Select Colour Profile file" \
--    -command {
--      set types { {"Colour Profile file"   {.ocf}   } }
--      set ocffile [tk_getOpenFile -filetypes $types]
--      if {$ocffile == ""} {
--          set ocffile [file join ${ngdir} netgen.ocf]; }
--      } 
-- .ngmenu.special.colbndcond add command -label "Profile based Assignment" \
--      -command { Ng_AutoColourBcProps profile ${ocffile}; redraw }
--
--
--# menu .mbar.stl.menu
--# .mbar.stl.menu add command -label "STL options" \
--#     -command { stloptionsdialog; }
--#.mbar.stl.menu add command -label "STL Doctor" \
--#    -command { stldoctordialog; }
--
--
--#####################################################
--#                                                   #
--#     Menu Help                                     #
--#                                                   #
--#####################################################
--
--
--
--
--menu .ngmenu.help
--# .ngmenu.help add command -label "Ng Help..." \
--\#    -command { help_main }
--# .ngmenu.view add checkbutton -variable showsensitivehelp \
--#     -label "Sensitve Help" \
--#     -command { sensitivehelpdialog $showsensitivehelp }
--.ngmenu.view add checkbutton -label "Help Line" -variable showhelpline \
--      -command {
--    if { $showhelpline == 1} {
--      pack .helpline -before .statbar -side bottom -fill x -padx 3p
--    } {
--      pack forget .helpline 
--    }
--} 
--
--.ngmenu.help add command -label "About..." \
--    -command {
--tk_messageBox -message "This is NETGEN \nmainly written by \nJoachim Schoeberl \nthanks to \nRobert Gaisbauer, Johannes Gerstmayr, Philippose Rajan"
--}
--
--# tk_menuBar .mbar .mbar.file .mbar.mesh .mbar.test .mbar.help
--# focus .mbar
--
--
--
--
--#####################################################
--#                                                   #
--#     Button bar                                    #
--#                                                   #
--#####################################################
--
--frame .bubar -relief raised -bd 2
--pack .bubar -side top -fill x
--
--button .bubar.testb -text "Test" -command { Ng_SaveGeometry }
--button .bubar.surfm -text "Generate Mesh" -command \
--    { 
--      .ngmenu.mesh invoke "Generate Mesh"; 
--#     set selectvisual mesh; 
--#     Ng_SetVisParameters;
--#     Ng_GenerateMesh ${meshoptions.firststep} ${meshoptions.laststep}
--#     redraw 
--    }
--button .bubar.stopm -text "Stop" -command \
--    { 
--      # Ng_StopMeshing;  
--      set multithread_terminate 1;
--      set stopdemo 1;
--    }
--button .bubar.exitb -text "Quit" \
--    -command { 
--         set ans [tk_messageBox -title "Quit Netgen?" -message "Do you really want to quit Netgen?" -type yesno -default "no" -icon question]
--         if { $ans == "yes" } {
--           .ngmenu.file invoke "Quit"; 
--         }     
--      }
--pack  .bubar.exitb .bubar.surfm .bubar.stopm -side left
--
--#button .bubar.scan -text "Scan" \
--#    -command { Ng_ParseGeometry; set selectvisual geometry; Ng_SetVisParameters; redraw }
--
--button .bubar.zoomall -text "Zoom All" \
--    -command { Ng_ZoomAll; redraw }
--
--button .bubar.center -text "Center" \
--    -command { Ng_Center; redraw }
--
--# tk_optionMenu .bubar.modesel drawmode "rotate" "move  " "zoom  "
--tixOptionMenu .bubar.modesel \
--    -options {
--      label.width  0
--      label.anchor e
--      menubutton.width 6
--    } \
--    -variable drawmode
--
--.bubar.modesel add command rotate -label Rotate
--.bubar.modesel add command move -label Move
--.bubar.modesel add command zoom -label Zoom
--
--
--
--set viewvals { geometry specpoints mesh solution}
--if { $userlevel == 3} {
--    set viewvals { geometry mesh specpoints surfmeshing modelview solution}
--}
--
--set viewvallabs(cross)     "Cross" 
--set viewvallabs(geometry)  "Geometry" 
--set viewvallabs(mesh)      "Mesh" 
--set viewvallabs(specpoints) "Edges" 
--set viewvallabs(surfmeshing) "Mesh Gen" 
--set viewvallabs(modelview)     "Modeller" 
--set viewvallabs(solution)     "Solution" 
--
--tixOptionMenu .bubar.selview \
--    -options {
--      label.width  0
--      label.anchor e
--      menubutton.width 10
--    } \
--
--foreach viewv $viewvals {
--    .bubar.selview add command $viewv -label $viewvallabs($viewv)
--}
--
--
--
--.bubar.selview config -variable selectvisual
--.bubar.selview config -command { Ng_SetVisParameters; redraw }
--
--
--pack .bubar.modesel -side right
--pack forget .bubar.modesel
--pack .bubar.center .bubar.zoomall .bubar.selview -side right
--
--.ngmenu.view add checkbutton -variable viewrotatebutton \
--    -label "Enable LeftButton Selection" \
--    -command { 
--      if { $viewrotatebutton } {
--          pack .bubar.modesel -side right
--      } {
--          pack forget .bubar.modesel
--      }
--    }
--
--
--
--
--#####################################################
--#                                                   #
--#     Status bar                                    #
--#                                                   #
--#####################################################
--
--label .helpline -text "None"
--pack forget .helpline -side bottom -fill x
--
--frame .statbar -relief flat -bd 2
--pack .statbar -side bottom -fill x
--
--label .statbar.ptslabel -text "Points: "
--label .statbar.ptsval -textvariable status_np
--label .statbar.elslabel -text "   Elements: "
--label .statbar.elsval -textvariable status_ne
--label .statbar.selslabel -text "   Surf Elements: "
--label .statbar.selsval -textvariable status_nse
--# label .statbar.memlabel -text "   Mem: "
--# label .statbar.memval -textvariable mem_moveable
--label .statbar.task -textvariable status_task
--
--pack .statbar.ptslabel .statbar.ptsval -side left -ipady 3p 
--pack .statbar.elslabel .statbar.elsval -side left -ipady 3p 
--pack .statbar.selslabel .statbar.selsval -side left -ipady 3p
--
--# if { $userlevel == 3 } {
--#    pack .statbar.memlabel .statbar.memval -side left -ipady 3p
--# }
--
--
--tixMeter .statbar.per -value 0 -text 0%
--.statbar.per configure -fillcolor blue
--
--pack .statbar.per -side right
--pack .statbar.task -side right -ipady 4
--
--set qualbaraxis(0) 0
--set qualbar(0) 0
--set qualbarnull(0) 0
--
--
--
--proc timer2 { } {
--    global status_np
--    global status_ne
--    global status_nse
--    global multithread_running
--    global multithread_redraw
--    global status_working
--    global status_task
--    global status_percent
--    global status_tetqualclasses
--    
--
--    Ng_ReadStatus 
--
--    if { $multithread_redraw == 1 } {
--      set multithread_redraw 0;
--      redraw;
--        
--        global videoactive
--        if { $videoactive == 1 } {
--            puts "addframe"
--            .ndraw Ng_VideoClip addframe
--        }
--    }
--
--    # global mem_moveable
--    # set mem_moveable [Ng_MemInfo moveable]
--
--
--    .statbar.per config -value [expr $status_percent/100] -text [format %2.1f [expr 0.1*int(10*$status_percent)]]%
--
--
--    if { $multithread_running } {
--      pack .statbar.per -side right -before .statbar.task -padx 6
--    } { 
--      pack forget .statbar.per
--    }
--      
--
--
--    # tet quality
--    if {[winfo exists .qualityview_dlg] == 1} {
--      
--      global qualbar
--      global qualbarnull
--      global qualbaraxis
--
--      set maxval 0
--      for {set i 0} {$i < 20} {incr i} {
--          if {[lindex $status_tetqualclasses $i] > $maxval} {
--              set maxval [lindex $status_tetqualclasses $i]
--          }
--      } 
--
--      set ubound 1
--      while { $ubound < $maxval } {
--          set ubound [expr {10 * $ubound}]
--      }
--      if { $ubound/5 > $maxval } {
--          set ubound [expr $ubound/5]
--      }
--      if { $ubound/2 > $maxval } {
--          set ubound [expr $ubound/2]
--      }
--
--
--      
--      for {set i 1} {$i <= 5} {incr i} {
--          # global qualbaraxis($i)
--
--          set value [expr { $i * $ubound / 5 }]
--          .qualityview_dlg.c dchars $qualbaraxis($i) 0 end
--          .qualityview_dlg.c insert $qualbaraxis($i) end $value  
--      }
--
--      
--      for {set i 0} {$i < 20} {incr i} {
--          set x1 [expr {100 + ($i*15) + 2}]
--          set x2 [expr {$x1+10}]
--          
--          set nbrs [lindex $status_tetqualclasses $i]
--          set y [expr (249 - (200 * $nbrs / $ubound ) )]
--          
--          # global qualbar($i)
--          .qualityview_dlg.c coords $qualbar($i) $x1 250 $x2 $y
--
--#         global qualbarnull($i)
--          if { $nbrs == 0 } {
--              .qualityview_dlg.c itemconfigure $qualbarnull($i) -text 0
--          } {
--              .qualityview_dlg.c itemconfigure $qualbarnull($i) -text "" 
--          }           
--      }
--      
--    }
--
--
--    if {[winfo exists .memuse_dlg] == 1} {    
--      
--      global memmark
--      set usemb [Ng_MemInfo usedmb]
--      for {set i 0} {$i < [string length $usemb] } {incr i} {
--          if { [string index $usemb $i] == 0 } {
--              .memuse_dlg.c coords $memmark($i)  [expr 50+$i] 68 [expr 50+$i] 70
--          } {
--              .memuse_dlg.c coords $memmark($i)  [expr 50+$i] 50 [expr 50+$i] 70
--          }
--      }
--
--    }
--    after 30 { timer2 }
--}
--# after 1000 { timer2 }
--timer2
--
--
--
--
--proc bgerror { error } {
--    global errorInfo userlevel
--    if { $userlevel == 3} {
--      puts "ERROR: $error" 
--      puts "errinfo: $errorInfo"
--    }
--    tk_messageBox -title "Error Message" -message $error -type ok 
--}
--
--
--
--
--
--
--proc smh2 { menuitem } {
--    if {[catch {$menuitem entrycget active -label} name]} {
--      set name "    "
--    } 
--    show_menu_help $name 
--    update idletasks
--}
--
--bind .ngmenu <<MenuSelect>> { smh2 %W }
--bind .ngmenu.file <<MenuSelect>> { smh2 %W }
--bind .ngmenu.geometry <<MenuSelect>> { smh2 %W }
--bind .ngmenu.mesh <<MenuSelect>> { smh2 %W }
--bind .ngmenu.view <<MenuSelect>> { smh2 %W }
--bind .ngmenu.meshsize <<MenuSelect>> { smh2 %W }
--bind .ngmenu.special <<MenuSelect>> { smh2 %W }
--bind .ngmenu.help <<MenuSelect>> { smh2 %W }
--
--
--# command bindings  
--bind . <q> { .ngmenu.file invoke "Quit" }
--bind . <l><g> { .ngmenu.file invoke "Load Geometry..." }  ; 
--bind . <l><m> { .ngmenu.file invoke "Load Mesh..." }  ;
--bind . <s><m> { .ngmenu.file invoke "Save Mesh..." }  ;
--bind . <r><f> { .ngmenu.file activate "Recent Files" }  ;
--bind . <n><p> { newprimitivedialog }      ; # 
--bind . <e><p> { editprimitivedialog }
--bind . <e><s> { newsoliddialog }
--bind . <g><m> { .ngmenu.mesh invoke "Generate Mesh" }  ;
--
--
--
--
--
-+# netgen menus:
-+
-+menu .ngmenu -tearoff 0  -relief raised -bd 2
-+. configure -menu .ngmenu
-+
-+.ngmenu add cascade -label "File" -menu .ngmenu.file -underline 0
-+.ngmenu add cascade -label "Geometry" -menu .ngmenu.geometry -underline 0
-+.ngmenu add cascade -label "Mesh" -menu .ngmenu.mesh -underline 0
-+.ngmenu add cascade -label "View" -menu .ngmenu.view -underline 0
-+.ngmenu add cascade -label "Refinement" -menu .ngmenu.meshsize -underline 5
-+
-+if { $userlevel == 3} {
-+    .ngmenu add cascade -label "Special" -menu .ngmenu.special -underline 3
-+}
-+
-+.ngmenu add cascade -label "Help" -menu .ngmenu.help -underline 0
-+
-+
-+#####################################################
-+#                                                   #
-+#     Menu File                                     #
-+#                                                   #
-+#####################################################
-+
-+menu .ngmenu.file
-+
-+.ngmenu.file add command -label "Load Geometry..." -accelerator "<l><g>" \
-+    -command {
-+      set types {
-+          {"All Geometry types"   { .stl .stlb .step .stp .geo .in2d .igs .iges .brep .sat} }
-+          {"IGES Geometry"    {.igs .iges} }
-+          {"BREP OpenCascade Geometry"    {.brep} }
-+          {"STL Geometry"        {.stl} }
-+          {"Binary STL Geometry"    {.stlb} }
-+          {"STEP Geometry"    {.step .stp} }
-+          {"Geometry file"       {.geo} }
-+          {"2D Geometry"   {.in2d } }
-+      }
-+
-+      set ACISavailable [Ng_ACISCommand isACISavailable]
-+      if {$ACISavailable == "yes" } {
-+          lappend types {"ACIS Geometry" {.sat} }
-+      }
-+
-+      if {[catch {
-+          set file [tk_getOpenFile -filetypes $types -initialdir $dirname -typevariable loadgeomtypevar]
-+      }]} {
-+          set file [tk_getOpenFile -filetypes $types -initialdir $dirname]
-+      }
-+
-+      if {$file != ""} {
-+          AddRecentFile $file
-+          Ng_LoadGeometry $file
-+          Ng_ParseGeometry
-+#         if { [Ng_STLInfo status]=="ERROR" } {
-+#             tk_messageBox -message  "STL ERROR: \n [Ng_STLInfo statustext]" -type ok
-+#         }
-+          set selectvisual geometry
-+          Ng_SetVisParameters
-+          redraw
-+          wm title . [concat "$progname - " $file]
-+          set dirname [file dirname $file]
-+          set basefilename [file tail [file rootname $file]]
-+
-+          if { $hasocc == "yes" } {
-+              rebuildoccdialog
-+          }
-+      }
-+    }
-+
-+
-+
-+.ngmenu.file add command -label "Save Geometry..." \
-+    -command {
-+      set occgeometryloaded [Ng_OCCCommand isoccgeometryloaded]
-+      puts $occgeometryloaded
-+      if {$occgeometryloaded == 1 } {
-+          set types {
-+              {"IGES Geometry file"   {.igs} }
-+              {"STEP Geometry file"   {.stp} }
-+              {"STL Geometry file"   {.stl} }
-+              {"STL BIN Geometry file"   {.stlb} }
-+          }
-+      } {
-+          set types {
-+              {"STL Geometry file"   {.stl} }
-+              {"STL BIN Geometry file"   {.stlb} }
-+          }
-+      }
-+
-+      set ACISavailable [Ng_ACISCommand isACISavailable]
-+      puts $ACISavailable
-+      if {$ACISavailable == "yes" } {
-+          lappend types {"ACIS Geometry" {.sat} }
-+      }
-+
-+      set file [tk_getSaveFile -filetypes $types -initialdir $dirname -initialfile $basefilename ]
-+      if {$file != ""} {
-+          Ng_SaveGeometry $file
-+      }
-+    }
-+
-+
-+
-+.ngmenu.file add cascade -label "Recent Files" -menu .ngmenu.file.recent
-+menu .ngmenu.file.recent
-+
-+
-+proc AddRecentFile { filename } {
-+    global progname
-+    global dirname
-+    catch { [.ngmenu.file.recent delete $filename] }
-+    .ngmenu.file.recent insert 0 command -label $filename \
-+      -command "AddRecentFile {$filename};
-+                  Ng_LoadGeometry {$filename};
-+                Ng_ParseGeometry;
-+                set selectvisual geometry;
-+                Ng_SetVisParameters;
-+                redraw;
-+                wm title . [concat \" $progname - $filename \"];
-+                  set dirname {[file dirname $filename]};
-+                  set basefilename {[file tail [file rootname $filename]]};
-+                rebuildoccdialog;"
-+
-+
-+    if { [.ngmenu.file.recent index last] >= 6 } {
-+      .ngmenu.file.recent delete last }
-+
-+    saveinifile;
-+    }
-+loadinifile;
-+
-+.ngmenu.file add separator
-+
-+
-+.ngmenu.file add command -label "Load Mesh..." -accelerator "<l><m>" \
-+    -command {
-+      set types {
-+          {"Mesh file"   {.vol .vol.gz}       } }
-+      set file [tk_getOpenFile -filetypes $types -defaultextension ".vol"]
-+      if {$file != ""} {
-+          AddRecentMeshFile $file;
-+          Ng_LoadMesh $file;
-+          set selectvisual mesh
-+          Ng_SetVisParameters
-+          redraw
-+          Ng_ReadStatus;
-+#         Ng_MeshSizeFromSurfaceMesh
-+          wm title . [concat "$progname - " $file]
-+          set dirname [file dirname $file]
-+          set basefilename [file tail [file rootname $file]]
-+      }
-+    }
-+
-+
-+
-+# astrid
-+.ngmenu.file add cascade -label "Recent Meshes" -menu .ngmenu.file.recentmesh
-+menu .ngmenu.file.recentmesh
-+
-+
-+proc AddRecentMeshFile { filename } {
-+    global progname
-+    global dirname
-+    catch { [.ngmenu.file.recentmesh delete $filename] }
-+    .ngmenu.file.recentmesh insert 0 command -label $filename \
-+      -command "AddRecentMeshFile {$filename};
-+                  Ng_LoadMesh {$filename};
-+                set selectvisual mesh;
-+                Ng_SetVisParameters;
-+                redraw;
-+                wm title . [concat \" $progname - $filename \"];
-+                  set dirname {[file dirname $filename]};
-+                  set basefilename {[file tail [file rootname $filename]]};
-+                  rebuildoccdialog;"
-+
-+    if { [.ngmenu.file.recentmesh index last] >= 6 } {
-+      .ngmenu.file.recentmesh delete last }
-+
-+    savemeshinifile;
-+    }
-+loadmeshinifile;
-+
-+# astrid ende
-+
-+
-+.ngmenu.file add command -label "Save Mesh..." -accelerator "<s><m>" \
-+    -command {
-+      set types {
-+          {"Mesh file"   {.vol .vol.gz}       } }
-+
-+      set file [tk_getSaveFile -filetypes $types -defaultextension ".vol.gz" -initialfile $basefilename -initialdir $dirname ]
-+      if {$file != ""} {
-+          Ng_SaveMesh $file }
-+      AddRecentMeshFile $file;
-+
-+    }
-+
-+.ngmenu.file add command -label "Merge Mesh..." \
-+    -command {
-+      set types {
-+          {"Mesh file"   {.vol}       } }
-+      set file [tk_getOpenFile -filetypes $types -defaultextension ".vol"]
-+      if {$file != ""} {
-+          Ng_MergeMesh $file;
-+          set selectvisual mesh
-+          Ng_SetVisParameters
-+          redraw
-+          Ng_ReadStatus;
-+      }
-+    }
-+
-+
-+
-+
-+
-+.ngmenu.file add command -label "Import Mesh..." \
-+    -command {
-+      set types {
-+          {"Neutral format"  {.mesh .emt} }
-+          {"Surface mesh format"  {.surf} }
-+          {"Universal format"  {.unv} }
-+          {"Olaf format"  {.emt} }
-+          {"TET format" {.tet} }
-+          {"Pro/ENGINEER neutral format" {.fnf} }
-+                }
-+      set file [tk_getOpenFile -filetypes $types ]
-+      if {$file != ""} {
-+          Ng_ImportMesh $file
-+          set selectvisual mesh
-+          Ng_SetVisParameters
-+          redraw
-+          Ng_ReadStatus;
-+      }
-+    }
-+
-+
-+.ngmenu.file add command -label "Export Mesh..." \
-+    -command {
-+
-+#     global meshexportformats
-+      foreach exportformat $meshexportformats {
-+          if { [lindex $exportformat 0] == $exportfiletype } {
-+              set extension [lindex $exportformat 1]
-+          }
-+      }
-+
-+      if { $exportfiletype == "Elmer Format"} {
-+          set file [file nativename [tk_chooseDirectory -title "Elmer Mesh Export - Select Directory"]]
-+        } elseif { $exportfiletype == "OpenFOAM 1.5+ Format"} {
-+          set file [file nativename [tk_chooseDirectory -title "OpenFOAM 1.5+ Mesh Export - Select Case Directory"]]
-+        } elseif { $exportfiletype == "OpenFOAM 1.5+ Compressed"} {
-+          set file [file nativename [tk_chooseDirectory -title "OpenFOAM 1.5+ Mesh Export - Select Case Directory"]]
-+        } else {
-+#         set file [tk_getSaveFile  -filetypes "{ \"$exportfiletype\" {$extension} }" ]
-+          set file [tk_getSaveFile  -filetypes "{ \"$exportfiletype\" {*}}" ]
-+      }
-+
-+      if {$file != ""} {
-+          Ng_ExportMesh $file $exportfiletype
-+      }
-+    }
-+
-+.ngmenu.file add cascade -label "Export Filetype" -menu .ngmenu.file.filetype
-+
-+menu .ngmenu.file.filetype
-+
-+
-+.ngmenu.file add separator
-+
-+
-+.ngmenu.file add command -label "Save Solution..." \
-+    -command {
-+      set types {
-+            {"Solution File"  {.sol} }
-+            {"VTK File"  {.vtk} }
-+        }
-+      set file [tk_getSaveFile -filetypes $types ]
-+      if {$file != ""} {
-+          Ng_SaveSolution $file
-+      }
-+    }
-+#-defaultextension ".sol"  ]
-+
-+.ngmenu.file add command -label "Import Solution..." \
-+    -command {
-+      set types { {"Solution File"  {.sol} } }
-+      set file [tk_getOpenFile -filetypes $types -defaultextension ".sol"  ]
-+      if {$file != ""} {
-+          Ng_ImportSolution $file
-+          set selectvisual solution
-+          Ng_SetVisParameters
-+          redraw
-+      }
-+    }
-+
-+
-+
-+
-+
-+
-+set demostarttime [clock clicks -millisecond]
-+set stopdemo 0
-+proc demoredraw { } {
-+    global demostarttime
-+    global stopdemo
-+    set curtime [clock clicks -millisecond]
-+    set result [ Ng_DemoSetTime [expr $curtime - $demostarttime] ]
-+    redraw
-+    global videoactive
-+    if { $videoactive == 1 } {
-+        puts "addframe"
-+        .ndraw Ng_VideoClip addframe
-+    }
-+    if { $result == 0 && $stopdemo == 0 } {
-+      after 1 { demoredraw }
-+    }
-+}
-+.ngmenu.file add command -label "Show Demo..." \
-+    -command {
-+      set types { {"Demo File"  {.dem} } }
-+      set file [tk_getOpenFile -filetypes $types -defaultextension ".dem"  ]
-+      if {$file != ""} {
-+          Ng_ShowDemo $file
-+          set demostarttime [clock clicks -millisecond]
-+          set stopdemo 0
-+          demoredraw
-+      }
-+     }
-+
-+
-+
-+
-+.ngmenu.file add separator
-+
-+.ngmenu.file add command -label "Snapshot..." \
-+    -command {
-+      set types {
-+          {"JPG file" {.jpg} }
-+          {"GIF file" {.gif} }
-+          {"PPM file" {.ppm} }
-+      }
-+      set file [tk_getSaveFile -filetypes $types]
-+#  -defaultextension ".ppm"]
-+      if {$file != ""} {
-+          .ndraw Ng_SnapShot $file }
-+    }
-+
-+
-+.ngmenu.file add cascade -label "Video clip" -menu .ngmenu.file.video
-+menu .ngmenu.file.video
-+
-+set videoactive 0
-+.ngmenu.file.video add command -label "start..." \
-+    -command {
-+      set types {
-+          {"MPG file" {.mpg} }
-+      }
-+      set file [tk_getSaveFile -filetypes $types]
-+      if {$file != ""} {
-+          .ndraw Ng_VideoClip init $file
-+            global videoactive
-+            set videoactive 1
-+        }
-+     }
-+
-+.ngmenu.file.video add command -label "add frame..." \
-+    -command {.ndraw Ng_VideoClip addframe }
-+
-+.ngmenu.file.video add command -label "one cycle" \
-+    -command {
-+      set visoptions.redrawperiodic 1
-+      for { set j 0 } { $j < 100 } { incr j } {
-+          puts "j =  $j"
-+          Ng_Vis_Set time [expr (1000 * $j / 100)]
-+          redraw
-+          .ndraw Ng_VideoClip addframe
-+          after 200
-+      }
-+    }
-+
-+.ngmenu.file.video add command -label "finalize..." \
-+    -command {
-+        .ndraw Ng_VideoClip finalize
-+        global videoactive
-+        set videoactive 0
-+    }
-+
-+
-+
-+.ngmenu.file add command -label "Save Options" \
-+    -command { saveoptions }
-+
-+
-+
-+
-+.ngmenu.file add separator
-+
-+
-+## herbert tcl load menue
-+# .ngmenu.file add command -label "Run tests ..." \
-+\#    -command { runtestdialog }
-+##
-+# .ngmenu.file add separator
-+
-+.ngmenu.file add command -label "Quit" -accelerator "<q>" \
-+    -command {
-+        puts "Thank you for using $progname";
-+
-+        if { [catch { unload libngsolve[info sharedlibextension] ngsolve } result ] } {
-+            # puts "cannot unload ngsolve"
-+            # puts "error: $result"
-+        }
-+
-+        Ng_Exit;
-+        destroy .
-+    }
-+# exit
-+
-+
-+#####################################################
-+#                                                   #
-+#     Menu Mesh                                     #
-+#                                                   #
-+#####################################################
-+
-+menu .ngmenu.mesh
-+.ngmenu.mesh add command -label "Generate Mesh" -accelerator "<g><m>" \
-+    -command {
-+      set selectvisual mesh
-+      Ng_SetVisParameters
-+      Ng_GenerateMesh ${meshoptions.firststep} ${meshoptions.laststep}
-+      Ng_ReadStatus
-+      redraw
-+    }
-+
-+.ngmenu.mesh add command -label "Stop Meshing" \
-+    -command { Ng_StopMeshing }
-+
-+.ngmenu.mesh add command -label "Meshing Options..." \
-+    -command meshingoptionsdialog
-+
-+
-+.ngmenu.mesh add separator
-+
-+.ngmenu.mesh add command -label "Delete Mesh" \
-+    -command { Ng_New mesh; Ng_ReadStatus; redraw }
-+
-+.ngmenu.mesh add command -label "Delete Vol Mesh" \
-+    -command { Ng_DeleteVolMesh; Ng_ReadStatus; redraw }
-+
-+
-+.ngmenu.mesh add command -label "Mesh Info" \
-+    -command {
-+      set dim [Ng_MeshInfo dim]
-+      set np [Ng_MeshInfo np]
-+      set ne [Ng_MeshInfo ne]
-+      set nse [Ng_MeshInfo nse]
-+      set nseg [Ng_MeshInfo nseg]
-+      set bbox [Ng_MeshInfo bbox]
-+      tk_messageBox -message  "Dimension: $dim\nPoints: $np\nElements: $ne\nSurface Els: $nse\nSegments: $nseg\nxmin [lindex $bbox 0] xmax [lindex $bbox 1]\nymin [lindex $bbox 2] ymax [lindex $bbox 3]\nzmin [lindex $bbox 4] zmax [lindex $bbox 5]"
-+    }
-+
-+
-+.ngmenu.mesh add command -label "Mesh Quality" \
-+    -command {
-+      set inplanemin 0
-+      set inplanemax 0
-+      set betplanemin 0
-+      set betplanemax 0
-+      Ng_MeshQuality inplanemin inplanemax betplanemin betplanemax
-+      puts "Triangle angles : $inplanemin - $inplanemax"
-+      puts "Tet angles      : $betplanemin - $betplanemax"
-+      tk_messageBox -message  "Triangle angles : $inplanemin - $inplanemax \n Tet angles      : $betplanemin - $betplanemax"
-+    }
-+
-+# .ngmenu.mesh add command -label "Quality Plot" \
-+#    -command { qualityviewdialog 1 }
-+
-+
-+
-+
-+.ngmenu.mesh add command -label "Check Surface Mesh" \
-+    -command { Ng_CheckSurfaceMesh }
-+.ngmenu.mesh add command -label "Check Volume Mesh" \
-+    -command { Ng_CheckVolumeMesh }
-+
-+.ngmenu.mesh add command -label "Edit Boundary Conditions..." \
-+    -command { bcpropdialog }
-+
-+if { $userlevel == 3 } {
-+    .ngmenu.mesh add command -label "Mesh Doctor..." \
-+      -command { meshdoctordialog }
-+}
-+
-+.ngmenu.mesh add command -label "METIS Mesh Partitioning..." \
-+      -command { METISdialog }
-+
-+.ngmenu.mesh add separator
-+
-+.ngmenu.mesh add command -label "Analyze Geometry" \
-+    -command { Ng_GenerateMesh ag ag; Ng_ReadStatus; redraw }
-+.ngmenu.mesh add command -label "Mesh Edges" \
-+    -command { Ng_GenerateMesh me me; Ng_ReadStatus; redraw }
-+.ngmenu.mesh add command -label "Mesh Surface" \
-+    -command { set selectvisual mesh; Ng_SetVisParameters; \
-+                 Ng_GenerateMesh ms ms; Ng_ReadStatus; redraw }
-+
-+.ngmenu.mesh add command -label "Optimize Surface" \
-+    -command { Ng_GenerateMesh os os cmsmSm; redraw }
-+
-+.ngmenu.mesh add cascade -label "Surface Optim. Step" -menu .ngmenu.mesh.surfoptstep
-+
-+menu .ngmenu.mesh.surfoptstep
-+.ngmenu.mesh.surfoptstep add command -label "Mesh Smoothing" \
-+    -command { Ng_GenerateMesh os os m; redraw}
-+.ngmenu.mesh.surfoptstep add command -label "Edge swapping (topologic)" \
-+    -command { Ng_GenerateMesh os os s; redraw}
-+.ngmenu.mesh.surfoptstep add command -label "Edge swapping (metric)" \
-+    -command { Ng_GenerateMesh os os S; redraw}
-+.ngmenu.mesh.surfoptstep add command -label "Combine points" \
-+    -command { Ng_GenerateMesh os os c; redraw}
-+
-+
-+.ngmenu.mesh add separator
-+.ngmenu.mesh add command -label "Mesh Volume" \
-+    -command { Ng_GenerateMesh mv mv; Ng_ReadStatus }
-+.ngmenu.mesh add command -label "Optimize Volume" \
-+    -command { Ng_GenerateMesh ov ov; Ng_ReadStatus }
-+.ngmenu.mesh add command -label "Smooth Opt Volume" \
-+    -command { Ng_GenerateMesh ov ov m; Ng_ReadStatus }
-+.ngmenu.mesh add command -label "Smooth Opt Volume Jacobian" \
-+    -command { Ng_GenerateMesh ov ov j; Ng_ReadStatus }
-+
-+
-+
-+#####################################################
-+#                                                   #
-+#     Menu Geometry                                 #
-+#                                                   #
-+#####################################################
-+
-+menu .ngmenu.geometry
-+
-+
-+
-+
-+
-+
-+
-+#####################################################
-+#                                                   #
-+#     Menu View                                     #
-+#                                                   #
-+#####################################################
-+
-+menu .ngmenu.view
-+.ngmenu.view add command -label "Zoom all" \
-+    -command { Ng_ZoomAll; redraw }
-+.ngmenu.view add command -label "Center" \
-+    -command { Ng_Center; redraw }
-+
-+.ngmenu.view add command -label "x-y plane" \
-+    -command { Ng_StandardRotation xy; redraw }
-+.ngmenu.view add command -label "y-x plane" \
-+    -command { Ng_StandardRotation yx; redraw }
-+.ngmenu.view add command -label "x-z plane" \
-+    -command { Ng_StandardRotation xz; redraw }
-+.ngmenu.view add command -label "z-x plane" \
-+    -command { Ng_StandardRotation zx; redraw }
-+.ngmenu.view add command -label "y-z plane" \
-+    -command { Ng_StandardRotation yz; redraw }
-+.ngmenu.view add command -label "z-y plane" \
-+    -command { Ng_StandardRotation zy; redraw }
-+
-+.ngmenu.view add command -label "Viewing Options..." \
-+    -command { viewingoptionsdialog; redraw }
-+.ngmenu.view add command -label "Clipping Plane..." \
-+    -command { clippingdialog; redraw }
-+.ngmenu.view add command -label "Solution Data..." \
-+    -command { visual_dialog; redraw }
-+.ngmenu.view add checkbutton -variable viewqualityplot \
-+    -label "Quality Plot" \
-+    -command { qualityviewdialog $viewqualityplot }
-+.ngmenu.view add checkbutton -variable memuseplot \
-+    -label "Memory Usage" \
-+    -command { memusedialog $memuseplot }
-+
-+
-+
-+
-+#####################################################
-+#                                                   #
-+#     Menu Refinement                               #
-+#                                                   #
-+#####################################################
-+#
-+# Mesh size menu
-+#
-+menu .ngmenu.meshsize
-+.ngmenu.meshsize add command -label "Refine uniform" \
-+    -command { Ng_Refine; Ng_HighOrder ${options.elementorder}; Ng_ReadStatus; redraw }
-+
-+.ngmenu.meshsize add command -label "Second Order" \
-+    -command { Ng_SecondOrder; Ng_ReadStatus; redraw }
-+
-+.ngmenu.meshsize add command -label "Validate Second Order" \
-+    -command { Ng_ValidateSecondOrder; Ng_ReadStatus; redraw }
-+
-+.ngmenu.meshsize add command -label "High Order" \
-+    -command { Ng_HighOrder ${options.elementorder}; Ng_ReadStatus; redraw }
-+
-+.ngmenu.meshsize add separator
-+
-+.ngmenu.meshsize add command -label "Refinement Dialog..." \
-+    -command { refinementdialog }
-+.ngmenu.meshsize add command -label "Load Meshsize..." \
-+    -command {
-+      set types {
-+          {"Meshsize file"   {.msz}   } }
-+      set file [tk_getOpenFile -filetypes $types]
-+      if {$file != ""} {
-+          Ng_LoadMeshSize $file;
-+      }
-+    }
-+.ngmenu.meshsize add command -label "MS from Surf Mesh" \
-+    -command { Ng_MeshSizeFromSurfaceMesh }
-+
-+
-+if { $userlevel == 3 } {
-+.ngmenu.meshsize add command -label "Singular point ms" \
-+    -command { Ng_SingularPointMS; }
-+
-+.ngmenu.meshsize add command -label "Singular edge ms" \
-+    -command { Ng_SingularEdgeMS; }
-+
-+.ngmenu.meshsize add separator
-+
-+set bisectfilename "";
-+
-+.ngmenu.meshsize add command -label "Bisection" \
-+    -command { Ng_ReadStatus; set oldnp 0; set newnp $status_np;
-+#     Ng_BisectCopyMesh;
-+#     Ng_Split2Tets;
-+      Ng_ReadStatus;
-+
-+      while { $oldnp < $newnp } {
-+#         if { $level == 0 } {
-+#             Ng_ExportMesh feppmesh.vol fepp;
-+#         } {
-+#             Ng_ExportMesh feppmesh$level feppml
-+#         }
-+          set level [expr $level+1]
-+          if { $bisectfilename == ""} {
-+              Ng_Bisect;
-+          } else {
-+              Ng_Bisect $bisectfilename;
-+          }
-+#         Ng_HighOrder ${options.elementorder} "noparallel"
-+#         Ng_Split2Tets;
-+          Ng_ReadStatus;
-+          redraw;
-+
-+          if { $bisectfilename == ""} {
-+              set oldnp $newnp;
-+              set newnp $status_np;
-+              puts "oldnp $oldnp newnp $newnp";
-+          } else {
-+              set oldnp $newnp;
-+          }
-+      }
-+    }
-+#    -command { Ng_Bisect; Ng_ReadStatus; redraw }
-+#    -command { exec netgen abc >outfile 2>errfile; Ng_ReadStatus; redraw }
-+
-+}
-+
-+.ngmenu.meshsize add command -label "Load Refinement Info..." \
-+    -command {
-+      set types {
-+          {"Refinement info" {.refine} }}
-+      set bisectfilename [tk_getOpenFile -filetypes $types]
-+    }
-+
-+.ngmenu.meshsize add command -label "Z-Refinement" \
-+    -command { Ng_ZRefinement 2; Ng_ReadStatus; redraw }
-+
-+
-+# .ngmenu.meshsize add command -label "hp-Refinement" \
-+\#    -command { Ng_HPRefinement 4; Ng_ReadStatus; redraw }
-+
-+.ngmenu.meshsize add cascade -label "hp-Refinement" -menu .ngmenu.meshsize.hpref
-+menu .ngmenu.meshsize.hpref
-+.ngmenu.meshsize.hpref add command -label "1 Level" \
-+    -command { Ng_HPRefinement 1; Ng_ReadStatus; redraw }
-+.ngmenu.meshsize.hpref add command -label "2 Levels" \
-+    -command { Ng_HPRefinement 2; Ng_ReadStatus; redraw }
-+.ngmenu.meshsize.hpref add command -label "3 Levels" \
-+    -command { Ng_HPRefinement 3; Ng_ReadStatus; redraw }
-+.ngmenu.meshsize.hpref add command -label "4 Levels" \
-+    -command { Ng_HPRefinement 4; Ng_ReadStatus; redraw }
-+.ngmenu.meshsize.hpref add command -label "5 Levels" \
-+    -command { Ng_HPRefinement 5; Ng_ReadStatus; redraw }
-+.ngmenu.meshsize.hpref add command -label "6 Levels" \
-+    -command { Ng_HPRefinement 6; Ng_ReadStatus; redraw }
-+.ngmenu.meshsize.hpref add command -label "7 Levels" \
-+    -command { Ng_HPRefinement 7; Ng_ReadStatus; redraw }
-+.ngmenu.meshsize.hpref add command -label "8 Levels" \
-+    -command { Ng_HPRefinement 8; Ng_ReadStatus; redraw }
-+.ngmenu.meshsize.hpref add command -label "9 Levels" \
-+    -command { Ng_HPRefinement 9; Ng_ReadStatus; redraw }
-+.ngmenu.meshsize.hpref add command -label "10 Levels" \
-+    -command { Ng_HPRefinement 10; Ng_ReadStatus; redraw }
-+
-+
-+.ngmenu.meshsize add command -label "Split to Tets" \
-+    -command { Ng_Split2Tets; Ng_ReadStatus; redraw }
-+
-+
-+
-+
-+
-+#####################################################
-+#                                                   #
-+#     Menu Special                                  #
-+#                                                   #
-+#####################################################
-+
-+menu .ngmenu.special
-+.ngmenu.special add command -label "Prismatic Boundary Layer" \
-+    -command { Ng_GenerateBoundaryLayer; redraw }
-+.ngmenu.special add command -label "Insert virtual boundary layer" \
-+    -command { Ng_InsertVirtualBL; redraw }
-+.ngmenu.special add command -label "Cut off and combine with other" \
-+    -command {
-+      set types { {"Mesh file"   {.vol}       } }
-+      set file [tk_getOpenFile -filetypes $types]
-+      if {$file != ""} {
-+          Ng_CutOffAndCombine $file;  }
-+      redraw
-+    }
-+.ngmenu.special add command -label "Helmholtz Mesh grading" \
-+    -command { Ng_HelmholtzMesh; }
-+.ngmenu.special add cascade -label "Colour-based boundary conditions" -menu .ngmenu.special.colbndcond
-+
-+menu .ngmenu.special.colbndcond
-+ .ngmenu.special.colbndcond add command -label "Inspect Colours in mesh" \
-+    -command { currmeshcoloursdialog }
-+
-+ .ngmenu.special.colbndcond add separator
-+
-+ .ngmenu.special.colbndcond add command -label "Automatic Assignment" \
-+    -command { Ng_AutoColourBcProps auto; redraw }
-+
-+ .ngmenu.special.colbndcond add separator
-+
-+ set ocffile [file join ${ngdir} netgen.ocf];
-+
-+ .ngmenu.special.colbndcond add command -label "Select Colour Profile file" \
-+    -command {
-+      set types { {"Colour Profile file"   {.ocf}   } }
-+      set ocffile [tk_getOpenFile -filetypes $types]
-+      if {$ocffile == ""} {
-+          set ocffile [file join ${ngdir} netgen.ocf]; }
-+      }
-+ .ngmenu.special.colbndcond add command -label "Profile based Assignment" \
-+      -command { Ng_AutoColourBcProps profile ${ocffile}; redraw }
-+
-+
-+# menu .mbar.stl.menu
-+# .mbar.stl.menu add command -label "STL options" \
-+#     -command { stloptionsdialog; }
-+#.mbar.stl.menu add command -label "STL Doctor" \
-+#    -command { stldoctordialog; }
-+
-+
-+#####################################################
-+#                                                   #
-+#     Menu Help                                     #
-+#                                                   #
-+#####################################################
-+
-+
-+
-+
-+menu .ngmenu.help
-+# .ngmenu.help add command -label "Ng Help..." \
-+\#    -command { help_main }
-+# .ngmenu.view add checkbutton -variable showsensitivehelp \
-+#     -label "Sensitve Help" \
-+#     -command { sensitivehelpdialog $showsensitivehelp }
-+.ngmenu.view add checkbutton -label "Help Line" -variable showhelpline \
-+      -command {
-+    if { $showhelpline == 1} {
-+      pack .helpline -before .statbar -side bottom -fill x -padx 3p
-+    } {
-+      pack forget .helpline
-+    }
-+}
-+
-+.ngmenu.help add command -label "About..." \
-+    -command {
-+tk_messageBox -message "This is NETGEN \nmainly written by \nJoachim Schoeberl \nthanks to \nRobert Gaisbauer, Johannes Gerstmayr, Philippose Rajan"
-+}
-+
-+# tk_menuBar .mbar .mbar.file .mbar.mesh .mbar.test .mbar.help
-+# focus .mbar
-+
-+
-+
-+
-+#####################################################
-+#                                                   #
-+#     Button bar                                    #
-+#                                                   #
-+#####################################################
-+
-+frame .bubar -relief raised -bd 2
-+pack .bubar -side top -fill x
-+
-+button .bubar.testb -text "Test" -command { Ng_SaveGeometry }
-+button .bubar.surfm -text "Generate Mesh" -command \
-+    {
-+      .ngmenu.mesh invoke "Generate Mesh";
-+#     set selectvisual mesh;
-+#     Ng_SetVisParameters;
-+#     Ng_GenerateMesh ${meshoptions.firststep} ${meshoptions.laststep}
-+#     redraw
-+    }
-+button .bubar.stopm -text "Stop" -command \
-+    {
-+      # Ng_StopMeshing;
-+      set multithread_terminate 1;
-+      set stopdemo 1;
-+    }
-+button .bubar.exitb -text "Quit" \
-+    -command {
-+         set ans [tk_messageBox -title "Quit Netgen?" -message "Do you really want to quit Netgen?" -type yesno -default "no" -icon question]
-+         if { $ans == "yes" } {
-+           .ngmenu.file invoke "Quit";
-+         }
-+      }
-+pack  .bubar.exitb .bubar.surfm .bubar.stopm -side left
-+
-+#button .bubar.scan -text "Scan" \
-+#    -command { Ng_ParseGeometry; set selectvisual geometry; Ng_SetVisParameters; redraw }
-+
-+button .bubar.zoomall -text "Zoom All" \
-+    -command { Ng_ZoomAll; redraw }
-+
-+button .bubar.center -text "Center" \
-+    -command { Ng_Center; redraw }
-+
-+# tk_optionMenu .bubar.modesel drawmode "rotate" "move  " "zoom  "
-+tixOptionMenu .bubar.modesel \
-+    -options {
-+      label.width  0
-+      label.anchor e
-+      menubutton.width 6
-+    } \
-+    -variable drawmode
-+
-+.bubar.modesel add command rotate -label Rotate
-+.bubar.modesel add command move -label Move
-+.bubar.modesel add command zoom -label Zoom
-+
-+
-+
-+set viewvals { geometry specpoints mesh solution}
-+if { $userlevel == 3} {
-+    set viewvals { geometry mesh specpoints surfmeshing modelview solution}
-+}
-+
-+set viewvallabs(cross)     "Cross"
-+set viewvallabs(geometry)  "Geometry"
-+set viewvallabs(mesh)      "Mesh"
-+set viewvallabs(specpoints) "Edges"
-+set viewvallabs(surfmeshing) "Mesh Gen"
-+set viewvallabs(modelview)     "Modeller"
-+set viewvallabs(solution)     "Solution"
-+
-+tixOptionMenu .bubar.selview \
-+    -options {
-+      label.width  0
-+      label.anchor e
-+      menubutton.width 10
-+    } \
-+
-+foreach viewv $viewvals {
-+    .bubar.selview add command $viewv -label $viewvallabs($viewv)
-+}
-+
-+
-+
-+.bubar.selview config -variable selectvisual
-+.bubar.selview config -command { Ng_SetVisParameters; redraw }
-+
-+
-+pack .bubar.modesel -side right
-+pack forget .bubar.modesel
-+pack .bubar.center .bubar.zoomall .bubar.selview -side right
-+
-+.ngmenu.view add checkbutton -variable viewrotatebutton \
-+    -label "Enable LeftButton Selection" \
-+    -command {
-+      if { $viewrotatebutton } {
-+          pack .bubar.modesel -side right
-+      } {
-+          pack forget .bubar.modesel
-+      }
-+    }
-+
-+
-+
-+
-+#####################################################
-+#                                                   #
-+#     Status bar                                    #
-+#                                                   #
-+#####################################################
-+
-+label .helpline -text "None"
-+pack forget .helpline -side bottom -fill x
-+
-+frame .statbar -relief flat -bd 2
-+pack .statbar -side bottom -fill x
-+
-+label .statbar.ptslabel -text "Points: "
-+label .statbar.ptsval -textvariable status_np
-+label .statbar.elslabel -text "   Elements: "
-+label .statbar.elsval -textvariable status_ne
-+label .statbar.selslabel -text "   Surf Elements: "
-+label .statbar.selsval -textvariable status_nse
-+# label .statbar.memlabel -text "   Mem: "
-+# label .statbar.memval -textvariable mem_moveable
-+label .statbar.task -textvariable status_task
-+
-+pack .statbar.ptslabel .statbar.ptsval -side left -ipady 3p
-+pack .statbar.elslabel .statbar.elsval -side left -ipady 3p
-+pack .statbar.selslabel .statbar.selsval -side left -ipady 3p
-+
-+# if { $userlevel == 3 } {
-+#    pack .statbar.memlabel .statbar.memval -side left -ipady 3p
-+# }
-+
-+
-+tixMeter .statbar.per -value 0 -text 0%
-+.statbar.per configure -fillcolor blue
-+
-+pack .statbar.per -side right
-+pack .statbar.task -side right -ipady 4
-+
-+set qualbaraxis(0) 0
-+set qualbar(0) 0
-+set qualbarnull(0) 0
-+
-+
-+
-+proc timer2 { } {
-+    global status_np
-+    global status_ne
-+    global status_nse
-+    global multithread_running
-+    global multithread_redraw
-+    global status_working
-+    global status_task
-+    global status_percent
-+    global status_tetqualclasses
-+
-+
-+    Ng_ReadStatus
-+
-+    if { $multithread_redraw == 1 } {
-+      set multithread_redraw 0;
-+      redraw;
-+
-+        global videoactive
-+        if { $videoactive == 1 } {
-+            puts "addframe"
-+            .ndraw Ng_VideoClip addframe
-+        }
-+    }
-+
-+    # global mem_moveable
-+    # set mem_moveable [Ng_MemInfo moveable]
-+
-+
-+    .statbar.per config -value [expr $status_percent/100] -text [format %2.1f [expr 0.1*int(10*$status_percent)]]%
-+
-+
-+    if { $multithread_running } {
-+      pack .statbar.per -side right -before .statbar.task -padx 6
-+    } {
-+      pack forget .statbar.per
-+    }
-+
-+
-+
-+    # tet quality
-+    if {[winfo exists .qualityview_dlg] == 1} {
-+
-+      global qualbar
-+      global qualbarnull
-+      global qualbaraxis
-+
-+      set maxval 0
-+      for {set i 0} {$i < 20} {incr i} {
-+          if {[lindex $status_tetqualclasses $i] > $maxval} {
-+              set maxval [lindex $status_tetqualclasses $i]
-+          }
-+      }
-+
-+      set ubound 1
-+      while { $ubound < $maxval } {
-+          set ubound [expr {10 * $ubound}]
-+      }
-+      if { $ubound/5 > $maxval } {
-+          set ubound [expr $ubound/5]
-+      }
-+      if { $ubound/2 > $maxval } {
-+          set ubound [expr $ubound/2]
-+      }
-+
-+
-+
-+      for {set i 1} {$i <= 5} {incr i} {
-+          # global qualbaraxis($i)
-+
-+          set value [expr { $i * $ubound / 5 }]
-+          .qualityview_dlg.c dchars $qualbaraxis($i) 0 end
-+          .qualityview_dlg.c insert $qualbaraxis($i) end $value
-+      }
-+
-+
-+      for {set i 0} {$i < 20} {incr i} {
-+          set x1 [expr {100 + ($i*15) + 2}]
-+          set x2 [expr {$x1+10}]
-+
-+          set nbrs [lindex $status_tetqualclasses $i]
-+          set y [expr (249 - (200 * $nbrs / $ubound ) )]
-+
-+          # global qualbar($i)
-+          .qualityview_dlg.c coords $qualbar($i) $x1 250 $x2 $y
-+
-+#         global qualbarnull($i)
-+          if { $nbrs == 0 } {
-+              .qualityview_dlg.c itemconfigure $qualbarnull($i) -text 0
-+          } {
-+              .qualityview_dlg.c itemconfigure $qualbarnull($i) -text ""
-+          }
-+      }
-+
-+    }
-+
-+
-+    if {[winfo exists .memuse_dlg] == 1} {
-+
-+      global memmark
-+      set usemb [Ng_MemInfo usedmb]
-+      for {set i 0} {$i < [string length $usemb] } {incr i} {
-+          if { [string index $usemb $i] == 0 } {
-+              .memuse_dlg.c coords $memmark($i)  [expr 50+$i] 68 [expr 50+$i] 70
-+          } {
-+              .memuse_dlg.c coords $memmark($i)  [expr 50+$i] 50 [expr 50+$i] 70
-+          }
-+      }
-+
-+    }
-+    after 30 { timer2 }
-+}
-+# after 1000 { timer2 }
-+timer2
-+
-+
-+
-+
-+proc bgerror { error } {
-+    global errorInfo userlevel
-+    if { $userlevel == 3} {
-+      puts "ERROR: $error"
-+      puts "errinfo: $errorInfo"
-+    }
-+    tk_messageBox -title "Error Message" -message $error -type ok
-+}
-+
-+
-+
-+
-+
-+
-+proc smh2 { menuitem } {
-+    if {[catch {$menuitem entrycget active -label} name]} {
-+      set name "    "
-+    }
-+    show_menu_help $name
-+    update idletasks
-+}
-+
-+bind .ngmenu <<MenuSelect>> { smh2 %W }
-+bind .ngmenu.file <<MenuSelect>> { smh2 %W }
-+bind .ngmenu.geometry <<MenuSelect>> { smh2 %W }
-+bind .ngmenu.mesh <<MenuSelect>> { smh2 %W }
-+bind .ngmenu.view <<MenuSelect>> { smh2 %W }
-+bind .ngmenu.meshsize <<MenuSelect>> { smh2 %W }
-+bind .ngmenu.special <<MenuSelect>> { smh2 %W }
-+bind .ngmenu.help <<MenuSelect>> { smh2 %W }
-+
-+
-+# command bindings
-+bind . <q> { .ngmenu.file invoke "Quit" }
-+bind . <l><g> { .ngmenu.file invoke "Load Geometry..." }  ;
-+bind . <l><m> { .ngmenu.file invoke "Load Mesh..." }  ;
-+bind . <s><m> { .ngmenu.file invoke "Save Mesh..." }  ;
-+bind . <r><f> { .ngmenu.file activate "Recent Files" }  ;
-+bind . <n><p> { newprimitivedialog }      ; #
-+bind . <e><p> { editprimitivedialog }
-+bind . <e><s> { newsoliddialog }
-+bind . <g><m> { .ngmenu.mesh invoke "Generate Mesh" }  ;
-+
-+
-+
-+
-+
-diff -Naur netgen-5.3.1_SRC_orig/ng/netgen.ocf netgen-5.3.1_SRC_modif/ng/netgen.ocf
---- netgen-5.3.1_SRC_orig/ng/netgen.ocf        2014-08-29 13:54:01.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/ng/netgen.ocf       2018-03-01 15:45:35.126037317 +0300
-@@ -1,32 +1,32 @@
--# Netgen Mesher
--# Boundary Condition Colour Profile
--#
--# Name: netgen.ocf
--#
--# Description: Netgen default colour 
--# profile file for colour based automatic 
--# assignment of boundary condition numbers
--#
--# Format: 
--# [boundary_colours] (mandatory keyword)
--# <num of entries>
--# <bc_num1> <R> <G> <B>
--# <bc_num2> <R> <G> <B>
--# ....
--# ....
--# NOTE: 
--# * Currently, the default Boundary 
--# Condition number assigned to faces without 
--# any colour defined is "1"
--# * Boundary Condition number "0" is invalid, 
--# and should not be used
--
--boundary_colours
--7
--2     0.0000  0.0000  0.0000
--3     1.0000  0.0000  0.0000
--4     0.0000  0.0000  1.0000
--5     1.0000  1.0000  0.0000
--6     0.0000  1.0000  1.0000
--7     1.0000  0.0000  1.0000
--8     1.0000  1.0000  1.0000
-+# Netgen Mesher
-+# Boundary Condition Colour Profile
-+#
-+# Name: netgen.ocf
-+#
-+# Description: Netgen default colour
-+# profile file for colour based automatic
-+# assignment of boundary condition numbers
-+#
-+# Format:
-+# [boundary_colours] (mandatory keyword)
-+# <num of entries>
-+# <bc_num1> <R> <G> <B>
-+# <bc_num2> <R> <G> <B>
-+# ....
-+# ....
-+# NOTE:
-+# * Currently, the default Boundary
-+# Condition number assigned to faces without
-+# any colour defined is "1"
-+# * Boundary Condition number "0" is invalid,
-+# and should not be used
-+
-+boundary_colours
-+7
-+2     0.0000  0.0000  0.0000
-+3     1.0000  0.0000  0.0000
-+4     0.0000  0.0000  1.0000
-+5     1.0000  1.0000  0.0000
-+6     0.0000  1.0000  1.0000
-+7     1.0000  0.0000  1.0000
-+8     1.0000  1.0000  1.0000
-diff -Naur netgen-5.3.1_SRC_orig/ng/parameters.tcl netgen-5.3.1_SRC_modif/ng/parameters.tcl
---- netgen-5.3.1_SRC_orig/ng/parameters.tcl    2014-08-29 13:54:01.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/ng/parameters.tcl   2018-03-01 15:45:35.126037317 +0300
-@@ -1,50 +1,50 @@
--proc setgranularity { gran } {
--#
--#    puts "set granularity $gran"
--#
--    if {$gran == 6} { return }
--    set gran [expr $gran - 1]
--#
--    global options.curvaturesafety
--    set surfcurvlist { 1 1.5 2 3 5 }
--    set options.curvaturesafety [lindex $surfcurvlist $gran]
--
--    global options.segmentsperedge
--    set spelist { 0.3 0.5 1 2 3 }
--    set options.segmentsperedge [lindex $spelist $gran]
--    
--    global stloptions.resthsurfcurvfac
--    set surfcurvfaclist { 0.25 0.5 1 1.5 3 }
--    set stloptions.resthsurfcurvfac [lindex $surfcurvfaclist $gran]
--
--    global stloptions.resthchartdistfac
--    set chartdistfaclist { 0.8 1 1.5 2 5 }
--    set stloptions.resthchartdistfac [lindex $chartdistfaclist $gran]
--
--    global stloptions.resthlinelengthfac
--    set linelengthfaclist { 0.2 0.35 0.5 1.5 3 }
--    set stloptions.resthlinelengthfac [lindex $linelengthfaclist $gran]
--
--    global stloptions.resthcloseedgefac
--    set closeedgefaclist { 0.5 1 2 3.5 5 }
--    set stloptions.resthcloseedgefac [lindex $closeedgefaclist $gran]
--
--      global stloptions.resthminedgelen
--    set minedgelenlist { 0.002 0.02 0.2 1.0 2.0 5.0 10.0 }
--    set stloptions.resthminedgelen [lindex $minedgelenlist $gran]
--      
--    global stloptions.resthedgeanglefac
--    set edgeanglefaclist { 0.25 0.5 1 1.5 3 }
--    set stloptions.resthedgeanglefac [lindex $edgeanglefaclist $gran]
--
--
--    global stloptions.resthsurfmeshcurvfac 
--    set surfmeshcurvlist { 1 1.5 2 3 5 }
--    set stloptions.resthsurfmeshcurvfac [lindex $surfmeshcurvlist $gran]
--
--
--    global options.grading
--    set gradinglist { 0.7 0.5 0.3 0.2 0.1 }
--    set options.grading [lindex $gradinglist $gran]
--    
--}
-+proc setgranularity { gran } {
-+#
-+#    puts "set granularity $gran"
-+#
-+    if {$gran == 6} { return }
-+    set gran [expr $gran - 1]
-+#
-+    global options.curvaturesafety
-+    set surfcurvlist { 1 1.5 2 3 5 }
-+    set options.curvaturesafety [lindex $surfcurvlist $gran]
-+
-+    global options.segmentsperedge
-+    set spelist { 0.3 0.5 1 2 3 }
-+    set options.segmentsperedge [lindex $spelist $gran]
-+
-+    global stloptions.resthsurfcurvfac
-+    set surfcurvfaclist { 0.25 0.5 1 1.5 3 }
-+    set stloptions.resthsurfcurvfac [lindex $surfcurvfaclist $gran]
-+
-+    global stloptions.resthchartdistfac
-+    set chartdistfaclist { 0.8 1 1.5 2 5 }
-+    set stloptions.resthchartdistfac [lindex $chartdistfaclist $gran]
-+
-+    global stloptions.resthlinelengthfac
-+    set linelengthfaclist { 0.2 0.35 0.5 1.5 3 }
-+    set stloptions.resthlinelengthfac [lindex $linelengthfaclist $gran]
-+
-+    global stloptions.resthcloseedgefac
-+    set closeedgefaclist { 0.5 1 2 3.5 5 }
-+    set stloptions.resthcloseedgefac [lindex $closeedgefaclist $gran]
-+
-+      global stloptions.resthminedgelen
-+    set minedgelenlist { 0.002 0.02 0.2 1.0 2.0 5.0 10.0 }
-+    set stloptions.resthminedgelen [lindex $minedgelenlist $gran]
-+
-+    global stloptions.resthedgeanglefac
-+    set edgeanglefaclist { 0.25 0.5 1 1.5 3 }
-+    set stloptions.resthedgeanglefac [lindex $edgeanglefaclist $gran]
-+
-+
-+    global stloptions.resthsurfmeshcurvfac
-+    set surfmeshcurvlist { 1 1.5 2 3 5 }
-+    set stloptions.resthsurfmeshcurvfac [lindex $surfmeshcurvlist $gran]
-+
-+
-+    global options.grading
-+    set gradinglist { 0.7 0.5 0.3 0.2 0.1 }
-+    set options.grading [lindex $gradinglist $gran]
-+
-+}
-diff -Naur netgen-5.3.1_SRC_orig/ng/variables.tcl netgen-5.3.1_SRC_modif/ng/variables.tcl
---- netgen-5.3.1_SRC_orig/ng/variables.tcl     2014-08-29 13:54:01.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/ng/variables.tcl    2018-03-01 15:45:35.127037209 +0300
-@@ -1,706 +1,706 @@
--# netgen global tcl-variables
--
--set drawmode rotate
--set selectvisual geometry
--
--set dirname .
--set loadgeomtypevar "All Geometry types"
--
--set basefilename filename
--
--set meshoptions.fineness 3
--set meshoptions.firststep ag
--set meshoptions.laststep ov
--set options.memory 0
--
--set options.localh 1
--set options.delaunay 1
--set options.checkoverlap 1
--set options.checkoverlappingboundary 0
--set options.checkchartboundary 1
--set options.startinsurface 0
--set options.blockfill 1
--set options.debugmode 0
--set options.dooptimize 1
--set options.parthread 1
--set options.elsizeweight 0.2
--set options.secondorder 0
--set options.elementorder 1
--set options.quad 0
--set options.inverttets 0
--set options.inverttrigs 0
--set options.autozrefine 0
--
--
--set options.meshsize 1000
--set options.minmeshsize 0
--
--set options.curvaturesafety 2
--set options.segmentsperedge 2
--set options.meshsizefilename ""
--set options.badellimit 175
--set options.optsteps2d 3
--set options.optsteps3d 5
--set options.opterrpow 2
--
--set options.grading 0.5
--set options.printmsg 2
--
--set debug.slowchecks 0
--set debug.debugoutput 0
--set debug.haltexistingline 0
--set debug.haltoverlap 0
--set debug.haltsuccess 0
--set debug.haltnosuccess 0
--set debug.haltlargequalclass 0
--set debug.haltsegment 0
--set debug.haltnode 0
--set debug.haltface 0
--set debug.haltfacenr 0
--set debug.haltsegmentp1 0
--set debug.haltsegmentp2 0
--
--set geooptions.drawcsg 1
--set geooptions.detail 0.001
--set geooptions.accuracy 1e-6
--set geooptions.facets 20
--set geooptions.minx -1000
--set geooptions.miny -1000
--set geooptions.minz -1000
--set geooptions.maxx 1000
--set geooptions.maxy 1000
--set geooptions.maxz 1000
--
--set viewqualityplot 0
--set memuseplot 0
--set viewrotatebutton 0
--set showsensitivehelp 0
--set showhelpline 0
--
--set viewoptions.specpointvlen 0.3
--set viewoptions.light.amb 0.3
--set viewoptions.light.diff 0.7
--set viewoptions.light.spec 1
--set viewoptions.light.locviewer 0
--set viewoptions.mat.shininess 50
--set viewoptions.mat.transp 0.3
--set viewoptions.colormeshsize 0
--set viewoptions.whitebackground 1
--set viewoptions.drawcoordinatecross 1
--set viewoptions.drawcolorbar 1
--set viewoptions.drawnetgenlogo 1
--set viewoptions.stereo 0
--set viewoptions.shrink 1
--
--set viewoptions.drawfilledtrigs 1
--set viewoptions.drawedges 0
--set viewoptions.drawbadels 0
--set viewoptions.centerpoint 0
--set viewoptions.drawelement 0
--set viewoptions.drawoutline 1
--set viewoptions.drawtets 0
--set viewoptions.drawtetsdomain 0
--set viewoptions.drawprisms 0
--set viewoptions.drawpyramids 0
--set viewoptions.drawhexes 0
--set viewoptions.drawidentified 0
--set viewoptions.drawpointnumbers 0
--set viewoptions.drawedgenumbers 0
--set viewoptions.drawfacenumbers 0
--set viewoptions.drawelementnumbers 0
--set viewoptions.drawdomainsurf 0
--
--set viewoptions.drawededges 1
--set viewoptions.drawedpoints 1
--set viewoptions.drawedpointnrs 0
--set viewoptions.drawedtangents 0
--set viewoptions.drawededgenrs 0
--set viewoptions.drawmetispartition 0
--
--set viewoptions.drawcurveproj 0
--set viewoptions.drawcurveprojedge 1
--
--set viewoptions.clipping.nx 0
--set viewoptions.clipping.ny 1
--set viewoptions.clipping.nz 0
--set viewoptions.clipping.dist 0
--set viewoptions.clipping.dist2 0
--set viewoptions.clipping.enable 0
--set viewoptions.clipping.onlydomain 0
--set viewoptions.clipping.notdomain 0
--
--set viewoptions.usecentercoords 0
--set viewoptions.centerx 0
--set viewoptions.centery 0
--set viewoptions.centerz 0
--
--set viewoptions.drawspecpoint 0
--set viewoptions.specpointx 0
--set viewoptions.specpointy 0
--set viewoptions.specpointz 0
--
--
--set stloptions.showtrias 0
--set stloptions.showfilledtrias 1
--set stloptions.showedges 1
--set stloptions.showmarktrias 0
--set stloptions.showactivechart 0
--set stloptions.yangle 30
--set stloptions.contyangle 20
--set stloptions.edgecornerangle 60
--set stloptions.chartangle 15
--set stloptions.outerchartangle 70
--set stloptions.usesearchtree 0
--set stloptions.chartnumber 1
--set stloptions.charttrignumber 1
--set stloptions.chartnumberoffset 0
--
--set stloptions.atlasminh 0.1
--set stloptions.resthsurfcurvfac 2
--set stloptions.resthsurfcurvenable 0
--set stloptions.resthatlasfac 2
--set stloptions.resthatlasenable 1
--set stloptions.resthchartdistfac 1.2
--set stloptions.resthchartdistenable 1
--set stloptions.resthlinelengthfac 0.5
--set stloptions.resthlinelengthenable 1
--set stloptions.resthcloseedgefac 1
--set stloptions.resthcloseedgeenable 1
--set stloptions.resthminedgelen 0.01
--set stloptions.resthminedgelenenable 1
--set stloptions.resthedgeanglefac 1
--set stloptions.resthedgeangleenable 0
--set stloptions.resthsurfmeshcurvfac 1
--set stloptions.resthsurfmeshcurvenable 0
--set stloptions.recalchopt 1
--
--set stldoctor.drawmeshededges 1
--set stldoctor.geom_tol_fact 0.000001
--set stldoctor.useexternaledges 0
--set stldoctor.showfaces 0
--set stldoctor.conecheck 1
--set stldoctor.spiralcheck 1
--set stldoctor.selecttrig 0
--set stldoctor.selectmode 1
--set stldoctor.longlinefact 0
--set stldoctor.showexcluded 1
--set stldoctor.edgeselectmode 0
--set stldoctor.nodeofseltrig 1
--set stldoctor.showtouchedtrigchart 0
--set stldoctor.showedgecornerpoints 0
--set stldoctor.showmarkedtrigs 1
--set stldoctor.dirtytrigfact 0.01
--set stldoctor.smoothangle 90
--set stldoctor.selectwithmouse 1
--set stldoctor.showvicinity 0
--set stldoctor.vicinity 50
--set stldoctor.smoothnormalsweight 0.2
--
--set occoptions.showvolumenr 0
--set occoptions.showsurfaces 1
--set occoptions.showedges 1
--set occoptions.showsolidnr 0
--set occoptions.showsolidnr2 0
--set occoptions.visproblemfaces 0
--set occoptions.zoomtohighlightedentity 0
--set occoptions.deflection 1
--set occoptions.tolerance 1e-3
--set occoptions.fixsmalledges 1
--set occoptions.fixspotstripfaces 1
--set occoptions.sewfaces 1
--set occoptions.makesolids 1
--set occoptions.splitpartitions 0
--
--set meshdoctor.active 0
--set meshdoctor.markedgedist 1
--
--
--# variablenname mit punkt problematisch!
--set status_np 0
--set status_ne 0
--set status_nse 0
--set status_working " "
--set status_task " "
--set status_percent 0
--set status_filename 0
--set status_tetqualclasses "10 20 30 40 10 20 30 40 10 20 30 40 10 20 30 40 10 20 30 40"
--
--set exportfiletype "Neutral Format"
--
--set preproc.facenr 0
--set preproc.selectmode query
--set preproc.numtrig 0
--
--set mem_moveable 0
--
--
--set multithread_pause 0
--set multithread_testmode 0
--set multithread_redraw 0
--set multithread_drawing 0
--set multithread_terminate 0
--set multithread_running 0
--
--set level 0
--
--
--set tablesforoutput {}
--
--
--
--set optlist {
--    options.localh 
--    options.delaunay 
--    options.checkoverlap 
--    options.startinsurface 
--    options.blockfill 
--    options.dooptimize 
--    options.elsizeweight 
--    options.meshsize 
--    options.minmeshsize 
--    options.curvaturesafety 
--    options.optsteps2d 
--    options.optsteps3d 
--    options.secondorder
--}
--
--
--set visoptions.usetexture 1
--set visoptions.invcolor 0
--set visoptions.imaginary 0
--set visoptions.lineartexture 0
--set visoptions.numtexturecols 16
--set visoptions.showclipsolution 1
--set visoptions.showsurfacesolution 0
--set visoptions.drawfieldlines 0
--set visoptions.drawpointcurves 1
--set visoptions.numfieldlines 100
--set visoptions.fieldlinesrandomstart 0
--set visoptions.fieldlinesstartarea box
--set visoptions.fieldlinesstartareap1x 1
--set visoptions.fieldlinesstartareap1y 1
--set visoptions.fieldlinesstartareap1z 1
--set visoptions.fieldlinesstartareap2x 0
--set visoptions.fieldlinesstartareap2y 0
--set visoptions.fieldlinesstartareap2z 0
--set visoptions.fieldlinesstartface -1
--set visoptions.fieldlinesfilename none
--set visoptions.fieldlinestolerance 0.0005
--set visoptions.fieldlinesrktype crungekutta
--set visoptions.fieldlineslength 0.5
--set visoptions.fieldlinesmaxpoints 500
--set visoptions.fieldlinesthickness 0.0015
--set visoptions.fieldlinesvecfunction none
--set visoptions.fieldlinesphase 0
--set visoptions.fieldlinesonlyonephase 1
--
--
--set visoptions.lineplotfile empty
--set visoptions.lineplotsource file
--set visoptions.lineplotusingx 0
--set visoptions.lineplotusingy 1
--set visoptions.lineplotautoscale 1
--set visoptions.lineplotxmin 0
--set visoptions.lineplotxmax 1
--set visoptions.lineplotymin 0
--set visoptions.lineplotymax 1
--set visoptions.lineplotcurrentnum -1
--set visoptions.lineplotinfos ""
--set visoptions.lineplotselected none
--set visoptions.lineplotselector ""
--set visoptions.lineplotcolor red
--set visoptions.lineplotsizex 500
--set visoptions.lineplotsizey 400
--set visoptions.lineplotselectedeval 0
--set visoptions.lineplotdatadescr "column1 column2 column3"
--set visoptions.lineplotxcoordselector ""
--set visoptions.lineplotycoordselector ""
--set visoptions.evaluatefilenames none
--set visoptions.evaluatefiledescriptions none
--
--
--set visoptions.clipsolution none
--set visoptions.scalfunction none
--set visoptions.vecfunction none
--set visoptions.evaluate abs
--set visoptions.gridsize 20
--set visoptions.xoffset 0
--set visoptions.yoffset 0
--set visoptions.autoscale 1
--set visoptions.redrawperiodic 0
--set visoptions.logscale 0
--set visoptions.mminval 0
--set visoptions.mmaxval 1
--set visoptions.isolines 0
--set visoptions.isosurf 0
--set visoptions.subdivisions 1
--set visoptions.numiso 10
--set visoptions.autoredraw 0
--set visoptions.autoredrawtime 2
--set visoptions.simulationtime 0
--set visoptions.multidimcomponent 0
--
--# deform by vector function
--set visoptions.deformation 0
--set visoptions.scaledeform1 1
--set visoptions.scaledeform2 1
--
--set parallel_netgen 0
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--set optfilename [file join $nguserdir ng.opt]
--set inifilename [file join $nguserdir ng.ini]
--set meshinifilename [file join $nguserdir ngmesh.ini]
--
--global env
--if { [llength [array names env NG_OPT]] == 1 } {
--    if { [string length $env(NG_OPT)] > 0 } {
--      set optfilename $env(NG_OPT) 
--    }
--}
--
--if { [file exists $optfilename] == 1 } {
--    set datei [open $optfilename r]
--    while { [gets $datei line] >= 0 } {
--      set [lindex $line 0] [lindex $line 1]
--    }
--    close $datei
--} {
--    puts "optfile $optfilename does not exist - using default values"
--}
--
--
--
--
--proc saveoptions { } {
--    uplevel 1  {
--      set file $optfilename
--      
--      if {$file != ""} {
--          set datei [open $file w]
--          puts $datei "dirname  ${dirname}"
--          puts $datei "loadgeomtypevar  \"${loadgeomtypevar}\""
--          puts $datei "exportfiletype  \"${exportfiletype}\""
--          puts $datei "meshoptions.fineness  ${meshoptions.fineness}"
--          puts $datei "meshoptions.firststep ${meshoptions.firststep}"
--          puts $datei "meshoptions.laststep  ${meshoptions.laststep}" 
--          puts $datei "options.localh  ${options.localh}"
--          puts $datei "options.delaunay  ${options.delaunay}"
--          puts $datei "options.checkoverlap  ${options.checkoverlap}"
--          puts $datei "options.checkchartboundary  ${options.checkchartboundary}"
--          puts $datei "options.startinsurface  ${options.startinsurface}" 
--          puts $datei "options.blockfill  ${options.blockfill}" 
--          puts $datei "options.debugmode  ${options.debugmode}" 
--          puts $datei "options.dooptimize ${options.dooptimize}" 
--          puts $datei "options.parthread  ${options.parthread}"  
--          puts $datei "options.elsizeweight  ${options.elsizeweight}" 
--          puts $datei "options.secondorder  ${options.secondorder}" 
--          puts $datei "options.elementorder  ${options.elementorder}" 
--#         puts $datei "options.memory  ${options.memory}" 
--          puts $datei "options.quad  ${options.quad}" 
--          puts $datei "options.inverttets  ${options.inverttets}" 
--          puts $datei "options.inverttrigs  ${options.inverttrigs}" 
--          puts $datei "options.autozrefine ${options.autozrefine}" 
--          puts $datei "options.meshsize  ${options.meshsize}" 
--          puts $datei "options.minmeshsize  ${options.minmeshsize}" 
--          puts $datei "options.curvaturesafety  ${options.curvaturesafety}" 
--          puts $datei "options.segmentsperedge  ${options.segmentsperedge}" 
--          puts $datei "options.meshsizefilename  ${options.meshsizefilename}" 
--          puts $datei "options.badellimit  ${options.badellimit}" 
--          puts $datei "options.optsteps2d  ${options.optsteps2d}" 
--          puts $datei "options.optsteps3d  ${options.optsteps3d}" 
--          puts $datei "options.opterrpow  ${options.opterrpow}" 
--          puts $datei "options.grading  ${options.grading}" 
--          puts $datei "options.printmsg  ${options.printmsg}" 
--          puts $datei "geooptions.drawcsg  ${geooptions.drawcsg}" 
--          puts $datei "geooptions.detail  ${geooptions.detail}" 
--          puts $datei "geooptions.accuracy  ${geooptions.accuracy}" 
--          puts $datei "geooptions.facets  ${geooptions.facets}" 
--          puts $datei "geooptions.minx  ${geooptions.minx}" 
--          puts $datei "geooptions.miny  ${geooptions.miny}" 
--          puts $datei "geooptions.minz  ${geooptions.minz}" 
--          puts $datei "geooptions.maxx  ${geooptions.maxx}" 
--          puts $datei "geooptions.maxy  ${geooptions.maxy}" 
--          puts $datei "geooptions.maxz  ${geooptions.maxz}" 
--          puts $datei "viewoptions.specpointvlen  ${viewoptions.specpointvlen}" 
--          puts $datei "viewoptions.light.amb  ${viewoptions.light.amb}" 
--          puts $datei "viewoptions.light.diff ${viewoptions.light.diff}"
--          puts $datei "viewoptions.light.spec ${viewoptions.light.spec}"
--          puts $datei "viewoptions.light.locviewer ${viewoptions.light.locviewer}"
--          puts $datei "viewoptions.mat.shininess  ${viewoptions.mat.shininess}" 
--          puts $datei "viewoptions.mat.transp  ${viewoptions.mat.transp}" 
--          puts $datei "viewoptions.colormeshsize ${viewoptions.colormeshsize}"
--          puts $datei "viewoptions.whitebackground  ${viewoptions.whitebackground}" 
--          puts $datei "viewoptions.drawcolorbar  ${viewoptions.drawcolorbar}" 
--          puts $datei "viewoptions.drawcoordinatecross  ${viewoptions.drawcoordinatecross}" 
--          puts $datei "viewoptions.drawnetgenlogo  ${viewoptions.drawnetgenlogo}" 
--          puts $datei "viewoptions.stereo  ${viewoptions.stereo}" 
--          puts $datei "viewoptions.drawfilledtrigs  ${viewoptions.drawfilledtrigs}" 
--          puts $datei "viewoptions.drawedges  ${viewoptions.drawedges}" 
--          puts $datei "viewoptions.drawbadels  ${viewoptions.drawbadels}" 
--          puts $datei "viewoptions.centerpoint  ${viewoptions.centerpoint}" 
--          puts $datei "viewoptions.drawelement  ${viewoptions.drawelement}" 
--          puts $datei "viewoptions.drawoutline  ${viewoptions.drawoutline}" 
--          puts $datei "viewoptions.drawtets  ${viewoptions.drawtets}"
--          puts $datei "viewoptions.drawprisms  ${viewoptions.drawprisms}"
--          puts $datei "viewoptions.drawpyramids  ${viewoptions.drawpyramids}" 
--          puts $datei "viewoptions.drawhexes  ${viewoptions.drawhexes}" 
--          puts $datei "viewoptions.drawidentified  ${viewoptions.drawidentified}" 
--          puts $datei "viewoptions.drawpointnumbers  ${viewoptions.drawpointnumbers}" 
--          
--          puts $datei "viewoptions.drawededges  ${viewoptions.drawededges}" 
--          puts $datei "viewoptions.drawedpoints  ${viewoptions.drawedpoints}" 
--          puts $datei "viewoptions.drawedpointnrs  ${viewoptions.drawedpointnrs}" 
--          puts $datei "viewoptions.drawedtangents  ${viewoptions.drawedtangents}" 
--          puts $datei "viewoptions.shrink  ${viewoptions.shrink}" 
--          
--          puts $datei "stloptions.showtrias  ${stloptions.showtrias}" 
--          puts $datei "stloptions.showfilledtrias  ${stloptions.showfilledtrias}" 
--          puts $datei "stloptions.showedges  ${stloptions.showedges}" 
--          puts $datei "stloptions.showmarktrias  ${stloptions.showmarktrias}" 
--          puts $datei "stloptions.showactivechart  ${stloptions.showactivechart}" 
--          puts $datei "stloptions.yangle  ${stloptions.yangle}" 
--          puts $datei "stloptions.contyangle  ${stloptions.contyangle}" 
--          puts $datei "stloptions.edgecornerangle  ${stloptions.edgecornerangle}" 
--          puts $datei "stloptions.chartangle  ${stloptions.chartangle}" 
--          puts $datei "stloptions.outerchartangle  ${stloptions.outerchartangle}" 
--          puts $datei "stloptions.usesearchtree  ${stloptions.usesearchtree}" 
--          puts $datei "stloptions.chartnumber  ${stloptions.chartnumber}" 
--          puts $datei "stloptions.charttrignumber  ${stloptions.charttrignumber}" 
--          puts $datei "stloptions.chartnumberoffset  ${stloptions.chartnumberoffset}" 
--          puts $datei "stloptions.atlasminh  ${stloptions.atlasminh}" 
--          puts $datei "stloptions.resthsurfcurvfac  ${stloptions.resthsurfcurvfac}" 
--          puts $datei "stloptions.resthsurfcurvenable  ${stloptions.resthsurfcurvenable}" 
--          puts $datei "stloptions.resthatlasfac  ${stloptions.resthatlasfac}" 
--          puts $datei "stloptions.resthatlasenable  ${stloptions.resthatlasenable}" 
--          puts $datei "stloptions.resthchartdistfac  ${stloptions.resthchartdistfac}" 
--          puts $datei "stloptions.resthchartdistenable  ${stloptions.resthchartdistenable}" 
--          puts $datei "stloptions.resthlinelengthfac  ${stloptions.resthlinelengthfac}" 
--          puts $datei "stloptions.resthlinelengthenable  ${stloptions.resthlinelengthenable}" 
--              puts $datei "stloptions.resthminedgelen ${stloptions.resthminedgelen}"
--              puts $datei "stloptions.resthminedgelenenable ${stloptions.resthminedgelenenable}"
--          puts $datei "stloptions.resthcloseedgefac  ${stloptions.resthcloseedgefac}" 
--          puts $datei "stloptions.resthcloseedgeenable  ${stloptions.resthcloseedgeenable}" 
--          puts $datei "stloptions.resthedgeanglefac  ${stloptions.resthedgeanglefac}" 
--          puts $datei "stloptions.resthedgeangleenable  ${stloptions.resthedgeangleenable}" 
--          puts $datei "stloptions.resthsurfmeshcurvfac  ${stloptions.resthsurfmeshcurvfac}" 
--          puts $datei "stloptions.resthsurfmeshcurvenable  ${stloptions.resthsurfmeshcurvenable}" 
--          puts $datei "stloptions.recalchopt  ${stloptions.recalchopt}" 
--          
--          puts $datei "visoptions.subdivisions ${visoptions.subdivisions}"
--          puts $datei "visoptions.autoredraw ${visoptions.autoredraw}"
--          puts $datei "visoptions.autoredrawtime ${visoptions.autoredrawtime}"
--
--
--          # trafo options   
--          # if exist trafooptions then ...
--          if { [info exists trafooptions.solver] == 1 } {
--              puts $datei "trafooptions.solver ${trafooptions.solver}" 
--              puts $datei "trafooptions.levels ${trafooptions.levels}" 
--              puts $datei "trafooptions.linits ${trafooptions.linits}" 
--              puts $datei "trafooptions.nonlinits ${trafooptions.nonlinits}" 
--              puts $datei "trafooptions.stabcurrent ${trafooptions.stabcurrent}" 
--              puts $datei "trafooptions.checkcond ${trafooptions.checkcond}" 
--              puts $datei "trafooptions.maxdirect ${trafooptions.maxdirect}" 
--              puts $datei "trafooptions.secondorder ${trafooptions.secondorder}" 
--              puts $datei "trafooptions.homogenizedcore ${trafooptions.homogenizedcore}" 
--              puts $datei "trafooptions.ordercore ${trafooptions.ordercore}" 
--              puts $datei "trafooptions.simplecurrents ${trafooptions.simplecurrents}" 
--              puts $datei "trafooptions.assemblecomplexmatrix ${trafooptions.assemblecomplexmatrix}" 
--
--              puts $datei "trafooptions.meshcasing  ${trafooptions.meshcasing}" 
--              puts $datei "trafooptions.meshcore    ${trafooptions.meshcore}" 
--              puts $datei "trafooptions.meshclumps  ${trafooptions.meshclumps}" 
--              puts $datei "trafooptions.meshshields ${trafooptions.meshshields}" 
--              puts $datei "trafooptions.meshcoils   ${trafooptions.meshcoils}" 
--              puts $datei "trafooptions.bcmdirectory  ${trafooptions.bcmdirectory}" 
--              puts $datei "trafooptions.lossdensityfile  ${trafooptions.lossdensityfile}" 
--          }
--
--          if { [info exists smalltrafomodell.tankheight] == 1 } {
--              puts $datei "smalltrafomodell.tankheight ${smalltrafomodell.tankheight}"
--              puts $datei "smalltrafomodell.tankwidth ${smalltrafomodell.tankwidth}"
--              puts $datei "smalltrafomodell.tanklength ${smalltrafomodell.tanklength}"
--              puts $datei "smalltrafomodell.corewidth ${smalltrafomodell.corewidth}"
--              puts $datei "smalltrafomodell.windowheight ${smalltrafomodell.windowheight}"
--              puts $datei "smalltrafomodell.limbdistance ${smalltrafomodell.limbdistance}"
--              puts $datei "smalltrafomodell.xposcore ${smalltrafomodell.xposcore}"
--              puts $datei "smalltrafomodell.yposcore ${smalltrafomodell.yposcore}"
--              puts $datei "smalltrafomodell.zposcore ${smalltrafomodell.zposcore}"
--              puts $datei "smalltrafomodell.leakagefluxguidethickness ${smalltrafomodell.leakagefluxguidethickness}"
--              puts $datei "smalltrafomodell.leakagefluxguidewidth ${smalltrafomodell.leakagefluxguidewidth}"
--              puts $datei "smalltrafomodell.leakagefluxguidezposition ${smalltrafomodell.leakagefluxguidezposition}"
--              puts $datei "smalltrafomodell.limbcoil.1 ${smalltrafomodell.limbcoil.1}"
--              puts $datei "smalltrafomodell.ricoil.1 ${smalltrafomodell.ricoil.1}"
--              puts $datei "smalltrafomodell.rocoil.1 ${smalltrafomodell.rocoil.1}"
--              puts $datei "smalltrafomodell.zposcoil.1 ${smalltrafomodell.zposcoil.1}"
--              puts $datei "smalltrafomodell.heightcoil.1 ${smalltrafomodell.heightcoil.1}"
--              puts $datei "smalltrafomodell.currentcoil.1 ${smalltrafomodell.currentcoil.1}"
--              puts $datei "smalltrafomodell.nturnscoil.1 ${smalltrafomodell.nturnscoil.1}"
--              puts $datei "smalltrafomodell.limbcoil.2 ${smalltrafomodell.limbcoil.2}"
--              puts $datei "smalltrafomodell.ricoil.2 ${smalltrafomodell.ricoil.2}"
--              puts $datei "smalltrafomodell.rocoil.2 ${smalltrafomodell.rocoil.2}"
--              puts $datei "smalltrafomodell.zposcoil.2 ${smalltrafomodell.zposcoil.2}"
--              puts $datei "smalltrafomodell.heightcoil.2 ${smalltrafomodell.heightcoil.2}"
--              puts $datei "smalltrafomodell.currentcoil.2 ${smalltrafomodell.currentcoil.2}"
--              puts $datei "smalltrafomodell.nturnscoil.2 ${smalltrafomodell.nturnscoil.2}"
--              puts $datei "smalltrafomodell.limbcoil.3 ${smalltrafomodell.limbcoil.3}"
--              puts $datei "smalltrafomodell.ricoil.3 ${smalltrafomodell.ricoil.3}"
--              puts $datei "smalltrafomodell.rocoil.3 ${smalltrafomodell.rocoil.3}"
--              puts $datei "smalltrafomodell.zposcoil.3 ${smalltrafomodell.zposcoil.3}"
--              puts $datei "smalltrafomodell.heightcoil.3 ${smalltrafomodell.heightcoil.3}"
--              puts $datei "smalltrafomodell.currentcoil.3 ${smalltrafomodell.currentcoil.3}"
--              puts $datei "smalltrafomodell.nturnscoil.3 ${smalltrafomodell.nturnscoil.3}"
--              puts $datei "smalltrafomodell.limbcoil.4 ${smalltrafomodell.limbcoil.4}"
--              puts $datei "smalltrafomodell.ricoil.4 ${smalltrafomodell.ricoil.4}"
--              puts $datei "smalltrafomodell.rocoil.4 ${smalltrafomodell.rocoil.4}"
--              puts $datei "smalltrafomodell.zposcoil.4 ${smalltrafomodell.zposcoil.4}"
--              puts $datei "smalltrafomodell.heightcoil.4 ${smalltrafomodell.heightcoil.4}"
--              puts $datei "smalltrafomodell.currentcoil.4 ${smalltrafomodell.currentcoil.4}"
--              puts $datei "smalltrafomodell.nturnscoil.4 ${smalltrafomodell.nturnscoil.4}"
--              puts $datei "smalltrafomodell.limbcoil.5 ${smalltrafomodell.limbcoil.5}"
--              puts $datei "smalltrafomodell.ricoil.5 ${smalltrafomodell.ricoil.5}"
--              puts $datei "smalltrafomodell.rocoil.5 ${smalltrafomodell.rocoil.5}"
--              puts $datei "smalltrafomodell.zposcoil.5 ${smalltrafomodell.zposcoil.5}"
--              puts $datei "smalltrafomodell.heightcoil.5 ${smalltrafomodell.heightcoil.5}"
--              puts $datei "smalltrafomodell.currentcoil.5 ${smalltrafomodell.currentcoil.5}"
--              puts $datei "smalltrafomodell.nturnscoil.5 ${smalltrafomodell.nturnscoil.5}"
--              puts $datei "smalltrafomodell.limbcoil.6 ${smalltrafomodell.limbcoil.6}"
--              puts $datei "smalltrafomodell.ricoil.6 ${smalltrafomodell.ricoil.6}"
--              puts $datei "smalltrafomodell.rocoil.6 ${smalltrafomodell.rocoil.6}"
--              puts $datei "smalltrafomodell.zposcoil.6 ${smalltrafomodell.zposcoil.6}"
--              puts $datei "smalltrafomodell.heightcoil.6 ${smalltrafomodell.heightcoil.6}"
--              puts $datei "smalltrafomodell.currentcoil.6 ${smalltrafomodell.currentcoil.6}"
--              puts $datei "smalltrafomodell.nturnscoil.6 ${smalltrafomodell.nturnscoil.6}"
--              puts $datei "smalltrafomodell.limbtest.1 ${smalltrafomodell.limbtest.1}"
--              puts $datei "smalltrafomodell.heighttest.1 ${smalltrafomodell.heighttest.1}"
--              puts $datei "smalltrafomodell.widthtest.1 ${smalltrafomodell.widthtest.1}"
--              puts $datei "smalltrafomodell.rtest.1 ${smalltrafomodell.rtest.1}"
--              puts $datei "smalltrafomodell.zpostest.1 ${smalltrafomodell.zpostest.1}"
--              puts $datei "smalltrafomodell.edgeradiustest.1 ${smalltrafomodell.edgeradiustest.1}"
--              puts $datei "smalltrafomodell.finetest.1 ${smalltrafomodell.finetest.1}"
--              puts $datei "smalltrafomodell.conductivetest.1 ${smalltrafomodell.conductivetest.1}"
--              puts $datei "smalltrafomodell.limbtest.2 ${smalltrafomodell.limbtest.2}"
--              puts $datei "smalltrafomodell.heighttest.2 ${smalltrafomodell.heighttest.2}"
--              puts $datei "smalltrafomodell.widthtest.2 ${smalltrafomodell.widthtest.2}"
--              puts $datei "smalltrafomodell.rtest.2 ${smalltrafomodell.rtest.2}"
--              puts $datei "smalltrafomodell.zpostest.2 ${smalltrafomodell.zpostest.2}"
--              puts $datei "smalltrafomodell.edgeradiustest.2 ${smalltrafomodell.edgeradiustest.2}"
--              puts $datei "smalltrafomodell.finetest.2 ${smalltrafomodell.finetest.2}"
--              puts $datei "smalltrafomodell.conductivetest.2 ${smalltrafomodell.conductivetest.2}"
--              puts $datei "smalltrafomodell.limbtest.3 ${smalltrafomodell.limbtest.3}"
--              puts $datei "smalltrafomodell.heighttest.3 ${smalltrafomodell.heighttest.3}"
--              puts $datei "smalltrafomodell.widthtest.3 ${smalltrafomodell.widthtest.3}"
--              puts $datei "smalltrafomodell.rtest.3 ${smalltrafomodell.rtest.3}"
--              puts $datei "smalltrafomodell.zpostest.3 ${smalltrafomodell.zpostest.3}"
--              puts $datei "smalltrafomodell.edgeradiustest.3 ${smalltrafomodell.edgeradiustest.3}"
--              puts $datei "smalltrafomodell.finetest.3 ${smalltrafomodell.finetest.3}"
--              puts $datei "smalltrafomodell.conductivetest.3 ${smalltrafomodell.conductivetest.3}"
--              puts $datei "smalltrafomodell.limbtest.4 ${smalltrafomodell.limbtest.4}"
--              puts $datei "smalltrafomodell.heighttest.4 ${smalltrafomodell.heighttest.4}"
--              puts $datei "smalltrafomodell.widthtest.4 ${smalltrafomodell.widthtest.4}"
--              puts $datei "smalltrafomodell.rtest.4 ${smalltrafomodell.rtest.4}"
--              puts $datei "smalltrafomodell.zpostest.4 ${smalltrafomodell.zpostest.4}"
--              puts $datei "smalltrafomodell.edgeradiustest.4 ${smalltrafomodell.edgeradiustest.4}"
--              puts $datei "smalltrafomodell.finetest.4 ${smalltrafomodell.finetest.4}"
--              puts $datei "smalltrafomodell.conductivetest.4 ${smalltrafomodell.conductivetest.4}"
--              puts $datei "smalltrafomodell.nperitest ${smalltrafomodell.nperitest}"
--              puts $datei "smalltrafomodell.filename ${smalltrafomodell.filename}"
--              puts $datei "smalltrafomodell.murlfguide ${smalltrafomodell.murlfguide}"
--              puts $datei "smalltrafomodell.murtestwire ${smalltrafomodell.murtestwire}"
--              puts $datei "smalltrafomodell.murcore ${smalltrafomodell.murcore}"
--              puts $datei "smalltrafomodell.kappalfguide ${smalltrafomodell.kappalfguide}"
--              puts $datei "smalltrafomodell.kappatestwire ${smalltrafomodell.kappatestwire}"
--              puts $datei "smalltrafomodell.kappacore ${smalltrafomodell.kappacore}"
--          }
--          
--          
--          close $datei
--      }
--    }
--}
--
--
--
--
--# the ini file is saved on demand :
--proc saveinifile { } {
--    global inifilename
--    if {[catch { set datei [open $inifilename w] } result ]} {
--      puts "cannot write file $inifilename"
--    } {
--      for { set i [.ngmenu.file.recent index last] } { $i >= 1 } { incr i -1 } {
--          puts $datei "recentfile \"[.ngmenu.file.recent entrycget $i -label]\""
--      }
--      close $datei
--    }    
--}
--
--
--proc savemeshinifile { } {
--    global meshinifilename 
--    if {[catch { set datei [open $meshinifilename w] } result ]} {
--      puts "cannot write file $meshinifilename"
--    } {
--      for { set i [.ngmenu.file.recentmesh index last] } { $i >= 1 } { incr i -1 } {
--          puts $datei "recentfile \"[.ngmenu.file.recentmesh entrycget $i -label]\""
--      }
--      close $datei
--    }    
--}
--
--
--
--proc loadinifile { } { 
--    global inifilename
--    if { [file exists $inifilename] == 1 } {
--      set datei [open $inifilename r]
--      while { [gets $datei line] >= 0 } {
--          if {[lindex $line 0] == "recentfile"} {
--                  set filename [lindex $line 1]
--                  if { [file exists $filename] == 1 } {
--                      AddRecentFile $filename
--                  }   
--          }
--      }
--      close $datei
--    }
--}
--
--
--proc loadmeshinifile { } {
--    global meshinifilename
--    if { [file exists $meshinifilename] == 1 } {
--      set datei [open $meshinifilename r]
--      while { [gets $datei line] >= 0 } {
--          if {[lindex $line 0] == "recentfile"} {
--              set filename [lindex $line 1]
--              if { [file exists $filename] == 1 } {
--                  AddRecentMeshFile $filename
--              }       
--          }
--      }
--      close $datei
--    }
-- }
--
--
--
--
--
--set cmdindex {}
--set hlpindex {}
--set secindex {}
-+# netgen global tcl-variables
-+
-+set drawmode rotate
-+set selectvisual geometry
-+
-+set dirname .
-+set loadgeomtypevar "All Geometry types"
-+
-+set basefilename filename
-+
-+set meshoptions.fineness 3
-+set meshoptions.firststep ag
-+set meshoptions.laststep ov
-+set options.memory 0
-+
-+set options.localh 1
-+set options.delaunay 1
-+set options.checkoverlap 1
-+set options.checkoverlappingboundary 0
-+set options.checkchartboundary 1
-+set options.startinsurface 0
-+set options.blockfill 1
-+set options.debugmode 0
-+set options.dooptimize 1
-+set options.parthread 1
-+set options.elsizeweight 0.2
-+set options.secondorder 0
-+set options.elementorder 1
-+set options.quad 0
-+set options.inverttets 0
-+set options.inverttrigs 0
-+set options.autozrefine 0
-+
-+
-+set options.meshsize 1000
-+set options.minmeshsize 0
-+
-+set options.curvaturesafety 2
-+set options.segmentsperedge 2
-+set options.meshsizefilename ""
-+set options.badellimit 175
-+set options.optsteps2d 3
-+set options.optsteps3d 5
-+set options.opterrpow 2
-+
-+set options.grading 0.5
-+set options.printmsg 2
-+
-+set debug.slowchecks 0
-+set debug.debugoutput 0
-+set debug.haltexistingline 0
-+set debug.haltoverlap 0
-+set debug.haltsuccess 0
-+set debug.haltnosuccess 0
-+set debug.haltlargequalclass 0
-+set debug.haltsegment 0
-+set debug.haltnode 0
-+set debug.haltface 0
-+set debug.haltfacenr 0
-+set debug.haltsegmentp1 0
-+set debug.haltsegmentp2 0
-+
-+set geooptions.drawcsg 1
-+set geooptions.detail 0.001
-+set geooptions.accuracy 1e-6
-+set geooptions.facets 20
-+set geooptions.minx -1000
-+set geooptions.miny -1000
-+set geooptions.minz -1000
-+set geooptions.maxx 1000
-+set geooptions.maxy 1000
-+set geooptions.maxz 1000
-+
-+set viewqualityplot 0
-+set memuseplot 0
-+set viewrotatebutton 0
-+set showsensitivehelp 0
-+set showhelpline 0
-+
-+set viewoptions.specpointvlen 0.3
-+set viewoptions.light.amb 0.3
-+set viewoptions.light.diff 0.7
-+set viewoptions.light.spec 1
-+set viewoptions.light.locviewer 0
-+set viewoptions.mat.shininess 50
-+set viewoptions.mat.transp 0.3
-+set viewoptions.colormeshsize 0
-+set viewoptions.whitebackground 1
-+set viewoptions.drawcoordinatecross 1
-+set viewoptions.drawcolorbar 1
-+set viewoptions.drawnetgenlogo 1
-+set viewoptions.stereo 0
-+set viewoptions.shrink 1
-+
-+set viewoptions.drawfilledtrigs 1
-+set viewoptions.drawedges 0
-+set viewoptions.drawbadels 0
-+set viewoptions.centerpoint 0
-+set viewoptions.drawelement 0
-+set viewoptions.drawoutline 1
-+set viewoptions.drawtets 0
-+set viewoptions.drawtetsdomain 0
-+set viewoptions.drawprisms 0
-+set viewoptions.drawpyramids 0
-+set viewoptions.drawhexes 0
-+set viewoptions.drawidentified 0
-+set viewoptions.drawpointnumbers 0
-+set viewoptions.drawedgenumbers 0
-+set viewoptions.drawfacenumbers 0
-+set viewoptions.drawelementnumbers 0
-+set viewoptions.drawdomainsurf 0
-+
-+set viewoptions.drawededges 1
-+set viewoptions.drawedpoints 1
-+set viewoptions.drawedpointnrs 0
-+set viewoptions.drawedtangents 0
-+set viewoptions.drawededgenrs 0
-+set viewoptions.drawmetispartition 0
-+
-+set viewoptions.drawcurveproj 0
-+set viewoptions.drawcurveprojedge 1
-+
-+set viewoptions.clipping.nx 0
-+set viewoptions.clipping.ny 1
-+set viewoptions.clipping.nz 0
-+set viewoptions.clipping.dist 0
-+set viewoptions.clipping.dist2 0
-+set viewoptions.clipping.enable 0
-+set viewoptions.clipping.onlydomain 0
-+set viewoptions.clipping.notdomain 0
-+
-+set viewoptions.usecentercoords 0
-+set viewoptions.centerx 0
-+set viewoptions.centery 0
-+set viewoptions.centerz 0
-+
-+set viewoptions.drawspecpoint 0
-+set viewoptions.specpointx 0
-+set viewoptions.specpointy 0
-+set viewoptions.specpointz 0
-+
-+
-+set stloptions.showtrias 0
-+set stloptions.showfilledtrias 1
-+set stloptions.showedges 1
-+set stloptions.showmarktrias 0
-+set stloptions.showactivechart 0
-+set stloptions.yangle 30
-+set stloptions.contyangle 20
-+set stloptions.edgecornerangle 60
-+set stloptions.chartangle 15
-+set stloptions.outerchartangle 70
-+set stloptions.usesearchtree 0
-+set stloptions.chartnumber 1
-+set stloptions.charttrignumber 1
-+set stloptions.chartnumberoffset 0
-+
-+set stloptions.atlasminh 0.1
-+set stloptions.resthsurfcurvfac 2
-+set stloptions.resthsurfcurvenable 0
-+set stloptions.resthatlasfac 2
-+set stloptions.resthatlasenable 1
-+set stloptions.resthchartdistfac 1.2
-+set stloptions.resthchartdistenable 1
-+set stloptions.resthlinelengthfac 0.5
-+set stloptions.resthlinelengthenable 1
-+set stloptions.resthcloseedgefac 1
-+set stloptions.resthcloseedgeenable 1
-+set stloptions.resthminedgelen 0.01
-+set stloptions.resthminedgelenenable 1
-+set stloptions.resthedgeanglefac 1
-+set stloptions.resthedgeangleenable 0
-+set stloptions.resthsurfmeshcurvfac 1
-+set stloptions.resthsurfmeshcurvenable 0
-+set stloptions.recalchopt 1
-+
-+set stldoctor.drawmeshededges 1
-+set stldoctor.geom_tol_fact 0.000001
-+set stldoctor.useexternaledges 0
-+set stldoctor.showfaces 0
-+set stldoctor.conecheck 1
-+set stldoctor.spiralcheck 1
-+set stldoctor.selecttrig 0
-+set stldoctor.selectmode 1
-+set stldoctor.longlinefact 0
-+set stldoctor.showexcluded 1
-+set stldoctor.edgeselectmode 0
-+set stldoctor.nodeofseltrig 1
-+set stldoctor.showtouchedtrigchart 0
-+set stldoctor.showedgecornerpoints 0
-+set stldoctor.showmarkedtrigs 1
-+set stldoctor.dirtytrigfact 0.01
-+set stldoctor.smoothangle 90
-+set stldoctor.selectwithmouse 1
-+set stldoctor.showvicinity 0
-+set stldoctor.vicinity 50
-+set stldoctor.smoothnormalsweight 0.2
-+
-+set occoptions.showvolumenr 0
-+set occoptions.showsurfaces 1
-+set occoptions.showedges 1
-+set occoptions.showsolidnr 0
-+set occoptions.showsolidnr2 0
-+set occoptions.visproblemfaces 0
-+set occoptions.zoomtohighlightedentity 0
-+set occoptions.deflection 1
-+set occoptions.tolerance 1e-3
-+set occoptions.fixsmalledges 1
-+set occoptions.fixspotstripfaces 1
-+set occoptions.sewfaces 1
-+set occoptions.makesolids 1
-+set occoptions.splitpartitions 0
-+
-+set meshdoctor.active 0
-+set meshdoctor.markedgedist 1
-+
-+
-+# variablenname mit punkt problematisch!
-+set status_np 0
-+set status_ne 0
-+set status_nse 0
-+set status_working " "
-+set status_task " "
-+set status_percent 0
-+set status_filename 0
-+set status_tetqualclasses "10 20 30 40 10 20 30 40 10 20 30 40 10 20 30 40 10 20 30 40"
-+
-+set exportfiletype "Neutral Format"
-+
-+set preproc.facenr 0
-+set preproc.selectmode query
-+set preproc.numtrig 0
-+
-+set mem_moveable 0
-+
-+
-+set multithread_pause 0
-+set multithread_testmode 0
-+set multithread_redraw 0
-+set multithread_drawing 0
-+set multithread_terminate 0
-+set multithread_running 0
-+
-+set level 0
-+
-+
-+set tablesforoutput {}
-+
-+
-+
-+set optlist {
-+    options.localh
-+    options.delaunay
-+    options.checkoverlap
-+    options.startinsurface
-+    options.blockfill
-+    options.dooptimize
-+    options.elsizeweight
-+    options.meshsize
-+    options.minmeshsize
-+    options.curvaturesafety
-+    options.optsteps2d
-+    options.optsteps3d
-+    options.secondorder
-+}
-+
-+
-+set visoptions.usetexture 1
-+set visoptions.invcolor 0
-+set visoptions.imaginary 0
-+set visoptions.lineartexture 0
-+set visoptions.numtexturecols 16
-+set visoptions.showclipsolution 1
-+set visoptions.showsurfacesolution 0
-+set visoptions.drawfieldlines 0
-+set visoptions.drawpointcurves 1
-+set visoptions.numfieldlines 100
-+set visoptions.fieldlinesrandomstart 0
-+set visoptions.fieldlinesstartarea box
-+set visoptions.fieldlinesstartareap1x 1
-+set visoptions.fieldlinesstartareap1y 1
-+set visoptions.fieldlinesstartareap1z 1
-+set visoptions.fieldlinesstartareap2x 0
-+set visoptions.fieldlinesstartareap2y 0
-+set visoptions.fieldlinesstartareap2z 0
-+set visoptions.fieldlinesstartface -1
-+set visoptions.fieldlinesfilename none
-+set visoptions.fieldlinestolerance 0.0005
-+set visoptions.fieldlinesrktype crungekutta
-+set visoptions.fieldlineslength 0.5
-+set visoptions.fieldlinesmaxpoints 500
-+set visoptions.fieldlinesthickness 0.0015
-+set visoptions.fieldlinesvecfunction none
-+set visoptions.fieldlinesphase 0
-+set visoptions.fieldlinesonlyonephase 1
-+
-+
-+set visoptions.lineplotfile empty
-+set visoptions.lineplotsource file
-+set visoptions.lineplotusingx 0
-+set visoptions.lineplotusingy 1
-+set visoptions.lineplotautoscale 1
-+set visoptions.lineplotxmin 0
-+set visoptions.lineplotxmax 1
-+set visoptions.lineplotymin 0
-+set visoptions.lineplotymax 1
-+set visoptions.lineplotcurrentnum -1
-+set visoptions.lineplotinfos ""
-+set visoptions.lineplotselected none
-+set visoptions.lineplotselector ""
-+set visoptions.lineplotcolor red
-+set visoptions.lineplotsizex 500
-+set visoptions.lineplotsizey 400
-+set visoptions.lineplotselectedeval 0
-+set visoptions.lineplotdatadescr "column1 column2 column3"
-+set visoptions.lineplotxcoordselector ""
-+set visoptions.lineplotycoordselector ""
-+set visoptions.evaluatefilenames none
-+set visoptions.evaluatefiledescriptions none
-+
-+
-+set visoptions.clipsolution none
-+set visoptions.scalfunction none
-+set visoptions.vecfunction none
-+set visoptions.evaluate abs
-+set visoptions.gridsize 20
-+set visoptions.xoffset 0
-+set visoptions.yoffset 0
-+set visoptions.autoscale 1
-+set visoptions.redrawperiodic 0
-+set visoptions.logscale 0
-+set visoptions.mminval 0
-+set visoptions.mmaxval 1
-+set visoptions.isolines 0
-+set visoptions.isosurf 0
-+set visoptions.subdivisions 1
-+set visoptions.numiso 10
-+set visoptions.autoredraw 0
-+set visoptions.autoredrawtime 2
-+set visoptions.simulationtime 0
-+set visoptions.multidimcomponent 0
-+
-+# deform by vector function
-+set visoptions.deformation 0
-+set visoptions.scaledeform1 1
-+set visoptions.scaledeform2 1
-+
-+set parallel_netgen 0
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+set optfilename [file join $nguserdir ng.opt]
-+set inifilename [file join $nguserdir ng.ini]
-+set meshinifilename [file join $nguserdir ngmesh.ini]
-+
-+global env
-+if { [llength [array names env NG_OPT]] == 1 } {
-+    if { [string length $env(NG_OPT)] > 0 } {
-+      set optfilename $env(NG_OPT)
-+    }
-+}
-+
-+if { [file exists $optfilename] == 1 } {
-+    set datei [open $optfilename r]
-+    while { [gets $datei line] >= 0 } {
-+      set [lindex $line 0] [lindex $line 1]
-+    }
-+    close $datei
-+} {
-+    puts "optfile $optfilename does not exist - using default values"
-+}
-+
-+
-+
-+
-+proc saveoptions { } {
-+    uplevel 1  {
-+      set file $optfilename
-+
-+      if {$file != ""} {
-+          set datei [open $file w]
-+          puts $datei "dirname  ${dirname}"
-+          puts $datei "loadgeomtypevar  \"${loadgeomtypevar}\""
-+          puts $datei "exportfiletype  \"${exportfiletype}\""
-+          puts $datei "meshoptions.fineness  ${meshoptions.fineness}"
-+          puts $datei "meshoptions.firststep ${meshoptions.firststep}"
-+          puts $datei "meshoptions.laststep  ${meshoptions.laststep}"
-+          puts $datei "options.localh  ${options.localh}"
-+          puts $datei "options.delaunay  ${options.delaunay}"
-+          puts $datei "options.checkoverlap  ${options.checkoverlap}"
-+          puts $datei "options.checkchartboundary  ${options.checkchartboundary}"
-+          puts $datei "options.startinsurface  ${options.startinsurface}"
-+          puts $datei "options.blockfill  ${options.blockfill}"
-+          puts $datei "options.debugmode  ${options.debugmode}"
-+          puts $datei "options.dooptimize ${options.dooptimize}"
-+          puts $datei "options.parthread  ${options.parthread}"
-+          puts $datei "options.elsizeweight  ${options.elsizeweight}"
-+          puts $datei "options.secondorder  ${options.secondorder}"
-+          puts $datei "options.elementorder  ${options.elementorder}"
-+#         puts $datei "options.memory  ${options.memory}"
-+          puts $datei "options.quad  ${options.quad}"
-+          puts $datei "options.inverttets  ${options.inverttets}"
-+          puts $datei "options.inverttrigs  ${options.inverttrigs}"
-+          puts $datei "options.autozrefine ${options.autozrefine}"
-+          puts $datei "options.meshsize  ${options.meshsize}"
-+          puts $datei "options.minmeshsize  ${options.minmeshsize}"
-+          puts $datei "options.curvaturesafety  ${options.curvaturesafety}"
-+          puts $datei "options.segmentsperedge  ${options.segmentsperedge}"
-+          puts $datei "options.meshsizefilename  ${options.meshsizefilename}"
-+          puts $datei "options.badellimit  ${options.badellimit}"
-+          puts $datei "options.optsteps2d  ${options.optsteps2d}"
-+          puts $datei "options.optsteps3d  ${options.optsteps3d}"
-+          puts $datei "options.opterrpow  ${options.opterrpow}"
-+          puts $datei "options.grading  ${options.grading}"
-+          puts $datei "options.printmsg  ${options.printmsg}"
-+          puts $datei "geooptions.drawcsg  ${geooptions.drawcsg}"
-+          puts $datei "geooptions.detail  ${geooptions.detail}"
-+          puts $datei "geooptions.accuracy  ${geooptions.accuracy}"
-+          puts $datei "geooptions.facets  ${geooptions.facets}"
-+          puts $datei "geooptions.minx  ${geooptions.minx}"
-+          puts $datei "geooptions.miny  ${geooptions.miny}"
-+          puts $datei "geooptions.minz  ${geooptions.minz}"
-+          puts $datei "geooptions.maxx  ${geooptions.maxx}"
-+          puts $datei "geooptions.maxy  ${geooptions.maxy}"
-+          puts $datei "geooptions.maxz  ${geooptions.maxz}"
-+          puts $datei "viewoptions.specpointvlen  ${viewoptions.specpointvlen}"
-+          puts $datei "viewoptions.light.amb  ${viewoptions.light.amb}"
-+          puts $datei "viewoptions.light.diff ${viewoptions.light.diff}"
-+          puts $datei "viewoptions.light.spec ${viewoptions.light.spec}"
-+          puts $datei "viewoptions.light.locviewer ${viewoptions.light.locviewer}"
-+          puts $datei "viewoptions.mat.shininess  ${viewoptions.mat.shininess}"
-+          puts $datei "viewoptions.mat.transp  ${viewoptions.mat.transp}"
-+          puts $datei "viewoptions.colormeshsize ${viewoptions.colormeshsize}"
-+          puts $datei "viewoptions.whitebackground  ${viewoptions.whitebackground}"
-+          puts $datei "viewoptions.drawcolorbar  ${viewoptions.drawcolorbar}"
-+          puts $datei "viewoptions.drawcoordinatecross  ${viewoptions.drawcoordinatecross}"
-+          puts $datei "viewoptions.drawnetgenlogo  ${viewoptions.drawnetgenlogo}"
-+          puts $datei "viewoptions.stereo  ${viewoptions.stereo}"
-+          puts $datei "viewoptions.drawfilledtrigs  ${viewoptions.drawfilledtrigs}"
-+          puts $datei "viewoptions.drawedges  ${viewoptions.drawedges}"
-+          puts $datei "viewoptions.drawbadels  ${viewoptions.drawbadels}"
-+          puts $datei "viewoptions.centerpoint  ${viewoptions.centerpoint}"
-+          puts $datei "viewoptions.drawelement  ${viewoptions.drawelement}"
-+          puts $datei "viewoptions.drawoutline  ${viewoptions.drawoutline}"
-+          puts $datei "viewoptions.drawtets  ${viewoptions.drawtets}"
-+          puts $datei "viewoptions.drawprisms  ${viewoptions.drawprisms}"
-+          puts $datei "viewoptions.drawpyramids  ${viewoptions.drawpyramids}"
-+          puts $datei "viewoptions.drawhexes  ${viewoptions.drawhexes}"
-+          puts $datei "viewoptions.drawidentified  ${viewoptions.drawidentified}"
-+          puts $datei "viewoptions.drawpointnumbers  ${viewoptions.drawpointnumbers}"
-+
-+          puts $datei "viewoptions.drawededges  ${viewoptions.drawededges}"
-+          puts $datei "viewoptions.drawedpoints  ${viewoptions.drawedpoints}"
-+          puts $datei "viewoptions.drawedpointnrs  ${viewoptions.drawedpointnrs}"
-+          puts $datei "viewoptions.drawedtangents  ${viewoptions.drawedtangents}"
-+          puts $datei "viewoptions.shrink  ${viewoptions.shrink}"
-+
-+          puts $datei "stloptions.showtrias  ${stloptions.showtrias}"
-+          puts $datei "stloptions.showfilledtrias  ${stloptions.showfilledtrias}"
-+          puts $datei "stloptions.showedges  ${stloptions.showedges}"
-+          puts $datei "stloptions.showmarktrias  ${stloptions.showmarktrias}"
-+          puts $datei "stloptions.showactivechart  ${stloptions.showactivechart}"
-+          puts $datei "stloptions.yangle  ${stloptions.yangle}"
-+          puts $datei "stloptions.contyangle  ${stloptions.contyangle}"
-+          puts $datei "stloptions.edgecornerangle  ${stloptions.edgecornerangle}"
-+          puts $datei "stloptions.chartangle  ${stloptions.chartangle}"
-+          puts $datei "stloptions.outerchartangle  ${stloptions.outerchartangle}"
-+          puts $datei "stloptions.usesearchtree  ${stloptions.usesearchtree}"
-+          puts $datei "stloptions.chartnumber  ${stloptions.chartnumber}"
-+          puts $datei "stloptions.charttrignumber  ${stloptions.charttrignumber}"
-+          puts $datei "stloptions.chartnumberoffset  ${stloptions.chartnumberoffset}"
-+          puts $datei "stloptions.atlasminh  ${stloptions.atlasminh}"
-+          puts $datei "stloptions.resthsurfcurvfac  ${stloptions.resthsurfcurvfac}"
-+          puts $datei "stloptions.resthsurfcurvenable  ${stloptions.resthsurfcurvenable}"
-+          puts $datei "stloptions.resthatlasfac  ${stloptions.resthatlasfac}"
-+          puts $datei "stloptions.resthatlasenable  ${stloptions.resthatlasenable}"
-+          puts $datei "stloptions.resthchartdistfac  ${stloptions.resthchartdistfac}"
-+          puts $datei "stloptions.resthchartdistenable  ${stloptions.resthchartdistenable}"
-+          puts $datei "stloptions.resthlinelengthfac  ${stloptions.resthlinelengthfac}"
-+          puts $datei "stloptions.resthlinelengthenable  ${stloptions.resthlinelengthenable}"
-+              puts $datei "stloptions.resthminedgelen ${stloptions.resthminedgelen}"
-+              puts $datei "stloptions.resthminedgelenenable ${stloptions.resthminedgelenenable}"
-+          puts $datei "stloptions.resthcloseedgefac  ${stloptions.resthcloseedgefac}"
-+          puts $datei "stloptions.resthcloseedgeenable  ${stloptions.resthcloseedgeenable}"
-+          puts $datei "stloptions.resthedgeanglefac  ${stloptions.resthedgeanglefac}"
-+          puts $datei "stloptions.resthedgeangleenable  ${stloptions.resthedgeangleenable}"
-+          puts $datei "stloptions.resthsurfmeshcurvfac  ${stloptions.resthsurfmeshcurvfac}"
-+          puts $datei "stloptions.resthsurfmeshcurvenable  ${stloptions.resthsurfmeshcurvenable}"
-+          puts $datei "stloptions.recalchopt  ${stloptions.recalchopt}"
-+
-+          puts $datei "visoptions.subdivisions ${visoptions.subdivisions}"
-+          puts $datei "visoptions.autoredraw ${visoptions.autoredraw}"
-+          puts $datei "visoptions.autoredrawtime ${visoptions.autoredrawtime}"
-+
-+
-+          # trafo options
-+          # if exist trafooptions then ...
-+          if { [info exists trafooptions.solver] == 1 } {
-+              puts $datei "trafooptions.solver ${trafooptions.solver}"
-+              puts $datei "trafooptions.levels ${trafooptions.levels}"
-+              puts $datei "trafooptions.linits ${trafooptions.linits}"
-+              puts $datei "trafooptions.nonlinits ${trafooptions.nonlinits}"
-+              puts $datei "trafooptions.stabcurrent ${trafooptions.stabcurrent}"
-+              puts $datei "trafooptions.checkcond ${trafooptions.checkcond}"
-+              puts $datei "trafooptions.maxdirect ${trafooptions.maxdirect}"
-+              puts $datei "trafooptions.secondorder ${trafooptions.secondorder}"
-+              puts $datei "trafooptions.homogenizedcore ${trafooptions.homogenizedcore}"
-+              puts $datei "trafooptions.ordercore ${trafooptions.ordercore}"
-+              puts $datei "trafooptions.simplecurrents ${trafooptions.simplecurrents}"
-+              puts $datei "trafooptions.assemblecomplexmatrix ${trafooptions.assemblecomplexmatrix}"
-+
-+              puts $datei "trafooptions.meshcasing  ${trafooptions.meshcasing}"
-+              puts $datei "trafooptions.meshcore    ${trafooptions.meshcore}"
-+              puts $datei "trafooptions.meshclumps  ${trafooptions.meshclumps}"
-+              puts $datei "trafooptions.meshshields ${trafooptions.meshshields}"
-+              puts $datei "trafooptions.meshcoils   ${trafooptions.meshcoils}"
-+              puts $datei "trafooptions.bcmdirectory  ${trafooptions.bcmdirectory}"
-+              puts $datei "trafooptions.lossdensityfile  ${trafooptions.lossdensityfile}"
-+          }
-+
-+          if { [info exists smalltrafomodell.tankheight] == 1 } {
-+              puts $datei "smalltrafomodell.tankheight ${smalltrafomodell.tankheight}"
-+              puts $datei "smalltrafomodell.tankwidth ${smalltrafomodell.tankwidth}"
-+              puts $datei "smalltrafomodell.tanklength ${smalltrafomodell.tanklength}"
-+              puts $datei "smalltrafomodell.corewidth ${smalltrafomodell.corewidth}"
-+              puts $datei "smalltrafomodell.windowheight ${smalltrafomodell.windowheight}"
-+              puts $datei "smalltrafomodell.limbdistance ${smalltrafomodell.limbdistance}"
-+              puts $datei "smalltrafomodell.xposcore ${smalltrafomodell.xposcore}"
-+              puts $datei "smalltrafomodell.yposcore ${smalltrafomodell.yposcore}"
-+              puts $datei "smalltrafomodell.zposcore ${smalltrafomodell.zposcore}"
-+              puts $datei "smalltrafomodell.leakagefluxguidethickness ${smalltrafomodell.leakagefluxguidethickness}"
-+              puts $datei "smalltrafomodell.leakagefluxguidewidth ${smalltrafomodell.leakagefluxguidewidth}"
-+              puts $datei "smalltrafomodell.leakagefluxguidezposition ${smalltrafomodell.leakagefluxguidezposition}"
-+              puts $datei "smalltrafomodell.limbcoil.1 ${smalltrafomodell.limbcoil.1}"
-+              puts $datei "smalltrafomodell.ricoil.1 ${smalltrafomodell.ricoil.1}"
-+              puts $datei "smalltrafomodell.rocoil.1 ${smalltrafomodell.rocoil.1}"
-+              puts $datei "smalltrafomodell.zposcoil.1 ${smalltrafomodell.zposcoil.1}"
-+              puts $datei "smalltrafomodell.heightcoil.1 ${smalltrafomodell.heightcoil.1}"
-+              puts $datei "smalltrafomodell.currentcoil.1 ${smalltrafomodell.currentcoil.1}"
-+              puts $datei "smalltrafomodell.nturnscoil.1 ${smalltrafomodell.nturnscoil.1}"
-+              puts $datei "smalltrafomodell.limbcoil.2 ${smalltrafomodell.limbcoil.2}"
-+              puts $datei "smalltrafomodell.ricoil.2 ${smalltrafomodell.ricoil.2}"
-+              puts $datei "smalltrafomodell.rocoil.2 ${smalltrafomodell.rocoil.2}"
-+              puts $datei "smalltrafomodell.zposcoil.2 ${smalltrafomodell.zposcoil.2}"
-+              puts $datei "smalltrafomodell.heightcoil.2 ${smalltrafomodell.heightcoil.2}"
-+              puts $datei "smalltrafomodell.currentcoil.2 ${smalltrafomodell.currentcoil.2}"
-+              puts $datei "smalltrafomodell.nturnscoil.2 ${smalltrafomodell.nturnscoil.2}"
-+              puts $datei "smalltrafomodell.limbcoil.3 ${smalltrafomodell.limbcoil.3}"
-+              puts $datei "smalltrafomodell.ricoil.3 ${smalltrafomodell.ricoil.3}"
-+              puts $datei "smalltrafomodell.rocoil.3 ${smalltrafomodell.rocoil.3}"
-+              puts $datei "smalltrafomodell.zposcoil.3 ${smalltrafomodell.zposcoil.3}"
-+              puts $datei "smalltrafomodell.heightcoil.3 ${smalltrafomodell.heightcoil.3}"
-+              puts $datei "smalltrafomodell.currentcoil.3 ${smalltrafomodell.currentcoil.3}"
-+              puts $datei "smalltrafomodell.nturnscoil.3 ${smalltrafomodell.nturnscoil.3}"
-+              puts $datei "smalltrafomodell.limbcoil.4 ${smalltrafomodell.limbcoil.4}"
-+              puts $datei "smalltrafomodell.ricoil.4 ${smalltrafomodell.ricoil.4}"
-+              puts $datei "smalltrafomodell.rocoil.4 ${smalltrafomodell.rocoil.4}"
-+              puts $datei "smalltrafomodell.zposcoil.4 ${smalltrafomodell.zposcoil.4}"
-+              puts $datei "smalltrafomodell.heightcoil.4 ${smalltrafomodell.heightcoil.4}"
-+              puts $datei "smalltrafomodell.currentcoil.4 ${smalltrafomodell.currentcoil.4}"
-+              puts $datei "smalltrafomodell.nturnscoil.4 ${smalltrafomodell.nturnscoil.4}"
-+              puts $datei "smalltrafomodell.limbcoil.5 ${smalltrafomodell.limbcoil.5}"
-+              puts $datei "smalltrafomodell.ricoil.5 ${smalltrafomodell.ricoil.5}"
-+              puts $datei "smalltrafomodell.rocoil.5 ${smalltrafomodell.rocoil.5}"
-+              puts $datei "smalltrafomodell.zposcoil.5 ${smalltrafomodell.zposcoil.5}"
-+              puts $datei "smalltrafomodell.heightcoil.5 ${smalltrafomodell.heightcoil.5}"
-+              puts $datei "smalltrafomodell.currentcoil.5 ${smalltrafomodell.currentcoil.5}"
-+              puts $datei "smalltrafomodell.nturnscoil.5 ${smalltrafomodell.nturnscoil.5}"
-+              puts $datei "smalltrafomodell.limbcoil.6 ${smalltrafomodell.limbcoil.6}"
-+              puts $datei "smalltrafomodell.ricoil.6 ${smalltrafomodell.ricoil.6}"
-+              puts $datei "smalltrafomodell.rocoil.6 ${smalltrafomodell.rocoil.6}"
-+              puts $datei "smalltrafomodell.zposcoil.6 ${smalltrafomodell.zposcoil.6}"
-+              puts $datei "smalltrafomodell.heightcoil.6 ${smalltrafomodell.heightcoil.6}"
-+              puts $datei "smalltrafomodell.currentcoil.6 ${smalltrafomodell.currentcoil.6}"
-+              puts $datei "smalltrafomodell.nturnscoil.6 ${smalltrafomodell.nturnscoil.6}"
-+              puts $datei "smalltrafomodell.limbtest.1 ${smalltrafomodell.limbtest.1}"
-+              puts $datei "smalltrafomodell.heighttest.1 ${smalltrafomodell.heighttest.1}"
-+              puts $datei "smalltrafomodell.widthtest.1 ${smalltrafomodell.widthtest.1}"
-+              puts $datei "smalltrafomodell.rtest.1 ${smalltrafomodell.rtest.1}"
-+              puts $datei "smalltrafomodell.zpostest.1 ${smalltrafomodell.zpostest.1}"
-+              puts $datei "smalltrafomodell.edgeradiustest.1 ${smalltrafomodell.edgeradiustest.1}"
-+              puts $datei "smalltrafomodell.finetest.1 ${smalltrafomodell.finetest.1}"
-+              puts $datei "smalltrafomodell.conductivetest.1 ${smalltrafomodell.conductivetest.1}"
-+              puts $datei "smalltrafomodell.limbtest.2 ${smalltrafomodell.limbtest.2}"
-+              puts $datei "smalltrafomodell.heighttest.2 ${smalltrafomodell.heighttest.2}"
-+              puts $datei "smalltrafomodell.widthtest.2 ${smalltrafomodell.widthtest.2}"
-+              puts $datei "smalltrafomodell.rtest.2 ${smalltrafomodell.rtest.2}"
-+              puts $datei "smalltrafomodell.zpostest.2 ${smalltrafomodell.zpostest.2}"
-+              puts $datei "smalltrafomodell.edgeradiustest.2 ${smalltrafomodell.edgeradiustest.2}"
-+              puts $datei "smalltrafomodell.finetest.2 ${smalltrafomodell.finetest.2}"
-+              puts $datei "smalltrafomodell.conductivetest.2 ${smalltrafomodell.conductivetest.2}"
-+              puts $datei "smalltrafomodell.limbtest.3 ${smalltrafomodell.limbtest.3}"
-+              puts $datei "smalltrafomodell.heighttest.3 ${smalltrafomodell.heighttest.3}"
-+              puts $datei "smalltrafomodell.widthtest.3 ${smalltrafomodell.widthtest.3}"
-+              puts $datei "smalltrafomodell.rtest.3 ${smalltrafomodell.rtest.3}"
-+              puts $datei "smalltrafomodell.zpostest.3 ${smalltrafomodell.zpostest.3}"
-+              puts $datei "smalltrafomodell.edgeradiustest.3 ${smalltrafomodell.edgeradiustest.3}"
-+              puts $datei "smalltrafomodell.finetest.3 ${smalltrafomodell.finetest.3}"
-+              puts $datei "smalltrafomodell.conductivetest.3 ${smalltrafomodell.conductivetest.3}"
-+              puts $datei "smalltrafomodell.limbtest.4 ${smalltrafomodell.limbtest.4}"
-+              puts $datei "smalltrafomodell.heighttest.4 ${smalltrafomodell.heighttest.4}"
-+              puts $datei "smalltrafomodell.widthtest.4 ${smalltrafomodell.widthtest.4}"
-+              puts $datei "smalltrafomodell.rtest.4 ${smalltrafomodell.rtest.4}"
-+              puts $datei "smalltrafomodell.zpostest.4 ${smalltrafomodell.zpostest.4}"
-+              puts $datei "smalltrafomodell.edgeradiustest.4 ${smalltrafomodell.edgeradiustest.4}"
-+              puts $datei "smalltrafomodell.finetest.4 ${smalltrafomodell.finetest.4}"
-+              puts $datei "smalltrafomodell.conductivetest.4 ${smalltrafomodell.conductivetest.4}"
-+              puts $datei "smalltrafomodell.nperitest ${smalltrafomodell.nperitest}"
-+              puts $datei "smalltrafomodell.filename ${smalltrafomodell.filename}"
-+              puts $datei "smalltrafomodell.murlfguide ${smalltrafomodell.murlfguide}"
-+              puts $datei "smalltrafomodell.murtestwire ${smalltrafomodell.murtestwire}"
-+              puts $datei "smalltrafomodell.murcore ${smalltrafomodell.murcore}"
-+              puts $datei "smalltrafomodell.kappalfguide ${smalltrafomodell.kappalfguide}"
-+              puts $datei "smalltrafomodell.kappatestwire ${smalltrafomodell.kappatestwire}"
-+              puts $datei "smalltrafomodell.kappacore ${smalltrafomodell.kappacore}"
-+          }
-+
-+
-+          close $datei
-+      }
-+    }
-+}
-+
-+
-+
-+
-+# the ini file is saved on demand :
-+proc saveinifile { } {
-+    global inifilename
-+    if {[catch { set datei [open $inifilename w] } result ]} {
-+      puts "cannot write file $inifilename"
-+    } {
-+      for { set i [.ngmenu.file.recent index last] } { $i >= 1 } { incr i -1 } {
-+          puts $datei "recentfile \"[.ngmenu.file.recent entrycget $i -label]\""
-+      }
-+      close $datei
-+    }
-+}
-+
-+
-+proc savemeshinifile { } {
-+    global meshinifilename
-+    if {[catch { set datei [open $meshinifilename w] } result ]} {
-+      puts "cannot write file $meshinifilename"
-+    } {
-+      for { set i [.ngmenu.file.recentmesh index last] } { $i >= 1 } { incr i -1 } {
-+          puts $datei "recentfile \"[.ngmenu.file.recentmesh entrycget $i -label]\""
-+      }
-+      close $datei
-+    }
-+}
-+
-+
-+
-+proc loadinifile { } {
-+    global inifilename
-+    if { [file exists $inifilename] == 1 } {
-+      set datei [open $inifilename r]
-+      while { [gets $datei line] >= 0 } {
-+          if {[lindex $line 0] == "recentfile"} {
-+                  set filename [lindex $line 1]
-+                  if { [file exists $filename] == 1 } {
-+                      AddRecentFile $filename
-+                  }
-+          }
-+      }
-+      close $datei
-+    }
-+}
-+
-+
-+proc loadmeshinifile { } {
-+    global meshinifilename
-+    if { [file exists $meshinifilename] == 1 } {
-+      set datei [open $meshinifilename r]
-+      while { [gets $datei line] >= 0 } {
-+          if {[lindex $line 0] == "recentfile"} {
-+              set filename [lindex $line 1]
-+              if { [file exists $filename] == 1 } {
-+                  AddRecentMeshFile $filename
-+              }
-+          }
-+      }
-+      close $datei
-+    }
-+ }
-+
-+
-+
-+
-+
-+set cmdindex {}
-+set hlpindex {}
-+set secindex {}
-diff -Naur netgen-5.3.1_SRC_orig/nglib/Makefile.am netgen-5.3.1_SRC_modif/nglib/Makefile.am
---- netgen-5.3.1_SRC_orig/nglib/Makefile.am    2014-08-29 13:54:00.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/nglib/Makefile.am   2018-03-01 15:41:03.998157502 +0300
-@@ -14,6 +14,9 @@
-       $(top_builddir)/libsrc/stlgeom/libstl.la \
-       $(top_builddir)/libsrc/occ/libocc.la \
-       $(top_builddir)/libsrc/meshing/libmesh.la \
-+      $(top_builddir)/libsrc/general/libgen.la \
-+      $(top_builddir)/libsrc/gprim/libgprim.la \
-+      $(top_builddir)/libsrc/linalg/libla.la
-       $(OCCLIBS) $(MPI_LIBS)
- libnglib_la_LDFLAGS = -avoid-version
-diff -Naur netgen-5.3.1_SRC_orig/nglib/nglib.cpp netgen-5.3.1_SRC_modif/nglib/nglib.cpp
---- netgen-5.3.1_SRC_orig/nglib/nglib.cpp      2014-08-29 13:54:00.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/nglib/nglib.cpp     2018-03-01 15:44:26.806377191 +0300
-@@ -1,1242 +1,1242 @@
--/**************************************************************************/
--/* File:   nglib.cpp                                                      */
--/* Author: Joachim Schoeberl                                              */
--/* Date:   7. May. 2000                                                   */
--/**************************************************************************/
--
--/*
--  
--  Interface to the netgen meshing kernel
--  
--*/
--#include <mystdlib.h>
--#include <myadt.hpp>
--
--#include <linalg.hpp>
--#include <csg.hpp>
--#include <stlgeom.hpp>
--#include <geometry2d.hpp>
--#include <meshing.hpp>
--#include <../visualization/soldata.hpp>
--
--#ifdef OCCGEOMETRY
--#include <occgeom.hpp>
--#endif
--
--#include <nginterface.h>
--
--
--namespace netgen {
--   extern void MeshFromSpline2D (SplineGeometry2d & geometry,
--                                 Mesh *& mesh, 
--                                 MeshingParameters & mp);
--}
--
--
--
--#ifdef PARALLEL
--#include <mpi.h>
--
--namespace netgen
--{
--  // int id = 0, ntasks = 1;
--  MPI_Comm mesh_comm;
--}
--#endif
--
--
--namespace netgen
--{
--  int id = 0, ntasks = 1;
--}
--
--
--
--/*
--// should not be needed (occ currently requires it)
--namespace netgen {
--#include "../libsrc/visualization/vispar.hpp"
--  VisualizationParameters vispar;
--  VisualizationParameters :: VisualizationParameters() { ; }
--}
--*/
--
--
--namespace nglib {
--#include "nglib.h"
--}
--
--using namespace netgen;
--
--// constants and types:
--
--namespace nglib
--{
--   // initialize, deconstruct Netgen library:
--   DLL_HEADER void Ng_Init ()
--   {
--      mycout = &cout;
--      myerr = &cerr;
--      // netgen::testout->SetOutStream (new ofstream ("test.out"));
--      testout = new ofstream ("test.out");
--   }
--
--
--
--
--   // Clean-up functions before ending usage of nglib
--   DLL_HEADER void Ng_Exit ()
--   {
--      ;
--   }
--
--
--
--
--   // Create a new netgen mesh object
--   DLL_HEADER Ng_Mesh * Ng_NewMesh ()
--   {
--      Mesh * mesh = new Mesh;  
--      mesh->AddFaceDescriptor (FaceDescriptor (1, 1, 0, 1));
--      return (Ng_Mesh*)(void*)mesh;
--   }
--
--
--
--
--   // Delete an existing netgen mesh object
--   DLL_HEADER void Ng_DeleteMesh (Ng_Mesh * mesh)
--   {
--      if(mesh != NULL)
--      {
--         // Delete the Mesh structures
--         ((Mesh*)mesh)->DeleteMesh();
--
--         // Now delete the Mesh class itself
--         delete (Mesh*)mesh;
--
--         // Set the Ng_Mesh pointer to NULL
--         mesh = NULL;
--      }
--   }
--
--
--
--
--   // Save a netgen mesh in the native VOL format 
--   DLL_HEADER void Ng_SaveMesh(Ng_Mesh * mesh, const char* filename)
--   {
--      ((Mesh*)mesh)->Save(filename);
--   }
--
--
--
--
--   // Load a netgen native VOL mesh from a given file
--   DLL_HEADER Ng_Mesh * Ng_LoadMesh(const char* filename)
--   {
--      Mesh * mesh = new Mesh;
--      mesh->Load(filename);
--      return ( (Ng_Mesh*)mesh );
--   }
--
--
--
--
--   // Merge another mesh file into the currently loaded one
--   DLL_HEADER Ng_Result Ng_MergeMesh( Ng_Mesh* mesh, const char* filename)
--   {
--      Ng_Result status = NG_OK;
--
--      ifstream infile(filename);
--      Mesh * m = (Mesh*)mesh;
--
--      if(!infile.good())
--      {
--         status = NG_FILE_NOT_FOUND;
--      }
--
--      if(!m)
--      {
--         status = NG_ERROR;
--      }
--
--      if(status == NG_OK)
--      {
--         const int num_pts = m->GetNP();
--         const int face_offset = m->GetNFD();
--
--         m->Merge(infile, face_offset);
--
--         if(m->GetNP() > num_pts)
--         {
--            status = NG_OK;
--         }
--         else
--         {
--            status = NG_ERROR;
--         }
--      }
--
--      return status;
--   }
--
--
--
--
--   // Merge another mesh file into the currently loaded one
--   DLL_HEADER Ng_Result Ng_MergeMesh( Ng_Mesh* mesh1, Ng_Mesh* mesh2)
--   {
--      return NG_ERROR;
--   }
--
--
--
--
--   // Manually add a point to an existing mesh object
--   DLL_HEADER void Ng_AddPoint (Ng_Mesh * mesh, double * x)
--   {
--      Mesh * m = (Mesh*)mesh;
--      m->AddPoint (Point3d (x[0], x[1], x[2]));
--   }
--
--
--
--
--   // Manually add a surface element of a given type to an existing mesh object
--   DLL_HEADER void Ng_AddSurfaceElement (Ng_Mesh * mesh, Ng_Surface_Element_Type et,
--                                         int * pi)
--   {
--      Mesh * m = (Mesh*)mesh;
--      Element2d el (3);
--      el.SetIndex (1);
--      el.PNum(1) = pi[0];
--      el.PNum(2) = pi[1];
--      el.PNum(3) = pi[2];
--      m->AddSurfaceElement (el);
--   }
--
--
--
--
--   // Manually add a volume element of a given type to an existing mesh object
--   DLL_HEADER void Ng_AddVolumeElement (Ng_Mesh * mesh, Ng_Volume_Element_Type et,
--                                        int * pi)
--   {
--      Mesh * m = (Mesh*)mesh;
--      Element el (4);
--      el.SetIndex (1);
--      el.PNum(1) = pi[0];
--      el.PNum(2) = pi[1];
--      el.PNum(3) = pi[2];
--      el.PNum(4) = pi[3];
--      m->AddVolumeElement (el);
--   }
--
--
--
--
--   // Obtain the number of points in the mesh
--   DLL_HEADER int Ng_GetNP (Ng_Mesh * mesh)
--   {
--      return ((Mesh*)mesh) -> GetNP();
--   }
--
--
--
--
--   // Obtain the number of surface elements in the mesh
--   DLL_HEADER int Ng_GetNSE (Ng_Mesh * mesh)
--   {
--      return ((Mesh*)mesh) -> GetNSE();
--   }
--
--
--
--
--   // Obtain the number of volume elements in the mesh
--   DLL_HEADER int Ng_GetNE (Ng_Mesh * mesh)
--   {
--      return ((Mesh*)mesh) -> GetNE();
--   }
--
--
--
--
--   //  Return point coordinates of a given point index in the mesh
--   DLL_HEADER void Ng_GetPoint (Ng_Mesh * mesh, int num, double * x)
--   {
--      const Point3d & p = ((Mesh*)mesh)->Point(num);
--      x[0] = p.X();
--      x[1] = p.Y();
--      x[2] = p.Z();
--   }
--
--
--
--
--   // Return the surface element at a given index "pi"
--   DLL_HEADER Ng_Surface_Element_Type 
--      Ng_GetSurfaceElement (Ng_Mesh * mesh, int num, int * pi)
--   {
--      const Element2d & el = ((Mesh*)mesh)->SurfaceElement(num);
--      for (int i = 1; i <= el.GetNP(); i++)
--         pi[i-1] = el.PNum(i);
--      Ng_Surface_Element_Type et;
--      switch (el.GetNP())
--      {
--      case 3: et = NG_TRIG; break;
--      case 4: et = NG_QUAD; break;
--      case 6: 
--         switch (el.GetNV())
--         {
--         case 3: et = NG_TRIG6; break;
--         case 4: et = NG_QUAD6; break;
--         default:
--            et = NG_TRIG6; break;
--         }
--         break;
--      case 8: et = NG_QUAD8; break;
--      default:
--         et = NG_TRIG; break; // for the compiler
--      }
--      return et;
--   }
--
--
--
--
--   // Return the volume element at a given index "pi"
--   DLL_HEADER Ng_Volume_Element_Type
--      Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi)
--   {
--      const Element & el = ((Mesh*)mesh)->VolumeElement(num);
--      for (int i = 1; i <= el.GetNP(); i++)
--         pi[i-1] = el.PNum(i);
--      Ng_Volume_Element_Type et;
--      switch (el.GetNP())
--      {
--      case 4: et = NG_TET; break;
--      case 5: et = NG_PYRAMID; break;
--      case 6: et = NG_PRISM; break;
--      case 10: et = NG_TET10; break;
--      default:
--         et = NG_TET; break; // for the compiler
--      }
--      return et;
--   }
--
--
--
--
--   // Set a global limit on the maximum mesh size allowed
--   DLL_HEADER void Ng_RestrictMeshSizeGlobal (Ng_Mesh * mesh, double h)
--   {
--      ((Mesh*)mesh) -> SetGlobalH (h);
--   }
--
--
--
--
--   // Set a local limit on the maximum mesh size allowed around the given point
--   DLL_HEADER void Ng_RestrictMeshSizePoint (Ng_Mesh * mesh, double * p, double h)
--   {
--      ((Mesh*)mesh) -> RestrictLocalH (Point3d (p[0], p[1], p[2]), h);
--   }
--
--
--
--
--   // Set a local limit on the maximum mesh size allowed within a given box region
--   DLL_HEADER void Ng_RestrictMeshSizeBox (Ng_Mesh * mesh, double * pmin, double * pmax, double h)
--   {
--      for (double x = pmin[0]; x < pmax[0]; x += h)
--         for (double y = pmin[1]; y < pmax[1]; y += h)
--            for (double z = pmin[2]; z < pmax[2]; z += h)
--               ((Mesh*)mesh) -> RestrictLocalH (Point3d (x, y, z), h);
--   }
--
--
--
--
--   // Generates volume mesh from an existing surface mesh
--   DLL_HEADER Ng_Result Ng_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp)
--   {
--      Mesh * m = (Mesh*)mesh;
--
--      // Philippose - 30/08/2009
--      // Do not locally re-define "mparam" here... "mparam" is a global 
--      // object 
--      //MeshingParameters mparam;
--      mp->Transfer_Parameters();
--
--      m->CalcLocalH(mparam.grading);
--
--      MeshVolume (mparam, *m);
--      RemoveIllegalElements (*m);
--      OptimizeVolume (mparam, *m);
--
--      return NG_OK;
--   }
--
--
--
--
--   /* ------------------ 2D Meshing Functions ------------------------- */
--   DLL_HEADER void Ng_AddPoint_2D (Ng_Mesh * mesh, double * x)
--   {
--      Mesh * m = (Mesh*)mesh;
--
--      m->AddPoint (Point3d (x[0], x[1], 0));
--   }
--
--
--
--
--   DLL_HEADER void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2)
--   {
--      Mesh * m = (Mesh*)mesh;
--
--      Segment seg;
--      seg[0] = pi1;
--      seg[1] = pi2;
--      m->AddSegment (seg);
--   }
--
--
--
--
--   DLL_HEADER int Ng_GetNP_2D (Ng_Mesh * mesh)
--   {
--      Mesh * m = (Mesh*)mesh;
--      return m->GetNP();
--   }
--
--
--
--
--   DLL_HEADER int Ng_GetNE_2D (Ng_Mesh * mesh)
--   {
--      Mesh * m = (Mesh*)mesh;
--      return m->GetNSE();
--   }
--
--
--
--
--   DLL_HEADER int Ng_GetNSeg_2D (Ng_Mesh * mesh)
--   {
--      Mesh * m = (Mesh*)mesh;
--      return m->GetNSeg();
--   }
--
--
--
--
--   DLL_HEADER void Ng_GetPoint_2D (Ng_Mesh * mesh, int num, double * x)
--   {
--      Mesh * m = (Mesh*)mesh;
--
--      Point<3> & p = m->Point(num);
--      x[0] = p(0);
--      x[1] = p(1);
--   }
--
--
--
--
--   DLL_HEADER Ng_Surface_Element_Type
--      Ng_GetElement_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum)
--   {
--      const Element2d & el = ((Mesh*)mesh)->SurfaceElement(num);
--      for (int i = 1; i <= el.GetNP(); i++)
--         pi[i-1] = el.PNum(i);
--
--      Ng_Surface_Element_Type et;
--      switch (el.GetNP())
--      {
--      case 3: et = NG_TRIG; break;
--      case 4: et = NG_QUAD; break;
--      case 6: 
--         switch (el.GetNV())
--         {
--         case 3: et = NG_TRIG6; break;
--         case 4: et = NG_QUAD6; break;
--         default:
--            et = NG_TRIG6; break;
--         }
--         break;
--      case 8: et = NG_QUAD8; break;
--      default:
--         et = NG_TRIG; break; // for the compiler
--      }
--
--      if (matnum)
--         *matnum = el.GetIndex();
--
--      return et;
--   }
--
--
--
--
--   DLL_HEADER void Ng_GetSegment_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum)
--   {
--      const Segment & seg = ((Mesh*)mesh)->LineSegment(num);
--      pi[0] = seg[0];
--      pi[1] = seg[1];
--
--      if (matnum)
--         *matnum = seg.edgenr;
--   }
--
--
--
--
--   DLL_HEADER Ng_Geometry_2D * Ng_LoadGeometry_2D (const char * filename)
--   {
--      SplineGeometry2d * geom = new SplineGeometry2d();
--      geom -> Load (filename);
--      return (Ng_Geometry_2D *)geom;
--   }
--
--
--
--
--   DLL_HEADER Ng_Result Ng_GenerateMesh_2D (Ng_Geometry_2D * geom,
--                                            Ng_Mesh ** mesh,
--                                            Ng_Meshing_Parameters * mp)
--   {
--      // use global variable mparam
--      //  MeshingParameters mparam;  
--      mp->Transfer_Parameters();
--
--      Mesh * m;
--      MeshFromSpline2D (*(SplineGeometry2d*)geom, m, mparam);
--
--      cout << m->GetNSE() << " elements, " << m->GetNP() << " points" << endl;
--
--      *mesh = (Ng_Mesh*)m;
--      return NG_OK;
--   }
--
--
--
--
--   DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom,
--      Ng_Mesh * mesh,
--      int levels)
--   {
--      Refinement2d ref(*(SplineGeometry2d*)geom);
--      HPRefinement (*(Mesh*)mesh, &ref, levels);
--   }
--
--
--
--
--   DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom,
--      Ng_Mesh * mesh,
--      int levels, double parameter)
--   {
--      Refinement2d ref(*(SplineGeometry2d*)geom);
--      HPRefinement (*(Mesh*)mesh, &ref, levels, parameter);
--   }
--
--
--
--
--   Array<STLReadTriangle> readtrias; //only before initstlgeometry
--   Array<Point<3> > readedges; //only before init stlgeometry
--
--   // loads geometry from STL file
--   DLL_HEADER Ng_STL_Geometry * Ng_STL_LoadGeometry (const char * filename, int binary)
--   {
--      int i;
--      STLGeometry geom;
--      STLGeometry* geo;
--      ifstream ist(filename);
--
--      if (binary)
--      {
--         geo = geom.LoadBinary(ist);
--      }
--      else
--      {
--         geo = geom.Load(ist);
--      }
--
--      readtrias.SetSize(0);
--      readedges.SetSize(0);
--
--      Point3d p;
--      Vec3d normal;
--      double p1[3];
--      double p2[3];
--      double p3[3];
--      double n[3];
--
--      Ng_STL_Geometry * geo2 = Ng_STL_NewGeometry();
--
--      for (i = 1; i <= geo->GetNT(); i++)
--      {
--         const STLTriangle& t = geo->GetTriangle(i);
--         p = geo->GetPoint(t.PNum(1));
--         p1[0] = p.X(); p1[1] = p.Y(); p1[2] = p.Z(); 
--         p = geo->GetPoint(t.PNum(2));
--         p2[0] = p.X(); p2[1] = p.Y(); p2[2] = p.Z(); 
--         p = geo->GetPoint(t.PNum(3));
--         p3[0] = p.X(); p3[1] = p.Y(); p3[2] = p.Z();
--         normal = t.Normal();
--         n[0] = normal.X(); n[1] = normal.Y(); n[2] = normal.Z();
--
--         Ng_STL_AddTriangle(geo2, p1, p2, p3, n);
--      }
--
--      return geo2;
--   }
--
--
--
--
--   // generate new STL Geometry
--   DLL_HEADER Ng_STL_Geometry * Ng_STL_NewGeometry ()
--   {
--      return (Ng_STL_Geometry*)(void*)new STLGeometry;
--   } 
--
--
--
--
--   // after adding triangles (and edges) initialize
--   DLL_HEADER Ng_Result Ng_STL_InitSTLGeometry (Ng_STL_Geometry * geom)
--   {
--      STLGeometry* geo = (STLGeometry*)geom;
--      geo->InitSTLGeometry(readtrias);
--      readtrias.SetSize(0);
--
--      if (readedges.Size() != 0)
--      {
--         /*
--         for (int i = 1; i <= readedges.Size(); i+=2)
--         {
--         cout << "e(" << readedges.Get(i) << "," << readedges.Get(i+1) << ")" << endl;
--         }
--         */
--         geo->AddEdges(readedges);
--      }
--
--      if (geo->GetStatus() == STLTopology::STL_GOOD || geo->GetStatus() == STLTopology::STL_WARNING) return NG_OK;
--      return NG_SURFACE_INPUT_ERROR;
--   }
--
--
--
--
--   // automatically generates edges:
--   DLL_HEADER Ng_Result Ng_STL_MakeEdges (Ng_STL_Geometry * geom,
--                                          Ng_Mesh* mesh,
--                                          Ng_Meshing_Parameters * mp)
--   {
--      STLGeometry* stlgeometry = (STLGeometry*)geom;
--      Mesh* me = (Mesh*)mesh;
--
--      // Philippose - 27/07/2009
--      // Do not locally re-define "mparam" here... "mparam" is a global 
--      // object 
--      //MeshingParameters mparam;
--      mp->Transfer_Parameters();
--
--      me -> SetGlobalH (mparam.maxh);
--      me -> SetLocalH (stlgeometry->GetBoundingBox().PMin() - Vec3d(10, 10, 10),
--                       stlgeometry->GetBoundingBox().PMax() + Vec3d(10, 10, 10),
--                       0.3);
--
--      me -> LoadLocalMeshSize (mp->meshsize_filename);
--      /*
--      if (mp->meshsize_filename)
--      {
--      ifstream infile (mp->meshsize_filename);
--      if (!infile.good()) return NG_FILE_NOT_FOUND;
--      me -> LoadLocalMeshSize (infile);
--      }
--      */
--
--      STLMeshing (*stlgeometry, *me);
--
--      stlgeometry->edgesfound = 1;
--      stlgeometry->surfacemeshed = 0;
--      stlgeometry->surfaceoptimized = 0;
--      stlgeometry->volumemeshed = 0;
--
--      return NG_OK;
--   }
--
--
--
--
--   // generates mesh, empty mesh be already created.
--   DLL_HEADER Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom,
--                                                    Ng_Mesh* mesh,
--                                                    Ng_Meshing_Parameters * mp)
--   {
--      STLGeometry* stlgeometry = (STLGeometry*)geom;
--      Mesh* me = (Mesh*)mesh;
--
--      // Philippose - 27/07/2009
--      // Do not locally re-define "mparam" here... "mparam" is a global 
--      // object
--      //MeshingParameters mparam;
--      mp->Transfer_Parameters();
--
--
--      /*
--      me -> SetGlobalH (mparam.maxh);
--      me -> SetLocalH (stlgeometry->GetBoundingBox().PMin() - Vec3d(10, 10, 10),
--      stlgeometry->GetBoundingBox().PMax() + Vec3d(10, 10, 10),
--      0.3);
--      */
--      /*
--      STLMeshing (*stlgeometry, *me);
--
--      stlgeometry->edgesfound = 1;
--      stlgeometry->surfacemeshed = 0;
--      stlgeometry->surfaceoptimized = 0;
--      stlgeometry->volumemeshed = 0;
--      */  
--      int retval = STLSurfaceMeshing (*stlgeometry, *me);
--      if (retval == MESHING3_OK)
--      {
--         (*mycout) << "Success !!!!" << endl;
--         stlgeometry->surfacemeshed = 1;
--         stlgeometry->surfaceoptimized = 0;
--         stlgeometry->volumemeshed = 0;
--      } 
--      else if (retval == MESHING3_OUTERSTEPSEXCEEDED)
--      {
--         (*mycout) << "ERROR: Give up because of too many trials. Meshing aborted!" << endl;
--      }
--      else if (retval == MESHING3_TERMINATE)
--      {
--         (*mycout) << "Meshing Stopped!" << endl;
--      }
--      else
--      {
--         (*mycout) << "ERROR: Surface meshing not successful. Meshing aborted!" << endl;
--      }
--
--
--      STLSurfaceOptimization (*stlgeometry, *me, mparam);
--
--      return NG_OK;
--   }
--
--
--
--
--   // fills STL Geometry
--   // positive orientation
--   // normal vector may be null-pointer
--   DLL_HEADER void Ng_STL_AddTriangle (Ng_STL_Geometry * geom, 
--                                       double * p1, double * p2, double * p3, 
--                                       double * nv)
--   {
--      Point<3> apts[3];
--      apts[0] = Point<3>(p1[0],p1[1],p1[2]);
--      apts[1] = Point<3>(p2[0],p2[1],p2[2]);
--      apts[2] = Point<3>(p3[0],p3[1],p3[2]);
--
--      Vec<3> n;
--      if (!nv)
--         n = Cross (apts[0]-apts[1], apts[0]-apts[2]);
--      else
--         n = Vec<3>(nv[0],nv[1],nv[2]);
--
--      readtrias.Append(STLReadTriangle(apts,n));
--   }
--
--   // add (optional) edges:
--   DLL_HEADER void Ng_STL_AddEdge (Ng_STL_Geometry * geom, 
--      double * p1, double * p2)
--   {
--      readedges.Append(Point3d(p1[0],p1[1],p1[2]));
--      readedges.Append(Point3d(p2[0],p2[1],p2[2]));
--   }
--
--
--
--
--#ifdef OCCGEOMETRY
--   // --------------------- OCC Geometry / Meshing Utility Functions -------------------
--   // Create new OCC Geometry Object
--   DLL_HEADER Ng_OCC_Geometry * Ng_OCC_NewGeometry ()
--   {
--      return (Ng_OCC_Geometry*)(void*)new OCCGeometry;
--   } 
--
--
--
--
--   // Delete the OCC Geometry Object
--   DLL_HEADER Ng_Result Ng_OCC_DeleteGeometry(Ng_OCC_Geometry * geom)
--   {
--      if (geom != NULL)
--      {
--         delete (OCCGeometry*)geom;
--         geom = NULL;
--         return NG_OK;
--      }
--      
--      return NG_ERROR;
--   }
--
--
--
--   
--   // Loads geometry from STEP File
--   DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_STEP (const char * filename)
--   {
--      // Call the STEP File Load function. Note.. the geometry class 
--      // is created and instantiated within the load function
--      OCCGeometry * occgeo = LoadOCC_STEP(filename);
--
--      return ((Ng_OCC_Geometry *)occgeo);
--   }
--
--
--
--   
--   // Loads geometry from IGES File
--   DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_IGES (const char * filename)
--   {
--      // Call the IGES File Load function. Note.. the geometry class 
--      // is created and instantiated within the load function
--      OCCGeometry * occgeo = LoadOCC_IGES(filename);
--
--      return ((Ng_OCC_Geometry *)occgeo);
--   }
--
--
--
--   
--   // Loads geometry from BREP File
--   DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_BREP (const char * filename)
--   {
--      // Call the BREP File Load function. Note.. the geometry class 
--      // is created and instantiated within the load function
--      OCCGeometry * occgeo = LoadOCC_BREP(filename);
--
--      return ((Ng_OCC_Geometry *)occgeo);
--   }
--
--
--
--
--   // Locally limit the size of the mesh to be generated at various points 
--   // based on the topology of the geometry
--   DLL_HEADER Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom,
--                                                 Ng_Mesh * mesh,
--                                                 Ng_Meshing_Parameters * mp)
--   {
--      OCCGeometry * occgeom = (OCCGeometry*)geom;
--      Mesh * me = (Mesh*)mesh;
--
--      me->geomtype = Mesh::GEOM_OCC;
--
--      mp->Transfer_Parameters();
--      
--      occparam.resthcloseedgeenable = mp->closeedgeenable;
--      occparam.resthcloseedgefac = mp->closeedgefact;
--
--      // Delete the mesh structures in order to start with a clean 
--      // slate
--      me->DeleteMesh();
--
--      OCCSetLocalMeshSize(*occgeom, *me);
--
--      return(NG_OK);
--   }
--
--
--
--   
--   // Mesh the edges and add Face descriptors to prepare for surface meshing
--   DLL_HEADER Ng_Result Ng_OCC_GenerateEdgeMesh (Ng_OCC_Geometry * geom,
--                                                 Ng_Mesh * mesh,
--                                                 Ng_Meshing_Parameters * mp)
--   {
--      OCCGeometry * occgeom = (OCCGeometry*)geom;
--      Mesh * me = (Mesh*)mesh;
--
--      mp->Transfer_Parameters();
--
--      OCCFindEdges(*occgeom, *me);
--
--      if((me->GetNP()) && (me->GetNFD()))
--      {
--         return NG_OK;
--      }
--      else
--      {
--         return NG_ERROR;
--      }
--   }
--
--
--
--   
--   // Mesh the edges and add Face descriptors to prepare for surface meshing
--   DLL_HEADER Ng_Result Ng_OCC_GenerateSurfaceMesh (Ng_OCC_Geometry * geom,
--                                                    Ng_Mesh * mesh,
--                                                    Ng_Meshing_Parameters * mp)
--   {
--      int numpoints = 0;
--
--      OCCGeometry * occgeom = (OCCGeometry*)geom;
--      Mesh * me = (Mesh*)mesh;
--
--      // Set the internal meshing parameters structure from the nglib meshing 
--      // parameters structure
--      mp->Transfer_Parameters();
--
--
--      // Only go into surface meshing if the face descriptors have already been added
--      if(!me->GetNFD())
--         return NG_ERROR;
--
--      numpoints = me->GetNP();
--
--      // Initially set up only for surface meshing without any optimisation
--      int perfstepsend = MESHCONST_MESHSURFACE;
--
--      // Check and if required, enable surface mesh optimisation step
--      if(mp->optsurfmeshenable)
--      {
--         perfstepsend = MESHCONST_OPTSURFACE;
--      }
--
--      OCCMeshSurface(*occgeom, *me, perfstepsend);
--
--      me->CalcSurfacesOfNode();
--      
--      if(me->GetNP() <= numpoints)
--         return NG_ERROR;
--
--      if(me->GetNSE() <= 0)
--         return NG_ERROR;
--
--      return NG_OK;
--   }
--
--
--
--
--   // Extract the face map from the OCC geometry
--   // The face map basically gives an index to each face in the geometry, 
--   // which can be used to access a specific face
--   DLL_HEADER Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom, 
--                                       Ng_OCC_TopTools_IndexedMapOfShape * FMap)
--   {
--      OCCGeometry* occgeom = (OCCGeometry*)geom;
--      TopTools_IndexedMapOfShape *occfmap = (TopTools_IndexedMapOfShape *)FMap;
--
--      // Copy the face map from the geometry to the given variable
--      occfmap->Assign(occgeom->fmap);
--
--      if(occfmap->Extent())
--      {
--         return NG_OK;
--      }
--      else
--      {
--         return NG_ERROR;
--      }
--   }
--
--   // ------------------ End - OCC Geometry / Meshing Utility Functions ----------------
--#endif
--
--
--
--
--   // ------------------ Begin - Meshing Parameters related functions ------------------
--   // Constructor for the local nglib meshing parameters class
--   DLL_HEADER Ng_Meshing_Parameters :: Ng_Meshing_Parameters()
--   {
--      uselocalh = 1;
--
--      maxh = 1000;
--      minh = 0.0;
--
--      fineness = 0.5;
--      grading = 0.3;
--
--      elementsperedge = 2.0;
--      elementspercurve = 2.0;
--
--      closeedgeenable = 0;
--      closeedgefact = 2.0;
--
--        minedgelenenable = 0;
--        minedgelen = 1e-4;
--
--      second_order = 0;
--      quad_dominated = 0;
--
--      meshsize_filename = 0;
--
--      optsurfmeshenable = 1;
--      optvolmeshenable = 1;
--
--      optsteps_2d = 3;
--      optsteps_3d = 3;
--
--      invert_tets = 0;
--      invert_trigs = 0;
--
--      check_overlap = 1;
--      check_overlapping_boundary = 1;
--   }
--
--
--
--
--   // Reset the local meshing parameters to the default values
--   DLL_HEADER void Ng_Meshing_Parameters :: Reset_Parameters()
--   {
--      uselocalh = 1;
--
--      maxh = 1000;
--      minh = 0;
--
--      fineness = 0.5;
--      grading = 0.3;
--
--      elementsperedge = 2.0;
--      elementspercurve = 2.0;
--
--      closeedgeenable = 0;
--      closeedgefact = 2.0;
--
--        minedgelenenable = 0;
--        minedgelen = 1e-4;
--
--      second_order = 0;
--      quad_dominated = 0;
--
--      meshsize_filename = 0;
--
--      optsurfmeshenable = 1;
--      optvolmeshenable = 1;
--
--      optsteps_2d = 3;
--      optsteps_3d = 3;
--
--      invert_tets = 0;
--      invert_trigs = 0;
--
--      check_overlap = 1;
--      check_overlapping_boundary = 1;
--   }
--
--
--
--
--   // 
--   DLL_HEADER void Ng_Meshing_Parameters :: Transfer_Parameters()
--   {
--      mparam.uselocalh = uselocalh;
--      
--      mparam.maxh = maxh;
--      mparam.minh = minh;
--
--      mparam.grading = grading;
--      mparam.curvaturesafety = elementspercurve;
--      mparam.segmentsperedge = elementsperedge;
--
--      mparam.secondorder = second_order;
--      mparam.quad = quad_dominated;
--
--      mparam.meshsizefilename = meshsize_filename;
--
--      mparam.optsteps2d = optsteps_2d;
--      mparam.optsteps3d = optsteps_3d;
--
--      mparam.inverttets = invert_tets;
--      mparam.inverttrigs = invert_trigs;
--
--      mparam.checkoverlap = check_overlap;
--      mparam.checkoverlappingboundary = check_overlapping_boundary;
--   }
--   // ------------------ End - Meshing Parameters related functions --------------------
--
--
--
--
--   // ------------------ Begin - Second Order Mesh generation functions ----------------
--   DLL_HEADER void Ng_Generate_SecondOrder(Ng_Mesh * mesh)
--   {
--      Refinement ref;
--      ref.MakeSecondOrder(*(Mesh*) mesh);
--   }
--
--
--
--
--   DLL_HEADER void Ng_2D_Generate_SecondOrder(Ng_Geometry_2D * geom,
--                                        Ng_Mesh * mesh)
--   {
--      ( (SplineGeometry2d*)geom ) -> GetRefinement().MakeSecondOrder( * (Mesh*) mesh );
--   }
--
--
--
--
--   DLL_HEADER void Ng_STL_Generate_SecondOrder(Ng_STL_Geometry * geom,
--                                         Ng_Mesh * mesh)
--   {
--      ((STLGeometry*)geom)->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
--   }
--
--
--
--
--   DLL_HEADER void Ng_CSG_Generate_SecondOrder (Ng_CSG_Geometry * geom,
--                                         Ng_Mesh * mesh)
--   {
--      ((CSGeometry*)geom)->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
--   }
--
--
--
--
--#ifdef OCCGEOMETRY
--   DLL_HEADER void Ng_OCC_Generate_SecondOrder (Ng_OCC_Geometry * geom,
--                  Ng_Mesh * mesh)
--   {
--      ((OCCGeometry*)geom )->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
--   }
--#endif
--   // ------------------ End - Second Order Mesh generation functions ------------------
--
--
--
--
--   // ------------------ Begin - Uniform Mesh Refinement functions ---------------------
--   DLL_HEADER void Ng_Uniform_Refinement (Ng_Mesh * mesh)
--   {
--      Refinement ref;
--      ref.Refine ( * (Mesh*) mesh );
--   }
--
--
--
--
--   DLL_HEADER void Ng_2D_Uniform_Refinement (Ng_Geometry_2D * geom,
--      Ng_Mesh * mesh)
--   {
--      ( (SplineGeometry2d*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
--   }
--
--
--
--
--   DLL_HEADER void Ng_STL_Uniform_Refinement (Ng_STL_Geometry * geom,
--      Ng_Mesh * mesh)
--   {
--      ( (STLGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
--   }
--
--
--
--
--   DLL_HEADER void Ng_CSG_Uniform_Refinement (Ng_CSG_Geometry * geom,
--      Ng_Mesh * mesh)
--   {
--      ( (CSGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
--   }
--
--
--
--
--#ifdef OCCGEOMETRY
--   DLL_HEADER void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom,
--      Ng_Mesh * mesh)
--   {
--      ( (OCCGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
--   }
--#endif
--   // ------------------ End - Uniform Mesh Refinement functions -----------------------
--} // End of namespace nglib
--
--
--
--
--// compatibility functions:
--namespace netgen 
--{
--   char geomfilename[255];
--
--   DLL_HEADER void MyError (const char * ch)
--   {
--      cerr << ch;
--   }
--
--
--
--
--   //Destination for messages, errors, ...
--   DLL_HEADER void Ng_PrintDest(const char * s)
--   {
--#ifdef PARALLEL
--     int id = 0;
--     MPI_Comm_rank(MPI_COMM_WORLD, &id);
--     if (id != 0) return;
--#endif
--     (*mycout) << s << flush;
--   }
--
--
--
--
--   DLL_HEADER double GetTime ()
--   {
--      return 0;
--   }
--
--
--
--
--   void ResetTime ()
--   {
--      ;
--   }
--
--
--
--
--   void MyBeep (int i)
--   {
--      ;
--   }
--
--
--
--
--   void Render()
--   {
--      ; 
--   }
--} // End of namespace netgen
--
--
--
--
--void Ng_Redraw () { ; }
--void Ng_ClearSolutionData () { ; }
--void Ng_SetSolutionData (Ng_SolutionData * soldata) 
--{ 
--  delete soldata->solclass;
--}
--void Ng_InitSolutionData (Ng_SolutionData * soldata) { ; }
--
--
-+/**************************************************************************/
-+/* File:   nglib.cpp                                                      */
-+/* Author: Joachim Schoeberl                                              */
-+/* Date:   7. May. 2000                                                   */
-+/**************************************************************************/
-+
-+/*
-+
-+  Interface to the netgen meshing kernel
-+
-+*/
-+#include <mystdlib.h>
-+#include <myadt.hpp>
-+
-+#include <linalg.hpp>
-+#include <csg.hpp>
-+#include <stlgeom.hpp>
-+#include <geometry2d.hpp>
-+#include <meshing.hpp>
-+#include <../visualization/soldata.hpp>
-+
-+#ifdef OCCGEOMETRY
-+#include <occgeom.hpp>
-+#endif
-+
-+#include <nginterface.h>
-+
-+
-+namespace netgen {
-+   extern void MeshFromSpline2D (SplineGeometry2d & geometry,
-+                                 Mesh *& mesh,
-+                                 MeshingParameters & mp);
-+}
-+
-+
-+
-+#ifdef PARALLEL
-+#include <mpi.h>
-+
-+namespace netgen
-+{
-+  // int id = 0, ntasks = 1;
-+  MPI_Comm mesh_comm;
-+}
-+#endif
-+
-+
-+namespace netgen
-+{
-+  int id = 0, ntasks = 1;
-+}
-+
-+
-+
-+/*
-+// should not be needed (occ currently requires it)
-+namespace netgen {
-+#include "../libsrc/visualization/vispar.hpp"
-+  VisualizationParameters vispar;
-+  VisualizationParameters :: VisualizationParameters() { ; }
-+}
-+*/
-+
-+
-+namespace nglib {
-+#include "nglib.h"
-+}
-+
-+using namespace netgen;
-+
-+// constants and types:
-+
-+namespace nglib
-+{
-+   // initialize, deconstruct Netgen library:
-+   DLL_HEADER void Ng_Init ()
-+   {
-+      mycout = &cout;
-+      myerr = &cerr;
-+      // netgen::testout->SetOutStream (new ofstream ("test.out"));
-+      testout = new ofstream ("test.out");
-+   }
-+
-+
-+
-+
-+   // Clean-up functions before ending usage of nglib
-+   DLL_HEADER void Ng_Exit ()
-+   {
-+      ;
-+   }
-+
-+
-+
-+
-+   // Create a new netgen mesh object
-+   DLL_HEADER Ng_Mesh * Ng_NewMesh ()
-+   {
-+      Mesh * mesh = new Mesh;
-+      mesh->AddFaceDescriptor (FaceDescriptor (1, 1, 0, 1));
-+      return (Ng_Mesh*)(void*)mesh;
-+   }
-+
-+
-+
-+
-+   // Delete an existing netgen mesh object
-+   DLL_HEADER void Ng_DeleteMesh (Ng_Mesh * mesh)
-+   {
-+      if(mesh != NULL)
-+      {
-+         // Delete the Mesh structures
-+         ((Mesh*)mesh)->DeleteMesh();
-+
-+         // Now delete the Mesh class itself
-+         delete (Mesh*)mesh;
-+
-+         // Set the Ng_Mesh pointer to NULL
-+         mesh = NULL;
-+      }
-+   }
-+
-+
-+
-+
-+   // Save a netgen mesh in the native VOL format
-+   DLL_HEADER void Ng_SaveMesh(Ng_Mesh * mesh, const char* filename)
-+   {
-+      ((Mesh*)mesh)->Save(filename);
-+   }
-+
-+
-+
-+
-+   // Load a netgen native VOL mesh from a given file
-+   DLL_HEADER Ng_Mesh * Ng_LoadMesh(const char* filename)
-+   {
-+      Mesh * mesh = new Mesh;
-+      mesh->Load(filename);
-+      return ( (Ng_Mesh*)mesh );
-+   }
-+
-+
-+
-+
-+   // Merge another mesh file into the currently loaded one
-+   DLL_HEADER Ng_Result Ng_MergeMesh( Ng_Mesh* mesh, const char* filename)
-+   {
-+      Ng_Result status = NG_OK;
-+
-+      ifstream infile(filename);
-+      Mesh * m = (Mesh*)mesh;
-+
-+      if(!infile.good())
-+      {
-+         status = NG_FILE_NOT_FOUND;
-+      }
-+
-+      if(!m)
-+      {
-+         status = NG_ERROR;
-+      }
-+
-+      if(status == NG_OK)
-+      {
-+         const int num_pts = m->GetNP();
-+         const int face_offset = m->GetNFD();
-+
-+         m->Merge(infile, face_offset);
-+
-+         if(m->GetNP() > num_pts)
-+         {
-+            status = NG_OK;
-+         }
-+         else
-+         {
-+            status = NG_ERROR;
-+         }
-+      }
-+
-+      return status;
-+   }
-+
-+
-+
-+
-+   // Merge another mesh file into the currently loaded one
-+   DLL_HEADER Ng_Result Ng_MergeMesh( Ng_Mesh* mesh1, Ng_Mesh* mesh2)
-+   {
-+      return NG_ERROR;
-+   }
-+
-+
-+
-+
-+   // Manually add a point to an existing mesh object
-+   DLL_HEADER void Ng_AddPoint (Ng_Mesh * mesh, double * x)
-+   {
-+      Mesh * m = (Mesh*)mesh;
-+      m->AddPoint (Point3d (x[0], x[1], x[2]));
-+   }
-+
-+
-+
-+
-+   // Manually add a surface element of a given type to an existing mesh object
-+   DLL_HEADER void Ng_AddSurfaceElement (Ng_Mesh * mesh, Ng_Surface_Element_Type et,
-+                                         int * pi)
-+   {
-+      Mesh * m = (Mesh*)mesh;
-+      Element2d el (3);
-+      el.SetIndex (1);
-+      el.PNum(1) = pi[0];
-+      el.PNum(2) = pi[1];
-+      el.PNum(3) = pi[2];
-+      m->AddSurfaceElement (el);
-+   }
-+
-+
-+
-+
-+   // Manually add a volume element of a given type to an existing mesh object
-+   DLL_HEADER void Ng_AddVolumeElement (Ng_Mesh * mesh, Ng_Volume_Element_Type et,
-+                                        int * pi)
-+   {
-+      Mesh * m = (Mesh*)mesh;
-+      Element el (4);
-+      el.SetIndex (1);
-+      el.PNum(1) = pi[0];
-+      el.PNum(2) = pi[1];
-+      el.PNum(3) = pi[2];
-+      el.PNum(4) = pi[3];
-+      m->AddVolumeElement (el);
-+   }
-+
-+
-+
-+
-+   // Obtain the number of points in the mesh
-+   DLL_HEADER int Ng_GetNP (Ng_Mesh * mesh)
-+   {
-+      return ((Mesh*)mesh) -> GetNP();
-+   }
-+
-+
-+
-+
-+   // Obtain the number of surface elements in the mesh
-+   DLL_HEADER int Ng_GetNSE (Ng_Mesh * mesh)
-+   {
-+      return ((Mesh*)mesh) -> GetNSE();
-+   }
-+
-+
-+
-+
-+   // Obtain the number of volume elements in the mesh
-+   DLL_HEADER int Ng_GetNE (Ng_Mesh * mesh)
-+   {
-+      return ((Mesh*)mesh) -> GetNE();
-+   }
-+
-+
-+
-+
-+   //  Return point coordinates of a given point index in the mesh
-+   DLL_HEADER void Ng_GetPoint (Ng_Mesh * mesh, int num, double * x)
-+   {
-+      const Point3d & p = ((Mesh*)mesh)->Point(num);
-+      x[0] = p.X();
-+      x[1] = p.Y();
-+      x[2] = p.Z();
-+   }
-+
-+
-+
-+
-+   // Return the surface element at a given index "pi"
-+   DLL_HEADER Ng_Surface_Element_Type
-+      Ng_GetSurfaceElement (Ng_Mesh * mesh, int num, int * pi)
-+   {
-+      const Element2d & el = ((Mesh*)mesh)->SurfaceElement(num);
-+      for (int i = 1; i <= el.GetNP(); i++)
-+         pi[i-1] = el.PNum(i);
-+      Ng_Surface_Element_Type et;
-+      switch (el.GetNP())
-+      {
-+      case 3: et = NG_TRIG; break;
-+      case 4: et = NG_QUAD; break;
-+      case 6:
-+         switch (el.GetNV())
-+         {
-+         case 3: et = NG_TRIG6; break;
-+         case 4: et = NG_QUAD6; break;
-+         default:
-+            et = NG_TRIG6; break;
-+         }
-+         break;
-+      case 8: et = NG_QUAD8; break;
-+      default:
-+         et = NG_TRIG; break; // for the compiler
-+      }
-+      return et;
-+   }
-+
-+
-+
-+
-+   // Return the volume element at a given index "pi"
-+   DLL_HEADER Ng_Volume_Element_Type
-+      Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi)
-+   {
-+      const Element & el = ((Mesh*)mesh)->VolumeElement(num);
-+      for (int i = 1; i <= el.GetNP(); i++)
-+         pi[i-1] = el.PNum(i);
-+      Ng_Volume_Element_Type et;
-+      switch (el.GetNP())
-+      {
-+      case 4: et = NG_TET; break;
-+      case 5: et = NG_PYRAMID; break;
-+      case 6: et = NG_PRISM; break;
-+      case 10: et = NG_TET10; break;
-+      default:
-+         et = NG_TET; break; // for the compiler
-+      }
-+      return et;
-+   }
-+
-+
-+
-+
-+   // Set a global limit on the maximum mesh size allowed
-+   DLL_HEADER void Ng_RestrictMeshSizeGlobal (Ng_Mesh * mesh, double h)
-+   {
-+      ((Mesh*)mesh) -> SetGlobalH (h);
-+   }
-+
-+
-+
-+
-+   // Set a local limit on the maximum mesh size allowed around the given point
-+   DLL_HEADER void Ng_RestrictMeshSizePoint (Ng_Mesh * mesh, double * p, double h)
-+   {
-+      ((Mesh*)mesh) -> RestrictLocalH (Point3d (p[0], p[1], p[2]), h);
-+   }
-+
-+
-+
-+
-+   // Set a local limit on the maximum mesh size allowed within a given box region
-+   DLL_HEADER void Ng_RestrictMeshSizeBox (Ng_Mesh * mesh, double * pmin, double * pmax, double h)
-+   {
-+      for (double x = pmin[0]; x < pmax[0]; x += h)
-+         for (double y = pmin[1]; y < pmax[1]; y += h)
-+            for (double z = pmin[2]; z < pmax[2]; z += h)
-+               ((Mesh*)mesh) -> RestrictLocalH (Point3d (x, y, z), h);
-+   }
-+
-+
-+
-+
-+   // Generates volume mesh from an existing surface mesh
-+   DLL_HEADER Ng_Result Ng_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp)
-+   {
-+      Mesh * m = (Mesh*)mesh;
-+
-+      // Philippose - 30/08/2009
-+      // Do not locally re-define "mparam" here... "mparam" is a global
-+      // object
-+      //MeshingParameters mparam;
-+      mp->Transfer_Parameters();
-+
-+      m->CalcLocalH(mparam.grading);
-+
-+      MeshVolume (mparam, *m);
-+      RemoveIllegalElements (*m);
-+      OptimizeVolume (mparam, *m);
-+
-+      return NG_OK;
-+   }
-+
-+
-+
-+
-+   /* ------------------ 2D Meshing Functions ------------------------- */
-+   DLL_HEADER void Ng_AddPoint_2D (Ng_Mesh * mesh, double * x)
-+   {
-+      Mesh * m = (Mesh*)mesh;
-+
-+      m->AddPoint (Point3d (x[0], x[1], 0));
-+   }
-+
-+
-+
-+
-+   DLL_HEADER void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2)
-+   {
-+      Mesh * m = (Mesh*)mesh;
-+
-+      Segment seg;
-+      seg[0] = pi1;
-+      seg[1] = pi2;
-+      m->AddSegment (seg);
-+   }
-+
-+
-+
-+
-+   DLL_HEADER int Ng_GetNP_2D (Ng_Mesh * mesh)
-+   {
-+      Mesh * m = (Mesh*)mesh;
-+      return m->GetNP();
-+   }
-+
-+
-+
-+
-+   DLL_HEADER int Ng_GetNE_2D (Ng_Mesh * mesh)
-+   {
-+      Mesh * m = (Mesh*)mesh;
-+      return m->GetNSE();
-+   }
-+
-+
-+
-+
-+   DLL_HEADER int Ng_GetNSeg_2D (Ng_Mesh * mesh)
-+   {
-+      Mesh * m = (Mesh*)mesh;
-+      return m->GetNSeg();
-+   }
-+
-+
-+
-+
-+   DLL_HEADER void Ng_GetPoint_2D (Ng_Mesh * mesh, int num, double * x)
-+   {
-+      Mesh * m = (Mesh*)mesh;
-+
-+      Point<3> & p = m->Point(num);
-+      x[0] = p(0);
-+      x[1] = p(1);
-+   }
-+
-+
-+
-+
-+   DLL_HEADER Ng_Surface_Element_Type
-+      Ng_GetElement_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum)
-+   {
-+      const Element2d & el = ((Mesh*)mesh)->SurfaceElement(num);
-+      for (int i = 1; i <= el.GetNP(); i++)
-+         pi[i-1] = el.PNum(i);
-+
-+      Ng_Surface_Element_Type et;
-+      switch (el.GetNP())
-+      {
-+      case 3: et = NG_TRIG; break;
-+      case 4: et = NG_QUAD; break;
-+      case 6:
-+         switch (el.GetNV())
-+         {
-+         case 3: et = NG_TRIG6; break;
-+         case 4: et = NG_QUAD6; break;
-+         default:
-+            et = NG_TRIG6; break;
-+         }
-+         break;
-+      case 8: et = NG_QUAD8; break;
-+      default:
-+         et = NG_TRIG; break; // for the compiler
-+      }
-+
-+      if (matnum)
-+         *matnum = el.GetIndex();
-+
-+      return et;
-+   }
-+
-+
-+
-+
-+   DLL_HEADER void Ng_GetSegment_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum)
-+   {
-+      const Segment & seg = ((Mesh*)mesh)->LineSegment(num);
-+      pi[0] = seg[0];
-+      pi[1] = seg[1];
-+
-+      if (matnum)
-+         *matnum = seg.edgenr;
-+   }
-+
-+
-+
-+
-+   DLL_HEADER Ng_Geometry_2D * Ng_LoadGeometry_2D (const char * filename)
-+   {
-+      SplineGeometry2d * geom = new SplineGeometry2d();
-+      geom -> Load (filename);
-+      return (Ng_Geometry_2D *)geom;
-+   }
-+
-+
-+
-+
-+   DLL_HEADER Ng_Result Ng_GenerateMesh_2D (Ng_Geometry_2D * geom,
-+                                            Ng_Mesh ** mesh,
-+                                            Ng_Meshing_Parameters * mp)
-+   {
-+      // use global variable mparam
-+      //  MeshingParameters mparam;
-+      mp->Transfer_Parameters();
-+
-+      Mesh * m;
-+      MeshFromSpline2D (*(SplineGeometry2d*)geom, m, mparam);
-+
-+      cout << m->GetNSE() << " elements, " << m->GetNP() << " points" << endl;
-+
-+      *mesh = (Ng_Mesh*)m;
-+      return NG_OK;
-+   }
-+
-+
-+
-+
-+   DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom,
-+      Ng_Mesh * mesh,
-+      int levels)
-+   {
-+      Refinement2d ref(*(SplineGeometry2d*)geom);
-+      HPRefinement (*(Mesh*)mesh, &ref, levels);
-+   }
-+
-+
-+
-+
-+   DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom,
-+      Ng_Mesh * mesh,
-+      int levels, double parameter)
-+   {
-+      Refinement2d ref(*(SplineGeometry2d*)geom);
-+      HPRefinement (*(Mesh*)mesh, &ref, levels, parameter);
-+   }
-+
-+
-+
-+
-+   Array<STLReadTriangle> readtrias; //only before initstlgeometry
-+   Array<Point<3> > readedges; //only before init stlgeometry
-+
-+   // loads geometry from STL file
-+   DLL_HEADER Ng_STL_Geometry * Ng_STL_LoadGeometry (const char * filename, int binary)
-+   {
-+      int i;
-+      STLGeometry geom;
-+      STLGeometry* geo;
-+      ifstream ist(filename);
-+
-+      if (binary)
-+      {
-+         geo = geom.LoadBinary(ist);
-+      }
-+      else
-+      {
-+         geo = geom.Load(ist);
-+      }
-+
-+      readtrias.SetSize(0);
-+      readedges.SetSize(0);
-+
-+      Point3d p;
-+      Vec3d normal;
-+      double p1[3];
-+      double p2[3];
-+      double p3[3];
-+      double n[3];
-+
-+      Ng_STL_Geometry * geo2 = Ng_STL_NewGeometry();
-+
-+      for (i = 1; i <= geo->GetNT(); i++)
-+      {
-+         const STLTriangle& t = geo->GetTriangle(i);
-+         p = geo->GetPoint(t.PNum(1));
-+         p1[0] = p.X(); p1[1] = p.Y(); p1[2] = p.Z();
-+         p = geo->GetPoint(t.PNum(2));
-+         p2[0] = p.X(); p2[1] = p.Y(); p2[2] = p.Z();
-+         p = geo->GetPoint(t.PNum(3));
-+         p3[0] = p.X(); p3[1] = p.Y(); p3[2] = p.Z();
-+         normal = t.Normal();
-+         n[0] = normal.X(); n[1] = normal.Y(); n[2] = normal.Z();
-+
-+         Ng_STL_AddTriangle(geo2, p1, p2, p3, n);
-+      }
-+
-+      return geo2;
-+   }
-+
-+
-+
-+
-+   // generate new STL Geometry
-+   DLL_HEADER Ng_STL_Geometry * Ng_STL_NewGeometry ()
-+   {
-+      return (Ng_STL_Geometry*)(void*)new STLGeometry;
-+   }
-+
-+
-+
-+
-+   // after adding triangles (and edges) initialize
-+   DLL_HEADER Ng_Result Ng_STL_InitSTLGeometry (Ng_STL_Geometry * geom)
-+   {
-+      STLGeometry* geo = (STLGeometry*)geom;
-+      geo->InitSTLGeometry(readtrias);
-+      readtrias.SetSize(0);
-+
-+      if (readedges.Size() != 0)
-+      {
-+         /*
-+         for (int i = 1; i <= readedges.Size(); i+=2)
-+         {
-+         cout << "e(" << readedges.Get(i) << "," << readedges.Get(i+1) << ")" << endl;
-+         }
-+         */
-+         geo->AddEdges(readedges);
-+      }
-+
-+      if (geo->GetStatus() == STLTopology::STL_GOOD || geo->GetStatus() == STLTopology::STL_WARNING) return NG_OK;
-+      return NG_SURFACE_INPUT_ERROR;
-+   }
-+
-+
-+
-+
-+   // automatically generates edges:
-+   DLL_HEADER Ng_Result Ng_STL_MakeEdges (Ng_STL_Geometry * geom,
-+                                          Ng_Mesh* mesh,
-+                                          Ng_Meshing_Parameters * mp)
-+   {
-+      STLGeometry* stlgeometry = (STLGeometry*)geom;
-+      Mesh* me = (Mesh*)mesh;
-+
-+      // Philippose - 27/07/2009
-+      // Do not locally re-define "mparam" here... "mparam" is a global
-+      // object
-+      //MeshingParameters mparam;
-+      mp->Transfer_Parameters();
-+
-+      me -> SetGlobalH (mparam.maxh);
-+      me -> SetLocalH (stlgeometry->GetBoundingBox().PMin() - Vec3d(10, 10, 10),
-+                       stlgeometry->GetBoundingBox().PMax() + Vec3d(10, 10, 10),
-+                       0.3);
-+
-+      me -> LoadLocalMeshSize (mp->meshsize_filename);
-+      /*
-+      if (mp->meshsize_filename)
-+      {
-+      ifstream infile (mp->meshsize_filename);
-+      if (!infile.good()) return NG_FILE_NOT_FOUND;
-+      me -> LoadLocalMeshSize (infile);
-+      }
-+      */
-+
-+      STLMeshing (*stlgeometry, *me);
-+
-+      stlgeometry->edgesfound = 1;
-+      stlgeometry->surfacemeshed = 0;
-+      stlgeometry->surfaceoptimized = 0;
-+      stlgeometry->volumemeshed = 0;
-+
-+      return NG_OK;
-+   }
-+
-+
-+
-+
-+   // generates mesh, empty mesh be already created.
-+   DLL_HEADER Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom,
-+                                                    Ng_Mesh* mesh,
-+                                                    Ng_Meshing_Parameters * mp)
-+   {
-+      STLGeometry* stlgeometry = (STLGeometry*)geom;
-+      Mesh* me = (Mesh*)mesh;
-+
-+      // Philippose - 27/07/2009
-+      // Do not locally re-define "mparam" here... "mparam" is a global
-+      // object
-+      //MeshingParameters mparam;
-+      mp->Transfer_Parameters();
-+
-+
-+      /*
-+      me -> SetGlobalH (mparam.maxh);
-+      me -> SetLocalH (stlgeometry->GetBoundingBox().PMin() - Vec3d(10, 10, 10),
-+      stlgeometry->GetBoundingBox().PMax() + Vec3d(10, 10, 10),
-+      0.3);
-+      */
-+      /*
-+      STLMeshing (*stlgeometry, *me);
-+
-+      stlgeometry->edgesfound = 1;
-+      stlgeometry->surfacemeshed = 0;
-+      stlgeometry->surfaceoptimized = 0;
-+      stlgeometry->volumemeshed = 0;
-+      */
-+      int retval = STLSurfaceMeshing (*stlgeometry, *me);
-+      if (retval == MESHING3_OK)
-+      {
-+         (*mycout) << "Success !!!!" << endl;
-+         stlgeometry->surfacemeshed = 1;
-+         stlgeometry->surfaceoptimized = 0;
-+         stlgeometry->volumemeshed = 0;
-+      }
-+      else if (retval == MESHING3_OUTERSTEPSEXCEEDED)
-+      {
-+         (*mycout) << "ERROR: Give up because of too many trials. Meshing aborted!" << endl;
-+      }
-+      else if (retval == MESHING3_TERMINATE)
-+      {
-+         (*mycout) << "Meshing Stopped!" << endl;
-+      }
-+      else
-+      {
-+         (*mycout) << "ERROR: Surface meshing not successful. Meshing aborted!" << endl;
-+      }
-+
-+
-+      STLSurfaceOptimization (*stlgeometry, *me, mparam);
-+
-+      return NG_OK;
-+   }
-+
-+
-+
-+
-+   // fills STL Geometry
-+   // positive orientation
-+   // normal vector may be null-pointer
-+   DLL_HEADER void Ng_STL_AddTriangle (Ng_STL_Geometry * geom,
-+                                       double * p1, double * p2, double * p3,
-+                                       double * nv)
-+   {
-+      Point<3> apts[3];
-+      apts[0] = Point<3>(p1[0],p1[1],p1[2]);
-+      apts[1] = Point<3>(p2[0],p2[1],p2[2]);
-+      apts[2] = Point<3>(p3[0],p3[1],p3[2]);
-+
-+      Vec<3> n;
-+      if (!nv)
-+         n = Cross (apts[0]-apts[1], apts[0]-apts[2]);
-+      else
-+         n = Vec<3>(nv[0],nv[1],nv[2]);
-+
-+      readtrias.Append(STLReadTriangle(apts,n));
-+   }
-+
-+   // add (optional) edges:
-+   DLL_HEADER void Ng_STL_AddEdge (Ng_STL_Geometry * geom,
-+      double * p1, double * p2)
-+   {
-+      readedges.Append(Point3d(p1[0],p1[1],p1[2]));
-+      readedges.Append(Point3d(p2[0],p2[1],p2[2]));
-+   }
-+
-+
-+
-+
-+#ifdef OCCGEOMETRY
-+   // --------------------- OCC Geometry / Meshing Utility Functions -------------------
-+   // Create new OCC Geometry Object
-+   DLL_HEADER Ng_OCC_Geometry * Ng_OCC_NewGeometry ()
-+   {
-+      return (Ng_OCC_Geometry*)(void*)new OCCGeometry;
-+   }
-+
-+
-+
-+
-+   // Delete the OCC Geometry Object
-+   DLL_HEADER Ng_Result Ng_OCC_DeleteGeometry(Ng_OCC_Geometry * geom)
-+   {
-+      if (geom != NULL)
-+      {
-+         delete (OCCGeometry*)geom;
-+         geom = NULL;
-+         return NG_OK;
-+      }
-+
-+      return NG_ERROR;
-+   }
-+
-+
-+
-+
-+   // Loads geometry from STEP File
-+   DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_STEP (const char * filename)
-+   {
-+      // Call the STEP File Load function. Note.. the geometry class
-+      // is created and instantiated within the load function
-+      OCCGeometry * occgeo = LoadOCC_STEP(filename);
-+
-+      return ((Ng_OCC_Geometry *)occgeo);
-+   }
-+
-+
-+
-+
-+   // Loads geometry from IGES File
-+   DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_IGES (const char * filename)
-+   {
-+      // Call the IGES File Load function. Note.. the geometry class
-+      // is created and instantiated within the load function
-+      OCCGeometry * occgeo = LoadOCC_IGES(filename);
-+
-+      return ((Ng_OCC_Geometry *)occgeo);
-+   }
-+
-+
-+
-+
-+   // Loads geometry from BREP File
-+   DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_BREP (const char * filename)
-+   {
-+      // Call the BREP File Load function. Note.. the geometry class
-+      // is created and instantiated within the load function
-+      OCCGeometry * occgeo = LoadOCC_BREP(filename);
-+
-+      return ((Ng_OCC_Geometry *)occgeo);
-+   }
-+
-+
-+
-+
-+   // Locally limit the size of the mesh to be generated at various points
-+   // based on the topology of the geometry
-+   DLL_HEADER Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom,
-+                                                 Ng_Mesh * mesh,
-+                                                 Ng_Meshing_Parameters * mp)
-+   {
-+      OCCGeometry * occgeom = (OCCGeometry*)geom;
-+      Mesh * me = (Mesh*)mesh;
-+
-+      me->geomtype = Mesh::GEOM_OCC;
-+
-+      mp->Transfer_Parameters();
-+
-+      occparam.resthcloseedgeenable = mp->closeedgeenable;
-+      occparam.resthcloseedgefac = mp->closeedgefact;
-+
-+      // Delete the mesh structures in order to start with a clean
-+      // slate
-+      me->DeleteMesh();
-+
-+      OCCSetLocalMeshSize(*occgeom, *me);
-+
-+      return(NG_OK);
-+   }
-+
-+
-+
-+
-+   // Mesh the edges and add Face descriptors to prepare for surface meshing
-+   DLL_HEADER Ng_Result Ng_OCC_GenerateEdgeMesh (Ng_OCC_Geometry * geom,
-+                                                 Ng_Mesh * mesh,
-+                                                 Ng_Meshing_Parameters * mp)
-+   {
-+      OCCGeometry * occgeom = (OCCGeometry*)geom;
-+      Mesh * me = (Mesh*)mesh;
-+
-+      mp->Transfer_Parameters();
-+
-+      OCCFindEdges(*occgeom, *me);
-+
-+      if((me->GetNP()) && (me->GetNFD()))
-+      {
-+         return NG_OK;
-+      }
-+      else
-+      {
-+         return NG_ERROR;
-+      }
-+   }
-+
-+
-+
-+
-+   // Mesh the edges and add Face descriptors to prepare for surface meshing
-+   DLL_HEADER Ng_Result Ng_OCC_GenerateSurfaceMesh (Ng_OCC_Geometry * geom,
-+                                                    Ng_Mesh * mesh,
-+                                                    Ng_Meshing_Parameters * mp)
-+   {
-+      int numpoints = 0;
-+
-+      OCCGeometry * occgeom = (OCCGeometry*)geom;
-+      Mesh * me = (Mesh*)mesh;
-+
-+      // Set the internal meshing parameters structure from the nglib meshing
-+      // parameters structure
-+      mp->Transfer_Parameters();
-+
-+
-+      // Only go into surface meshing if the face descriptors have already been added
-+      if(!me->GetNFD())
-+         return NG_ERROR;
-+
-+      numpoints = me->GetNP();
-+
-+      // Initially set up only for surface meshing without any optimisation
-+      int perfstepsend = MESHCONST_MESHSURFACE;
-+
-+      // Check and if required, enable surface mesh optimisation step
-+      if(mp->optsurfmeshenable)
-+      {
-+         perfstepsend = MESHCONST_OPTSURFACE;
-+      }
-+
-+      OCCMeshSurface(*occgeom, *me, perfstepsend);
-+
-+      me->CalcSurfacesOfNode();
-+
-+      if(me->GetNP() <= numpoints)
-+         return NG_ERROR;
-+
-+      if(me->GetNSE() <= 0)
-+         return NG_ERROR;
-+
-+      return NG_OK;
-+   }
-+
-+
-+
-+
-+   // Extract the face map from the OCC geometry
-+   // The face map basically gives an index to each face in the geometry,
-+   // which can be used to access a specific face
-+   DLL_HEADER Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom,
-+                                       Ng_OCC_TopTools_IndexedMapOfShape * FMap)
-+   {
-+      OCCGeometry* occgeom = (OCCGeometry*)geom;
-+      TopTools_IndexedMapOfShape *occfmap = (TopTools_IndexedMapOfShape *)FMap;
-+
-+      // Copy the face map from the geometry to the given variable
-+      occfmap->Assign(occgeom->fmap);
-+
-+      if(occfmap->Extent())
-+      {
-+         return NG_OK;
-+      }
-+      else
-+      {
-+         return NG_ERROR;
-+      }
-+   }
-+
-+   // ------------------ End - OCC Geometry / Meshing Utility Functions ----------------
-+#endif
-+
-+
-+
-+
-+   // ------------------ Begin - Meshing Parameters related functions ------------------
-+   // Constructor for the local nglib meshing parameters class
-+   DLL_HEADER Ng_Meshing_Parameters :: Ng_Meshing_Parameters()
-+   {
-+      uselocalh = 1;
-+
-+      maxh = 1000;
-+      minh = 0.0;
-+
-+      fineness = 0.5;
-+      grading = 0.3;
-+
-+      elementsperedge = 2.0;
-+      elementspercurve = 2.0;
-+
-+      closeedgeenable = 0;
-+      closeedgefact = 2.0;
-+
-+        minedgelenenable = 0;
-+        minedgelen = 1e-4;
-+
-+      second_order = 0;
-+      quad_dominated = 0;
-+
-+      meshsize_filename = 0;
-+
-+      optsurfmeshenable = 1;
-+      optvolmeshenable = 1;
-+
-+      optsteps_2d = 3;
-+      optsteps_3d = 3;
-+
-+      invert_tets = 0;
-+      invert_trigs = 0;
-+
-+      check_overlap = 1;
-+      check_overlapping_boundary = 1;
-+   }
-+
-+
-+
-+
-+   // Reset the local meshing parameters to the default values
-+   DLL_HEADER void Ng_Meshing_Parameters :: Reset_Parameters()
-+   {
-+      uselocalh = 1;
-+
-+      maxh = 1000;
-+      minh = 0;
-+
-+      fineness = 0.5;
-+      grading = 0.3;
-+
-+      elementsperedge = 2.0;
-+      elementspercurve = 2.0;
-+
-+      closeedgeenable = 0;
-+      closeedgefact = 2.0;
-+
-+        minedgelenenable = 0;
-+        minedgelen = 1e-4;
-+
-+      second_order = 0;
-+      quad_dominated = 0;
-+
-+      meshsize_filename = 0;
-+
-+      optsurfmeshenable = 1;
-+      optvolmeshenable = 1;
-+
-+      optsteps_2d = 3;
-+      optsteps_3d = 3;
-+
-+      invert_tets = 0;
-+      invert_trigs = 0;
-+
-+      check_overlap = 1;
-+      check_overlapping_boundary = 1;
-+   }
-+
-+
-+
-+
-+   //
-+   DLL_HEADER void Ng_Meshing_Parameters :: Transfer_Parameters()
-+   {
-+      mparam.uselocalh = uselocalh;
-+
-+      mparam.maxh = maxh;
-+      mparam.minh = minh;
-+
-+      mparam.grading = grading;
-+      mparam.curvaturesafety = elementspercurve;
-+      mparam.segmentsperedge = elementsperedge;
-+
-+      mparam.secondorder = second_order;
-+      mparam.quad = quad_dominated;
-+
-+      mparam.meshsizefilename = meshsize_filename;
-+
-+      mparam.optsteps2d = optsteps_2d;
-+      mparam.optsteps3d = optsteps_3d;
-+
-+      mparam.inverttets = invert_tets;
-+      mparam.inverttrigs = invert_trigs;
-+
-+      mparam.checkoverlap = check_overlap;
-+      mparam.checkoverlappingboundary = check_overlapping_boundary;
-+   }
-+   // ------------------ End - Meshing Parameters related functions --------------------
-+
-+
-+
-+
-+   // ------------------ Begin - Second Order Mesh generation functions ----------------
-+   DLL_HEADER void Ng_Generate_SecondOrder(Ng_Mesh * mesh)
-+   {
-+      Refinement ref;
-+      ref.MakeSecondOrder(*(Mesh*) mesh);
-+   }
-+
-+
-+
-+
-+   DLL_HEADER void Ng_2D_Generate_SecondOrder(Ng_Geometry_2D * geom,
-+                                        Ng_Mesh * mesh)
-+   {
-+      ( (SplineGeometry2d*)geom ) -> GetRefinement().MakeSecondOrder( * (Mesh*) mesh );
-+   }
-+
-+
-+
-+
-+   DLL_HEADER void Ng_STL_Generate_SecondOrder(Ng_STL_Geometry * geom,
-+                                         Ng_Mesh * mesh)
-+   {
-+      ((STLGeometry*)geom)->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
-+   }
-+
-+
-+
-+
-+   DLL_HEADER void Ng_CSG_Generate_SecondOrder (Ng_CSG_Geometry * geom,
-+                                         Ng_Mesh * mesh)
-+   {
-+      ((CSGeometry*)geom)->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
-+   }
-+
-+
-+
-+
-+#ifdef OCCGEOMETRY
-+   DLL_HEADER void Ng_OCC_Generate_SecondOrder (Ng_OCC_Geometry * geom,
-+                  Ng_Mesh * mesh)
-+   {
-+      ((OCCGeometry*)geom )->GetRefinement().MakeSecondOrder(*(Mesh*) mesh);
-+   }
-+#endif
-+   // ------------------ End - Second Order Mesh generation functions ------------------
-+
-+
-+
-+
-+   // ------------------ Begin - Uniform Mesh Refinement functions ---------------------
-+   DLL_HEADER void Ng_Uniform_Refinement (Ng_Mesh * mesh)
-+   {
-+      Refinement ref;
-+      ref.Refine ( * (Mesh*) mesh );
-+   }
-+
-+
-+
-+
-+   DLL_HEADER void Ng_2D_Uniform_Refinement (Ng_Geometry_2D * geom,
-+      Ng_Mesh * mesh)
-+   {
-+      ( (SplineGeometry2d*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
-+   }
-+
-+
-+
-+
-+   DLL_HEADER void Ng_STL_Uniform_Refinement (Ng_STL_Geometry * geom,
-+      Ng_Mesh * mesh)
-+   {
-+      ( (STLGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
-+   }
-+
-+
-+
-+
-+   DLL_HEADER void Ng_CSG_Uniform_Refinement (Ng_CSG_Geometry * geom,
-+      Ng_Mesh * mesh)
-+   {
-+      ( (CSGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
-+   }
-+
-+
-+
-+
-+#ifdef OCCGEOMETRY
-+   DLL_HEADER void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom,
-+      Ng_Mesh * mesh)
-+   {
-+      ( (OCCGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh );
-+   }
-+#endif
-+   // ------------------ End - Uniform Mesh Refinement functions -----------------------
-+} // End of namespace nglib
-+
-+
-+
-+
-+// compatibility functions:
-+namespace netgen
-+{
-+   char geomfilename[255];
-+
-+   DLL_HEADER void MyError (const char * ch)
-+   {
-+      cerr << ch;
-+   }
-+
-+
-+
-+
-+   //Destination for messages, errors, ...
-+   DLL_HEADER void Ng_PrintDest(const char * s)
-+   {
-+#ifdef PARALLEL
-+     int id = 0;
-+     MPI_Comm_rank(MPI_COMM_WORLD, &id);
-+     if (id != 0) return;
-+#endif
-+     (*mycout) << s << flush;
-+   }
-+
-+
-+
-+
-+   DLL_HEADER double GetTime ()
-+   {
-+      return 0;
-+   }
-+
-+
-+
-+
-+   void ResetTime ()
-+   {
-+      ;
-+   }
-+
-+
-+
-+
-+   void MyBeep (int i)
-+   {
-+      ;
-+   }
-+
-+
-+
-+
-+   void Render()
-+   {
-+      ;
-+   }
-+} // End of namespace netgen
-+
-+
-+
-+
-+void Ng_Redraw () { ; }
-+void Ng_ClearSolutionData () { ; }
-+void Ng_SetSolutionData (Ng_SolutionData * soldata)
-+{
-+  delete soldata->solclass;
-+}
-+void Ng_InitSolutionData (Ng_SolutionData * soldata) { ; }
-+
-+
-diff -Naur netgen-5.3.1_SRC_orig/nglib/nglib.h netgen-5.3.1_SRC_modif/nglib/nglib.h
---- netgen-5.3.1_SRC_orig/nglib/nglib.h        2014-08-29 13:54:00.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/nglib/nglib.h       2018-03-01 15:44:37.242256019 +0300
-@@ -1,747 +1,747 @@
--#ifndef NGLIB
--#define NGLIB
--
--/**************************************************************************/
--/* File:   nglib.h                                                        */
--/* Author: Joachim Schoeberl                                              */
--/* Date:   7. May. 2000                                                   */
--/**************************************************************************/
--
--/*!
--   \file nglib.h
--   \brief Library interface to the netgen meshing kernel
--   \author Joachim Schoeberl
--   \date 7. May 2000
--
--   This header file provides access to the core functionality of the Netgen 
--   Mesher via a library interface, without an interactive User Interface.
--
--   The intention of providing these set of functions is to allow system 
--   developers to integrate Netgen into top-level code, to act as the low 
--   level mesh generation / optimisation kernel.  
--*/
--
--// Philippose - 14.02.2009
--// Modifications for creating a DLL in Windows
--#ifdef WIN32
--   #ifdef NGLIB_EXPORTS || nglib_EXPORTS
--      #define DLL_HEADER   __declspec(dllexport)
--   #else
--      #define DLL_HEADER   __declspec(dllimport)
--   #endif
--#else
--   #define DLL_HEADER 
--#endif
--
--
--
--// ** Constants used within Netgen *********************
--/// Maximum allowed number of nodes per volume element
--#define NG_VOLUME_ELEMENT_MAXPOINTS 10
--
--/// Maximum allowed number of nodes per surface element
--#define NG_SURFACE_ELEMENT_MAXPOINTS 8
--
--
--
--// *** Data-types for accessing Netgen functionality ***
--/// Data type for NETGEN mesh
--typedef void * Ng_Mesh;
--
--/// Data type for NETGEN CSG geometry
--typedef void * Ng_CSG_Geometry;
--
--/// Data type for NETGEN 2D geometry
--typedef void * Ng_Geometry_2D;
--
--/// Data type for NETGEN STL geometry
--typedef void * Ng_STL_Geometry;
--
--#ifdef OCCGEOMETRY
--/// Data type for NETGEN OpenCascade geometry
--typedef void * Ng_OCC_Geometry;
--typedef void * Ng_OCC_TopTools_IndexedMapOfShape;
--#endif
--
--
--// *** Special Enum types used within Netgen ***********
--/// Currently implemented surface element types
--enum Ng_Surface_Element_Type 
--   { NG_TRIG = 1, NG_QUAD = 2, NG_TRIG6 = 3, NG_QUAD6 = 4, NG_QUAD8 = 5 };
--
--/// Currently implemented volume element types
--enum Ng_Volume_Element_Type 
--   { NG_TET = 1, NG_PYRAMID = 2, NG_PRISM = 3, NG_TET10 = 4 };
--
--/// Values returned by Netgen functions
--enum Ng_Result 
--   { 
--     NG_ERROR               = -1,   
--     NG_OK                  = 0, 
--     NG_SURFACE_INPUT_ERROR = 1,
--     NG_VOLUME_FAILURE      = 2, 
--     NG_STL_INPUT_ERROR     = 3,
--     NG_SURFACE_FAILURE     = 4,
--     NG_FILE_NOT_FOUND      = 5 
--   };
--
--
--
--// *** Classes required for use within Netgen **********
--/// Netgen Meshing Parameters class
--class Ng_Meshing_Parameters 
--{
--public:
--   int uselocalh;                      //!< Switch to enable / disable usage of local mesh size modifiers
--
--   double maxh;                        //!< Maximum global mesh size allowed
--   double minh;                        //!< Minimum global mesh size allowed
--
--   double fineness;                    //!< Mesh density: 0...1 (0 => coarse; 1 => fine)
--   double grading;                     //!< Mesh grading: 0...1 (0 => uniform mesh; 1 => aggressive local grading)
--
--   double elementsperedge;             //!< Number of elements to generate per edge of the geometry
--   double elementspercurve;            //!< Elements to generate per curvature radius
--
--   int closeedgeenable;                //!< Enable / Disable mesh refinement at close edges
--   double closeedgefact;               //!< Factor to use for refinement at close edges (larger => finer)
--
--   int minedgelenenable;                         //!< Enable / Disable user defined minimum edge length for edge subdivision
--   double minedgelen;                  //!< Minimum edge length to use while subdividing the edges (default = 1e-4)
--
--   int second_order;                   //!< Generate second-order surface and volume elements
--   int quad_dominated;                 //!< Creates a Quad-dominated mesh 
--
--   char * meshsize_filename;           //!< Optional external mesh size file 
--
--   int optsurfmeshenable;              //!< Enable / Disable automatic surface mesh optimization
--   int optvolmeshenable;               //!< Enable / Disable automatic volume mesh optimization
--
--   int optsteps_3d;                     //!< Number of optimize steps to use for 3-D mesh optimization
--   int optsteps_2d;                     //!< Number of optimize steps to use for 2-D mesh optimization
--
--   // Philippose - 13/09/2010
--   // Added a couple more parameters into the meshing parameters list 
--   // from Netgen into Nglib
--   int invert_tets;                    //!< Invert all the volume elements
--   int invert_trigs;                   //!< Invert all the surface triangle elements
--
--   int check_overlap;                  //!< Check for overlapping surfaces during Surface meshing
--   int check_overlapping_boundary;     //!< Check for overlapping surface elements before volume meshing
--
--
--   /*!
--      Default constructor for the Mesh Parameters class
--
--      Note: This constructor initialises the variables in the 
--      class with the following default values
--      - #uselocalh: 1
--      - #maxh: 1000.0
--      - #fineness: 0.5
--      - #grading: 0.3
--      - #elementsperedge: 2.0
--      - #elementspercurve: 2.0
--      - #closeedgeenable: 0
--      - #closeedgefact: 2.0
--      - #secondorder: 0
--      - #meshsize_filename: null
--      - #quad_dominated: 0
--      - #optsurfmeshenable: 1
--      - #optvolmeshenable: 1
--      - #optsteps_2d: 3
--      - #optsteps_3d: 3
--      - #invert_tets: 0
--      - #invert_trigs:0 
--      - #check_overlap: 1
--      - #check_overlapping_boundary: 1
--   */
--   DLL_HEADER Ng_Meshing_Parameters();
--
--
--
--   /*!
--       Reset the meshing parameters to their defaults
--
--       This member function resets all the meshing parameters 
--       of the object to the default values
--   */
--   DLL_HEADER void Reset_Parameters();
--
--
--
--   /*!
--       Transfer local meshing parameters to internal meshing parameters
--
--       This member function transfers all the meshing parameters 
--       defined in the local meshing parameters structure of nglib into 
--       the internal meshing parameters structure used by the Netgen core
--   */
--   DLL_HEADER void Transfer_Parameters();
--};
--
--
--
--
--// *** Functions Exported by this Library *************
--
--// ------------------------------------------------------------------
--// Netgen library initialisation / destruction functions
--
--/*! \brief Initialise the Netgen library and prepare for use
--
--    This function needs to be called by the third-party 
--    program before beginning to use the other Netgen 
--    specific functions.
--*/
--DLL_HEADER void Ng_Init ();
--
--
--/*! \brief Exit the Netgen meshing kernel in a clean manner
--
--    Use this function to exit the meshing sub-system in 
--    a clean and orderly manner.
--*/
--DLL_HEADER void Ng_Exit ();
--  
--
--/*! \brief Create a new (and empty) Netgen Mesh Structure
--
--    This function creates a new Netgen Mesh, initialises 
--    it, and returns a pointer to the created mesh structure. 
--
--    Use the returned pointer for subsequent operations 
--    which involve mesh operations.
--
--    \return Ng_Mesh Pointer to a Netgen Mesh type #Ng_Mesh
--*/
--DLL_HEADER  Ng_Mesh * Ng_NewMesh ();
--
--
--/*! \brief Delete an existing Netgen Mesh Structure
--
--    Use this function to delete an existing Netgen mesh 
--    structure and release the used memory. 
--
--    \param mesh Pointer to an existing Netgen Mesh structure 
--                of type #Ng_Mesh
--*/
--DLL_HEADER void Ng_DeleteMesh (Ng_Mesh * mesh);
--
--
--/*! \brief Save a Netgen Mesh to disk
--
--    This function allows a generated mesh structure to be saved 
--    to disk.
--
--    A Mesh saved using this function, will be written to disk 
--    in the Netgen VOL file format.
--
--    \param mesh    Pointer to an existing Netgen Mesh structure 
--                   of type #Ng_Mesh
--    \param filename Pointer to a character array containing the 
--                    name of the file to which the mesh should 
--                    be saved
--*/
--DLL_HEADER void Ng_SaveMesh(Ng_Mesh * mesh, const char* filename);
--
--
--/*! \brief Load a Netgen VOL Mesh from disk into memory
--
--    A Netgen mesh saved in the internal VOL format can be loaded 
--    into a Netgen Mesh structure using this function. 
--
--    \param filename Pointer to a character array containing the 
--                    name of the file to load
--    \return Ng_Mesh Pointer to a Netgen Mesh type #Ng_Mesh containing 
--                    the mesh loaded from disk
--*/
--DLL_HEADER Ng_Mesh * Ng_LoadMesh(const char* filename);
--
--
--/*! \brief Merge a Netgen VOL Mesh from disk into an existing mesh in memory
--
--    A Netgen mesh saved in the internal VOL format can be merged 
--    into an existing Netgen Mesh structure using this function. 
--
--    \param mesh       Name of the Mesh structure already existent in memory
--    \param filename   Pointer to a character array containing the 
--                      name of the file to load
--    \return Ng_Result Status of the merge operation
--*/
--DLL_HEADER Ng_Result Ng_MergeMesh(Ng_Mesh * mesh, const char* filename);
--
--
--/*! \brief Merge one Netgen Mesh into another Netgen Mesh in the case 
--    when both are already in memory
--
--    (NOTE: FUNCTION STILL WORK IN PROGRESS!!!)
--
--    This function can be used to merge two Netgen meshes already present 
--    in memory.
--
--    \param mesh1      Parent Mesh structure into which the second mesh 
--                      will be merged
--    \param mesh2      Child mesh structure which will get merged into 
--                      the parent mesh
--    \return Ng_Result Status of the merge operation
--*/
--DLL_HEADER Ng_Result Ng_MergeMesh(Ng_Mesh * mesh1, Ng_Mesh * mesh2);
--// ------------------------------------------------------------------
--
--
--
--// ------------------------------------------------------------------
--// Basic Meshing functions for manually adding points, surface elements 
--// and volume elements to a Netgen Mesh structure
--
--/*! \brief Add a point to a given Netgen Mesh Structure
--
--    This function allows points to be directly added to a Netgen 
--    mesh structure by providing the co-ordinates.
--
--    Each call to the function allows only one point to be added.
--
--    \param mesh Pointer to an existing Netgen Mesh structure of 
--                type #Ng_Mesh
--    \param x    Pointer to an array of type double containing the co-ordinates 
--                of the point to be added in the form: \n
--                - x[0] = X co-ordinate
--                - x[1] = Y co-ordinate
--                - x[2] = Z co-ordinate
--*/
--DLL_HEADER void Ng_AddPoint (Ng_Mesh * mesh, double * x);
--
--
--/*! \brief Add a surface element to a given Netgen Mesh Structure
--
--    This function allows the top-level code to directly add individual 
--    Surface Elements to a Netgen Mesh Structure by providing the type of 
--    element to be added and the indices of the points which constitute the 
--    element.
--
--    <i>Note:</i> 
--    - The points referred to by the surface elements must have been
--      added prior to calling this function. 
--    - Currently only triangular elements are supported, and the Surface Element 
--      Type argument is not used.
--
--    \param mesh Pointer to an existing Netgen Mesh structure of 
--                type #Ng_Mesh
--    \param et   Surface Element type provided via the enumerated type 
--                #Ng_Surface_Element_Type 
--    \param pi   Pointer to an array of integers containing the indices of the 
--                points which constitute the surface element being added
--*/
--DLL_HEADER void Ng_AddSurfaceElement (Ng_Mesh * mesh, Ng_Surface_Element_Type et, int * pi);
--
--
--/*! \brief Add a volume element to a given Netgen Mesh Structure
--
--    This function allows the top-level code to directly add individual 
--    Volume Elements to a Netgen Mesh Structure by providing the type of 
--    element to be added and the indices of the points which constitute the 
--    element.
--
--    <i>Note:</i> 
--    - The points referred to by the volume elements must have been
--      added prior to calling this function. 
--    - Currently only tetrahedral elements are supported, and the Volume Element 
--      Type argument is not used.
--
--    \param mesh Pointer to an existing Netgen Mesh structure of 
--                type #Ng_Mesh
--    \param et   Volume Element type provided via the enumerated type 
--                #Ng_Volume_Element_Type 
--    \param pi   Pointer to an array of integers containing the indices of the 
--                points which constitute the volume element being added
--
--*/
--DLL_HEADER void Ng_AddVolumeElement (Ng_Mesh * mesh, Ng_Volume_Element_Type et, int * pi);
--  
--// ------------------------------------------------------------------
--
--
--
--// ------------------------------------------------------------------
--// Local Mesh Size restriction / limiting utilities
--
--/*! \brief Apply a global restriction on mesh element size
--
--    This utility allows the user to apply a global mesh element 
--    size limitation. 
--
--    During mesh creation, in the absence of an explicit local 
--    size restriction around the neighbourhood of a point within 
--    the meshing domain, this global size restriction will be 
--    utilised.
--
--    <b>Note</b>: This function only limits the <b>Maximum</b> 
--    size of an element within the mesh.
--
--    \param mesh Pointer to an existing Netgen Mesh structure of 
--                type #Ng_Mesh
--    \param h    Variable of type <i>double</i>, specifying the maximum
--                allowable mesh size
--*/
--DLL_HEADER void Ng_RestrictMeshSizeGlobal (Ng_Mesh * mesh, double h);
--
--
--/*! \brief Locally restrict the mesh element size at the given point
--
--    Unlike the function #Ng_RestrictMeshSizeGlobal, this function 
--    allows the user to locally restrict the maximum allowable mesh 
--    size at a given point.
--
--    The point is specified via its three cartesian co-ordinates.
--
--    <b>Note</b>: This function only limits the <b>Maximum</b> size 
--    of the elements around the specified point.
--
--    \param mesh Pointer to an existing Netgen Mesh structure of 
--                type #Ng_Mesh
--    \param p    Pointer to an Array of type <i>double</i>, containing 
--                the three co-ordinates of the point in the form: \n
--                - p[0] = X co-ordinate
--                - p[1] = Y co-ordinate
--                - p[2] = Z co-ordinate
--    \param h    Variable of type <i>double</i>, specifying the maximum
--                allowable mesh size at that point
--*/
--DLL_HEADER void Ng_RestrictMeshSizePoint (Ng_Mesh * mesh, double * p, double h);
--
--
--/*! \brief Locally restrict the mesh element size within a specified box
--
--    Similar to the function #Ng_RestrictMeshSizePoint, this function 
--    allows the size of elements within a mesh to be locally limited.
--
--    However, rather than limit the mesh size at a single point, this 
--    utility restricts the local mesh size within a 3D Box region, specified 
--    via the co-ordinates of the two diagonally opposite points of a cuboid.
--
--    <b>Note</b>: This function only limits the <b>Maximum</b> size 
--    of the elements within the specified region.
--
--    \param mesh Pointer to an existing Netgen Mesh structure of 
--                type #Ng_Mesh
--    \param pmin Pointer to an Array of type <i>double</i>, containing 
--                the three co-ordinates of the first point of the cuboid: \n
--                - pmin[0] = X co-ordinate
--                - pmin[1] = Y co-ordinate
--                - pmin[2] = Z co-ordinate
--    \param pmax Pointer to an Array of type <i>double</i>, containing 
--                the three co-ordinates of the opposite point of the 
--                cuboid: \n
--                - pmax[0] = X co-ordinate
--                - pmax[1] = Y co-ordinate
--                - pmax[2] = Z co-ordinate
--    \param h    Variable of type <i>double</i>, specifying the maximum
--                allowable mesh size at that point
--*/
--DLL_HEADER void Ng_RestrictMeshSizeBox (Ng_Mesh * mesh, double * pmin, double * pmax, double h);
--
--// ------------------------------------------------------------------
--
--
--
--// ------------------------------------------------------------------
--// 3D Mesh Generation functions
--
--/*! \brief Create a 3D Volume Mesh given a Surface Mesh
--
--    After creating a surface mesh, this function can be utilised 
--    to automatically generate the corresponding 3D Volume Mesh.
--
--    Mesh generation parameters (such as grading, maximum element size, 
--    etc.) are specified via the meshing parameters class which also 
--    needs to be passed to this function.
--
--    <b>Note</b>: Currently, Netgen generates pure tetrahedral volume 
--    meshes.
--
--    \param mesh Pointer to an existing Netgen Mesh structure of 
--                type #Ng_Mesh
--    \param mp   Pointer to a copy of the Meshing Parameters class
--                (#Ng_Meshing_Parameters), filled up with the 
--                required values
--
--    \return Ng_Result Status of the Mesh Generation routine. More 
--                      details regarding the return value can be 
--                      found in the description of #Ng_Result
--*/
--DLL_HEADER Ng_Result Ng_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp);
--
--// ------------------------------------------------------------------
--
--
--
--// ------------------------------------------------------------------
--// Basic Mesh information functions
--
--/*! \brief Returns the Number of Points present in the specified Mesh
--
--    Given an already existent Netgen Mesh Structure, this function 
--    returns the number of points currently present within the Mesh.
--
--    \param mesh Pointer to an existing Netgen Mesh structure of 
--                type #Ng_Mesh
--    \return 
--                Integer Data-type with the number of points in the Mesh
--*/
--DLL_HEADER int Ng_GetNP (Ng_Mesh * mesh);
--
--
--/*! \brief Returns the Number of Surface Elements present in the specified Mesh
--
--    Given an already existent Netgen Mesh Structure, this function 
--    returns the number of surface elements currently present within 
--    the Mesh.
--
--    \param mesh Pointer to an existing Netgen Mesh structure of 
--                type #Ng_Mesh
--    \return 
--                Integer Data-type with the number of surface elements in the Mesh
--*/
--DLL_HEADER int Ng_GetNSE (Ng_Mesh * mesh);
--
--
--/*! \brief Returns the Number of Volume Elements present in the specified Mesh
--
--    Given an already existent Netgen Mesh Structure, this function 
--    returns the number of volume elements currently present within 
--    the Mesh.
--
--    \param mesh Pointer to an existing Netgen Mesh structure of 
--                type #Ng_Mesh
--    \return 
--                Integer Data-type with the number of volume elements in the Mesh
--*/
--DLL_HEADER int Ng_GetNE (Ng_Mesh * mesh);
--
--// ------------------------------------------------------------------
--
--
--
--// ------------------------------------------------------------------
--// Mesh Topology functions
--// Use these functions to extract points, surface / volume elements, 
--// perform topological searches, etc..etc...
--  
--//  Return the Point Coordinates of a specified Point
--// The x, y and z co-ordinates are returned in the array pointer as 
--// x[0] = x ; x[1] = y ; x[2] = z
--DLL_HEADER void Ng_GetPoint (Ng_Mesh * mesh, int num, double * x);
--
--
--
--// return surface and volume element in pi
--DLL_HEADER Ng_Surface_Element_Type 
--Ng_GetSurfaceElement (Ng_Mesh * mesh, int num, int * pi);
--
--DLL_HEADER Ng_Volume_Element_Type
--Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi);
--
--// ------------------------------------------------------------------
--
--
--
--
--// **********************************************************
--// **   2D Meshing                                         **
--// **********************************************************
--
--
--// feeds points and boundary to mesh
--
--DLL_HEADER void Ng_AddPoint_2D (Ng_Mesh * mesh, double * x);
--DLL_HEADER void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2);
--  
--// ask for number of points, elements and boundary segments
--DLL_HEADER int Ng_GetNP_2D (Ng_Mesh * mesh);
--DLL_HEADER int Ng_GetNE_2D (Ng_Mesh * mesh);
--DLL_HEADER int Ng_GetNSeg_2D (Ng_Mesh * mesh);
--  
--//  return point coordinates
--DLL_HEADER void Ng_GetPoint_2D (Ng_Mesh * mesh, int num, double * x);
--
--// return 2d elements
--DLL_HEADER Ng_Surface_Element_Type 
--Ng_GetElement_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum = NULL);
--
--// return 2d boundary segment
--DLL_HEADER void Ng_GetSegment_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum = NULL);
--
--
--// load 2d netgen spline geometry
--DLL_HEADER Ng_Geometry_2D * Ng_LoadGeometry_2D (const char * filename);
--
--// generate 2d mesh, mesh is allocated by function
--DLL_HEADER Ng_Result Ng_GenerateMesh_2D (Ng_Geometry_2D * geom,
--                                         Ng_Mesh ** mesh,
--                                         Ng_Meshing_Parameters * mp);
--  
--DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom,
--                                  Ng_Mesh * mesh,
--                                  int levels);
--  
--
--
--
--
--// **********************************************************
--// **   STL Meshing                                        **
--// **********************************************************
--
--
--// loads geometry from STL file
--DLL_HEADER Ng_STL_Geometry * Ng_STL_LoadGeometry (const char * filename, int binary = 0);
--
--
--// generate new STL Geometry
--DLL_HEADER Ng_STL_Geometry * Ng_STL_NewGeometry ();
--  
--
--// fills STL Geometry
--// positive orientation
--// normal vector may be null-pointer
--DLL_HEADER void Ng_STL_AddTriangle (Ng_STL_Geometry * geom, 
--                         double * p1, double * p2, double * p3, 
--                         double * nv = NULL);
--
--// add (optional) edges :
--DLL_HEADER void Ng_STL_AddEdge (Ng_STL_Geometry * geom, 
--                     double * p1, double * p2);
--
--// after adding triangles (and edges) initialize
--DLL_HEADER Ng_Result Ng_STL_InitSTLGeometry (Ng_STL_Geometry * geom);
--
--// automatically generates edges:
--DLL_HEADER Ng_Result Ng_STL_MakeEdges (Ng_STL_Geometry * geom,
--                            Ng_Mesh* mesh,
--                            Ng_Meshing_Parameters * mp);
--
--
--// generates mesh, empty mesh must be already created.
--DLL_HEADER Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom,
--                                                 Ng_Mesh * mesh,
--                                                 Ng_Meshing_Parameters * mp);
--
--
--#ifdef ACIS
--
--// **********************************************************
--// **   ACIS Meshing                                       **
--// **********************************************************
--
--/// Data type for NETGEN STL geomty
--typedef void * Ng_ACIS_Geometry;
--
--// loads geometry from STL file
--DLL_HEADER Ng_ACIS_Geometry * Ng_ACIS_LoadGeometry (const char * filename);
--  
--// generates mesh, empty mesh must be already created.
--DLL_HEADER Ng_Result Ng_ACIS_GenerateSurfaceMesh (Ng_ACIS_Geometry * geom,
--                                                  Ng_Mesh * mesh,
--                                                  Ng_Meshing_Parameters * mp);
--
--
--#endif
--
--
--
--#ifdef OCCGEOMETRY
--
--// **********************************************************
--// **   OpenCascade Geometry / Meshing Utilities           **
--// **********************************************************
--
--// Create new OCC Geometry Object
--DLL_HEADER Ng_OCC_Geometry * Ng_OCC_NewGeometry ();
--
--// Delete an OCC Geometry Object
--DLL_HEADER Ng_Result Ng_OCC_DeleteGeometry (Ng_OCC_Geometry * geom);
--
--// Loads geometry from STEP file
--DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_STEP (const char * filename);
--
--// Loads geometry from IGES file
--DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_IGES (const char * filename);
--
--// Loads geometry from BREP file
--DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_BREP (const char * filename);
--
--// Set the local mesh size based on geometry / topology
--DLL_HEADER Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom,
--                                              Ng_Mesh * mesh,
--                                              Ng_Meshing_Parameters * mp);
--
--// Mesh the edges and add Face descriptors to prepare for surface meshing
--DLL_HEADER Ng_Result Ng_OCC_GenerateEdgeMesh (Ng_OCC_Geometry * geom,
--                                              Ng_Mesh * mesh,
--                                              Ng_Meshing_Parameters * mp);
--
--// Mesh the surfaces of an OCC geometry
--DLL_HEADER Ng_Result Ng_OCC_GenerateSurfaceMesh (Ng_OCC_Geometry * geom,
--                                                 Ng_Mesh * mesh,
--                                                 Ng_Meshing_Parameters * mp); 
--
--// Get the face map of an already loaded OCC geometry
--DLL_HEADER Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom, 
--                                    Ng_OCC_TopTools_IndexedMapOfShape * FMap);
--
--#endif // OCCGEOMETRY
--
--
--
--// **********************************************************
--// **   Mesh refinement algorithms                         **
--// **********************************************************
--
--// uniform mesh refinement
--DLL_HEADER void Ng_Uniform_Refinement (Ng_Mesh * mesh);
--
--
--// uniform mesh refinement with geometry adaption:
--
--DLL_HEADER void Ng_2D_Uniform_Refinement (Ng_Geometry_2D * geom,
--                                        Ng_Mesh * mesh);
--
--DLL_HEADER void Ng_STL_Uniform_Refinement (Ng_STL_Geometry * geom,
--                                         Ng_Mesh * mesh);
--
--DLL_HEADER void Ng_CSG_Uniform_Refinement (Ng_CSG_Geometry * geom,
--                                         Ng_Mesh * mesh);
--
--#ifdef OCCGEOMETRY
--DLL_HEADER void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom,
--                                         Ng_Mesh * mesh);
--#endif
--
--
--
--// **********************************************************
--// **   Second Order mesh algorithms                       **
--// **********************************************************
--
--// convert mesh to second order
--DLL_HEADER void Ng_Generate_SecondOrder (Ng_Mesh * mesh);
--
--
--// convert mesh to second order with geometry adaption:
--
--DLL_HEADER void Ng_2D_Generate_SecondOrder (Ng_Geometry_2D * geom,
--                                        Ng_Mesh * mesh);
--
--DLL_HEADER void Ng_STL_Generate_SecondOrder (Ng_STL_Geometry * geom,
--                                         Ng_Mesh * mesh);
--
--DLL_HEADER void Ng_CSG_Generate_SecondOrder (Ng_CSG_Geometry * geom,
--                                         Ng_Mesh * mesh);
--
--#ifdef OCCGEOMETRY
--DLL_HEADER void Ng_OCC_Generate_SecondOrder (Ng_OCC_Geometry * geom,
--                                         Ng_Mesh * mesh);
--#endif
--
--
--#endif // NGLIB
-+#ifndef NGLIB
-+#define NGLIB
-+
-+/**************************************************************************/
-+/* File:   nglib.h                                                        */
-+/* Author: Joachim Schoeberl                                              */
-+/* Date:   7. May. 2000                                                   */
-+/**************************************************************************/
-+
-+/*!
-+   \file nglib.h
-+   \brief Library interface to the netgen meshing kernel
-+   \author Joachim Schoeberl
-+   \date 7. May 2000
-+
-+   This header file provides access to the core functionality of the Netgen
-+   Mesher via a library interface, without an interactive User Interface.
-+
-+   The intention of providing these set of functions is to allow system
-+   developers to integrate Netgen into top-level code, to act as the low
-+   level mesh generation / optimisation kernel.
-+*/
-+
-+// Philippose - 14.02.2009
-+// Modifications for creating a DLL in Windows
-+#ifdef WIN32
-+   #if defined NGLIB_EXPORTS || defined nglib_EXPORTS
-+      #define DLL_HEADER   __declspec(dllexport)
-+   #else
-+      #define DLL_HEADER   __declspec(dllimport)
-+   #endif
-+#else
-+   #define DLL_HEADER
-+#endif
-+
-+
-+
-+// ** Constants used within Netgen *********************
-+/// Maximum allowed number of nodes per volume element
-+#define NG_VOLUME_ELEMENT_MAXPOINTS 10
-+
-+/// Maximum allowed number of nodes per surface element
-+#define NG_SURFACE_ELEMENT_MAXPOINTS 8
-+
-+
-+
-+// *** Data-types for accessing Netgen functionality ***
-+/// Data type for NETGEN mesh
-+typedef void * Ng_Mesh;
-+
-+/// Data type for NETGEN CSG geometry
-+typedef void * Ng_CSG_Geometry;
-+
-+/// Data type for NETGEN 2D geometry
-+typedef void * Ng_Geometry_2D;
-+
-+/// Data type for NETGEN STL geometry
-+typedef void * Ng_STL_Geometry;
-+
-+#ifdef OCCGEOMETRY
-+/// Data type for NETGEN OpenCascade geometry
-+typedef void * Ng_OCC_Geometry;
-+typedef void * Ng_OCC_TopTools_IndexedMapOfShape;
-+#endif
-+
-+
-+// *** Special Enum types used within Netgen ***********
-+/// Currently implemented surface element types
-+enum Ng_Surface_Element_Type
-+   { NG_TRIG = 1, NG_QUAD = 2, NG_TRIG6 = 3, NG_QUAD6 = 4, NG_QUAD8 = 5 };
-+
-+/// Currently implemented volume element types
-+enum Ng_Volume_Element_Type
-+   { NG_TET = 1, NG_PYRAMID = 2, NG_PRISM = 3, NG_TET10 = 4 };
-+
-+/// Values returned by Netgen functions
-+enum Ng_Result
-+   {
-+     NG_ERROR               = -1,
-+     NG_OK                  = 0,
-+     NG_SURFACE_INPUT_ERROR = 1,
-+     NG_VOLUME_FAILURE      = 2,
-+     NG_STL_INPUT_ERROR     = 3,
-+     NG_SURFACE_FAILURE     = 4,
-+     NG_FILE_NOT_FOUND      = 5
-+   };
-+
-+
-+
-+// *** Classes required for use within Netgen **********
-+/// Netgen Meshing Parameters class
-+class Ng_Meshing_Parameters
-+{
-+public:
-+   int uselocalh;                      //!< Switch to enable / disable usage of local mesh size modifiers
-+
-+   double maxh;                        //!< Maximum global mesh size allowed
-+   double minh;                        //!< Minimum global mesh size allowed
-+
-+   double fineness;                    //!< Mesh density: 0...1 (0 => coarse; 1 => fine)
-+   double grading;                     //!< Mesh grading: 0...1 (0 => uniform mesh; 1 => aggressive local grading)
-+
-+   double elementsperedge;             //!< Number of elements to generate per edge of the geometry
-+   double elementspercurve;            //!< Elements to generate per curvature radius
-+
-+   int closeedgeenable;                //!< Enable / Disable mesh refinement at close edges
-+   double closeedgefact;               //!< Factor to use for refinement at close edges (larger => finer)
-+
-+   int minedgelenenable;                         //!< Enable / Disable user defined minimum edge length for edge subdivision
-+   double minedgelen;                  //!< Minimum edge length to use while subdividing the edges (default = 1e-4)
-+
-+   int second_order;                   //!< Generate second-order surface and volume elements
-+   int quad_dominated;                 //!< Creates a Quad-dominated mesh
-+
-+   char * meshsize_filename;           //!< Optional external mesh size file
-+
-+   int optsurfmeshenable;              //!< Enable / Disable automatic surface mesh optimization
-+   int optvolmeshenable;               //!< Enable / Disable automatic volume mesh optimization
-+
-+   int optsteps_3d;                     //!< Number of optimize steps to use for 3-D mesh optimization
-+   int optsteps_2d;                     //!< Number of optimize steps to use for 2-D mesh optimization
-+
-+   // Philippose - 13/09/2010
-+   // Added a couple more parameters into the meshing parameters list
-+   // from Netgen into Nglib
-+   int invert_tets;                    //!< Invert all the volume elements
-+   int invert_trigs;                   //!< Invert all the surface triangle elements
-+
-+   int check_overlap;                  //!< Check for overlapping surfaces during Surface meshing
-+   int check_overlapping_boundary;     //!< Check for overlapping surface elements before volume meshing
-+
-+
-+   /*!
-+      Default constructor for the Mesh Parameters class
-+
-+      Note: This constructor initialises the variables in the
-+      class with the following default values
-+      - #uselocalh: 1
-+      - #maxh: 1000.0
-+      - #fineness: 0.5
-+      - #grading: 0.3
-+      - #elementsperedge: 2.0
-+      - #elementspercurve: 2.0
-+      - #closeedgeenable: 0
-+      - #closeedgefact: 2.0
-+      - #secondorder: 0
-+      - #meshsize_filename: null
-+      - #quad_dominated: 0
-+      - #optsurfmeshenable: 1
-+      - #optvolmeshenable: 1
-+      - #optsteps_2d: 3
-+      - #optsteps_3d: 3
-+      - #invert_tets: 0
-+      - #invert_trigs:0
-+      - #check_overlap: 1
-+      - #check_overlapping_boundary: 1
-+   */
-+   DLL_HEADER Ng_Meshing_Parameters();
-+
-+
-+
-+   /*!
-+       Reset the meshing parameters to their defaults
-+
-+       This member function resets all the meshing parameters
-+       of the object to the default values
-+   */
-+   DLL_HEADER void Reset_Parameters();
-+
-+
-+
-+   /*!
-+       Transfer local meshing parameters to internal meshing parameters
-+
-+       This member function transfers all the meshing parameters
-+       defined in the local meshing parameters structure of nglib into
-+       the internal meshing parameters structure used by the Netgen core
-+   */
-+   DLL_HEADER void Transfer_Parameters();
-+};
-+
-+
-+
-+
-+// *** Functions Exported by this Library *************
-+
-+// ------------------------------------------------------------------
-+// Netgen library initialisation / destruction functions
-+
-+/*! \brief Initialise the Netgen library and prepare for use
-+
-+    This function needs to be called by the third-party
-+    program before beginning to use the other Netgen
-+    specific functions.
-+*/
-+DLL_HEADER void Ng_Init ();
-+
-+
-+/*! \brief Exit the Netgen meshing kernel in a clean manner
-+
-+    Use this function to exit the meshing sub-system in
-+    a clean and orderly manner.
-+*/
-+DLL_HEADER void Ng_Exit ();
-+
-+
-+/*! \brief Create a new (and empty) Netgen Mesh Structure
-+
-+    This function creates a new Netgen Mesh, initialises
-+    it, and returns a pointer to the created mesh structure.
-+
-+    Use the returned pointer for subsequent operations
-+    which involve mesh operations.
-+
-+    \return Ng_Mesh Pointer to a Netgen Mesh type #Ng_Mesh
-+*/
-+DLL_HEADER  Ng_Mesh * Ng_NewMesh ();
-+
-+
-+/*! \brief Delete an existing Netgen Mesh Structure
-+
-+    Use this function to delete an existing Netgen mesh
-+    structure and release the used memory.
-+
-+    \param mesh Pointer to an existing Netgen Mesh structure
-+                of type #Ng_Mesh
-+*/
-+DLL_HEADER void Ng_DeleteMesh (Ng_Mesh * mesh);
-+
-+
-+/*! \brief Save a Netgen Mesh to disk
-+
-+    This function allows a generated mesh structure to be saved
-+    to disk.
-+
-+    A Mesh saved using this function, will be written to disk
-+    in the Netgen VOL file format.
-+
-+    \param mesh    Pointer to an existing Netgen Mesh structure
-+                   of type #Ng_Mesh
-+    \param filename Pointer to a character array containing the
-+                    name of the file to which the mesh should
-+                    be saved
-+*/
-+DLL_HEADER void Ng_SaveMesh(Ng_Mesh * mesh, const char* filename);
-+
-+
-+/*! \brief Load a Netgen VOL Mesh from disk into memory
-+
-+    A Netgen mesh saved in the internal VOL format can be loaded
-+    into a Netgen Mesh structure using this function.
-+
-+    \param filename Pointer to a character array containing the
-+                    name of the file to load
-+    \return Ng_Mesh Pointer to a Netgen Mesh type #Ng_Mesh containing
-+                    the mesh loaded from disk
-+*/
-+DLL_HEADER Ng_Mesh * Ng_LoadMesh(const char* filename);
-+
-+
-+/*! \brief Merge a Netgen VOL Mesh from disk into an existing mesh in memory
-+
-+    A Netgen mesh saved in the internal VOL format can be merged
-+    into an existing Netgen Mesh structure using this function.
-+
-+    \param mesh       Name of the Mesh structure already existent in memory
-+    \param filename   Pointer to a character array containing the
-+                      name of the file to load
-+    \return Ng_Result Status of the merge operation
-+*/
-+DLL_HEADER Ng_Result Ng_MergeMesh(Ng_Mesh * mesh, const char* filename);
-+
-+
-+/*! \brief Merge one Netgen Mesh into another Netgen Mesh in the case
-+    when both are already in memory
-+
-+    (NOTE: FUNCTION STILL WORK IN PROGRESS!!!)
-+
-+    This function can be used to merge two Netgen meshes already present
-+    in memory.
-+
-+    \param mesh1      Parent Mesh structure into which the second mesh
-+                      will be merged
-+    \param mesh2      Child mesh structure which will get merged into
-+                      the parent mesh
-+    \return Ng_Result Status of the merge operation
-+*/
-+DLL_HEADER Ng_Result Ng_MergeMesh(Ng_Mesh * mesh1, Ng_Mesh * mesh2);
-+// ------------------------------------------------------------------
-+
-+
-+
-+// ------------------------------------------------------------------
-+// Basic Meshing functions for manually adding points, surface elements
-+// and volume elements to a Netgen Mesh structure
-+
-+/*! \brief Add a point to a given Netgen Mesh Structure
-+
-+    This function allows points to be directly added to a Netgen
-+    mesh structure by providing the co-ordinates.
-+
-+    Each call to the function allows only one point to be added.
-+
-+    \param mesh Pointer to an existing Netgen Mesh structure of
-+                type #Ng_Mesh
-+    \param x    Pointer to an array of type double containing the co-ordinates
-+                of the point to be added in the form: \n
-+                - x[0] = X co-ordinate
-+                - x[1] = Y co-ordinate
-+                - x[2] = Z co-ordinate
-+*/
-+DLL_HEADER void Ng_AddPoint (Ng_Mesh * mesh, double * x);
-+
-+
-+/*! \brief Add a surface element to a given Netgen Mesh Structure
-+
-+    This function allows the top-level code to directly add individual
-+    Surface Elements to a Netgen Mesh Structure by providing the type of
-+    element to be added and the indices of the points which constitute the
-+    element.
-+
-+    <i>Note:</i>
-+    - The points referred to by the surface elements must have been
-+      added prior to calling this function.
-+    - Currently only triangular elements are supported, and the Surface Element
-+      Type argument is not used.
-+
-+    \param mesh Pointer to an existing Netgen Mesh structure of
-+                type #Ng_Mesh
-+    \param et   Surface Element type provided via the enumerated type
-+                #Ng_Surface_Element_Type
-+    \param pi   Pointer to an array of integers containing the indices of the
-+                points which constitute the surface element being added
-+*/
-+DLL_HEADER void Ng_AddSurfaceElement (Ng_Mesh * mesh, Ng_Surface_Element_Type et, int * pi);
-+
-+
-+/*! \brief Add a volume element to a given Netgen Mesh Structure
-+
-+    This function allows the top-level code to directly add individual
-+    Volume Elements to a Netgen Mesh Structure by providing the type of
-+    element to be added and the indices of the points which constitute the
-+    element.
-+
-+    <i>Note:</i>
-+    - The points referred to by the volume elements must have been
-+      added prior to calling this function.
-+    - Currently only tetrahedral elements are supported, and the Volume Element
-+      Type argument is not used.
-+
-+    \param mesh Pointer to an existing Netgen Mesh structure of
-+                type #Ng_Mesh
-+    \param et   Volume Element type provided via the enumerated type
-+                #Ng_Volume_Element_Type
-+    \param pi   Pointer to an array of integers containing the indices of the
-+                points which constitute the volume element being added
-+
-+*/
-+DLL_HEADER void Ng_AddVolumeElement (Ng_Mesh * mesh, Ng_Volume_Element_Type et, int * pi);
-+
-+// ------------------------------------------------------------------
-+
-+
-+
-+// ------------------------------------------------------------------
-+// Local Mesh Size restriction / limiting utilities
-+
-+/*! \brief Apply a global restriction on mesh element size
-+
-+    This utility allows the user to apply a global mesh element
-+    size limitation.
-+
-+    During mesh creation, in the absence of an explicit local
-+    size restriction around the neighbourhood of a point within
-+    the meshing domain, this global size restriction will be
-+    utilised.
-+
-+    <b>Note</b>: This function only limits the <b>Maximum</b>
-+    size of an element within the mesh.
-+
-+    \param mesh Pointer to an existing Netgen Mesh structure of
-+                type #Ng_Mesh
-+    \param h    Variable of type <i>double</i>, specifying the maximum
-+                allowable mesh size
-+*/
-+DLL_HEADER void Ng_RestrictMeshSizeGlobal (Ng_Mesh * mesh, double h);
-+
-+
-+/*! \brief Locally restrict the mesh element size at the given point
-+
-+    Unlike the function #Ng_RestrictMeshSizeGlobal, this function
-+    allows the user to locally restrict the maximum allowable mesh
-+    size at a given point.
-+
-+    The point is specified via its three cartesian co-ordinates.
-+
-+    <b>Note</b>: This function only limits the <b>Maximum</b> size
-+    of the elements around the specified point.
-+
-+    \param mesh Pointer to an existing Netgen Mesh structure of
-+                type #Ng_Mesh
-+    \param p    Pointer to an Array of type <i>double</i>, containing
-+                the three co-ordinates of the point in the form: \n
-+                - p[0] = X co-ordinate
-+                - p[1] = Y co-ordinate
-+                - p[2] = Z co-ordinate
-+    \param h    Variable of type <i>double</i>, specifying the maximum
-+                allowable mesh size at that point
-+*/
-+DLL_HEADER void Ng_RestrictMeshSizePoint (Ng_Mesh * mesh, double * p, double h);
-+
-+
-+/*! \brief Locally restrict the mesh element size within a specified box
-+
-+    Similar to the function #Ng_RestrictMeshSizePoint, this function
-+    allows the size of elements within a mesh to be locally limited.
-+
-+    However, rather than limit the mesh size at a single point, this
-+    utility restricts the local mesh size within a 3D Box region, specified
-+    via the co-ordinates of the two diagonally opposite points of a cuboid.
-+
-+    <b>Note</b>: This function only limits the <b>Maximum</b> size
-+    of the elements within the specified region.
-+
-+    \param mesh Pointer to an existing Netgen Mesh structure of
-+                type #Ng_Mesh
-+    \param pmin Pointer to an Array of type <i>double</i>, containing
-+                the three co-ordinates of the first point of the cuboid: \n
-+                - pmin[0] = X co-ordinate
-+                - pmin[1] = Y co-ordinate
-+                - pmin[2] = Z co-ordinate
-+    \param pmax Pointer to an Array of type <i>double</i>, containing
-+                the three co-ordinates of the opposite point of the
-+                cuboid: \n
-+                - pmax[0] = X co-ordinate
-+                - pmax[1] = Y co-ordinate
-+                - pmax[2] = Z co-ordinate
-+    \param h    Variable of type <i>double</i>, specifying the maximum
-+                allowable mesh size at that point
-+*/
-+DLL_HEADER void Ng_RestrictMeshSizeBox (Ng_Mesh * mesh, double * pmin, double * pmax, double h);
-+
-+// ------------------------------------------------------------------
-+
-+
-+
-+// ------------------------------------------------------------------
-+// 3D Mesh Generation functions
-+
-+/*! \brief Create a 3D Volume Mesh given a Surface Mesh
-+
-+    After creating a surface mesh, this function can be utilised
-+    to automatically generate the corresponding 3D Volume Mesh.
-+
-+    Mesh generation parameters (such as grading, maximum element size,
-+    etc.) are specified via the meshing parameters class which also
-+    needs to be passed to this function.
-+
-+    <b>Note</b>: Currently, Netgen generates pure tetrahedral volume
-+    meshes.
-+
-+    \param mesh Pointer to an existing Netgen Mesh structure of
-+                type #Ng_Mesh
-+    \param mp   Pointer to a copy of the Meshing Parameters class
-+                (#Ng_Meshing_Parameters), filled up with the
-+                required values
-+
-+    \return Ng_Result Status of the Mesh Generation routine. More
-+                      details regarding the return value can be
-+                      found in the description of #Ng_Result
-+*/
-+DLL_HEADER Ng_Result Ng_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp);
-+
-+// ------------------------------------------------------------------
-+
-+
-+
-+// ------------------------------------------------------------------
-+// Basic Mesh information functions
-+
-+/*! \brief Returns the Number of Points present in the specified Mesh
-+
-+    Given an already existent Netgen Mesh Structure, this function
-+    returns the number of points currently present within the Mesh.
-+
-+    \param mesh Pointer to an existing Netgen Mesh structure of
-+                type #Ng_Mesh
-+    \return
-+                Integer Data-type with the number of points in the Mesh
-+*/
-+DLL_HEADER int Ng_GetNP (Ng_Mesh * mesh);
-+
-+
-+/*! \brief Returns the Number of Surface Elements present in the specified Mesh
-+
-+    Given an already existent Netgen Mesh Structure, this function
-+    returns the number of surface elements currently present within
-+    the Mesh.
-+
-+    \param mesh Pointer to an existing Netgen Mesh structure of
-+                type #Ng_Mesh
-+    \return
-+                Integer Data-type with the number of surface elements in the Mesh
-+*/
-+DLL_HEADER int Ng_GetNSE (Ng_Mesh * mesh);
-+
-+
-+/*! \brief Returns the Number of Volume Elements present in the specified Mesh
-+
-+    Given an already existent Netgen Mesh Structure, this function
-+    returns the number of volume elements currently present within
-+    the Mesh.
-+
-+    \param mesh Pointer to an existing Netgen Mesh structure of
-+                type #Ng_Mesh
-+    \return
-+                Integer Data-type with the number of volume elements in the Mesh
-+*/
-+DLL_HEADER int Ng_GetNE (Ng_Mesh * mesh);
-+
-+// ------------------------------------------------------------------
-+
-+
-+
-+// ------------------------------------------------------------------
-+// Mesh Topology functions
-+// Use these functions to extract points, surface / volume elements,
-+// perform topological searches, etc..etc...
-+
-+//  Return the Point Coordinates of a specified Point
-+// The x, y and z co-ordinates are returned in the array pointer as
-+// x[0] = x ; x[1] = y ; x[2] = z
-+DLL_HEADER void Ng_GetPoint (Ng_Mesh * mesh, int num, double * x);
-+
-+
-+
-+// return surface and volume element in pi
-+DLL_HEADER Ng_Surface_Element_Type
-+Ng_GetSurfaceElement (Ng_Mesh * mesh, int num, int * pi);
-+
-+DLL_HEADER Ng_Volume_Element_Type
-+Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi);
-+
-+// ------------------------------------------------------------------
-+
-+
-+
-+
-+// **********************************************************
-+// **   2D Meshing                                         **
-+// **********************************************************
-+
-+
-+// feeds points and boundary to mesh
-+
-+DLL_HEADER void Ng_AddPoint_2D (Ng_Mesh * mesh, double * x);
-+DLL_HEADER void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2);
-+
-+// ask for number of points, elements and boundary segments
-+DLL_HEADER int Ng_GetNP_2D (Ng_Mesh * mesh);
-+DLL_HEADER int Ng_GetNE_2D (Ng_Mesh * mesh);
-+DLL_HEADER int Ng_GetNSeg_2D (Ng_Mesh * mesh);
-+
-+//  return point coordinates
-+DLL_HEADER void Ng_GetPoint_2D (Ng_Mesh * mesh, int num, double * x);
-+
-+// return 2d elements
-+DLL_HEADER Ng_Surface_Element_Type
-+Ng_GetElement_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum = NULL);
-+
-+// return 2d boundary segment
-+DLL_HEADER void Ng_GetSegment_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum = NULL);
-+
-+
-+// load 2d netgen spline geometry
-+DLL_HEADER Ng_Geometry_2D * Ng_LoadGeometry_2D (const char * filename);
-+
-+// generate 2d mesh, mesh is allocated by function
-+DLL_HEADER Ng_Result Ng_GenerateMesh_2D (Ng_Geometry_2D * geom,
-+                                         Ng_Mesh ** mesh,
-+                                         Ng_Meshing_Parameters * mp);
-+
-+DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom,
-+                                  Ng_Mesh * mesh,
-+                                  int levels);
-+
-+
-+
-+
-+
-+// **********************************************************
-+// **   STL Meshing                                        **
-+// **********************************************************
-+
-+
-+// loads geometry from STL file
-+DLL_HEADER Ng_STL_Geometry * Ng_STL_LoadGeometry (const char * filename, int binary = 0);
-+
-+
-+// generate new STL Geometry
-+DLL_HEADER Ng_STL_Geometry * Ng_STL_NewGeometry ();
-+
-+
-+// fills STL Geometry
-+// positive orientation
-+// normal vector may be null-pointer
-+DLL_HEADER void Ng_STL_AddTriangle (Ng_STL_Geometry * geom,
-+                         double * p1, double * p2, double * p3,
-+                         double * nv = NULL);
-+
-+// add (optional) edges :
-+DLL_HEADER void Ng_STL_AddEdge (Ng_STL_Geometry * geom,
-+                     double * p1, double * p2);
-+
-+// after adding triangles (and edges) initialize
-+DLL_HEADER Ng_Result Ng_STL_InitSTLGeometry (Ng_STL_Geometry * geom);
-+
-+// automatically generates edges:
-+DLL_HEADER Ng_Result Ng_STL_MakeEdges (Ng_STL_Geometry * geom,
-+                            Ng_Mesh* mesh,
-+                            Ng_Meshing_Parameters * mp);
-+
-+
-+// generates mesh, empty mesh must be already created.
-+DLL_HEADER Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom,
-+                                                 Ng_Mesh * mesh,
-+                                                 Ng_Meshing_Parameters * mp);
-+
-+
-+#ifdef ACIS
-+
-+// **********************************************************
-+// **   ACIS Meshing                                       **
-+// **********************************************************
-+
-+/// Data type for NETGEN STL geomty
-+typedef void * Ng_ACIS_Geometry;
-+
-+// loads geometry from STL file
-+DLL_HEADER Ng_ACIS_Geometry * Ng_ACIS_LoadGeometry (const char * filename);
-+
-+// generates mesh, empty mesh must be already created.
-+DLL_HEADER Ng_Result Ng_ACIS_GenerateSurfaceMesh (Ng_ACIS_Geometry * geom,
-+                                                  Ng_Mesh * mesh,
-+                                                  Ng_Meshing_Parameters * mp);
-+
-+
-+#endif
-+
-+
-+
-+#ifdef OCCGEOMETRY
-+
-+// **********************************************************
-+// **   OpenCascade Geometry / Meshing Utilities           **
-+// **********************************************************
-+
-+// Create new OCC Geometry Object
-+DLL_HEADER Ng_OCC_Geometry * Ng_OCC_NewGeometry ();
-+
-+// Delete an OCC Geometry Object
-+DLL_HEADER Ng_Result Ng_OCC_DeleteGeometry (Ng_OCC_Geometry * geom);
-+
-+// Loads geometry from STEP file
-+DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_STEP (const char * filename);
-+
-+// Loads geometry from IGES file
-+DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_IGES (const char * filename);
-+
-+// Loads geometry from BREP file
-+DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_BREP (const char * filename);
-+
-+// Set the local mesh size based on geometry / topology
-+DLL_HEADER Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom,
-+                                              Ng_Mesh * mesh,
-+                                              Ng_Meshing_Parameters * mp);
-+
-+// Mesh the edges and add Face descriptors to prepare for surface meshing
-+DLL_HEADER Ng_Result Ng_OCC_GenerateEdgeMesh (Ng_OCC_Geometry * geom,
-+                                              Ng_Mesh * mesh,
-+                                              Ng_Meshing_Parameters * mp);
-+
-+// Mesh the surfaces of an OCC geometry
-+DLL_HEADER Ng_Result Ng_OCC_GenerateSurfaceMesh (Ng_OCC_Geometry * geom,
-+                                                 Ng_Mesh * mesh,
-+                                                 Ng_Meshing_Parameters * mp);
-+
-+// Get the face map of an already loaded OCC geometry
-+DLL_HEADER Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom,
-+                                    Ng_OCC_TopTools_IndexedMapOfShape * FMap);
-+
-+#endif // OCCGEOMETRY
-+
-+
-+
-+// **********************************************************
-+// **   Mesh refinement algorithms                         **
-+// **********************************************************
-+
-+// uniform mesh refinement
-+DLL_HEADER void Ng_Uniform_Refinement (Ng_Mesh * mesh);
-+
-+
-+// uniform mesh refinement with geometry adaption:
-+
-+DLL_HEADER void Ng_2D_Uniform_Refinement (Ng_Geometry_2D * geom,
-+                                        Ng_Mesh * mesh);
-+
-+DLL_HEADER void Ng_STL_Uniform_Refinement (Ng_STL_Geometry * geom,
-+                                         Ng_Mesh * mesh);
-+
-+DLL_HEADER void Ng_CSG_Uniform_Refinement (Ng_CSG_Geometry * geom,
-+                                         Ng_Mesh * mesh);
-+
-+#ifdef OCCGEOMETRY
-+DLL_HEADER void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom,
-+                                         Ng_Mesh * mesh);
-+#endif
-+
-+
-+
-+// **********************************************************
-+// **   Second Order mesh algorithms                       **
-+// **********************************************************
-+
-+// convert mesh to second order
-+DLL_HEADER void Ng_Generate_SecondOrder (Ng_Mesh * mesh);
-+
-+
-+// convert mesh to second order with geometry adaption:
-+
-+DLL_HEADER void Ng_2D_Generate_SecondOrder (Ng_Geometry_2D * geom,
-+                                        Ng_Mesh * mesh);
-+
-+DLL_HEADER void Ng_STL_Generate_SecondOrder (Ng_STL_Geometry * geom,
-+                                         Ng_Mesh * mesh);
-+
-+DLL_HEADER void Ng_CSG_Generate_SecondOrder (Ng_CSG_Geometry * geom,
-+                                         Ng_Mesh * mesh);
-+
-+#ifdef OCCGEOMETRY
-+DLL_HEADER void Ng_OCC_Generate_SecondOrder (Ng_OCC_Geometry * geom,
-+                                         Ng_Mesh * mesh);
-+#endif
-+
-+
-+#endif // NGLIB
-diff -Naur netgen-5.3.1_SRC_orig/tutorials/frame.step netgen-5.3.1_SRC_modif/tutorials/frame.step
---- netgen-5.3.1_SRC_orig/tutorials/frame.step 2014-08-29 13:53:58.000000000 +0400
-+++ netgen-5.3.1_SRC_modif/tutorials/frame.step        2018-03-01 15:44:37.254254730 +0300
-@@ -1,11683 +1,11683 @@
--ISO-10303-21;
--HEADER;
--FILE_DESCRIPTION((''),'2;1');
--FILE_NAME('PROESOURCE','2002-11-04T',('user-01'),(''),
--'PRO/ENGINEER BY PARAMETRIC TECHNOLOGY CORPORATION, 2002060',
--'PRO/ENGINEER BY PARAMETRIC TECHNOLOGY CORPORATION, 2002060','');
--FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
--ENDSEC;
--DATA;
--#1=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2=VECTOR('',#1,1.693725393319E1);
--#3=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0));
--#4=LINE('',#3,#2);
--#5=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6=VECTOR('',#5,9.E0);
--#7=CARTESIAN_POINT('',(1.65E1,0.E0,2.5E0));
--#8=LINE('',#7,#6);
--#9=CARTESIAN_POINT('',(1.8E1,0.E0,3.075E1));
--#10=DIRECTION('',(0.E0,-1.E0,0.E0));
--#11=DIRECTION('',(1.E0,0.E0,0.E0));
--#12=AXIS2_PLACEMENT_3D('',#9,#10,#11);
--#14=CARTESIAN_POINT('',(1.8E1,0.E0,3.075E1));
--#15=DIRECTION('',(0.E0,-1.E0,0.E0));
--#16=DIRECTION('',(-1.E0,0.E0,0.E0));
--#17=AXIS2_PLACEMENT_3D('',#14,#15,#16);
--#19=CARTESIAN_POINT('',(1.8E1,0.E0,1.25E0));
--#20=DIRECTION('',(0.E0,-1.E0,0.E0));
--#21=DIRECTION('',(1.E0,0.E0,0.E0));
--#22=AXIS2_PLACEMENT_3D('',#19,#20,#21);
--#24=CARTESIAN_POINT('',(1.8E1,0.E0,1.25E0));
--#25=DIRECTION('',(0.E0,-1.E0,0.E0));
--#26=DIRECTION('',(-1.E0,0.E0,0.E0));
--#27=AXIS2_PLACEMENT_3D('',#24,#25,#26);
--#29=CARTESIAN_POINT('',(1.2E1,0.E0,3.075E1));
--#30=DIRECTION('',(0.E0,-1.E0,0.E0));
--#31=DIRECTION('',(1.E0,0.E0,0.E0));
--#32=AXIS2_PLACEMENT_3D('',#29,#30,#31);
--#34=CARTESIAN_POINT('',(1.2E1,0.E0,3.075E1));
--#35=DIRECTION('',(0.E0,-1.E0,0.E0));
--#36=DIRECTION('',(-1.E0,0.E0,0.E0));
--#37=AXIS2_PLACEMENT_3D('',#34,#35,#36);
--#39=CARTESIAN_POINT('',(6.E0,0.E0,3.075E1));
--#40=DIRECTION('',(0.E0,-1.E0,0.E0));
--#41=DIRECTION('',(1.E0,0.E0,0.E0));
--#42=AXIS2_PLACEMENT_3D('',#39,#40,#41);
--#44=CARTESIAN_POINT('',(6.E0,0.E0,3.075E1));
--#45=DIRECTION('',(0.E0,-1.E0,0.E0));
--#46=DIRECTION('',(-1.E0,0.E0,0.E0));
--#47=AXIS2_PLACEMENT_3D('',#44,#45,#46);
--#49=CARTESIAN_POINT('',(1.2E1,0.E0,1.25E0));
--#50=DIRECTION('',(0.E0,-1.E0,0.E0));
--#51=DIRECTION('',(1.E0,0.E0,0.E0));
--#52=AXIS2_PLACEMENT_3D('',#49,#50,#51);
--#54=CARTESIAN_POINT('',(1.2E1,0.E0,1.25E0));
--#55=DIRECTION('',(0.E0,-1.E0,0.E0));
--#56=DIRECTION('',(-1.E0,0.E0,0.E0));
--#57=AXIS2_PLACEMENT_3D('',#54,#55,#56);
--#59=CARTESIAN_POINT('',(2.2875E1,0.E0,2.4E1));
--#60=DIRECTION('',(0.E0,-1.E0,0.E0));
--#61=DIRECTION('',(1.E0,0.E0,0.E0));
--#62=AXIS2_PLACEMENT_3D('',#59,#60,#61);
--#64=CARTESIAN_POINT('',(2.2875E1,0.E0,2.4E1));
--#65=DIRECTION('',(0.E0,-1.E0,0.E0));
--#66=DIRECTION('',(-1.E0,0.E0,0.E0));
--#67=AXIS2_PLACEMENT_3D('',#64,#65,#66);
--#69=CARTESIAN_POINT('',(2.2875E1,0.E0,1.8E1));
--#70=DIRECTION('',(0.E0,-1.E0,0.E0));
--#71=DIRECTION('',(1.E0,0.E0,0.E0));
--#72=AXIS2_PLACEMENT_3D('',#69,#70,#71);
--#74=CARTESIAN_POINT('',(2.2875E1,0.E0,1.8E1));
--#75=DIRECTION('',(0.E0,-1.E0,0.E0));
--#76=DIRECTION('',(-1.E0,0.E0,0.E0));
--#77=AXIS2_PLACEMENT_3D('',#74,#75,#76);
--#79=CARTESIAN_POINT('',(2.2875E1,0.E0,1.2E1));
--#80=DIRECTION('',(0.E0,-1.E0,0.E0));
--#81=DIRECTION('',(1.E0,0.E0,0.E0));
--#82=AXIS2_PLACEMENT_3D('',#79,#80,#81);
--#84=CARTESIAN_POINT('',(2.2875E1,0.E0,1.2E1));
--#85=DIRECTION('',(0.E0,-1.E0,0.E0));
--#86=DIRECTION('',(-1.E0,0.E0,0.E0));
--#87=AXIS2_PLACEMENT_3D('',#84,#85,#86);
--#89=CARTESIAN_POINT('',(2.2875E1,0.E0,6.E0));
--#90=DIRECTION('',(0.E0,-1.E0,0.E0));
--#91=DIRECTION('',(1.E0,0.E0,0.E0));
--#92=AXIS2_PLACEMENT_3D('',#89,#90,#91);
--#94=CARTESIAN_POINT('',(2.2875E1,0.E0,6.E0));
--#95=DIRECTION('',(0.E0,-1.E0,0.E0));
--#96=DIRECTION('',(-1.E0,0.E0,0.E0));
--#97=AXIS2_PLACEMENT_3D('',#94,#95,#96);
--#99=CARTESIAN_POINT('',(1.125E0,0.E0,2.4E1));
--#100=DIRECTION('',(0.E0,-1.E0,0.E0));
--#101=DIRECTION('',(1.E0,0.E0,0.E0));
--#102=AXIS2_PLACEMENT_3D('',#99,#100,#101);
--#104=CARTESIAN_POINT('',(1.125E0,0.E0,2.4E1));
--#105=DIRECTION('',(0.E0,-1.E0,0.E0));
--#106=DIRECTION('',(-1.E0,0.E0,0.E0));
--#107=AXIS2_PLACEMENT_3D('',#104,#105,#106);
--#109=CARTESIAN_POINT('',(1.125E0,0.E0,1.8E1));
--#110=DIRECTION('',(0.E0,-1.E0,0.E0));
--#111=DIRECTION('',(1.E0,0.E0,0.E0));
--#112=AXIS2_PLACEMENT_3D('',#109,#110,#111);
--#114=CARTESIAN_POINT('',(1.125E0,0.E0,1.8E1));
--#115=DIRECTION('',(0.E0,-1.E0,0.E0));
--#116=DIRECTION('',(-1.E0,0.E0,0.E0));
--#117=AXIS2_PLACEMENT_3D('',#114,#115,#116);
--#119=CARTESIAN_POINT('',(1.125E0,0.E0,1.2E1));
--#120=DIRECTION('',(0.E0,-1.E0,0.E0));
--#121=DIRECTION('',(1.E0,0.E0,0.E0));
--#122=AXIS2_PLACEMENT_3D('',#119,#120,#121);
--#124=CARTESIAN_POINT('',(1.125E0,0.E0,1.2E1));
--#125=DIRECTION('',(0.E0,-1.E0,0.E0));
--#126=DIRECTION('',(-1.E0,0.E0,0.E0));
--#127=AXIS2_PLACEMENT_3D('',#124,#125,#126);
--#129=DIRECTION('',(1.E0,0.E0,0.E0));
--#130=VECTOR('',#129,1.E0);
--#131=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0));
--#132=LINE('',#131,#130);
--#133=DIRECTION('',(0.E0,0.E0,-1.E0));
--#134=VECTOR('',#133,3.E0);
--#135=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0));
--#136=LINE('',#135,#134);
--#137=DIRECTION('',(-1.E0,0.E0,0.E0));
--#138=VECTOR('',#137,1.6E1);
--#139=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
--#140=LINE('',#139,#138);
--#141=DIRECTION('',(0.E0,0.E0,1.E0));
--#142=VECTOR('',#141,3.E0);
--#143=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
--#144=LINE('',#143,#142);
--#145=DIRECTION('',(-1.E0,0.E0,0.E0));
--#146=VECTOR('',#145,1.E0);
--#147=CARTESIAN_POINT('',(-1.E0,0.E0,8.E0));
--#148=LINE('',#147,#146);
--#149=DIRECTION('',(0.E0,0.E0,1.E0));
--#150=VECTOR('',#149,3.75E0);
--#151=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0));
--#152=LINE('',#151,#150);
--#153=DIRECTION('',(1.E0,0.E0,0.E0));
--#154=VECTOR('',#153,5.E-1);
--#155=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
--#156=LINE('',#155,#154);
--#157=DIRECTION('',(0.E0,0.E0,1.E0));
--#158=VECTOR('',#157,1.475E1);
--#159=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1));
--#160=LINE('',#159,#158);
--#161=DIRECTION('',(1.E0,0.E0,0.E0));
--#162=VECTOR('',#161,1.6E1);
--#163=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
--#164=LINE('',#163,#162);
--#165=DIRECTION('',(0.E0,0.E0,-1.E0));
--#166=VECTOR('',#165,1.475E1);
--#167=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
--#168=LINE('',#167,#166);
--#169=DIRECTION('',(-1.E0,0.E0,0.E0));
--#170=VECTOR('',#169,5.E-1);
--#171=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1));
--#172=LINE('',#171,#170);
--#173=DIRECTION('',(0.E0,0.E0,1.E0));
--#174=VECTOR('',#173,3.75E0);
--#175=CARTESIAN_POINT('',(2.6E1,0.E0,8.E0));
--#176=LINE('',#175,#174);
--#177=CARTESIAN_POINT('',(1.125E0,0.E0,6.E0));
--#178=DIRECTION('',(0.E0,-1.E0,0.E0));
--#179=DIRECTION('',(1.E0,0.E0,0.E0));
--#180=AXIS2_PLACEMENT_3D('',#177,#178,#179);
--#182=CARTESIAN_POINT('',(1.125E0,0.E0,6.E0));
--#183=DIRECTION('',(0.E0,-1.E0,0.E0));
--#184=DIRECTION('',(-1.E0,0.E0,0.E0));
--#185=AXIS2_PLACEMENT_3D('',#182,#183,#184);
--#187=CARTESIAN_POINT('',(6.E0,0.E0,1.25E0));
--#188=DIRECTION('',(0.E0,-1.E0,0.E0));
--#189=DIRECTION('',(1.E0,0.E0,0.E0));
--#190=AXIS2_PLACEMENT_3D('',#187,#188,#189);
--#192=CARTESIAN_POINT('',(6.E0,0.E0,1.25E0));
--#193=DIRECTION('',(0.E0,-1.E0,0.E0));
--#194=DIRECTION('',(-1.E0,0.E0,0.E0));
--#195=AXIS2_PLACEMENT_3D('',#192,#193,#194);
--#197=DIRECTION('',(1.E0,0.E0,0.E0));
--#198=VECTOR('',#197,1.3E1);
--#199=CARTESIAN_POINT('',(5.5E0,0.E0,1.89375E1));
--#200=LINE('',#199,#198);
--#201=DIRECTION('',(0.E0,0.E0,-1.E0));
--#202=VECTOR('',#201,2.5625E0);
--#203=CARTESIAN_POINT('',(2.15E1,0.E0,2.45E1));
--#204=LINE('',#203,#202);
--#205=DIRECTION('',(1.E0,0.E0,0.E0));
--#206=VECTOR('',#205,9.E0);
--#207=CARTESIAN_POINT('',(7.5E0,0.E0,2.95E1));
--#208=LINE('',#207,#206);
--#209=DIRECTION('',(0.E0,0.E0,1.E0));
--#210=VECTOR('',#209,2.5625E0);
--#211=CARTESIAN_POINT('',(2.5E0,0.E0,2.19375E1));
--#212=LINE('',#211,#210);
--#213=DIRECTION('',(0.E0,0.E0,-1.E0));
--#214=VECTOR('',#213,8.125E-1);
--#215=CARTESIAN_POINT('',(2.15E1,0.E0,1.40625E1));
--#216=LINE('',#215,#214);
--#217=DIRECTION('',(-1.E0,0.E0,0.E0));
--#218=VECTOR('',#217,1.3E1);
--#219=CARTESIAN_POINT('',(1.85E1,0.E0,1.70625E1));
--#220=LINE('',#219,#218);
--#221=DIRECTION('',(0.E0,0.E0,1.E0));
--#222=VECTOR('',#221,8.125E-1);
--#223=CARTESIAN_POINT('',(2.5E0,0.E0,1.325E1));
--#224=LINE('',#223,#222);
--#225=DIRECTION('',(1.E0,0.E0,0.E0));
--#226=VECTOR('',#225,1.E0);
--#227=CARTESIAN_POINT('',(3.5E0,0.E0,1.225E1));
--#228=LINE('',#227,#226);
--#229=DIRECTION('',(0.E0,0.E0,-1.E0));
--#230=VECTOR('',#229,7.5E-1);
--#231=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
--#232=LINE('',#231,#230);
--#233=DIRECTION('',(1.E0,0.E0,0.E0));
--#234=VECTOR('',#233,1.2E1);
--#235=CARTESIAN_POINT('',(6.E0,0.E0,1.E1));
--#236=LINE('',#235,#234);
--#237=DIRECTION('',(0.E0,0.E0,-1.E0));
--#238=VECTOR('',#237,7.5E-1);
--#239=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1));
--#240=LINE('',#239,#238);
--#241=DIRECTION('',(-1.E0,0.E0,0.E0));
--#242=VECTOR('',#241,1.E0);
--#243=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1));
--#244=LINE('',#243,#242);
--#245=CARTESIAN_POINT('',(6.E0,0.E0,9.E0));
--#246=DIRECTION('',(0.E0,-1.E0,0.E0));
--#247=DIRECTION('',(1.E0,0.E0,0.E0));
--#248=AXIS2_PLACEMENT_3D('',#245,#246,#247);
--#250=CARTESIAN_POINT('',(6.E0,0.E0,9.E0));
--#251=DIRECTION('',(0.E0,-1.E0,0.E0));
--#252=DIRECTION('',(-1.E0,0.E0,0.E0));
--#253=AXIS2_PLACEMENT_3D('',#250,#251,#252);
--#255=CARTESIAN_POINT('',(1.2E1,0.E0,9.E0));
--#256=DIRECTION('',(0.E0,-1.E0,0.E0));
--#257=DIRECTION('',(1.E0,0.E0,0.E0));
--#258=AXIS2_PLACEMENT_3D('',#255,#256,#257);
--#260=CARTESIAN_POINT('',(1.2E1,0.E0,9.E0));
--#261=DIRECTION('',(0.E0,-1.E0,0.E0));
--#262=DIRECTION('',(-1.E0,0.E0,0.E0));
--#263=AXIS2_PLACEMENT_3D('',#260,#261,#262);
--#265=CARTESIAN_POINT('',(1.8E1,0.E0,9.E0));
--#266=DIRECTION('',(0.E0,-1.E0,0.E0));
--#267=DIRECTION('',(1.E0,0.E0,0.E0));
--#268=AXIS2_PLACEMENT_3D('',#265,#266,#267);
--#270=CARTESIAN_POINT('',(1.8E1,0.E0,9.E0));
--#271=DIRECTION('',(0.E0,-1.E0,0.E0));
--#272=DIRECTION('',(-1.E0,0.E0,0.E0));
--#273=AXIS2_PLACEMENT_3D('',#270,#271,#272);
--#275=CARTESIAN_POINT('',(6.E0,0.E0,1.8E1));
--#276=DIRECTION('',(0.E0,-1.E0,0.E0));
--#277=DIRECTION('',(1.E0,0.E0,0.E0));
--#278=AXIS2_PLACEMENT_3D('',#275,#276,#277);
--#280=CARTESIAN_POINT('',(6.E0,0.E0,1.8E1));
--#281=DIRECTION('',(0.E0,-1.E0,0.E0));
--#282=DIRECTION('',(-1.E0,0.E0,0.E0));
--#283=AXIS2_PLACEMENT_3D('',#280,#281,#282);
--#285=CARTESIAN_POINT('',(1.2E1,0.E0,1.8E1));
--#286=DIRECTION('',(0.E0,-1.E0,0.E0));
--#287=DIRECTION('',(1.E0,0.E0,0.E0));
--#288=AXIS2_PLACEMENT_3D('',#285,#286,#287);
--#290=CARTESIAN_POINT('',(1.2E1,0.E0,1.8E1));
--#291=DIRECTION('',(0.E0,-1.E0,0.E0));
--#292=DIRECTION('',(-1.E0,0.E0,0.E0));
--#293=AXIS2_PLACEMENT_3D('',#290,#291,#292);
--#295=CARTESIAN_POINT('',(1.8E1,0.E0,1.8E1));
--#296=DIRECTION('',(0.E0,-1.E0,0.E0));
--#297=DIRECTION('',(1.E0,0.E0,0.E0));
--#298=AXIS2_PLACEMENT_3D('',#295,#296,#297);
--#300=CARTESIAN_POINT('',(1.8E1,0.E0,1.8E1));
--#301=DIRECTION('',(0.E0,-1.E0,0.E0));
--#302=DIRECTION('',(-1.E0,0.E0,0.E0));
--#303=AXIS2_PLACEMENT_3D('',#300,#301,#302);
--#305=DIRECTION('',(1.E0,0.E0,0.E0));
--#306=VECTOR('',#305,3.E0);
--#307=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1));
--#308=LINE('',#307,#306);
--#309=CARTESIAN_POINT('',(1.05E1,0.E0,1.25E0));
--#310=DIRECTION('',(0.E0,-1.E0,0.E0));
--#311=DIRECTION('',(0.E0,0.E0,-1.E0));
--#312=AXIS2_PLACEMENT_3D('',#309,#310,#311);
--#314=DIRECTION('',(-1.E0,0.E0,0.E0));
--#315=VECTOR('',#314,3.E0);
--#316=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0));
--#317=LINE('',#316,#315);
--#318=CARTESIAN_POINT('',(7.5E0,0.E0,1.25E0));
--#319=DIRECTION('',(0.E0,-1.E0,0.E0));
--#320=DIRECTION('',(0.E0,0.E0,1.E0));
--#321=AXIS2_PLACEMENT_3D('',#318,#319,#320);
--#323=CARTESIAN_POINT('',(1.61E0,0.E0,4.5E0));
--#324=DIRECTION('',(0.E0,-1.E0,0.E0));
--#325=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1));
--#326=AXIS2_PLACEMENT_3D('',#323,#324,#325);
--#328=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
--#329=VECTOR('',#328,4.263248410977E0);
--#330=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0));
--#331=LINE('',#330,#329);
--#332=CARTESIAN_POINT('',(4.553039342392E0,0.E0,1.645354088550E0));
--#333=DIRECTION('',(0.E0,-1.E0,0.E0));
--#334=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
--#335=AXIS2_PLACEMENT_3D('',#332,#333,#334);
--#337=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0));
--#338=DIRECTION('',(0.E0,-1.E0,0.E0));
--#339=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1));
--#340=AXIS2_PLACEMENT_3D('',#337,#338,#339);
--#342=DIRECTION('',(0.E0,0.E0,-1.E0));
--#343=VECTOR('',#342,3.15E-1);
--#344=CARTESIAN_POINT('',(6.9E-1,0.E0,7.815E0));
--#345=LINE('',#344,#343);
--#346=CARTESIAN_POINT('',(1.25125E0,0.E0,7.5E0));
--#347=DIRECTION('',(0.E0,-1.E0,0.E0));
--#348=DIRECTION('',(-1.E0,0.E0,0.E0));
--#349=AXIS2_PLACEMENT_3D('',#346,#347,#348);
--#351=DIRECTION('',(0.E0,0.E0,1.E0));
--#352=VECTOR('',#351,3.15E-1);
--#353=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0));
--#354=LINE('',#353,#352);
--#355=DIRECTION('',(1.E0,0.E0,0.E0));
--#356=VECTOR('',#355,7.5E-1);
--#357=CARTESIAN_POINT('',(2.6875E0,0.E0,8.69E0));
--#358=LINE('',#357,#356);
--#359=DIRECTION('',(0.E0,0.E0,1.E0));
--#360=VECTOR('',#359,8.1E-1);
--#361=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0));
--#362=LINE('',#361,#360);
--#363=DIRECTION('',(-1.E0,0.E0,0.E0));
--#364=VECTOR('',#363,3.875E0);
--#365=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1));
--#366=LINE('',#365,#364);
--#367=DIRECTION('',(0.E0,0.E0,-1.E0));
--#368=VECTOR('',#367,8.1E-1);
--#369=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1));
--#370=LINE('',#369,#368);
--#371=DIRECTION('',(1.E0,0.E0,0.E0));
--#372=VECTOR('',#371,2.525E-1);
--#373=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0));
--#374=LINE('',#373,#372);
--#375=DIRECTION('',(0.E0,0.E0,-1.E0));
--#376=VECTOR('',#375,3.E0);
--#377=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1));
--#378=LINE('',#377,#376);
--#379=CARTESIAN_POINT('',(1.25E0,0.E0,1.35E1));
--#380=DIRECTION('',(0.E0,-1.E0,0.E0));
--#381=DIRECTION('',(-1.E0,0.E0,0.E0));
--#382=AXIS2_PLACEMENT_3D('',#379,#380,#381);
--#384=DIRECTION('',(0.E0,0.E0,1.E0));
--#385=VECTOR('',#384,3.E0);
--#386=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1));
--#387=LINE('',#386,#385);
--#388=CARTESIAN_POINT('',(1.25E0,0.E0,1.65E1));
--#389=DIRECTION('',(0.E0,-1.E0,0.E0));
--#390=DIRECTION('',(1.E0,0.E0,0.E0));
--#391=AXIS2_PLACEMENT_3D('',#388,#389,#390);
--#393=DIRECTION('',(0.E0,0.E0,-1.E0));
--#394=VECTOR('',#393,3.E0);
--#395=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1));
--#396=LINE('',#395,#394);
--#397=CARTESIAN_POINT('',(1.25E0,0.E0,1.95E1));
--#398=DIRECTION('',(0.E0,-1.E0,0.E0));
--#399=DIRECTION('',(-1.E0,0.E0,0.E0));
--#400=AXIS2_PLACEMENT_3D('',#397,#398,#399);
--#402=DIRECTION('',(0.E0,0.E0,1.E0));
--#403=VECTOR('',#402,3.E0);
--#404=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1));
--#405=LINE('',#404,#403);
--#406=CARTESIAN_POINT('',(1.25E0,0.E0,2.25E1));
--#407=DIRECTION('',(0.E0,-1.E0,0.E0));
--#408=DIRECTION('',(1.E0,0.E0,0.E0));
--#409=AXIS2_PLACEMENT_3D('',#406,#407,#408);
--#411=DIRECTION('',(1.E0,0.E0,0.E0));
--#412=VECTOR('',#411,3.E0);
--#413=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0));
--#414=LINE('',#413,#412);
--#415=CARTESIAN_POINT('',(1.05E1,0.E0,9.E0));
--#416=DIRECTION('',(0.E0,-1.E0,0.E0));
--#417=DIRECTION('',(0.E0,0.E0,-1.E0));
--#418=AXIS2_PLACEMENT_3D('',#415,#416,#417);
--#420=DIRECTION('',(-1.E0,0.E0,0.E0));
--#421=VECTOR('',#420,3.E0);
--#422=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0));
--#423=LINE('',#422,#421);
--#424=CARTESIAN_POINT('',(7.5E0,0.E0,9.E0));
--#425=DIRECTION('',(0.E0,-1.E0,0.E0));
--#426=DIRECTION('',(0.E0,0.E0,1.E0));
--#427=AXIS2_PLACEMENT_3D('',#424,#425,#426);
--#429=DIRECTION('',(1.E0,0.E0,0.E0));
--#430=VECTOR('',#429,3.E0);
--#431=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1));
--#432=LINE('',#431,#430);
--#433=CARTESIAN_POINT('',(1.05E1,0.E0,1.8E1));
--#434=DIRECTION('',(0.E0,-1.E0,0.E0));
--#435=DIRECTION('',(0.E0,0.E0,-1.E0));
--#436=AXIS2_PLACEMENT_3D('',#433,#434,#435);
--#438=DIRECTION('',(-1.E0,0.E0,0.E0));
--#439=VECTOR('',#438,3.E0);
--#440=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1));
--#441=LINE('',#440,#439);
--#442=CARTESIAN_POINT('',(7.5E0,0.E0,1.8E1));
--#443=DIRECTION('',(0.E0,-1.E0,0.E0));
--#444=DIRECTION('',(0.E0,0.E0,1.E0));
--#445=AXIS2_PLACEMENT_3D('',#442,#443,#444);
--#447=DIRECTION('',(1.E0,0.E0,0.E0));
--#448=VECTOR('',#447,3.E0);
--#449=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1));
--#450=LINE('',#449,#448);
--#451=CARTESIAN_POINT('',(7.5E0,0.E0,3.075E1));
--#452=DIRECTION('',(0.E0,1.E0,0.E0));
--#453=DIRECTION('',(0.E0,0.E0,-1.E0));
--#454=AXIS2_PLACEMENT_3D('',#451,#452,#453);
--#456=DIRECTION('',(-1.E0,0.E0,0.E0));
--#457=VECTOR('',#456,3.E0);
--#458=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1));
--#459=LINE('',#458,#457);
--#460=CARTESIAN_POINT('',(1.05E1,0.E0,3.075E1));
--#461=DIRECTION('',(0.E0,1.E0,0.E0));
--#462=DIRECTION('',(0.E0,0.E0,1.E0));
--#463=AXIS2_PLACEMENT_3D('',#460,#461,#462);
--#465=DIRECTION('',(-1.E0,0.E0,0.E0));
--#466=VECTOR('',#465,3.E0);
--#467=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1));
--#468=LINE('',#467,#466);
--#469=CARTESIAN_POINT('',(1.65E1,0.E0,1.25E0));
--#470=DIRECTION('',(0.E0,1.E0,0.E0));
--#471=DIRECTION('',(0.E0,0.E0,1.E0));
--#472=AXIS2_PLACEMENT_3D('',#469,#470,#471);
--#474=DIRECTION('',(1.E0,0.E0,0.E0));
--#475=VECTOR('',#474,3.E0);
--#476=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0));
--#477=LINE('',#476,#475);
--#478=CARTESIAN_POINT('',(1.35E1,0.E0,1.25E0));
--#479=DIRECTION('',(0.E0,1.E0,0.E0));
--#480=DIRECTION('',(0.E0,0.E0,-1.E0));
--#481=AXIS2_PLACEMENT_3D('',#478,#479,#480);
--#483=DIRECTION('',(0.E0,0.E0,-1.E0));
--#484=VECTOR('',#483,3.E0);
--#485=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1));
--#486=LINE('',#485,#484);
--#487=CARTESIAN_POINT('',(2.275E1,0.E0,1.65E1));
--#488=DIRECTION('',(0.E0,1.E0,0.E0));
--#489=DIRECTION('',(-1.E0,0.E0,0.E0));
--#490=AXIS2_PLACEMENT_3D('',#487,#488,#489);
--#492=DIRECTION('',(0.E0,0.E0,1.E0));
--#493=VECTOR('',#492,3.E0);
--#494=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1));
--#495=LINE('',#494,#493);
--#496=CARTESIAN_POINT('',(2.275E1,0.E0,1.35E1));
--#497=DIRECTION('',(0.E0,1.E0,0.E0));
--#498=DIRECTION('',(1.E0,0.E0,0.E0));
--#499=AXIS2_PLACEMENT_3D('',#496,#497,#498);
--#501=DIRECTION('',(0.E0,0.E0,-1.E0));
--#502=VECTOR('',#501,3.E0);
--#503=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1));
--#504=LINE('',#503,#502);
--#505=CARTESIAN_POINT('',(2.275E1,0.E0,2.25E1));
--#506=DIRECTION('',(0.E0,1.E0,0.E0));
--#507=DIRECTION('',(-1.E0,0.E0,0.E0));
--#508=AXIS2_PLACEMENT_3D('',#505,#506,#507);
--#510=DIRECTION('',(0.E0,0.E0,1.E0));
--#511=VECTOR('',#510,3.E0);
--#512=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1));
--#513=LINE('',#512,#511);
--#514=CARTESIAN_POINT('',(2.275E1,0.E0,1.95E1));
--#515=DIRECTION('',(0.E0,1.E0,0.E0));
--#516=DIRECTION('',(1.E0,0.E0,0.E0));
--#517=AXIS2_PLACEMENT_3D('',#514,#515,#516);
--#519=DIRECTION('',(-1.E0,0.E0,0.E0));
--#520=VECTOR('',#519,3.E0);
--#521=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0));
--#522=LINE('',#521,#520);
--#523=CARTESIAN_POINT('',(1.65E1,0.E0,9.E0));
--#524=DIRECTION('',(0.E0,1.E0,0.E0));
--#525=DIRECTION('',(0.E0,0.E0,1.E0));
--#526=AXIS2_PLACEMENT_3D('',#523,#524,#525);
--#528=DIRECTION('',(1.E0,0.E0,0.E0));
--#529=VECTOR('',#528,3.E0);
--#530=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0));
--#531=LINE('',#530,#529);
--#532=CARTESIAN_POINT('',(1.35E1,0.E0,9.E0));
--#533=DIRECTION('',(0.E0,1.E0,0.E0));
--#534=DIRECTION('',(0.E0,0.E0,-1.E0));
--#535=AXIS2_PLACEMENT_3D('',#532,#533,#534);
--#537=DIRECTION('',(-1.E0,0.E0,0.E0));
--#538=VECTOR('',#537,3.E0);
--#539=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1));
--#540=LINE('',#539,#538);
--#541=CARTESIAN_POINT('',(1.65E1,0.E0,1.8E1));
--#542=DIRECTION('',(0.E0,1.E0,0.E0));
--#543=DIRECTION('',(0.E0,0.E0,1.E0));
--#544=AXIS2_PLACEMENT_3D('',#541,#542,#543);
--#546=DIRECTION('',(1.E0,0.E0,0.E0));
--#547=VECTOR('',#546,3.E0);
--#548=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1));
--#549=LINE('',#548,#547);
--#550=CARTESIAN_POINT('',(1.35E1,0.E0,1.8E1));
--#551=DIRECTION('',(0.E0,1.E0,0.E0));
--#552=DIRECTION('',(0.E0,0.E0,-1.E0));
--#553=AXIS2_PLACEMENT_3D('',#550,#551,#552);
--#555=DIRECTION('',(-1.E0,0.E0,0.E0));
--#556=VECTOR('',#555,3.E0);
--#557=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1));
--#558=LINE('',#557,#556);
--#559=CARTESIAN_POINT('',(1.35E1,0.E0,3.075E1));
--#560=DIRECTION('',(0.E0,-1.E0,0.E0));
--#561=DIRECTION('',(0.E0,0.E0,1.E0));
--#562=AXIS2_PLACEMENT_3D('',#559,#560,#561);
--#564=DIRECTION('',(1.E0,0.E0,0.E0));
--#565=VECTOR('',#564,3.E0);
--#566=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1));
--#567=LINE('',#566,#565);
--#568=CARTESIAN_POINT('',(1.65E1,0.E0,3.075E1));
--#569=DIRECTION('',(0.E0,-1.E0,0.E0));
--#570=DIRECTION('',(0.E0,0.E0,-1.E0));
--#571=AXIS2_PLACEMENT_3D('',#568,#569,#570);
--#573=DIRECTION('',(0.E0,0.E0,1.E0));
--#574=VECTOR('',#573,3.1E-1);
--#575=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0));
--#576=LINE('',#575,#574);
--#577=CARTESIAN_POINT('',(2.274875E1,0.E0,7.5E0));
--#578=DIRECTION('',(0.E0,1.E0,0.E0));
--#579=DIRECTION('',(1.E0,0.E0,-3.956251312695E-14));
--#580=AXIS2_PLACEMENT_3D('',#577,#578,#579);
--#582=DIRECTION('',(2.292073341162E-14,0.E0,-1.E0));
--#583=VECTOR('',#582,3.1E-1);
--#584=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0));
--#585=LINE('',#584,#583);
--#586=DIRECTION('',(-1.E0,0.E0,0.E0));
--#587=VECTOR('',#586,2.425E-1);
--#588=CARTESIAN_POINT('',(2.44325E1,0.E0,8.69E0));
--#589=LINE('',#588,#587);
--#590=DIRECTION('',(0.E0,0.E0,-1.E0));
--#591=VECTOR('',#590,8.E-1);
--#592=CARTESIAN_POINT('',(2.53125E1,0.E0,1.037E1));
--#593=LINE('',#592,#591);
--#594=DIRECTION('',(1.E0,0.E0,0.E0));
--#595=VECTOR('',#594,3.865E0);
--#596=CARTESIAN_POINT('',(2.05675E1,0.E0,1.125E1));
--#597=LINE('',#596,#595);
--#598=DIRECTION('',(0.E0,0.E0,1.E0));
--#599=VECTOR('',#598,8.E-1);
--#600=CARTESIAN_POINT('',(1.96875E1,0.E0,9.57E0));
--#601=LINE('',#600,#599);
--#602=DIRECTION('',(-1.E0,0.E0,0.E0));
--#603=VECTOR('',#602,7.4E-1);
--#604=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0));
--#605=LINE('',#604,#603);
--#606=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
--#607=VECTOR('',#606,4.263248410977E0);
--#608=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0));
--#609=LINE('',#608,#607);
--#610=CARTESIAN_POINT('',(2.239E1,0.E0,4.5E0));
--#611=DIRECTION('',(0.E0,1.E0,0.E0));
--#612=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1));
--#613=AXIS2_PLACEMENT_3D('',#610,#611,#612);
--#615=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0));
--#616=DIRECTION('',(0.E0,1.E0,0.E0));
--#617=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1));
--#618=AXIS2_PLACEMENT_3D('',#615,#616,#617);
--#620=CARTESIAN_POINT('',(1.944696065761E1,0.E0,1.645354088550E0));
--#621=DIRECTION('',(0.E0,1.E0,0.E0));
--#622=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811866E-1));
--#623=AXIS2_PLACEMENT_3D('',#620,#621,#622);
--#625=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
--#626=VECTOR('',#625,4.263248410977E0);
--#627=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1));
--#628=LINE('',#627,#626);
--#629=CARTESIAN_POINT('',(1.61E0,0.E0,2.75E1));
--#630=DIRECTION('',(0.E0,1.E0,0.E0));
--#631=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1));
--#632=AXIS2_PLACEMENT_3D('',#629,#630,#631);
--#634=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1));
--#635=DIRECTION('',(0.E0,1.E0,0.E0));
--#636=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1));
--#637=AXIS2_PLACEMENT_3D('',#634,#635,#636);
--#639=CARTESIAN_POINT('',(4.553039342392E0,0.E0,3.035464591145E1));
--#640=DIRECTION('',(0.E0,1.E0,0.E0));
--#641=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
--#642=AXIS2_PLACEMENT_3D('',#639,#640,#641);
--#644=CARTESIAN_POINT('',(2.239E1,0.E0,2.75E1));
--#645=DIRECTION('',(0.E0,-1.E0,0.E0));
--#646=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1));
--#647=AXIS2_PLACEMENT_3D('',#644,#645,#646);
--#649=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
--#650=VECTOR('',#649,4.263248410977E0);
--#651=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1));
--#652=LINE('',#651,#650);
--#653=CARTESIAN_POINT('',(1.944696065761E1,0.E0,3.035464591145E1));
--#654=DIRECTION('',(0.E0,-1.E0,0.E0));
--#655=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811866E-1));
--#656=AXIS2_PLACEMENT_3D('',#653,#654,#655);
--#658=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1));
--#659=DIRECTION('',(0.E0,-1.E0,0.E0));
--#660=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1));
--#661=AXIS2_PLACEMENT_3D('',#658,#659,#660);
--#663=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0));
--#664=DIRECTION('',(0.E0,0.E0,-1.E0));
--#665=DIRECTION('',(-1.E0,0.E0,0.E0));
--#666=AXIS2_PLACEMENT_3D('',#663,#664,#665);
--#668=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0));
--#669=DIRECTION('',(0.E0,0.E0,-1.E0));
--#670=DIRECTION('',(1.E0,0.E0,0.E0));
--#671=AXIS2_PLACEMENT_3D('',#668,#669,#670);
--#673=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0));
--#674=DIRECTION('',(0.E0,0.E0,-1.E0));
--#675=DIRECTION('',(-1.E0,0.E0,0.E0));
--#676=AXIS2_PLACEMENT_3D('',#673,#674,#675);
--#678=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0));
--#679=DIRECTION('',(0.E0,0.E0,-1.E0));
--#680=DIRECTION('',(1.E0,0.E0,0.E0));
--#681=AXIS2_PLACEMENT_3D('',#678,#679,#680);
--#683=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0));
--#684=DIRECTION('',(0.E0,0.E0,-1.E0));
--#685=DIRECTION('',(-1.E0,0.E0,0.E0));
--#686=AXIS2_PLACEMENT_3D('',#683,#684,#685);
--#688=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0));
--#689=DIRECTION('',(0.E0,0.E0,-1.E0));
--#690=DIRECTION('',(1.E0,0.E0,0.E0));
--#691=AXIS2_PLACEMENT_3D('',#688,#689,#690);
--#693=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0));
--#694=DIRECTION('',(0.E0,0.E0,-1.E0));
--#695=DIRECTION('',(-1.E0,0.E0,0.E0));
--#696=AXIS2_PLACEMENT_3D('',#693,#694,#695);
--#698=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0));
--#699=DIRECTION('',(0.E0,0.E0,-1.E0));
--#700=DIRECTION('',(1.E0,0.E0,0.E0));
--#701=AXIS2_PLACEMENT_3D('',#698,#699,#700);
--#703=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0));
--#704=DIRECTION('',(0.E0,0.E0,1.E0));
--#705=DIRECTION('',(1.E0,0.E0,0.E0));
--#706=AXIS2_PLACEMENT_3D('',#703,#704,#705);
--#708=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0));
--#709=DIRECTION('',(0.E0,0.E0,1.E0));
--#710=DIRECTION('',(-1.E0,0.E0,0.E0));
--#711=AXIS2_PLACEMENT_3D('',#708,#709,#710);
--#713=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0));
--#714=DIRECTION('',(0.E0,0.E0,1.E0));
--#715=DIRECTION('',(1.E0,0.E0,0.E0));
--#716=AXIS2_PLACEMENT_3D('',#713,#714,#715);
--#718=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0));
--#719=DIRECTION('',(0.E0,0.E0,1.E0));
--#720=DIRECTION('',(-1.E0,0.E0,0.E0));
--#721=AXIS2_PLACEMENT_3D('',#718,#719,#720);
--#723=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0));
--#724=DIRECTION('',(0.E0,0.E0,1.E0));
--#725=DIRECTION('',(1.E0,0.E0,0.E0));
--#726=AXIS2_PLACEMENT_3D('',#723,#724,#725);
--#728=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0));
--#729=DIRECTION('',(0.E0,0.E0,1.E0));
--#730=DIRECTION('',(-1.E0,0.E0,0.E0));
--#731=AXIS2_PLACEMENT_3D('',#728,#729,#730);
--#733=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0));
--#734=DIRECTION('',(0.E0,0.E0,1.E0));
--#735=DIRECTION('',(1.E0,0.E0,0.E0));
--#736=AXIS2_PLACEMENT_3D('',#733,#734,#735);
--#738=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0));
--#739=DIRECTION('',(0.E0,0.E0,1.E0));
--#740=DIRECTION('',(-1.E0,0.E0,0.E0));
--#741=AXIS2_PLACEMENT_3D('',#738,#739,#740);
--#743=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
--#744=VECTOR('',#743,1.029563014099E1);
--#745=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
--#746=LINE('',#745,#744);
--#747=DIRECTION('',(-1.E0,0.E0,0.E0));
--#748=VECTOR('',#747,2.E0);
--#749=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
--#750=LINE('',#749,#748);
--#751=DIRECTION('',(-1.E0,0.E0,0.E0));
--#752=VECTOR('',#751,2.E0);
--#753=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
--#754=LINE('',#753,#752);
--#755=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
--#756=VECTOR('',#755,1.029563014099E1);
--#757=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0));
--#758=LINE('',#757,#756);
--#759=DIRECTION('',(-1.E0,0.E0,0.E0));
--#760=VECTOR('',#759,3.895172754280E0);
--#761=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0));
--#762=LINE('',#761,#760);
--#763=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0));
--#764=VECTOR('',#763,6.863753427325E0);
--#765=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0));
--#766=LINE('',#765,#764);
--#767=DIRECTION('',(1.E0,0.E0,0.E0));
--#768=VECTOR('',#767,5.618394209466E-1);
--#769=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0));
--#770=LINE('',#769,#768);
--#771=DIRECTION('',(0.E0,-1.E0,0.E0));
--#772=VECTOR('',#771,6.E0);
--#773=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0));
--#774=LINE('',#773,#772);
--#775=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0));
--#776=VECTOR('',#775,6.863753427325E0);
--#777=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.E0));
--#778=LINE('',#777,#776);
--#779=DIRECTION('',(1.E0,0.E0,0.E0));
--#780=VECTOR('',#779,3.895172754280E0);
--#781=CARTESIAN_POINT('',(2.025E1,2.E0,8.E0));
--#782=LINE('',#781,#780);
--#783=DIRECTION('',(0.E0,-1.E0,0.E0));
--#784=VECTOR('',#783,6.E0);
--#785=CARTESIAN_POINT('',(1.95E1,8.75E0,8.E0));
--#786=LINE('',#785,#784);
--#787=DIRECTION('',(-1.E0,0.E0,0.E0));
--#788=VECTOR('',#787,5.618394209466E-1);
--#789=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.E0));
--#790=LINE('',#789,#788);
--#791=DIRECTION('',(0.E0,0.E0,1.E0));
--#792=VECTOR('',#791,2.5E-1);
--#793=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.E0));
--#794=LINE('',#793,#792);
--#795=DIRECTION('',(0.E0,0.E0,1.E0));
--#796=VECTOR('',#795,2.5E-1);
--#797=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.E0));
--#798=LINE('',#797,#796);
--#799=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0));
--#800=DIRECTION('',(0.E0,0.E0,-1.E0));
--#801=DIRECTION('',(-1.E0,0.E0,0.E0));
--#802=AXIS2_PLACEMENT_3D('',#799,#800,#801);
--#804=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0));
--#805=DIRECTION('',(0.E0,0.E0,-1.E0));
--#806=DIRECTION('',(1.E0,0.E0,0.E0));
--#807=AXIS2_PLACEMENT_3D('',#804,#805,#806);
--#809=DIRECTION('',(0.E0,0.E0,1.E0));
--#810=VECTOR('',#809,2.E0);
--#811=CARTESIAN_POINT('',(1.95875E1,1.05E1,8.E0));
--#812=LINE('',#811,#810);
--#813=DIRECTION('',(0.E0,0.E0,1.E0));
--#814=VECTOR('',#813,2.E0);
--#815=CARTESIAN_POINT('',(1.99125E1,1.05E1,8.E0));
--#816=LINE('',#815,#814);
--#817=CARTESIAN_POINT('',(1.975E1,1.05E1,1.E1));
--#818=DIRECTION('',(0.E0,0.E0,-1.E0));
--#819=DIRECTION('',(-1.E0,0.E0,0.E0));
--#820=AXIS2_PLACEMENT_3D('',#817,#818,#819);
--#822=CARTESIAN_POINT('',(1.975E1,1.05E1,1.E1));
--#823=DIRECTION('',(0.E0,0.E0,-1.E0));
--#824=DIRECTION('',(1.E0,0.E0,0.E0));
--#825=AXIS2_PLACEMENT_3D('',#822,#823,#824);
--#827=DIRECTION('',(0.E0,1.E0,0.E0));
--#828=VECTOR('',#827,5.E0);
--#829=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1));
--#830=LINE('',#829,#828);
--#831=DIRECTION('',(-1.E0,0.E0,0.E0));
--#832=VECTOR('',#831,1.75E0);
--#833=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1));
--#834=LINE('',#833,#832);
--#835=DIRECTION('',(0.E0,1.E0,0.E0));
--#836=VECTOR('',#835,5.E0);
--#837=CARTESIAN_POINT('',(2.2E1,1.5E0,1.E1));
--#838=LINE('',#837,#836);
--#839=DIRECTION('',(0.E0,1.E0,0.E0));
--#840=VECTOR('',#839,1.E1);
--#841=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1));
--#842=LINE('',#841,#840);
--#843=DIRECTION('',(1.E0,0.E0,0.E0));
--#844=VECTOR('',#843,2.E0);
--#845=CARTESIAN_POINT('',(1.9E1,1.15E1,1.E1));
--#846=LINE('',#845,#844);
--#847=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
--#848=VECTOR('',#847,1.029563014099E1);
--#849=CARTESIAN_POINT('',(2.1E1,1.15E1,1.E1));
--#850=LINE('',#849,#848);
--#851=DIRECTION('',(0.E0,-1.E0,0.E0));
--#852=VECTOR('',#851,1.E0);
--#853=CARTESIAN_POINT('',(2.6E1,2.5E0,1.E1));
--#854=LINE('',#853,#852);
--#855=DIRECTION('',(-1.E0,0.E0,0.E0));
--#856=VECTOR('',#855,1.972007605460E-1);
--#857=CARTESIAN_POINT('',(2.204720076055E1,7.E0,1.E1));
--#858=LINE('',#857,#856);
--#859=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
--#860=VECTOR('',#859,2.059126028197E0);
--#861=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,1.E1));
--#862=LINE('',#861,#860);
--#863=DIRECTION('',(1.E0,0.E0,0.E0));
--#864=VECTOR('',#863,1.197200760546E0);
--#865=CARTESIAN_POINT('',(1.985E1,9.5E0,1.E1));
--#866=LINE('',#865,#864);
--#867=DIRECTION('',(0.E0,1.E0,0.E0));
--#868=VECTOR('',#867,6.8E0);
--#869=CARTESIAN_POINT('',(1.95E1,2.35E0,1.E1));
--#870=LINE('',#869,#868);
--#871=DIRECTION('',(-1.E0,0.E0,0.E0));
--#872=VECTOR('',#871,1.3E0);
--#873=CARTESIAN_POINT('',(2.115E1,2.E0,1.E1));
--#874=LINE('',#873,#872);
--#875=DIRECTION('',(0.E0,-1.E0,0.E0));
--#876=VECTOR('',#875,4.3E0);
--#877=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1));
--#878=LINE('',#877,#876);
--#879=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
--#880=VECTOR('',#879,5.773502691896E0);
--#881=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1));
--#882=LINE('',#881,#880);
--#883=CARTESIAN_POINT('',(6.45E0,1.5E0,2.975E1));
--#884=DIRECTION('',(0.E0,-1.E0,0.E0));
--#885=DIRECTION('',(-1.E0,0.E0,0.E0));
--#886=AXIS2_PLACEMENT_3D('',#883,#884,#885);
--#888=CARTESIAN_POINT('',(6.45E0,1.5E0,2.975E1));
--#889=DIRECTION('',(0.E0,-1.E0,0.E0));
--#890=DIRECTION('',(1.E0,0.E0,0.E0));
--#891=AXIS2_PLACEMENT_3D('',#888,#889,#890);
--#893=CARTESIAN_POINT('',(7.45E0,1.5E0,2.975E1));
--#894=DIRECTION('',(0.E0,-1.E0,0.E0));
--#895=DIRECTION('',(-1.E0,0.E0,0.E0));
--#896=AXIS2_PLACEMENT_3D('',#893,#894,#895);
--#898=CARTESIAN_POINT('',(7.45E0,1.5E0,2.975E1));
--#899=DIRECTION('',(0.E0,-1.E0,0.E0));
--#900=DIRECTION('',(1.E0,0.E0,0.E0));
--#901=AXIS2_PLACEMENT_3D('',#898,#899,#900);
--#903=DIRECTION('',(-1.E0,0.E0,0.E0));
--#904=VECTOR('',#903,4.531373033403E0);
--#905=CARTESIAN_POINT('',(2.5E1,1.5E0,8.E0));
--#906=LINE('',#905,#904);
--#907=DIRECTION('',(-1.E0,0.E0,0.E0));
--#908=VECTOR('',#907,9.E0);
--#909=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0));
--#910=LINE('',#909,#908);
--#911=DIRECTION('',(-1.E0,0.E0,0.E0));
--#912=VECTOR('',#911,4.531373033403E0);
--#913=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0));
--#914=LINE('',#913,#912);
--#915=DIRECTION('',(0.E0,0.E0,1.E0));
--#916=VECTOR('',#915,3.E0);
--#917=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0));
--#918=LINE('',#917,#916);
--#919=DIRECTION('',(-1.E0,0.E0,0.E0));
--#920=VECTOR('',#919,1.6E1);
--#921=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0));
--#922=LINE('',#921,#920);
--#923=DIRECTION('',(0.E0,0.E0,-1.E0));
--#924=VECTOR('',#923,3.E0);
--#925=CARTESIAN_POINT('',(2.4E1,1.5E0,7.E0));
--#926=LINE('',#925,#924);
--#927=CARTESIAN_POINT('',(1.755E1,1.5E0,2.975E1));
--#928=DIRECTION('',(0.E0,1.E0,0.E0));
--#929=DIRECTION('',(1.E0,0.E0,0.E0));
--#930=AXIS2_PLACEMENT_3D('',#927,#928,#929);
--#932=CARTESIAN_POINT('',(1.755E1,1.5E0,2.975E1));
--#933=DIRECTION('',(0.E0,1.E0,0.E0));
--#934=DIRECTION('',(-1.E0,0.E0,0.E0));
--#935=AXIS2_PLACEMENT_3D('',#932,#933,#934);
--#937=CARTESIAN_POINT('',(1.655E1,1.5E0,2.975E1));
--#938=DIRECTION('',(0.E0,1.E0,0.E0));
--#939=DIRECTION('',(1.E0,0.E0,0.E0));
--#940=AXIS2_PLACEMENT_3D('',#937,#938,#939);
--#942=CARTESIAN_POINT('',(1.655E1,1.5E0,2.975E1));
--#943=DIRECTION('',(0.E0,1.E0,0.E0));
--#944=DIRECTION('',(-1.E0,0.E0,0.E0));
--#945=AXIS2_PLACEMENT_3D('',#942,#943,#944);
--#947=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
--#948=DIRECTION('',(0.E0,-1.E0,0.E0));
--#949=DIRECTION('',(1.E0,0.E0,0.E0));
--#950=AXIS2_PLACEMENT_3D('',#947,#948,#949);
--#952=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
--#953=DIRECTION('',(0.E0,-1.E0,0.E0));
--#954=DIRECTION('',(-1.E0,0.E0,0.E0));
--#955=AXIS2_PLACEMENT_3D('',#952,#953,#954);
--#957=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
--#958=DIRECTION('',(0.E0,-1.E0,0.E0));
--#959=DIRECTION('',(1.E0,0.E0,0.E0));
--#960=AXIS2_PLACEMENT_3D('',#957,#958,#959);
--#962=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
--#963=DIRECTION('',(0.E0,-1.E0,0.E0));
--#964=DIRECTION('',(-1.E0,0.E0,0.E0));
--#965=AXIS2_PLACEMENT_3D('',#962,#963,#964);
--#967=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
--#968=DIRECTION('',(0.E0,-1.E0,0.E0));
--#969=DIRECTION('',(1.E0,0.E0,0.E0));
--#970=AXIS2_PLACEMENT_3D('',#967,#968,#969);
--#972=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
--#973=DIRECTION('',(0.E0,-1.E0,0.E0));
--#974=DIRECTION('',(-1.E0,0.E0,0.E0));
--#975=AXIS2_PLACEMENT_3D('',#972,#973,#974);
--#977=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
--#978=DIRECTION('',(0.E0,-1.E0,0.E0));
--#979=DIRECTION('',(1.E0,0.E0,0.E0));
--#980=AXIS2_PLACEMENT_3D('',#977,#978,#979);
--#982=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
--#983=DIRECTION('',(0.E0,-1.E0,0.E0));
--#984=DIRECTION('',(-1.E0,0.E0,0.E0));
--#985=AXIS2_PLACEMENT_3D('',#982,#983,#984);
--#987=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
--#988=DIRECTION('',(0.E0,-1.E0,0.E0));
--#989=DIRECTION('',(1.E0,0.E0,0.E0));
--#990=AXIS2_PLACEMENT_3D('',#987,#988,#989);
--#992=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
--#993=DIRECTION('',(0.E0,-1.E0,0.E0));
--#994=DIRECTION('',(-1.E0,0.E0,0.E0));
--#995=AXIS2_PLACEMENT_3D('',#992,#993,#994);
--#997=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
--#998=DIRECTION('',(0.E0,-1.E0,0.E0));
--#999=DIRECTION('',(1.E0,0.E0,0.E0));
--#1000=AXIS2_PLACEMENT_3D('',#997,#998,#999);
--#1002=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
--#1003=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1004=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1005=AXIS2_PLACEMENT_3D('',#1002,#1003,#1004);
--#1007=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
--#1008=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1009=DIRECTION('',(1.E0,0.E0,0.E0));
--#1010=AXIS2_PLACEMENT_3D('',#1007,#1008,#1009);
--#1012=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
--#1013=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1014=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1015=AXIS2_PLACEMENT_3D('',#1012,#1013,#1014);
--#1017=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
--#1018=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1019=DIRECTION('',(1.E0,0.E0,0.E0));
--#1020=AXIS2_PLACEMENT_3D('',#1017,#1018,#1019);
--#1022=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
--#1023=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1024=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1025=AXIS2_PLACEMENT_3D('',#1022,#1023,#1024);
--#1027=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
--#1028=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1029=DIRECTION('',(1.E0,0.E0,0.E0));
--#1030=AXIS2_PLACEMENT_3D('',#1027,#1028,#1029);
--#1032=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
--#1033=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1034=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1035=AXIS2_PLACEMENT_3D('',#1032,#1033,#1034);
--#1037=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
--#1038=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1039=DIRECTION('',(1.E0,0.E0,0.E0));
--#1040=AXIS2_PLACEMENT_3D('',#1037,#1038,#1039);
--#1042=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
--#1043=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1044=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1045=AXIS2_PLACEMENT_3D('',#1042,#1043,#1044);
--#1047=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
--#1048=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1049=DIRECTION('',(1.E0,0.E0,0.E0));
--#1050=AXIS2_PLACEMENT_3D('',#1047,#1048,#1049);
--#1052=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
--#1053=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1054=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1055=AXIS2_PLACEMENT_3D('',#1052,#1053,#1054);
--#1057=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
--#1058=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1059=DIRECTION('',(1.E0,0.E0,0.E0));
--#1060=AXIS2_PLACEMENT_3D('',#1057,#1058,#1059);
--#1062=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
--#1063=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1064=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1065=AXIS2_PLACEMENT_3D('',#1062,#1063,#1064);
--#1067=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1068=VECTOR('',#1067,2.5625E0);
--#1069=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1));
--#1070=LINE('',#1069,#1068);
--#1071=DIRECTION('',(1.E0,0.E0,0.E0));
--#1072=VECTOR('',#1071,1.3E1);
--#1073=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1));
--#1074=LINE('',#1073,#1072);
--#1075=DIRECTION('',(0.E0,0.E0,1.E0));
--#1076=VECTOR('',#1075,2.5625E0);
--#1077=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1));
--#1078=LINE('',#1077,#1076);
--#1079=DIRECTION('',(1.E0,0.E0,0.E0));
--#1080=VECTOR('',#1079,9.E0);
--#1081=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1));
--#1082=LINE('',#1081,#1080);
--#1083=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1084=VECTOR('',#1083,1.3E1);
--#1085=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1));
--#1086=LINE('',#1085,#1084);
--#1087=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1088=VECTOR('',#1087,8.125E-1);
--#1089=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1));
--#1090=LINE('',#1089,#1088);
--#1091=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1092=VECTOR('',#1091,1.E0);
--#1093=CARTESIAN_POINT('',(2.05E1,1.5E0,1.225E1));
--#1094=LINE('',#1093,#1092);
--#1095=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1096=VECTOR('',#1095,7.5E-1);
--#1097=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
--#1098=LINE('',#1097,#1096);
--#1099=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1100=VECTOR('',#1099,7.5E-1);
--#1101=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1));
--#1102=LINE('',#1101,#1100);
--#1103=DIRECTION('',(1.E0,0.E0,0.E0));
--#1104=VECTOR('',#1103,1.E0);
--#1105=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1));
--#1106=LINE('',#1105,#1104);
--#1107=DIRECTION('',(0.E0,0.E0,1.E0));
--#1108=VECTOR('',#1107,8.125E-1);
--#1109=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1));
--#1110=LINE('',#1109,#1108);
--#1111=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
--#1112=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1113=DIRECTION('',(1.E0,0.E0,0.E0));
--#1114=AXIS2_PLACEMENT_3D('',#1111,#1112,#1113);
--#1116=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
--#1117=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1118=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1119=AXIS2_PLACEMENT_3D('',#1116,#1117,#1118);
--#1121=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
--#1122=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1123=DIRECTION('',(1.E0,0.E0,0.E0));
--#1124=AXIS2_PLACEMENT_3D('',#1121,#1122,#1123);
--#1126=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
--#1127=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1128=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1129=AXIS2_PLACEMENT_3D('',#1126,#1127,#1128);
--#1131=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
--#1132=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1133=DIRECTION('',(1.E0,0.E0,0.E0));
--#1134=AXIS2_PLACEMENT_3D('',#1131,#1132,#1133);
--#1136=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
--#1137=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1138=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1139=AXIS2_PLACEMENT_3D('',#1136,#1137,#1138);
--#1141=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
--#1142=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1143=DIRECTION('',(1.E0,0.E0,0.E0));
--#1144=AXIS2_PLACEMENT_3D('',#1141,#1142,#1143);
--#1146=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
--#1147=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1148=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1149=AXIS2_PLACEMENT_3D('',#1146,#1147,#1148);
--#1151=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
--#1152=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1153=DIRECTION('',(1.E0,0.E0,0.E0));
--#1154=AXIS2_PLACEMENT_3D('',#1151,#1152,#1153);
--#1156=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
--#1157=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1158=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1159=AXIS2_PLACEMENT_3D('',#1156,#1157,#1158);
--#1161=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
--#1162=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1163=DIRECTION('',(1.E0,0.E0,0.E0));
--#1164=AXIS2_PLACEMENT_3D('',#1161,#1162,#1163);
--#1166=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
--#1167=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1168=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1169=AXIS2_PLACEMENT_3D('',#1166,#1167,#1168);
--#1171=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1172=VECTOR('',#1171,2.886751345948E0);
--#1173=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1));
--#1174=LINE('',#1173,#1172);
--#1175=DIRECTION('',(1.E0,0.E0,0.E0));
--#1176=VECTOR('',#1175,2.25E0);
--#1177=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1));
--#1178=LINE('',#1177,#1176);
--#1179=DIRECTION('',(0.E0,0.E0,1.E0));
--#1180=VECTOR('',#1179,1.75E0);
--#1181=CARTESIAN_POINT('',(2.6E1,1.5E0,1.E1));
--#1182=LINE('',#1181,#1180);
--#1183=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1184=VECTOR('',#1183,5.E-1);
--#1185=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
--#1186=LINE('',#1185,#1184);
--#1187=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1188=VECTOR('',#1187,1.475E1);
--#1189=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1));
--#1190=LINE('',#1189,#1188);
--#1191=DIRECTION('',(1.E0,0.E0,0.E0));
--#1192=VECTOR('',#1191,1.6E1);
--#1193=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1));
--#1194=LINE('',#1193,#1192);
--#1195=DIRECTION('',(0.E0,0.E0,1.E0));
--#1196=VECTOR('',#1195,1.475E1);
--#1197=CARTESIAN_POINT('',(0.E0,1.5E0,1.325E1));
--#1198=LINE('',#1197,#1196);
--#1199=DIRECTION('',(1.E0,0.E0,0.E0));
--#1200=VECTOR('',#1199,5.E-1);
--#1201=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1));
--#1202=LINE('',#1201,#1200);
--#1203=DIRECTION('',(0.E0,0.E0,1.E0));
--#1204=VECTOR('',#1203,1.75E0);
--#1205=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1));
--#1206=LINE('',#1205,#1204);
--#1207=DIRECTION('',(1.E0,0.E0,0.E0));
--#1208=VECTOR('',#1207,2.25E0);
--#1209=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1));
--#1210=LINE('',#1209,#1208);
--#1211=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1212=VECTOR('',#1211,2.886751345948E0);
--#1213=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1));
--#1214=LINE('',#1213,#1212);
--#1215=DIRECTION('',(1.E0,0.E0,0.E0));
--#1216=VECTOR('',#1215,1.75E0);
--#1217=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1));
--#1218=LINE('',#1217,#1216);
--#1219=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1220=VECTOR('',#1219,2.886751345948E0);
--#1221=CARTESIAN_POINT('',(2.E0,1.5E0,1.288675134595E1));
--#1222=LINE('',#1221,#1220);
--#1223=DIRECTION('',(1.E0,0.E0,0.E0));
--#1224=VECTOR('',#1223,3.E0);
--#1225=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1));
--#1226=LINE('',#1225,#1224);
--#1227=DIRECTION('',(1.E0,0.E0,0.E0));
--#1228=VECTOR('',#1227,1.4E1);
--#1229=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
--#1230=LINE('',#1229,#1228);
--#1231=DIRECTION('',(1.E0,0.E0,0.E0));
--#1232=VECTOR('',#1231,3.E0);
--#1233=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1));
--#1234=LINE('',#1233,#1232);
--#1235=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1236=VECTOR('',#1235,2.886751345948E0);
--#1237=CARTESIAN_POINT('',(2.2E1,1.5E0,1.288675134595E1));
--#1238=LINE('',#1237,#1236);
--#1239=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1240=VECTOR('',#1239,1.75E0);
--#1241=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1));
--#1242=LINE('',#1241,#1240);
--#1243=DIRECTION('',(0.E0,1.E0,0.E0));
--#1244=VECTOR('',#1243,2.5E-1);
--#1245=CARTESIAN_POINT('',(6.35E0,1.25E0,2.975E1));
--#1246=LINE('',#1245,#1244);
--#1247=DIRECTION('',(0.E0,1.E0,0.E0));
--#1248=VECTOR('',#1247,2.5E-1);
--#1249=CARTESIAN_POINT('',(6.55E0,1.25E0,2.975E1));
--#1250=LINE('',#1249,#1248);
--#1251=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0));
--#1252=VECTOR('',#1251,1.154700538379E-1);
--#1253=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1));
--#1254=LINE('',#1253,#1252);
--#1255=CARTESIAN_POINT('',(6.45E0,1.25E0,2.975E1));
--#1256=DIRECTION('',(0.E0,1.E0,0.E0));
--#1257=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1258=AXIS2_PLACEMENT_3D('',#1255,#1256,#1257);
--#1260=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0));
--#1261=VECTOR('',#1260,1.154700538379E-1);
--#1262=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1));
--#1263=LINE('',#1262,#1261);
--#1264=CARTESIAN_POINT('',(6.45E0,1.25E0,2.975E1));
--#1265=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1266=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1267=AXIS2_PLACEMENT_3D('',#1264,#1265,#1266);
--#1269=DIRECTION('',(0.E0,1.E0,0.E0));
--#1270=VECTOR('',#1269,2.5E-1);
--#1271=CARTESIAN_POINT('',(7.35E0,1.25E0,2.975E1));
--#1272=LINE('',#1271,#1270);
--#1273=DIRECTION('',(0.E0,1.E0,0.E0));
--#1274=VECTOR('',#1273,2.5E-1);
--#1275=CARTESIAN_POINT('',(7.55E0,1.25E0,2.975E1));
--#1276=LINE('',#1275,#1274);
--#1277=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0));
--#1278=VECTOR('',#1277,1.154700538379E-1);
--#1279=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1));
--#1280=LINE('',#1279,#1278);
--#1281=CARTESIAN_POINT('',(7.45E0,1.25E0,2.975E1));
--#1282=DIRECTION('',(0.E0,1.E0,0.E0));
--#1283=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1284=AXIS2_PLACEMENT_3D('',#1281,#1282,#1283);
--#1286=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0));
--#1287=VECTOR('',#1286,1.154700538379E-1);
--#1288=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1));
--#1289=LINE('',#1288,#1287);
--#1290=CARTESIAN_POINT('',(7.45E0,1.25E0,2.975E1));
--#1291=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1292=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1293=AXIS2_PLACEMENT_3D('',#1290,#1291,#1292);
--#1295=DIRECTION('',(0.E0,1.E0,0.E0));
--#1296=VECTOR('',#1295,1.5E0);
--#1297=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0));
--#1298=LINE('',#1297,#1296);
--#1299=CARTESIAN_POINT('',(2.046862696660E1,0.E0,7.E0));
--#1300=DIRECTION('',(0.E0,1.E0,0.E0));
--#1301=DIRECTION('',(0.E0,0.E0,1.E0));
--#1302=AXIS2_PLACEMENT_3D('',#1299,#1300,#1301);
--#1304=DIRECTION('',(0.E0,1.E0,0.E0));
--#1305=VECTOR('',#1304,1.5E0);
--#1306=CARTESIAN_POINT('',(2.146078370825E1,0.E0,6.875E0));
--#1307=LINE('',#1306,#1305);
--#1308=CARTESIAN_POINT('',(2.046862696660E1,1.5E0,7.E0));
--#1309=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1310=DIRECTION('',(9.921567416492E-1,0.E0,-1.25E-1));
--#1311=AXIS2_PLACEMENT_3D('',#1308,#1309,#1310);
--#1313=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0));
--#1314=DIRECTION('',(0.E0,1.E0,0.E0));
--#1315=DIRECTION('',(9.921567416492E-1,0.E0,-1.25E-1));
--#1316=AXIS2_PLACEMENT_3D('',#1313,#1314,#1315);
--#1318=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1319=VECTOR('',#1318,1.5E0);
--#1320=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0));
--#1321=LINE('',#1320,#1319);
--#1322=CARTESIAN_POINT('',(1.65E1,1.5E0,7.5E0));
--#1323=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1324=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1325=AXIS2_PLACEMENT_3D('',#1322,#1323,#1324);
--#1327=CARTESIAN_POINT('',(7.5E0,1.5E0,7.5E0));
--#1328=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1329=DIRECTION('',(-9.921567416492E-1,0.E0,-1.25E-1));
--#1330=AXIS2_PLACEMENT_3D('',#1327,#1328,#1329);
--#1332=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1333=VECTOR('',#1332,1.5E0);
--#1334=CARTESIAN_POINT('',(7.5E0,1.5E0,2.5E0));
--#1335=LINE('',#1334,#1333);
--#1336=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0));
--#1337=DIRECTION('',(0.E0,1.E0,0.E0));
--#1338=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1339=AXIS2_PLACEMENT_3D('',#1336,#1337,#1338);
--#1341=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1342=VECTOR('',#1341,1.5E0);
--#1343=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0));
--#1344=LINE('',#1343,#1342);
--#1345=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,7.E0));
--#1346=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1347=DIRECTION('',(0.E0,0.E0,1.E0));
--#1348=AXIS2_PLACEMENT_3D('',#1345,#1346,#1347);
--#1350=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1351=VECTOR('',#1350,1.5E0);
--#1352=CARTESIAN_POINT('',(2.539216291754E0,1.5E0,6.875E0));
--#1353=LINE('',#1352,#1351);
--#1354=CARTESIAN_POINT('',(3.531373033403E0,0.E0,7.E0));
--#1355=DIRECTION('',(0.E0,1.E0,0.E0));
--#1356=DIRECTION('',(-9.921567416492E-1,0.E0,-1.25E-1));
--#1357=AXIS2_PLACEMENT_3D('',#1354,#1355,#1356);
--#1359=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1360=VECTOR('',#1359,1.5E0);
--#1361=CARTESIAN_POINT('',(0.E0,1.5E0,7.E0));
--#1362=LINE('',#1361,#1360);
--#1363=CARTESIAN_POINT('',(-1.E0,1.5E0,7.E0));
--#1364=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1365=DIRECTION('',(1.E0,0.E0,0.E0));
--#1366=AXIS2_PLACEMENT_3D('',#1363,#1364,#1365);
--#1368=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1369=VECTOR('',#1368,1.5E0);
--#1370=CARTESIAN_POINT('',(-1.E0,1.5E0,8.E0));
--#1371=LINE('',#1370,#1369);
--#1372=CARTESIAN_POINT('',(-1.E0,0.E0,7.E0));
--#1373=DIRECTION('',(0.E0,1.E0,0.E0));
--#1374=DIRECTION('',(0.E0,0.E0,1.E0));
--#1375=AXIS2_PLACEMENT_3D('',#1372,#1373,#1374);
--#1377=DIRECTION('',(0.E0,1.E0,0.E0));
--#1378=VECTOR('',#1377,1.5E0);
--#1379=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1));
--#1380=LINE('',#1379,#1378);
--#1381=CARTESIAN_POINT('',(-1.E0,0.E0,1.325E1));
--#1382=DIRECTION('',(0.E0,1.E0,0.E0));
--#1383=DIRECTION('',(1.E0,0.E0,0.E0));
--#1384=AXIS2_PLACEMENT_3D('',#1381,#1382,#1383);
--#1386=DIRECTION('',(0.E0,1.E0,0.E0));
--#1387=VECTOR('',#1386,1.5E0);
--#1388=CARTESIAN_POINT('',(-1.E0,0.E0,1.225E1));
--#1389=LINE('',#1388,#1387);
--#1390=CARTESIAN_POINT('',(-1.E0,1.5E0,1.325E1));
--#1391=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1392=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1393=AXIS2_PLACEMENT_3D('',#1390,#1391,#1392);
--#1395=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1396=VECTOR('',#1395,1.5E0);
--#1397=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1));
--#1398=LINE('',#1397,#1396);
--#1399=CARTESIAN_POINT('',(3.5E0,1.5E0,1.325E1));
--#1400=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1401=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1402=AXIS2_PLACEMENT_3D('',#1399,#1400,#1401);
--#1404=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1405=VECTOR('',#1404,1.5E0);
--#1406=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1));
--#1407=LINE('',#1406,#1405);
--#1408=CARTESIAN_POINT('',(3.5E0,0.E0,1.325E1));
--#1409=DIRECTION('',(0.E0,1.E0,0.E0));
--#1410=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1411=AXIS2_PLACEMENT_3D('',#1408,#1409,#1410);
--#1413=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1414=VECTOR('',#1413,1.5E0);
--#1415=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1));
--#1416=LINE('',#1415,#1414);
--#1417=CARTESIAN_POINT('',(5.5E0,1.5E0,2.19375E1));
--#1418=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1419=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1420=AXIS2_PLACEMENT_3D('',#1417,#1418,#1419);
--#1422=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1423=VECTOR('',#1422,1.5E0);
--#1424=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1));
--#1425=LINE('',#1424,#1423);
--#1426=CARTESIAN_POINT('',(5.5E0,0.E0,2.19375E1));
--#1427=DIRECTION('',(0.E0,1.E0,0.E0));
--#1428=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1429=AXIS2_PLACEMENT_3D('',#1426,#1427,#1428);
--#1431=DIRECTION('',(0.E0,1.E0,0.E0));
--#1432=VECTOR('',#1431,1.5E0);
--#1433=CARTESIAN_POINT('',(2.15E1,0.E0,2.19375E1));
--#1434=LINE('',#1433,#1432);
--#1435=CARTESIAN_POINT('',(1.85E1,0.E0,2.19375E1));
--#1436=DIRECTION('',(0.E0,1.E0,0.E0));
--#1437=DIRECTION('',(1.E0,0.E0,0.E0));
--#1438=AXIS2_PLACEMENT_3D('',#1435,#1436,#1437);
--#1440=DIRECTION('',(0.E0,1.E0,0.E0));
--#1441=VECTOR('',#1440,1.5E0);
--#1442=CARTESIAN_POINT('',(1.85E1,0.E0,1.89375E1));
--#1443=LINE('',#1442,#1441);
--#1444=CARTESIAN_POINT('',(1.85E1,1.5E0,2.19375E1));
--#1445=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1446=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1447=AXIS2_PLACEMENT_3D('',#1444,#1445,#1446);
--#1449=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1450=VECTOR('',#1449,1.5E0);
--#1451=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1));
--#1452=LINE('',#1451,#1450);
--#1453=CARTESIAN_POINT('',(1.65E1,1.5E0,2.45E1));
--#1454=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1455=DIRECTION('',(1.E0,0.E0,0.E0));
--#1456=AXIS2_PLACEMENT_3D('',#1453,#1454,#1455);
--#1458=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1459=VECTOR('',#1458,1.5E0);
--#1460=CARTESIAN_POINT('',(1.65E1,1.5E0,2.95E1));
--#1461=LINE('',#1460,#1459);
--#1462=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1));
--#1463=DIRECTION('',(0.E0,1.E0,0.E0));
--#1464=DIRECTION('',(0.E0,0.E0,1.E0));
--#1465=AXIS2_PLACEMENT_3D('',#1462,#1463,#1464);
--#1467=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1468=VECTOR('',#1467,1.5E0);
--#1469=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1));
--#1470=LINE('',#1469,#1468);
--#1471=CARTESIAN_POINT('',(7.5E0,1.5E0,2.45E1));
--#1472=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1473=DIRECTION('',(0.E0,0.E0,1.E0));
--#1474=AXIS2_PLACEMENT_3D('',#1471,#1472,#1473);
--#1476=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1477=VECTOR('',#1476,1.5E0);
--#1478=CARTESIAN_POINT('',(2.5E0,1.5E0,2.45E1));
--#1479=LINE('',#1478,#1477);
--#1480=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1));
--#1481=DIRECTION('',(0.E0,1.E0,0.E0));
--#1482=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1483=AXIS2_PLACEMENT_3D('',#1480,#1481,#1482);
--#1485=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1486=VECTOR('',#1485,1.5E0);
--#1487=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1));
--#1488=LINE('',#1487,#1486);
--#1489=CARTESIAN_POINT('',(1.85E1,1.5E0,1.40625E1));
--#1490=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1491=DIRECTION('',(1.E0,0.E0,0.E0));
--#1492=AXIS2_PLACEMENT_3D('',#1489,#1490,#1491);
--#1494=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1495=VECTOR('',#1494,1.5E0);
--#1496=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1));
--#1497=LINE('',#1496,#1495);
--#1498=CARTESIAN_POINT('',(1.85E1,0.E0,1.40625E1));
--#1499=DIRECTION('',(0.E0,1.E0,0.E0));
--#1500=DIRECTION('',(0.E0,0.E0,1.E0));
--#1501=AXIS2_PLACEMENT_3D('',#1498,#1499,#1500);
--#1503=DIRECTION('',(0.E0,1.E0,0.E0));
--#1504=VECTOR('',#1503,1.5E0);
--#1505=CARTESIAN_POINT('',(2.5E0,0.E0,1.40625E1));
--#1506=LINE('',#1505,#1504);
--#1507=CARTESIAN_POINT('',(5.5E0,0.E0,1.40625E1));
--#1508=DIRECTION('',(0.E0,1.E0,0.E0));
--#1509=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1510=AXIS2_PLACEMENT_3D('',#1507,#1508,#1509);
--#1512=DIRECTION('',(0.E0,1.E0,0.E0));
--#1513=VECTOR('',#1512,1.5E0);
--#1514=CARTESIAN_POINT('',(5.5E0,0.E0,1.70625E1));
--#1515=LINE('',#1514,#1513);
--#1516=CARTESIAN_POINT('',(5.5E0,1.5E0,1.40625E1));
--#1517=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1518=DIRECTION('',(0.E0,0.E0,1.E0));
--#1519=AXIS2_PLACEMENT_3D('',#1516,#1517,#1518);
--#1521=DIRECTION('',(0.E0,1.E0,0.E0));
--#1522=VECTOR('',#1521,1.5E0);
--#1523=CARTESIAN_POINT('',(2.15E1,0.E0,1.325E1));
--#1524=LINE('',#1523,#1522);
--#1525=CARTESIAN_POINT('',(2.05E1,0.E0,1.325E1));
--#1526=DIRECTION('',(0.E0,1.E0,0.E0));
--#1527=DIRECTION('',(1.E0,0.E0,0.E0));
--#1528=AXIS2_PLACEMENT_3D('',#1525,#1526,#1527);
--#1530=DIRECTION('',(0.E0,1.E0,0.E0));
--#1531=VECTOR('',#1530,1.5E0);
--#1532=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1));
--#1533=LINE('',#1532,#1531);
--#1534=CARTESIAN_POINT('',(2.05E1,1.5E0,1.325E1));
--#1535=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1536=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1537=AXIS2_PLACEMENT_3D('',#1534,#1535,#1536);
--#1539=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1540=VECTOR('',#1539,1.5E0);
--#1541=CARTESIAN_POINT('',(2.4E1,1.5E0,1.325E1));
--#1542=LINE('',#1541,#1540);
--#1543=CARTESIAN_POINT('',(2.5E1,1.5E0,1.325E1));
--#1544=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1545=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1546=AXIS2_PLACEMENT_3D('',#1543,#1544,#1545);
--#1548=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1549=VECTOR('',#1548,1.5E0);
--#1550=CARTESIAN_POINT('',(2.5E1,1.5E0,1.225E1));
--#1551=LINE('',#1550,#1549);
--#1552=CARTESIAN_POINT('',(2.5E1,0.E0,1.325E1));
--#1553=DIRECTION('',(0.E0,1.E0,0.E0));
--#1554=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1555=AXIS2_PLACEMENT_3D('',#1552,#1553,#1554);
--#1557=DIRECTION('',(0.E0,1.E0,0.E0));
--#1558=VECTOR('',#1557,1.5E0);
--#1559=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
--#1560=LINE('',#1559,#1558);
--#1561=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
--#1562=VECTOR('',#1561,5.656854249492E0);
--#1563=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
--#1564=LINE('',#1563,#1562);
--#1565=DIRECTION('',(0.E0,1.E0,0.E0));
--#1566=VECTOR('',#1565,1.5E0);
--#1567=CARTESIAN_POINT('',(2.E1,0.E0,3.2E1));
--#1568=LINE('',#1567,#1566);
--#1569=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
--#1570=VECTOR('',#1569,5.656854249492E0);
--#1571=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1));
--#1572=LINE('',#1571,#1570);
--#1573=DIRECTION('',(0.E0,1.E0,0.E0));
--#1574=VECTOR('',#1573,1.5E0);
--#1575=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
--#1576=LINE('',#1575,#1574);
--#1577=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
--#1578=VECTOR('',#1577,5.656854249492E0);
--#1579=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
--#1580=LINE('',#1579,#1578);
--#1581=DIRECTION('',(0.E0,1.E0,0.E0));
--#1582=VECTOR('',#1581,1.5E0);
--#1583=CARTESIAN_POINT('',(0.E0,0.E0,2.8E1));
--#1584=LINE('',#1583,#1582);
--#1585=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
--#1586=VECTOR('',#1585,5.656854249492E0);
--#1587=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1));
--#1588=LINE('',#1587,#1586);
--#1589=DIRECTION('',(0.E0,1.E0,0.E0));
--#1590=VECTOR('',#1589,1.5E0);
--#1591=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0));
--#1592=LINE('',#1591,#1590);
--#1593=CARTESIAN_POINT('',(2.5E1,0.E0,7.E0));
--#1594=DIRECTION('',(0.E0,1.E0,0.E0));
--#1595=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1596=AXIS2_PLACEMENT_3D('',#1593,#1594,#1595);
--#1598=DIRECTION('',(0.E0,1.E0,0.E0));
--#1599=VECTOR('',#1598,1.5E0);
--#1600=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0));
--#1601=LINE('',#1600,#1599);
--#1602=CARTESIAN_POINT('',(2.5E1,1.5E0,7.E0));
--#1603=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1604=DIRECTION('',(0.E0,0.E0,1.E0));
--#1605=AXIS2_PLACEMENT_3D('',#1602,#1603,#1604);
--#1607=DIRECTION('',(0.E0,1.E0,0.E0));
--#1608=VECTOR('',#1607,1.5E0);
--#1609=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
--#1610=LINE('',#1609,#1608);
--#1611=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
--#1612=VECTOR('',#1611,5.656854249492E0);
--#1613=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
--#1614=LINE('',#1613,#1612);
--#1615=DIRECTION('',(0.E0,1.E0,0.E0));
--#1616=VECTOR('',#1615,1.5E0);
--#1617=CARTESIAN_POINT('',(2.4E1,0.E0,4.E0));
--#1618=LINE('',#1617,#1616);
--#1619=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
--#1620=VECTOR('',#1619,5.656854249492E0);
--#1621=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0));
--#1622=LINE('',#1621,#1620);
--#1623=DIRECTION('',(0.E0,1.E0,0.E0));
--#1624=VECTOR('',#1623,1.5E0);
--#1625=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
--#1626=LINE('',#1625,#1624);
--#1627=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
--#1628=VECTOR('',#1627,5.656854249492E0);
--#1629=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
--#1630=LINE('',#1629,#1628);
--#1631=DIRECTION('',(0.E0,1.E0,0.E0));
--#1632=VECTOR('',#1631,1.5E0);
--#1633=CARTESIAN_POINT('',(4.E0,0.E0,0.E0));
--#1634=LINE('',#1633,#1632);
--#1635=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
--#1636=VECTOR('',#1635,5.656854249492E0);
--#1637=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0));
--#1638=LINE('',#1637,#1636);
--#1639=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1640=VECTOR('',#1639,1.5E0);
--#1641=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
--#1642=LINE('',#1641,#1640);
--#1643=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
--#1644=VECTOR('',#1643,7.071067811865E-1);
--#1645=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
--#1646=LINE('',#1645,#1644);
--#1647=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1648=VECTOR('',#1647,1.5E0);
--#1649=CARTESIAN_POINT('',(2.6E1,1.5E0,1.175E1));
--#1650=LINE('',#1649,#1648);
--#1651=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
--#1652=VECTOR('',#1651,7.071067811865E-1);
--#1653=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1));
--#1654=LINE('',#1653,#1652);
--#1655=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1656=VECTOR('',#1655,2.5E0);
--#1657=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0));
--#1658=LINE('',#1657,#1656);
--#1659=DIRECTION('',(0.E0,0.E0,1.E0));
--#1660=VECTOR('',#1659,2.E0);
--#1661=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0));
--#1662=LINE('',#1661,#1660);
--#1663=DIRECTION('',(0.E0,0.E0,1.E0));
--#1664=VECTOR('',#1663,2.E0);
--#1665=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
--#1666=LINE('',#1665,#1664);
--#1667=DIRECTION('',(0.E0,0.E0,1.E0));
--#1668=VECTOR('',#1667,2.E0);
--#1669=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0));
--#1670=LINE('',#1669,#1668);
--#1671=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0));
--#1672=DIRECTION('',(0.E0,1.E0,0.E0));
--#1673=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1674=AXIS2_PLACEMENT_3D('',#1671,#1672,#1673);
--#1676=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0));
--#1677=DIRECTION('',(0.E0,1.E0,0.E0));
--#1678=DIRECTION('',(1.E0,0.E0,0.E0));
--#1679=AXIS2_PLACEMENT_3D('',#1676,#1677,#1678);
--#1681=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0));
--#1682=DIRECTION('',(0.E0,1.E0,0.E0));
--#1683=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1684=AXIS2_PLACEMENT_3D('',#1681,#1682,#1683);
--#1686=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0));
--#1687=DIRECTION('',(0.E0,1.E0,0.E0));
--#1688=DIRECTION('',(1.E0,0.E0,0.E0));
--#1689=AXIS2_PLACEMENT_3D('',#1686,#1687,#1688);
--#1691=DIRECTION('',(0.E0,0.E0,1.E0));
--#1692=VECTOR('',#1691,2.E0);
--#1693=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
--#1694=LINE('',#1693,#1692);
--#1695=DIRECTION('',(0.E0,1.E0,0.E0));
--#1696=VECTOR('',#1695,1.E1);
--#1697=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
--#1698=LINE('',#1697,#1696);
--#1699=DIRECTION('',(0.E0,1.E0,0.E0));
--#1700=VECTOR('',#1699,1.5E0);
--#1701=CARTESIAN_POINT('',(1.9E1,0.E0,1.1E1));
--#1702=LINE('',#1701,#1700);
--#1703=CARTESIAN_POINT('',(1.8E1,0.E0,1.1E1));
--#1704=DIRECTION('',(0.E0,1.E0,0.E0));
--#1705=DIRECTION('',(1.E0,0.E0,0.E0));
--#1706=AXIS2_PLACEMENT_3D('',#1703,#1704,#1705);
--#1708=DIRECTION('',(0.E0,1.E0,0.E0));
--#1709=VECTOR('',#1708,1.5E0);
--#1710=CARTESIAN_POINT('',(1.8E1,0.E0,1.E1));
--#1711=LINE('',#1710,#1709);
--#1712=CARTESIAN_POINT('',(1.8E1,1.5E0,1.1E1));
--#1713=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1714=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1715=AXIS2_PLACEMENT_3D('',#1712,#1713,#1714);
--#1717=DIRECTION('',(1.E0,0.E0,0.E0));
--#1718=VECTOR('',#1717,1.2E1);
--#1719=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1));
--#1720=LINE('',#1719,#1718);
--#1721=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1722=VECTOR('',#1721,1.5E0);
--#1723=CARTESIAN_POINT('',(5.E0,1.5E0,1.1E1));
--#1724=LINE('',#1723,#1722);
--#1725=CARTESIAN_POINT('',(6.E0,1.5E0,1.1E1));
--#1726=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1727=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1728=AXIS2_PLACEMENT_3D('',#1725,#1726,#1727);
--#1730=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1731=VECTOR('',#1730,1.5E0);
--#1732=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1));
--#1733=LINE('',#1732,#1731);
--#1734=CARTESIAN_POINT('',(6.E0,0.E0,1.1E1));
--#1735=DIRECTION('',(0.E0,1.E0,0.E0));
--#1736=DIRECTION('',(0.E0,0.E0,-1.E0));
--#1737=AXIS2_PLACEMENT_3D('',#1734,#1735,#1736);
--#1739=DIRECTION('',(0.E0,0.E0,1.E0));
--#1740=VECTOR('',#1739,2.E0);
--#1741=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
--#1742=LINE('',#1741,#1740);
--#1743=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1744=VECTOR('',#1743,1.E1);
--#1745=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
--#1746=LINE('',#1745,#1744);
--#1747=DIRECTION('',(0.E0,1.E0,0.E0));
--#1748=VECTOR('',#1747,1.5E0);
--#1749=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
--#1750=LINE('',#1749,#1748);
--#1751=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
--#1752=VECTOR('',#1751,7.071067811865E-1);
--#1753=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
--#1754=LINE('',#1753,#1752);
--#1755=DIRECTION('',(0.E0,1.E0,0.E0));
--#1756=VECTOR('',#1755,1.5E0);
--#1757=CARTESIAN_POINT('',(4.5E0,0.E0,1.225E1));
--#1758=LINE('',#1757,#1756);
--#1759=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
--#1760=VECTOR('',#1759,7.071067811865E-1);
--#1761=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1));
--#1762=LINE('',#1761,#1760);
--#1763=CARTESIAN_POINT('',(4.25E0,1.05E1,1.E1));
--#1764=DIRECTION('',(0.E0,0.E0,1.E0));
--#1765=DIRECTION('',(1.E0,0.E0,0.E0));
--#1766=AXIS2_PLACEMENT_3D('',#1763,#1764,#1765);
--#1768=CARTESIAN_POINT('',(4.25E0,1.05E1,1.E1));
--#1769=DIRECTION('',(0.E0,0.E0,1.E0));
--#1770=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1771=AXIS2_PLACEMENT_3D('',#1768,#1769,#1770);
--#1773=DIRECTION('',(0.E0,1.E0,0.E0));
--#1774=VECTOR('',#1773,5.E0);
--#1775=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.E1));
--#1776=LINE('',#1775,#1774);
--#1777=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1778=VECTOR('',#1777,1.E0);
--#1779=CARTESIAN_POINT('',(-2.E0,2.5E0,1.E1));
--#1780=LINE('',#1779,#1778);
--#1781=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
--#1782=VECTOR('',#1781,1.029563014099E1);
--#1783=CARTESIAN_POINT('',(3.E0,1.15E1,1.E1));
--#1784=LINE('',#1783,#1782);
--#1785=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1786=VECTOR('',#1785,2.E0);
--#1787=CARTESIAN_POINT('',(5.E0,1.15E1,1.E1));
--#1788=LINE('',#1787,#1786);
--#1789=DIRECTION('',(0.E0,1.E0,0.E0));
--#1790=VECTOR('',#1789,1.E1);
--#1791=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1));
--#1792=LINE('',#1791,#1790);
--#1793=DIRECTION('',(0.E0,1.E0,0.E0));
--#1794=VECTOR('',#1793,5.E0);
--#1795=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1));
--#1796=LINE('',#1795,#1794);
--#1797=DIRECTION('',(1.E0,0.E0,0.E0));
--#1798=VECTOR('',#1797,1.75E0);
--#1799=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1));
--#1800=LINE('',#1799,#1798);
--#1801=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1802=VECTOR('',#1801,4.3E0);
--#1803=CARTESIAN_POINT('',(2.5E0,6.65E0,1.E1));
--#1804=LINE('',#1803,#1802);
--#1805=DIRECTION('',(1.E0,0.E0,0.E0));
--#1806=VECTOR('',#1805,1.3E0);
--#1807=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1));
--#1808=LINE('',#1807,#1806);
--#1809=DIRECTION('',(0.E0,1.E0,0.E0));
--#1810=VECTOR('',#1809,6.8E0);
--#1811=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1));
--#1812=LINE('',#1811,#1810);
--#1813=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1814=VECTOR('',#1813,1.197200760546E0);
--#1815=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1));
--#1816=LINE('',#1815,#1814);
--#1817=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
--#1818=VECTOR('',#1817,2.059126028197E0);
--#1819=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1));
--#1820=LINE('',#1819,#1818);
--#1821=DIRECTION('',(1.E0,0.E0,0.E0));
--#1822=VECTOR('',#1821,1.972007605460E-1);
--#1823=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1));
--#1824=LINE('',#1823,#1822);
--#1825=DIRECTION('',(0.E0,0.E0,1.E0));
--#1826=VECTOR('',#1825,2.E0);
--#1827=CARTESIAN_POINT('',(4.4125E0,1.05E1,8.E0));
--#1828=LINE('',#1827,#1826);
--#1829=DIRECTION('',(0.E0,0.E0,1.E0));
--#1830=VECTOR('',#1829,2.E0);
--#1831=CARTESIAN_POINT('',(4.0875E0,1.05E1,8.E0));
--#1832=LINE('',#1831,#1830);
--#1833=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
--#1834=VECTOR('',#1833,5.773502691896E0);
--#1835=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1));
--#1836=LINE('',#1835,#1834);
--#1837=CARTESIAN_POINT('',(8.675E-1,3.035898384862E0,1.2E1));
--#1838=CARTESIAN_POINT('',(8.675E-1,2.930774450068E0,1.206069333205E1));
--#1839=CARTESIAN_POINT('',(9.058386382037E-1,2.745461691651E0,1.216768370301E1));
--#1840=CARTESIAN_POINT('',(1.029862281194E0,2.608885438662E0,1.224653603944E1));
--#1841=CARTESIAN_POINT('',(1.125E0,2.580400233539E0,1.226298198028E1));
--#1842=CARTESIAN_POINT('',(1.220137718806E0,2.608885438662E0,1.224653603944E1));
--#1843=CARTESIAN_POINT('',(1.344161361796E0,2.745461691651E0,1.216768370301E1));
--#1844=CARTESIAN_POINT('',(1.3825E0,2.930774450068E0,1.206069333205E1));
--#1845=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1));
--#1847=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1));
--#1848=CARTESIAN_POINT('',(1.3825E0,3.141022319657E0,1.193930666795E1));
--#1849=CARTESIAN_POINT('',(1.344161361796E0,3.326335078073E0,1.183231629699E1));
--#1850=CARTESIAN_POINT('',(1.220137718806E0,3.462911331062E0,1.175346396056E1));
--#1851=CARTESIAN_POINT('',(1.125E0,3.491396536186E0,1.173701801972E1));
--#1852=CARTESIAN_POINT('',(1.029862281194E0,3.462911331062E0,1.175346396056E1));
--#1853=CARTESIAN_POINT('',(9.058386382037E-1,3.326335078073E0,1.183231629699E1));
--#1854=CARTESIAN_POINT('',(8.675E-1,3.141022319657E0,1.193930666795E1));
--#1855=CARTESIAN_POINT('',(8.675E-1,3.035898384862E0,1.2E1));
--#1857=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
--#1858=VECTOR('',#1857,5.773502691896E0);
--#1859=CARTESIAN_POINT('',(2.E0,6.5E0,1.E1));
--#1860=LINE('',#1859,#1858);
--#1861=DIRECTION('',(0.E0,1.E0,0.E0));
--#1862=VECTOR('',#1861,2.035898384862E0);
--#1863=CARTESIAN_POINT('',(8.675E-1,1.E0,1.2E1));
--#1864=LINE('',#1863,#1862);
--#1865=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1866=VECTOR('',#1865,2.035898384862E0);
--#1867=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1));
--#1868=LINE('',#1867,#1866);
--#1869=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
--#1870=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1871=DIRECTION('',(1.E0,0.E0,0.E0));
--#1872=AXIS2_PLACEMENT_3D('',#1869,#1870,#1871);
--#1874=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
--#1875=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1876=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1877=AXIS2_PLACEMENT_3D('',#1874,#1875,#1876);
--#1879=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
--#1880=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1881=DIRECTION('',(1.E0,0.E0,0.E0));
--#1882=AXIS2_PLACEMENT_3D('',#1879,#1880,#1881);
--#1884=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
--#1885=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1886=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1887=AXIS2_PLACEMENT_3D('',#1884,#1885,#1886);
--#1889=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1890=VECTOR('',#1889,1.E0);
--#1891=CARTESIAN_POINT('',(1.3175E0,1.E0,1.2E1));
--#1892=LINE('',#1891,#1890);
--#1893=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1894=VECTOR('',#1893,1.E0);
--#1895=CARTESIAN_POINT('',(9.325E-1,1.E0,1.2E1));
--#1896=LINE('',#1895,#1894);
--#1897=DIRECTION('',(0.E0,1.E0,0.E0));
--#1898=VECTOR('',#1897,2.5E0);
--#1899=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0));
--#1900=LINE('',#1899,#1898);
--#1901=DIRECTION('',(0.E0,0.E0,1.E0));
--#1902=VECTOR('',#1901,2.E0);
--#1903=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0));
--#1904=LINE('',#1903,#1902);
--#1905=DIRECTION('',(0.E0,1.E0,0.E0));
--#1906=VECTOR('',#1905,1.5E0);
--#1907=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
--#1908=LINE('',#1907,#1906);
--#1909=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
--#1910=VECTOR('',#1909,7.071067811865E-1);
--#1911=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
--#1912=LINE('',#1911,#1910);
--#1913=DIRECTION('',(0.E0,1.E0,0.E0));
--#1914=VECTOR('',#1913,1.5E0);
--#1915=CARTESIAN_POINT('',(-2.E0,0.E0,1.175E1));
--#1916=LINE('',#1915,#1914);
--#1917=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
--#1918=VECTOR('',#1917,7.071067811865E-1);
--#1919=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1));
--#1920=LINE('',#1919,#1918);
--#1921=DIRECTION('',(0.E0,0.E0,1.E0));
--#1922=VECTOR('',#1921,2.E0);
--#1923=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0));
--#1924=LINE('',#1923,#1922);
--#1925=DIRECTION('',(0.E0,0.E0,1.E0));
--#1926=VECTOR('',#1925,2.E0);
--#1927=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
--#1928=LINE('',#1927,#1926);
--#1929=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0));
--#1930=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1931=DIRECTION('',(1.E0,0.E0,0.E0));
--#1932=AXIS2_PLACEMENT_3D('',#1929,#1930,#1931);
--#1934=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0));
--#1935=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1936=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1937=AXIS2_PLACEMENT_3D('',#1934,#1935,#1936);
--#1939=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0));
--#1940=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1941=DIRECTION('',(1.E0,0.E0,0.E0));
--#1942=AXIS2_PLACEMENT_3D('',#1939,#1940,#1941);
--#1944=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0));
--#1945=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1946=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1947=AXIS2_PLACEMENT_3D('',#1944,#1945,#1946);
--#1949=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1950=VECTOR('',#1949,3.75E-1);
--#1951=CARTESIAN_POINT('',(4.095E0,1.15E1,9.E0));
--#1952=LINE('',#1951,#1950);
--#1953=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1954=VECTOR('',#1953,3.75E-1);
--#1955=CARTESIAN_POINT('',(3.905E0,1.15E1,9.E0));
--#1956=LINE('',#1955,#1954);
--#1957=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0));
--#1958=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1959=DIRECTION('',(1.E0,0.E0,0.E0));
--#1960=AXIS2_PLACEMENT_3D('',#1957,#1958,#1959);
--#1962=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0));
--#1963=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1964=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1965=AXIS2_PLACEMENT_3D('',#1962,#1963,#1964);
--#1967=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1968=VECTOR('',#1967,2.5E-1);
--#1969=CARTESIAN_POINT('',(3.929917478528E0,1.15E1,9.132582521472E0));
--#1970=LINE('',#1969,#1968);
--#1971=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1972=VECTOR('',#1971,2.5E-1);
--#1973=CARTESIAN_POINT('',(3.804917478528E0,1.15E1,9.132582521472E0));
--#1974=LINE('',#1973,#1972);
--#1975=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0));
--#1976=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1977=DIRECTION('',(1.E0,0.E0,0.E0));
--#1978=AXIS2_PLACEMENT_3D('',#1975,#1976,#1977);
--#1980=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0));
--#1981=DIRECTION('',(0.E0,-1.E0,0.E0));
--#1982=DIRECTION('',(-1.E0,0.E0,0.E0));
--#1983=AXIS2_PLACEMENT_3D('',#1980,#1981,#1982);
--#1985=DIRECTION('',(0.E0,0.E0,1.E0));
--#1986=VECTOR('',#1985,5.E-1);
--#1987=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0));
--#1988=LINE('',#1987,#1986);
--#1989=CARTESIAN_POINT('',(2.15E0,6.65E0,1.E1));
--#1990=DIRECTION('',(0.E0,0.E0,1.E0));
--#1991=DIRECTION('',(1.E0,0.E0,0.E0));
--#1992=AXIS2_PLACEMENT_3D('',#1989,#1990,#1991);
--#1994=DIRECTION('',(0.E0,0.E0,1.E0));
--#1995=VECTOR('',#1994,5.E-1);
--#1996=CARTESIAN_POINT('',(2.15E0,7.E0,9.5E0));
--#1997=LINE('',#1996,#1995);
--#1998=CARTESIAN_POINT('',(2.15E0,6.65E0,9.5E0));
--#1999=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2000=DIRECTION('',(0.E0,1.E0,0.E0));
--#2001=AXIS2_PLACEMENT_3D('',#1998,#1999,#2000);
--#2003=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2004=VECTOR('',#2003,4.3E0);
--#2005=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0));
--#2006=LINE('',#2005,#2004);
--#2007=DIRECTION('',(1.E0,0.E0,0.E0));
--#2008=VECTOR('',#2007,1.972007605460E-1);
--#2009=CARTESIAN_POINT('',(1.952799239454E0,7.E0,9.5E0));
--#2010=LINE('',#2009,#2008);
--#2011=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
--#2012=VECTOR('',#2011,2.059126028197E0);
--#2013=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,9.5E0));
--#2014=LINE('',#2013,#2012);
--#2015=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2016=VECTOR('',#2015,1.197200760546E0);
--#2017=CARTESIAN_POINT('',(4.15E0,9.5E0,9.5E0));
--#2018=LINE('',#2017,#2016);
--#2019=DIRECTION('',(0.E0,1.E0,0.E0));
--#2020=VECTOR('',#2019,6.8E0);
--#2021=CARTESIAN_POINT('',(4.5E0,2.35E0,9.5E0));
--#2022=LINE('',#2021,#2020);
--#2023=DIRECTION('',(1.E0,0.E0,0.E0));
--#2024=VECTOR('',#2023,1.3E0);
--#2025=CARTESIAN_POINT('',(2.85E0,2.E0,9.5E0));
--#2026=LINE('',#2025,#2024);
--#2027=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2028=VECTOR('',#2027,5.E-1);
--#2029=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1));
--#2030=LINE('',#2029,#2028);
--#2031=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,1.E1));
--#2032=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2033=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2034=AXIS2_PLACEMENT_3D('',#2031,#2032,#2033);
--#2036=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2037=VECTOR('',#2036,5.E-1);
--#2038=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,1.E1));
--#2039=LINE('',#2038,#2037);
--#2040=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,9.5E0));
--#2041=DIRECTION('',(0.E0,0.E0,1.E0));
--#2042=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
--#2043=AXIS2_PLACEMENT_3D('',#2040,#2041,#2042);
--#2045=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2046=VECTOR('',#2045,5.E-1);
--#2047=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1));
--#2048=LINE('',#2047,#2046);
--#2049=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,1.E1));
--#2050=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2051=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
--#2052=AXIS2_PLACEMENT_3D('',#2049,#2050,#2051);
--#2054=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2055=VECTOR('',#2054,5.E-1);
--#2056=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,1.E1));
--#2057=LINE('',#2056,#2055);
--#2058=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,9.5E0));
--#2059=DIRECTION('',(0.E0,0.E0,1.E0));
--#2060=DIRECTION('',(0.E0,1.E0,0.E0));
--#2061=AXIS2_PLACEMENT_3D('',#2058,#2059,#2060);
--#2063=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2064=VECTOR('',#2063,5.E-1);
--#2065=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1));
--#2066=LINE('',#2065,#2064);
--#2067=CARTESIAN_POINT('',(4.15E0,9.15E0,1.E1));
--#2068=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2069=DIRECTION('',(0.E0,1.E0,0.E0));
--#2070=AXIS2_PLACEMENT_3D('',#2067,#2068,#2069);
--#2072=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2073=VECTOR('',#2072,5.E-1);
--#2074=CARTESIAN_POINT('',(4.5E0,9.15E0,1.E1));
--#2075=LINE('',#2074,#2073);
--#2076=CARTESIAN_POINT('',(4.15E0,9.15E0,9.5E0));
--#2077=DIRECTION('',(0.E0,0.E0,1.E0));
--#2078=DIRECTION('',(1.E0,0.E0,0.E0));
--#2079=AXIS2_PLACEMENT_3D('',#2076,#2077,#2078);
--#2081=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2082=VECTOR('',#2081,5.E-1);
--#2083=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1));
--#2084=LINE('',#2083,#2082);
--#2085=CARTESIAN_POINT('',(4.15E0,2.35E0,1.E1));
--#2086=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2087=DIRECTION('',(1.E0,0.E0,0.E0));
--#2088=AXIS2_PLACEMENT_3D('',#2085,#2086,#2087);
--#2090=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2091=VECTOR('',#2090,5.E-1);
--#2092=CARTESIAN_POINT('',(4.15E0,2.E0,1.E1));
--#2093=LINE('',#2092,#2091);
--#2094=CARTESIAN_POINT('',(4.15E0,2.35E0,9.5E0));
--#2095=DIRECTION('',(0.E0,0.E0,1.E0));
--#2096=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2097=AXIS2_PLACEMENT_3D('',#2094,#2095,#2096);
--#2099=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2100=VECTOR('',#2099,5.E-1);
--#2101=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1));
--#2102=LINE('',#2101,#2100);
--#2103=CARTESIAN_POINT('',(2.85E0,2.35E0,1.E1));
--#2104=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2105=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2106=AXIS2_PLACEMENT_3D('',#2103,#2104,#2105);
--#2108=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2109=VECTOR('',#2108,5.E-1);
--#2110=CARTESIAN_POINT('',(2.5E0,2.35E0,1.E1));
--#2111=LINE('',#2110,#2109);
--#2112=CARTESIAN_POINT('',(2.85E0,2.35E0,9.5E0));
--#2113=DIRECTION('',(0.E0,0.E0,1.E0));
--#2114=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2115=AXIS2_PLACEMENT_3D('',#2112,#2113,#2114);
--#2117=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2118=VECTOR('',#2117,1.5E0);
--#2119=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
--#2120=LINE('',#2119,#2118);
--#2121=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
--#2122=VECTOR('',#2121,7.071067811865E-1);
--#2123=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
--#2124=LINE('',#2123,#2122);
--#2125=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2126=VECTOR('',#2125,1.5E0);
--#2127=CARTESIAN_POINT('',(1.95E1,1.5E0,1.225E1));
--#2128=LINE('',#2127,#2126);
--#2129=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
--#2130=VECTOR('',#2129,7.071067811865E-1);
--#2131=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1));
--#2132=LINE('',#2131,#2130);
--#2133=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2134=VECTOR('',#2133,3.75E-1);
--#2135=CARTESIAN_POINT('',(1.9905E1,1.15E1,9.E0));
--#2136=LINE('',#2135,#2134);
--#2137=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2138=VECTOR('',#2137,3.75E-1);
--#2139=CARTESIAN_POINT('',(2.0095E1,1.15E1,9.E0));
--#2140=LINE('',#2139,#2138);
--#2141=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0));
--#2142=DIRECTION('',(0.E0,1.E0,0.E0));
--#2143=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2144=AXIS2_PLACEMENT_3D('',#2141,#2142,#2143);
--#2146=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0));
--#2147=DIRECTION('',(0.E0,1.E0,0.E0));
--#2148=DIRECTION('',(1.E0,0.E0,0.E0));
--#2149=AXIS2_PLACEMENT_3D('',#2146,#2147,#2148);
--#2151=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2152=VECTOR('',#2151,2.5E-1);
--#2153=CARTESIAN_POINT('',(2.007008252147E1,1.15E1,9.132582521472E0));
--#2154=LINE('',#2153,#2152);
--#2155=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2156=VECTOR('',#2155,2.5E-1);
--#2157=CARTESIAN_POINT('',(2.019508252147E1,1.15E1,9.132582521472E0));
--#2158=LINE('',#2157,#2156);
--#2159=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0));
--#2160=DIRECTION('',(0.E0,1.E0,0.E0));
--#2161=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2162=AXIS2_PLACEMENT_3D('',#2159,#2160,#2161);
--#2164=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0));
--#2165=DIRECTION('',(0.E0,1.E0,0.E0));
--#2166=DIRECTION('',(1.E0,0.E0,0.E0));
--#2167=AXIS2_PLACEMENT_3D('',#2164,#2165,#2166);
--#2169=DIRECTION('',(1.421085471520E-14,1.E0,0.E0));
--#2170=VECTOR('',#2169,2.5E-1);
--#2171=CARTESIAN_POINT('',(1.745E1,1.25E0,2.975E1));
--#2172=LINE('',#2171,#2170);
--#2173=DIRECTION('',(-1.421085471520E-14,1.E0,0.E0));
--#2174=VECTOR('',#2173,2.5E-1);
--#2175=CARTESIAN_POINT('',(1.765E1,1.25E0,2.975E1));
--#2176=LINE('',#2175,#2174);
--#2177=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0));
--#2178=VECTOR('',#2177,1.154700538379E-1);
--#2179=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1));
--#2180=LINE('',#2179,#2178);
--#2181=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0));
--#2182=VECTOR('',#2181,1.154700538379E-1);
--#2183=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1));
--#2184=LINE('',#2183,#2182);
--#2185=CARTESIAN_POINT('',(1.755E1,1.25E0,2.975E1));
--#2186=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2187=DIRECTION('',(1.E0,0.E0,0.E0));
--#2188=AXIS2_PLACEMENT_3D('',#2185,#2186,#2187);
--#2190=CARTESIAN_POINT('',(1.755E1,1.25E0,2.975E1));
--#2191=DIRECTION('',(0.E0,1.E0,0.E0));
--#2192=DIRECTION('',(1.E0,0.E0,0.E0));
--#2193=AXIS2_PLACEMENT_3D('',#2190,#2191,#2192);
--#2195=DIRECTION('',(1.421085471520E-14,1.E0,0.E0));
--#2196=VECTOR('',#2195,2.5E-1);
--#2197=CARTESIAN_POINT('',(1.645E1,1.25E0,2.975E1));
--#2198=LINE('',#2197,#2196);
--#2199=DIRECTION('',(-1.421085471520E-14,1.E0,0.E0));
--#2200=VECTOR('',#2199,2.5E-1);
--#2201=CARTESIAN_POINT('',(1.665E1,1.25E0,2.975E1));
--#2202=LINE('',#2201,#2200);
--#2203=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0));
--#2204=VECTOR('',#2203,1.154700538379E-1);
--#2205=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1));
--#2206=LINE('',#2205,#2204);
--#2207=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0));
--#2208=VECTOR('',#2207,1.154700538379E-1);
--#2209=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1));
--#2210=LINE('',#2209,#2208);
--#2211=CARTESIAN_POINT('',(1.655E1,1.25E0,2.975E1));
--#2212=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2213=DIRECTION('',(1.E0,0.E0,0.E0));
--#2214=AXIS2_PLACEMENT_3D('',#2211,#2212,#2213);
--#2216=CARTESIAN_POINT('',(1.655E1,1.25E0,2.975E1));
--#2217=DIRECTION('',(0.E0,1.E0,0.E0));
--#2218=DIRECTION('',(1.E0,0.E0,0.E0));
--#2219=AXIS2_PLACEMENT_3D('',#2216,#2217,#2218);
--#2221=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2222=VECTOR('',#2221,5.E-1);
--#2223=CARTESIAN_POINT('',(1.3825E0,1.5E0,6.E0));
--#2224=LINE('',#2223,#2222);
--#2225=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2226=VECTOR('',#2225,5.E-1);
--#2227=CARTESIAN_POINT('',(8.675E-1,1.5E0,6.E0));
--#2228=LINE('',#2227,#2226);
--#2229=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
--#2230=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2231=DIRECTION('',(1.E0,0.E0,0.E0));
--#2232=AXIS2_PLACEMENT_3D('',#2229,#2230,#2231);
--#2234=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
--#2235=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2236=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2237=AXIS2_PLACEMENT_3D('',#2234,#2235,#2236);
--#2239=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
--#2240=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2241=DIRECTION('',(1.E0,0.E0,0.E0));
--#2242=AXIS2_PLACEMENT_3D('',#2239,#2240,#2241);
--#2244=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
--#2245=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2246=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2247=AXIS2_PLACEMENT_3D('',#2244,#2245,#2246);
--#2249=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2250=VECTOR('',#2249,1.E0);
--#2251=CARTESIAN_POINT('',(1.3175E0,1.E0,6.E0));
--#2252=LINE('',#2251,#2250);
--#2253=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2254=VECTOR('',#2253,1.E0);
--#2255=CARTESIAN_POINT('',(9.325E-1,1.E0,6.E0));
--#2256=LINE('',#2255,#2254);
--#2257=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2258=VECTOR('',#2257,5.E-1);
--#2259=CARTESIAN_POINT('',(1.3825E0,1.5E0,1.8E1));
--#2260=LINE('',#2259,#2258);
--#2261=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2262=VECTOR('',#2261,5.E-1);
--#2263=CARTESIAN_POINT('',(8.675E-1,1.5E0,1.8E1));
--#2264=LINE('',#2263,#2262);
--#2265=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
--#2266=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2267=DIRECTION('',(1.E0,0.E0,0.E0));
--#2268=AXIS2_PLACEMENT_3D('',#2265,#2266,#2267);
--#2270=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
--#2271=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2272=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2273=AXIS2_PLACEMENT_3D('',#2270,#2271,#2272);
--#2275=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
--#2276=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2277=DIRECTION('',(1.E0,0.E0,0.E0));
--#2278=AXIS2_PLACEMENT_3D('',#2275,#2276,#2277);
--#2280=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
--#2281=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2282=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2283=AXIS2_PLACEMENT_3D('',#2280,#2281,#2282);
--#2285=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2286=VECTOR('',#2285,1.E0);
--#2287=CARTESIAN_POINT('',(1.3175E0,1.E0,1.8E1));
--#2288=LINE('',#2287,#2286);
--#2289=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2290=VECTOR('',#2289,1.E0);
--#2291=CARTESIAN_POINT('',(9.325E-1,1.E0,1.8E1));
--#2292=LINE('',#2291,#2290);
--#2293=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2294=VECTOR('',#2293,5.E-1);
--#2295=CARTESIAN_POINT('',(1.3825E0,1.5E0,2.4E1));
--#2296=LINE('',#2295,#2294);
--#2297=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2298=VECTOR('',#2297,5.E-1);
--#2299=CARTESIAN_POINT('',(8.675E-1,1.5E0,2.4E1));
--#2300=LINE('',#2299,#2298);
--#2301=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
--#2302=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2303=DIRECTION('',(1.E0,0.E0,0.E0));
--#2304=AXIS2_PLACEMENT_3D('',#2301,#2302,#2303);
--#2306=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
--#2307=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2308=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2309=AXIS2_PLACEMENT_3D('',#2306,#2307,#2308);
--#2311=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
--#2312=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2313=DIRECTION('',(1.E0,0.E0,0.E0));
--#2314=AXIS2_PLACEMENT_3D('',#2311,#2312,#2313);
--#2316=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
--#2317=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2318=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2319=AXIS2_PLACEMENT_3D('',#2316,#2317,#2318);
--#2321=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2322=VECTOR('',#2321,1.E0);
--#2323=CARTESIAN_POINT('',(1.3175E0,1.E0,2.4E1));
--#2324=LINE('',#2323,#2322);
--#2325=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2326=VECTOR('',#2325,1.E0);
--#2327=CARTESIAN_POINT('',(9.325E-1,1.E0,2.4E1));
--#2328=LINE('',#2327,#2326);
--#2329=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2330=VECTOR('',#2329,5.E-1);
--#2331=CARTESIAN_POINT('',(2.31325E1,1.5E0,6.E0));
--#2332=LINE('',#2331,#2330);
--#2333=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2334=VECTOR('',#2333,5.E-1);
--#2335=CARTESIAN_POINT('',(2.26175E1,1.5E0,6.E0));
--#2336=LINE('',#2335,#2334);
--#2337=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
--#2338=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2339=DIRECTION('',(1.E0,0.E0,0.E0));
--#2340=AXIS2_PLACEMENT_3D('',#2337,#2338,#2339);
--#2342=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
--#2343=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2344=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2345=AXIS2_PLACEMENT_3D('',#2342,#2343,#2344);
--#2347=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
--#2348=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2349=DIRECTION('',(1.E0,0.E0,0.E0));
--#2350=AXIS2_PLACEMENT_3D('',#2347,#2348,#2349);
--#2352=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
--#2353=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2354=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2355=AXIS2_PLACEMENT_3D('',#2352,#2353,#2354);
--#2357=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2358=VECTOR('',#2357,1.E0);
--#2359=CARTESIAN_POINT('',(2.30675E1,1.E0,6.E0));
--#2360=LINE('',#2359,#2358);
--#2361=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2362=VECTOR('',#2361,1.E0);
--#2363=CARTESIAN_POINT('',(2.26825E1,1.E0,6.E0));
--#2364=LINE('',#2363,#2362);
--#2365=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2366=VECTOR('',#2365,5.E-1);
--#2367=CARTESIAN_POINT('',(2.31325E1,1.5E0,1.8E1));
--#2368=LINE('',#2367,#2366);
--#2369=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2370=VECTOR('',#2369,5.E-1);
--#2371=CARTESIAN_POINT('',(2.26175E1,1.5E0,1.8E1));
--#2372=LINE('',#2371,#2370);
--#2373=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
--#2374=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2375=DIRECTION('',(1.E0,0.E0,0.E0));
--#2376=AXIS2_PLACEMENT_3D('',#2373,#2374,#2375);
--#2378=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
--#2379=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2380=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2381=AXIS2_PLACEMENT_3D('',#2378,#2379,#2380);
--#2383=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
--#2384=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2385=DIRECTION('',(1.E0,0.E0,0.E0));
--#2386=AXIS2_PLACEMENT_3D('',#2383,#2384,#2385);
--#2388=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
--#2389=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2390=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2391=AXIS2_PLACEMENT_3D('',#2388,#2389,#2390);
--#2393=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2394=VECTOR('',#2393,1.E0);
--#2395=CARTESIAN_POINT('',(2.30675E1,1.E0,1.8E1));
--#2396=LINE('',#2395,#2394);
--#2397=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2398=VECTOR('',#2397,1.E0);
--#2399=CARTESIAN_POINT('',(2.26825E1,1.E0,1.8E1));
--#2400=LINE('',#2399,#2398);
--#2401=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2402=VECTOR('',#2401,5.E-1);
--#2403=CARTESIAN_POINT('',(2.31325E1,1.5E0,2.4E1));
--#2404=LINE('',#2403,#2402);
--#2405=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2406=VECTOR('',#2405,5.E-1);
--#2407=CARTESIAN_POINT('',(2.26175E1,1.5E0,2.4E1));
--#2408=LINE('',#2407,#2406);
--#2409=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
--#2410=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2411=DIRECTION('',(1.E0,0.E0,0.E0));
--#2412=AXIS2_PLACEMENT_3D('',#2409,#2410,#2411);
--#2414=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
--#2415=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2416=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2417=AXIS2_PLACEMENT_3D('',#2414,#2415,#2416);
--#2419=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
--#2420=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2421=DIRECTION('',(1.E0,0.E0,0.E0));
--#2422=AXIS2_PLACEMENT_3D('',#2419,#2420,#2421);
--#2424=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
--#2425=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2426=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2427=AXIS2_PLACEMENT_3D('',#2424,#2425,#2426);
--#2429=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2430=VECTOR('',#2429,1.E0);
--#2431=CARTESIAN_POINT('',(2.30675E1,1.E0,2.4E1));
--#2432=LINE('',#2431,#2430);
--#2433=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2434=VECTOR('',#2433,1.E0);
--#2435=CARTESIAN_POINT('',(2.26825E1,1.E0,2.4E1));
--#2436=LINE('',#2435,#2434);
--#2437=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2438=VECTOR('',#2437,5.E-1);
--#2439=CARTESIAN_POINT('',(6.256E0,1.5E0,1.25E0));
--#2440=LINE('',#2439,#2438);
--#2441=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2442=VECTOR('',#2441,5.E-1);
--#2443=CARTESIAN_POINT('',(5.744E0,1.5E0,1.25E0));
--#2444=LINE('',#2443,#2442);
--#2445=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
--#2446=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2447=DIRECTION('',(1.E0,0.E0,0.E0));
--#2448=AXIS2_PLACEMENT_3D('',#2445,#2446,#2447);
--#2450=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
--#2451=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2452=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2453=AXIS2_PLACEMENT_3D('',#2450,#2451,#2452);
--#2455=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
--#2456=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2457=DIRECTION('',(1.E0,0.E0,0.E0));
--#2458=AXIS2_PLACEMENT_3D('',#2455,#2456,#2457);
--#2460=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
--#2461=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2462=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2463=AXIS2_PLACEMENT_3D('',#2460,#2461,#2462);
--#2465=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2466=VECTOR('',#2465,1.E0);
--#2467=CARTESIAN_POINT('',(6.1925E0,1.E0,1.25E0));
--#2468=LINE('',#2467,#2466);
--#2469=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2470=VECTOR('',#2469,1.E0);
--#2471=CARTESIAN_POINT('',(5.8075E0,1.E0,1.25E0));
--#2472=LINE('',#2471,#2470);
--#2473=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2474=VECTOR('',#2473,5.E-1);
--#2475=CARTESIAN_POINT('',(1.2256E1,1.5E0,1.25E0));
--#2476=LINE('',#2475,#2474);
--#2477=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2478=VECTOR('',#2477,5.E-1);
--#2479=CARTESIAN_POINT('',(1.1744E1,1.5E0,1.25E0));
--#2480=LINE('',#2479,#2478);
--#2481=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
--#2482=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2483=DIRECTION('',(1.E0,0.E0,0.E0));
--#2484=AXIS2_PLACEMENT_3D('',#2481,#2482,#2483);
--#2486=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
--#2487=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2488=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2489=AXIS2_PLACEMENT_3D('',#2486,#2487,#2488);
--#2491=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
--#2492=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2493=DIRECTION('',(1.E0,0.E0,0.E0));
--#2494=AXIS2_PLACEMENT_3D('',#2491,#2492,#2493);
--#2496=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
--#2497=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2498=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2499=AXIS2_PLACEMENT_3D('',#2496,#2497,#2498);
--#2501=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2502=VECTOR('',#2501,1.E0);
--#2503=CARTESIAN_POINT('',(1.21925E1,1.E0,1.25E0));
--#2504=LINE('',#2503,#2502);
--#2505=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2506=VECTOR('',#2505,1.E0);
--#2507=CARTESIAN_POINT('',(1.18075E1,1.E0,1.25E0));
--#2508=LINE('',#2507,#2506);
--#2509=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2510=VECTOR('',#2509,5.E-1);
--#2511=CARTESIAN_POINT('',(1.8256E1,1.5E0,1.25E0));
--#2512=LINE('',#2511,#2510);
--#2513=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2514=VECTOR('',#2513,5.E-1);
--#2515=CARTESIAN_POINT('',(1.7744E1,1.5E0,1.25E0));
--#2516=LINE('',#2515,#2514);
--#2517=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
--#2518=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2519=DIRECTION('',(1.E0,0.E0,0.E0));
--#2520=AXIS2_PLACEMENT_3D('',#2517,#2518,#2519);
--#2522=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
--#2523=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2524=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2525=AXIS2_PLACEMENT_3D('',#2522,#2523,#2524);
--#2527=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
--#2528=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2529=DIRECTION('',(1.E0,0.E0,0.E0));
--#2530=AXIS2_PLACEMENT_3D('',#2527,#2528,#2529);
--#2532=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
--#2533=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2534=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2535=AXIS2_PLACEMENT_3D('',#2532,#2533,#2534);
--#2537=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2538=VECTOR('',#2537,1.E0);
--#2539=CARTESIAN_POINT('',(1.81925E1,1.E0,1.25E0));
--#2540=LINE('',#2539,#2538);
--#2541=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2542=VECTOR('',#2541,1.E0);
--#2543=CARTESIAN_POINT('',(1.78075E1,1.E0,1.25E0));
--#2544=LINE('',#2543,#2542);
--#2545=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2546=VECTOR('',#2545,5.E-1);
--#2547=CARTESIAN_POINT('',(6.256E0,1.5E0,3.075E1));
--#2548=LINE('',#2547,#2546);
--#2549=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2550=VECTOR('',#2549,5.E-1);
--#2551=CARTESIAN_POINT('',(5.744E0,1.5E0,3.075E1));
--#2552=LINE('',#2551,#2550);
--#2553=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
--#2554=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2555=DIRECTION('',(1.E0,0.E0,0.E0));
--#2556=AXIS2_PLACEMENT_3D('',#2553,#2554,#2555);
--#2558=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
--#2559=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2560=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2561=AXIS2_PLACEMENT_3D('',#2558,#2559,#2560);
--#2563=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
--#2564=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2565=DIRECTION('',(1.E0,0.E0,0.E0));
--#2566=AXIS2_PLACEMENT_3D('',#2563,#2564,#2565);
--#2568=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
--#2569=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2570=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2571=AXIS2_PLACEMENT_3D('',#2568,#2569,#2570);
--#2573=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2574=VECTOR('',#2573,1.E0);
--#2575=CARTESIAN_POINT('',(6.1925E0,1.E0,3.075E1));
--#2576=LINE('',#2575,#2574);
--#2577=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2578=VECTOR('',#2577,1.E0);
--#2579=CARTESIAN_POINT('',(5.8075E0,1.E0,3.075E1));
--#2580=LINE('',#2579,#2578);
--#2581=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2582=VECTOR('',#2581,5.E-1);
--#2583=CARTESIAN_POINT('',(1.2256E1,1.5E0,3.075E1));
--#2584=LINE('',#2583,#2582);
--#2585=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2586=VECTOR('',#2585,5.E-1);
--#2587=CARTESIAN_POINT('',(1.1744E1,1.5E0,3.075E1));
--#2588=LINE('',#2587,#2586);
--#2589=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
--#2590=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2591=DIRECTION('',(1.E0,0.E0,0.E0));
--#2592=AXIS2_PLACEMENT_3D('',#2589,#2590,#2591);
--#2594=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
--#2595=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2596=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2597=AXIS2_PLACEMENT_3D('',#2594,#2595,#2596);
--#2599=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
--#2600=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2601=DIRECTION('',(1.E0,0.E0,0.E0));
--#2602=AXIS2_PLACEMENT_3D('',#2599,#2600,#2601);
--#2604=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
--#2605=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2606=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2607=AXIS2_PLACEMENT_3D('',#2604,#2605,#2606);
--#2609=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2610=VECTOR('',#2609,1.E0);
--#2611=CARTESIAN_POINT('',(1.21925E1,1.E0,3.075E1));
--#2612=LINE('',#2611,#2610);
--#2613=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2614=VECTOR('',#2613,1.E0);
--#2615=CARTESIAN_POINT('',(1.18075E1,1.E0,3.075E1));
--#2616=LINE('',#2615,#2614);
--#2617=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2618=VECTOR('',#2617,5.E-1);
--#2619=CARTESIAN_POINT('',(1.8256E1,1.5E0,3.075E1));
--#2620=LINE('',#2619,#2618);
--#2621=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2622=VECTOR('',#2621,5.E-1);
--#2623=CARTESIAN_POINT('',(1.7744E1,1.5E0,3.075E1));
--#2624=LINE('',#2623,#2622);
--#2625=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
--#2626=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2627=DIRECTION('',(1.E0,0.E0,0.E0));
--#2628=AXIS2_PLACEMENT_3D('',#2625,#2626,#2627);
--#2630=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
--#2631=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2632=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2633=AXIS2_PLACEMENT_3D('',#2630,#2631,#2632);
--#2635=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
--#2636=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2637=DIRECTION('',(1.E0,0.E0,0.E0));
--#2638=AXIS2_PLACEMENT_3D('',#2635,#2636,#2637);
--#2640=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
--#2641=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2642=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2643=AXIS2_PLACEMENT_3D('',#2640,#2641,#2642);
--#2645=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2646=VECTOR('',#2645,1.E0);
--#2647=CARTESIAN_POINT('',(1.81925E1,1.E0,3.075E1));
--#2648=LINE('',#2647,#2646);
--#2649=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2650=VECTOR('',#2649,1.E0);
--#2651=CARTESIAN_POINT('',(1.78075E1,1.E0,3.075E1));
--#2652=LINE('',#2651,#2650);
--#2653=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2654=VECTOR('',#2653,5.E-1);
--#2655=CARTESIAN_POINT('',(6.2575E0,1.5E0,9.E0));
--#2656=LINE('',#2655,#2654);
--#2657=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2658=VECTOR('',#2657,5.E-1);
--#2659=CARTESIAN_POINT('',(5.7425E0,1.5E0,9.E0));
--#2660=LINE('',#2659,#2658);
--#2661=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
--#2662=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2663=DIRECTION('',(1.E0,0.E0,0.E0));
--#2664=AXIS2_PLACEMENT_3D('',#2661,#2662,#2663);
--#2666=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
--#2667=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2668=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2669=AXIS2_PLACEMENT_3D('',#2666,#2667,#2668);
--#2671=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
--#2672=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2673=DIRECTION('',(1.E0,0.E0,0.E0));
--#2674=AXIS2_PLACEMENT_3D('',#2671,#2672,#2673);
--#2676=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
--#2677=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2678=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2679=AXIS2_PLACEMENT_3D('',#2676,#2677,#2678);
--#2681=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2682=VECTOR('',#2681,1.E0);
--#2683=CARTESIAN_POINT('',(6.1925E0,1.E0,9.E0));
--#2684=LINE('',#2683,#2682);
--#2685=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2686=VECTOR('',#2685,1.E0);
--#2687=CARTESIAN_POINT('',(5.8075E0,1.E0,9.E0));
--#2688=LINE('',#2687,#2686);
--#2689=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2690=VECTOR('',#2689,5.E-1);
--#2691=CARTESIAN_POINT('',(1.22575E1,1.5E0,9.E0));
--#2692=LINE('',#2691,#2690);
--#2693=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2694=VECTOR('',#2693,5.E-1);
--#2695=CARTESIAN_POINT('',(1.17425E1,1.5E0,9.E0));
--#2696=LINE('',#2695,#2694);
--#2697=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
--#2698=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2699=DIRECTION('',(1.E0,0.E0,0.E0));
--#2700=AXIS2_PLACEMENT_3D('',#2697,#2698,#2699);
--#2702=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
--#2703=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2704=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2705=AXIS2_PLACEMENT_3D('',#2702,#2703,#2704);
--#2707=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
--#2708=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2709=DIRECTION('',(1.E0,0.E0,0.E0));
--#2710=AXIS2_PLACEMENT_3D('',#2707,#2708,#2709);
--#2712=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
--#2713=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2714=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2715=AXIS2_PLACEMENT_3D('',#2712,#2713,#2714);
--#2717=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2718=VECTOR('',#2717,1.E0);
--#2719=CARTESIAN_POINT('',(1.21925E1,1.E0,9.E0));
--#2720=LINE('',#2719,#2718);
--#2721=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2722=VECTOR('',#2721,1.E0);
--#2723=CARTESIAN_POINT('',(1.18075E1,1.E0,9.E0));
--#2724=LINE('',#2723,#2722);
--#2725=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2726=VECTOR('',#2725,5.E-1);
--#2727=CARTESIAN_POINT('',(1.82575E1,1.5E0,9.E0));
--#2728=LINE('',#2727,#2726);
--#2729=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2730=VECTOR('',#2729,5.E-1);
--#2731=CARTESIAN_POINT('',(1.77425E1,1.5E0,9.E0));
--#2732=LINE('',#2731,#2730);
--#2733=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
--#2734=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2735=DIRECTION('',(1.E0,0.E0,0.E0));
--#2736=AXIS2_PLACEMENT_3D('',#2733,#2734,#2735);
--#2738=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
--#2739=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2740=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2741=AXIS2_PLACEMENT_3D('',#2738,#2739,#2740);
--#2743=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
--#2744=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2745=DIRECTION('',(1.E0,0.E0,0.E0));
--#2746=AXIS2_PLACEMENT_3D('',#2743,#2744,#2745);
--#2748=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
--#2749=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2750=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2751=AXIS2_PLACEMENT_3D('',#2748,#2749,#2750);
--#2753=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2754=VECTOR('',#2753,1.E0);
--#2755=CARTESIAN_POINT('',(1.81925E1,1.E0,9.E0));
--#2756=LINE('',#2755,#2754);
--#2757=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2758=VECTOR('',#2757,1.E0);
--#2759=CARTESIAN_POINT('',(1.78075E1,1.E0,9.E0));
--#2760=LINE('',#2759,#2758);
--#2761=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2762=VECTOR('',#2761,5.E-1);
--#2763=CARTESIAN_POINT('',(6.2575E0,1.5E0,1.8E1));
--#2764=LINE('',#2763,#2762);
--#2765=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2766=VECTOR('',#2765,5.E-1);
--#2767=CARTESIAN_POINT('',(5.7425E0,1.5E0,1.8E1));
--#2768=LINE('',#2767,#2766);
--#2769=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
--#2770=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2771=DIRECTION('',(1.E0,0.E0,0.E0));
--#2772=AXIS2_PLACEMENT_3D('',#2769,#2770,#2771);
--#2774=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
--#2775=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2776=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2777=AXIS2_PLACEMENT_3D('',#2774,#2775,#2776);
--#2779=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
--#2780=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2781=DIRECTION('',(1.E0,0.E0,0.E0));
--#2782=AXIS2_PLACEMENT_3D('',#2779,#2780,#2781);
--#2784=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
--#2785=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2786=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2787=AXIS2_PLACEMENT_3D('',#2784,#2785,#2786);
--#2789=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2790=VECTOR('',#2789,1.E0);
--#2791=CARTESIAN_POINT('',(6.1925E0,1.E0,1.8E1));
--#2792=LINE('',#2791,#2790);
--#2793=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2794=VECTOR('',#2793,1.E0);
--#2795=CARTESIAN_POINT('',(5.8075E0,1.E0,1.8E1));
--#2796=LINE('',#2795,#2794);
--#2797=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2798=VECTOR('',#2797,5.E-1);
--#2799=CARTESIAN_POINT('',(1.22575E1,1.5E0,1.8E1));
--#2800=LINE('',#2799,#2798);
--#2801=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2802=VECTOR('',#2801,5.E-1);
--#2803=CARTESIAN_POINT('',(1.17425E1,1.5E0,1.8E1));
--#2804=LINE('',#2803,#2802);
--#2805=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
--#2806=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2807=DIRECTION('',(1.E0,0.E0,0.E0));
--#2808=AXIS2_PLACEMENT_3D('',#2805,#2806,#2807);
--#2810=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
--#2811=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2812=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2813=AXIS2_PLACEMENT_3D('',#2810,#2811,#2812);
--#2815=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
--#2816=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2817=DIRECTION('',(1.E0,0.E0,0.E0));
--#2818=AXIS2_PLACEMENT_3D('',#2815,#2816,#2817);
--#2820=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
--#2821=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2822=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2823=AXIS2_PLACEMENT_3D('',#2820,#2821,#2822);
--#2825=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2826=VECTOR('',#2825,1.E0);
--#2827=CARTESIAN_POINT('',(1.21925E1,1.E0,1.8E1));
--#2828=LINE('',#2827,#2826);
--#2829=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2830=VECTOR('',#2829,1.E0);
--#2831=CARTESIAN_POINT('',(1.18075E1,1.E0,1.8E1));
--#2832=LINE('',#2831,#2830);
--#2833=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2834=VECTOR('',#2833,5.E-1);
--#2835=CARTESIAN_POINT('',(1.82575E1,1.5E0,1.8E1));
--#2836=LINE('',#2835,#2834);
--#2837=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2838=VECTOR('',#2837,5.E-1);
--#2839=CARTESIAN_POINT('',(1.77425E1,1.5E0,1.8E1));
--#2840=LINE('',#2839,#2838);
--#2841=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
--#2842=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2843=DIRECTION('',(1.E0,0.E0,0.E0));
--#2844=AXIS2_PLACEMENT_3D('',#2841,#2842,#2843);
--#2846=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
--#2847=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2848=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2849=AXIS2_PLACEMENT_3D('',#2846,#2847,#2848);
--#2851=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
--#2852=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2853=DIRECTION('',(1.E0,0.E0,0.E0));
--#2854=AXIS2_PLACEMENT_3D('',#2851,#2852,#2853);
--#2856=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
--#2857=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2858=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2859=AXIS2_PLACEMENT_3D('',#2856,#2857,#2858);
--#2861=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2862=VECTOR('',#2861,1.E0);
--#2863=CARTESIAN_POINT('',(1.81925E1,1.E0,1.8E1));
--#2864=LINE('',#2863,#2862);
--#2865=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2866=VECTOR('',#2865,1.E0);
--#2867=CARTESIAN_POINT('',(1.78075E1,1.E0,1.8E1));
--#2868=LINE('',#2867,#2866);
--#2869=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
--#2870=VECTOR('',#2869,5.773502691896E0);
--#2871=CARTESIAN_POINT('',(2.2E1,6.5E0,1.E1));
--#2872=LINE('',#2871,#2870);
--#2873=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1));
--#2874=CARTESIAN_POINT('',(2.31325E1,2.930774450068E0,1.206069333205E1));
--#2875=CARTESIAN_POINT('',(2.309416136180E1,2.745461691651E0,1.216768370301E1));
--#2876=CARTESIAN_POINT('',(2.297013771881E1,2.608885438662E0,1.224653603944E1));
--#2877=CARTESIAN_POINT('',(2.2875E1,2.580400233539E0,1.226298198028E1));
--#2878=CARTESIAN_POINT('',(2.277986228119E1,2.608885438662E0,1.224653603944E1));
--#2879=CARTESIAN_POINT('',(2.265583863820E1,2.745461691651E0,1.216768370301E1));
--#2880=CARTESIAN_POINT('',(2.26175E1,2.930774450068E0,1.206069333205E1));
--#2881=CARTESIAN_POINT('',(2.26175E1,3.035898384862E0,1.2E1));
--#2883=CARTESIAN_POINT('',(2.26175E1,3.035898384862E0,1.2E1));
--#2884=CARTESIAN_POINT('',(2.26175E1,3.141022319657E0,1.193930666795E1));
--#2885=CARTESIAN_POINT('',(2.265583863820E1,3.326335078073E0,1.183231629699E1));
--#2886=CARTESIAN_POINT('',(2.277986228119E1,3.462911331062E0,1.175346396056E1));
--#2887=CARTESIAN_POINT('',(2.2875E1,3.491396536186E0,1.173701801972E1));
--#2888=CARTESIAN_POINT('',(2.297013771881E1,3.462911331062E0,1.175346396056E1));
--#2889=CARTESIAN_POINT('',(2.309416136180E1,3.326335078073E0,1.183231629699E1));
--#2890=CARTESIAN_POINT('',(2.31325E1,3.141022319657E0,1.193930666795E1));
--#2891=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1));
--#2893=DIRECTION('',(0.E0,1.E0,0.E0));
--#2894=VECTOR('',#2893,2.035898384862E0);
--#2895=CARTESIAN_POINT('',(2.26175E1,1.E0,1.2E1));
--#2896=LINE('',#2895,#2894);
--#2897=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2898=VECTOR('',#2897,2.035898384862E0);
--#2899=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1));
--#2900=LINE('',#2899,#2898);
--#2901=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
--#2902=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2903=DIRECTION('',(1.E0,0.E0,0.E0));
--#2904=AXIS2_PLACEMENT_3D('',#2901,#2902,#2903);
--#2906=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
--#2907=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2908=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2909=AXIS2_PLACEMENT_3D('',#2906,#2907,#2908);
--#2911=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
--#2912=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2913=DIRECTION('',(1.E0,0.E0,0.E0));
--#2914=AXIS2_PLACEMENT_3D('',#2911,#2912,#2913);
--#2916=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
--#2917=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2918=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2919=AXIS2_PLACEMENT_3D('',#2916,#2917,#2918);
--#2921=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2922=VECTOR('',#2921,1.E0);
--#2923=CARTESIAN_POINT('',(2.30675E1,1.E0,1.2E1));
--#2924=LINE('',#2923,#2922);
--#2925=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2926=VECTOR('',#2925,1.E0);
--#2927=CARTESIAN_POINT('',(2.26825E1,1.E0,1.2E1));
--#2928=LINE('',#2927,#2926);
--#2929=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2930=VECTOR('',#2929,5.E-1);
--#2931=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1));
--#2932=LINE('',#2931,#2930);
--#2933=CARTESIAN_POINT('',(2.185E1,6.65E0,9.5E0));
--#2934=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2935=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2936=AXIS2_PLACEMENT_3D('',#2933,#2934,#2935);
--#2938=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2939=VECTOR('',#2938,5.E-1);
--#2940=CARTESIAN_POINT('',(2.185E1,7.E0,1.E1));
--#2941=LINE('',#2940,#2939);
--#2942=CARTESIAN_POINT('',(2.185E1,6.65E0,1.E1));
--#2943=DIRECTION('',(0.E0,0.E0,1.E0));
--#2944=DIRECTION('',(1.015061051086E-14,1.E0,0.E0));
--#2945=AXIS2_PLACEMENT_3D('',#2942,#2943,#2944);
--#2947=DIRECTION('',(0.E0,0.E0,1.E0));
--#2948=VECTOR('',#2947,5.E-1);
--#2949=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0));
--#2950=LINE('',#2949,#2948);
--#2951=CARTESIAN_POINT('',(2.115E1,2.35E0,9.5E0));
--#2952=DIRECTION('',(0.E0,0.E0,1.E0));
--#2953=DIRECTION('',(0.E0,-1.E0,0.E0));
--#2954=AXIS2_PLACEMENT_3D('',#2951,#2952,#2953);
--#2956=DIRECTION('',(0.E0,0.E0,1.E0));
--#2957=VECTOR('',#2956,5.E-1);
--#2958=CARTESIAN_POINT('',(2.15E1,2.35E0,9.5E0));
--#2959=LINE('',#2958,#2957);
--#2960=CARTESIAN_POINT('',(2.115E1,2.35E0,1.E1));
--#2961=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2962=DIRECTION('',(1.E0,0.E0,0.E0));
--#2963=AXIS2_PLACEMENT_3D('',#2960,#2961,#2962);
--#2965=DIRECTION('',(0.E0,0.E0,1.E0));
--#2966=VECTOR('',#2965,5.E-1);
--#2967=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0));
--#2968=LINE('',#2967,#2966);
--#2969=CARTESIAN_POINT('',(1.985E1,2.35E0,9.5E0));
--#2970=DIRECTION('',(0.E0,0.E0,1.E0));
--#2971=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2972=AXIS2_PLACEMENT_3D('',#2969,#2970,#2971);
--#2974=DIRECTION('',(0.E0,0.E0,1.E0));
--#2975=VECTOR('',#2974,5.E-1);
--#2976=CARTESIAN_POINT('',(1.985E1,2.E0,9.5E0));
--#2977=LINE('',#2976,#2975);
--#2978=CARTESIAN_POINT('',(1.985E1,2.35E0,1.E1));
--#2979=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2980=DIRECTION('',(1.015061051086E-14,-1.E0,0.E0));
--#2981=AXIS2_PLACEMENT_3D('',#2978,#2979,#2980);
--#2983=DIRECTION('',(0.E0,0.E0,1.E0));
--#2984=VECTOR('',#2983,5.E-1);
--#2985=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0));
--#2986=LINE('',#2985,#2984);
--#2987=CARTESIAN_POINT('',(1.985E1,9.15E0,9.5E0));
--#2988=DIRECTION('',(0.E0,0.E0,1.E0));
--#2989=DIRECTION('',(1.015061051086E-14,1.E0,0.E0));
--#2990=AXIS2_PLACEMENT_3D('',#2987,#2988,#2989);
--#2992=DIRECTION('',(0.E0,0.E0,1.E0));
--#2993=VECTOR('',#2992,5.E-1);
--#2994=CARTESIAN_POINT('',(1.95E1,9.15E0,9.5E0));
--#2995=LINE('',#2994,#2993);
--#2996=CARTESIAN_POINT('',(1.985E1,9.15E0,1.E1));
--#2997=DIRECTION('',(0.E0,0.E0,-1.E0));
--#2998=DIRECTION('',(-1.E0,0.E0,0.E0));
--#2999=AXIS2_PLACEMENT_3D('',#2996,#2997,#2998);
--#3001=DIRECTION('',(0.E0,0.E0,1.E0));
--#3002=VECTOR('',#3001,5.E-1);
--#3003=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0));
--#3004=LINE('',#3003,#3002);
--#3005=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,9.5E0));
--#3006=DIRECTION('',(0.E0,0.E0,1.E0));
--#3007=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
--#3008=AXIS2_PLACEMENT_3D('',#3005,#3006,#3007);
--#3010=DIRECTION('',(0.E0,0.E0,1.E0));
--#3011=VECTOR('',#3010,5.E-1);
--#3012=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,9.5E0));
--#3013=LINE('',#3012,#3011);
--#3014=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,1.E1));
--#3015=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3016=DIRECTION('',(0.E0,1.E0,0.E0));
--#3017=AXIS2_PLACEMENT_3D('',#3014,#3015,#3016);
--#3019=DIRECTION('',(0.E0,0.E0,1.E0));
--#3020=VECTOR('',#3019,5.E-1);
--#3021=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0));
--#3022=LINE('',#3021,#3020);
--#3023=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,9.5E0));
--#3024=DIRECTION('',(0.E0,0.E0,1.E0));
--#3025=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3026=AXIS2_PLACEMENT_3D('',#3023,#3024,#3025);
--#3028=DIRECTION('',(0.E0,0.E0,1.E0));
--#3029=VECTOR('',#3028,5.E-1);
--#3030=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,9.5E0));
--#3031=LINE('',#3030,#3029);
--#3032=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,1.E1));
--#3033=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3034=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
--#3035=AXIS2_PLACEMENT_3D('',#3032,#3033,#3034);
--#3037=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3038=VECTOR('',#3037,1.972007605460E-1);
--#3039=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0));
--#3040=LINE('',#3039,#3038);
--#3041=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3042=VECTOR('',#3041,4.3E0);
--#3043=CARTESIAN_POINT('',(2.15E1,6.65E0,9.5E0));
--#3044=LINE('',#3043,#3042);
--#3045=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3046=VECTOR('',#3045,1.3E0);
--#3047=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0));
--#3048=LINE('',#3047,#3046);
--#3049=DIRECTION('',(0.E0,1.E0,0.E0));
--#3050=VECTOR('',#3049,6.8E0);
--#3051=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0));
--#3052=LINE('',#3051,#3050);
--#3053=DIRECTION('',(1.E0,0.E0,0.E0));
--#3054=VECTOR('',#3053,1.197200760546E0);
--#3055=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0));
--#3056=LINE('',#3055,#3054);
--#3057=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
--#3058=VECTOR('',#3057,2.059126028197E0);
--#3059=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0));
--#3060=LINE('',#3059,#3058);
--#3061=DIRECTION('',(0.E0,0.E0,1.E0));
--#3062=VECTOR('',#3061,2.5E-1);
--#3063=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.E0));
--#3064=LINE('',#3063,#3062);
--#3065=DIRECTION('',(0.E0,0.E0,1.E0));
--#3066=VECTOR('',#3065,2.5E-1);
--#3067=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.E0));
--#3068=LINE('',#3067,#3066);
--#3069=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0));
--#3070=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3071=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3072=AXIS2_PLACEMENT_3D('',#3069,#3070,#3071);
--#3074=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0));
--#3075=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3076=DIRECTION('',(1.E0,0.E0,0.E0));
--#3077=AXIS2_PLACEMENT_3D('',#3074,#3075,#3076);
--#3079=DIRECTION('',(0.E0,0.E0,1.E0));
--#3080=VECTOR('',#3079,2.5E-1);
--#3081=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.E0));
--#3082=LINE('',#3081,#3080);
--#3083=DIRECTION('',(0.E0,0.E0,1.E0));
--#3084=VECTOR('',#3083,2.5E-1);
--#3085=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.E0));
--#3086=LINE('',#3085,#3084);
--#3087=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0));
--#3088=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3089=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3090=AXIS2_PLACEMENT_3D('',#3087,#3088,#3089);
--#3092=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0));
--#3093=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3094=DIRECTION('',(1.E0,0.E0,0.E0));
--#3095=AXIS2_PLACEMENT_3D('',#3092,#3093,#3094);
--#3097=DIRECTION('',(0.E0,0.E0,1.E0));
--#3098=VECTOR('',#3097,2.5E-1);
--#3099=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.E0));
--#3100=LINE('',#3099,#3098);
--#3101=DIRECTION('',(0.E0,0.E0,1.E0));
--#3102=VECTOR('',#3101,2.5E-1);
--#3103=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.E0));
--#3104=LINE('',#3103,#3102);
--#3105=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0));
--#3106=DIRECTION('',(0.E0,0.E0,1.E0));
--#3107=DIRECTION('',(1.E0,0.E0,0.E0));
--#3108=AXIS2_PLACEMENT_3D('',#3105,#3106,#3107);
--#3110=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0));
--#3111=DIRECTION('',(0.E0,0.E0,1.E0));
--#3112=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3113=AXIS2_PLACEMENT_3D('',#3110,#3111,#3112);
--#3115=DIRECTION('',(0.E0,0.E0,1.E0));
--#3116=VECTOR('',#3115,2.5E-1);
--#3117=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.E0));
--#3118=LINE('',#3117,#3116);
--#3119=DIRECTION('',(0.E0,0.E0,1.E0));
--#3120=VECTOR('',#3119,2.5E-1);
--#3121=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.E0));
--#3122=LINE('',#3121,#3120);
--#3123=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0));
--#3124=DIRECTION('',(0.E0,0.E0,1.E0));
--#3125=DIRECTION('',(1.E0,0.E0,0.E0));
--#3126=AXIS2_PLACEMENT_3D('',#3123,#3124,#3125);
--#3128=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0));
--#3129=DIRECTION('',(0.E0,0.E0,1.E0));
--#3130=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3131=AXIS2_PLACEMENT_3D('',#3128,#3129,#3130);
--#3133=DIRECTION('',(0.E0,0.E0,1.E0));
--#3134=VECTOR('',#3133,2.5E-1);
--#3135=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.E0));
--#3136=LINE('',#3135,#3134);
--#3137=DIRECTION('',(0.E0,0.E0,1.E0));
--#3138=VECTOR('',#3137,2.5E-1);
--#3139=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.E0));
--#3140=LINE('',#3139,#3138);
--#3141=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0));
--#3142=DIRECTION('',(0.E0,0.E0,1.E0));
--#3143=DIRECTION('',(1.E0,0.E0,0.E0));
--#3144=AXIS2_PLACEMENT_3D('',#3141,#3142,#3143);
--#3146=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0));
--#3147=DIRECTION('',(0.E0,0.E0,1.E0));
--#3148=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3149=AXIS2_PLACEMENT_3D('',#3146,#3147,#3148);
--#3151=DIRECTION('',(0.E0,0.E0,1.E0));
--#3152=VECTOR('',#3151,5.E-1);
--#3153=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0));
--#3154=LINE('',#3153,#3152);
--#3155=CARTESIAN_POINT('',(3.75E0,2.75E0,8.E0));
--#3156=DIRECTION('',(0.E0,0.E0,1.E0));
--#3157=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3158=AXIS2_PLACEMENT_3D('',#3155,#3156,#3157);
--#3160=DIRECTION('',(0.E0,0.E0,1.E0));
--#3161=VECTOR('',#3160,5.E-1);
--#3162=CARTESIAN_POINT('',(4.5E0,2.75E0,8.E0));
--#3163=LINE('',#3162,#3161);
--#3164=CARTESIAN_POINT('',(3.75E0,2.75E0,8.5E0));
--#3165=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3166=DIRECTION('',(1.E0,0.E0,0.E0));
--#3167=AXIS2_PLACEMENT_3D('',#3164,#3165,#3166);
--#3169=DIRECTION('',(0.E0,0.E0,1.E0));
--#3170=VECTOR('',#3169,5.E-1);
--#3171=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0));
--#3172=LINE('',#3171,#3170);
--#3173=CARTESIAN_POINT('',(3.75E0,8.75E0,8.E0));
--#3174=DIRECTION('',(0.E0,0.E0,1.E0));
--#3175=DIRECTION('',(1.E0,0.E0,0.E0));
--#3176=AXIS2_PLACEMENT_3D('',#3173,#3174,#3175);
--#3178=DIRECTION('',(0.E0,0.E0,1.E0));
--#3179=VECTOR('',#3178,5.E-1);
--#3180=CARTESIAN_POINT('',(3.75E0,9.5E0,8.E0));
--#3181=LINE('',#3180,#3179);
--#3182=CARTESIAN_POINT('',(3.75E0,8.75E0,8.5E0));
--#3183=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3184=DIRECTION('',(0.E0,1.E0,0.E0));
--#3185=AXIS2_PLACEMENT_3D('',#3182,#3183,#3184);
--#3187=DIRECTION('',(0.E0,0.E0,1.E0));
--#3188=VECTOR('',#3187,5.E-1);
--#3189=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0));
--#3190=LINE('',#3189,#3188);
--#3191=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,8.E0));
--#3192=DIRECTION('',(0.E0,0.E0,1.E0));
--#3193=DIRECTION('',(0.E0,1.E0,0.E0));
--#3194=AXIS2_PLACEMENT_3D('',#3191,#3192,#3193);
--#3196=DIRECTION('',(0.E0,0.E0,1.E0));
--#3197=VECTOR('',#3196,5.E-1);
--#3198=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.E0));
--#3199=LINE('',#3198,#3197);
--#3200=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,8.5E0));
--#3201=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3202=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
--#3203=AXIS2_PLACEMENT_3D('',#3200,#3201,#3202);
--#3205=DIRECTION('',(0.E0,0.E0,1.E0));
--#3206=VECTOR('',#3205,5.E-1);
--#3207=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0));
--#3208=LINE('',#3207,#3206);
--#3209=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,8.E0));
--#3210=DIRECTION('',(0.E0,0.E0,1.E0));
--#3211=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
--#3212=AXIS2_PLACEMENT_3D('',#3209,#3210,#3211);
--#3214=DIRECTION('',(0.E0,0.E0,1.E0));
--#3215=VECTOR('',#3214,5.E-1);
--#3216=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.E0));
--#3217=LINE('',#3216,#3215);
--#3218=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,8.5E0));
--#3219=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3220=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3221=AXIS2_PLACEMENT_3D('',#3218,#3219,#3220);
--#3223=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3224=VECTOR('',#3223,6.E0);
--#3225=CARTESIAN_POINT('',(4.5E0,8.75E0,8.5E0));
--#3226=LINE('',#3225,#3224);
--#3227=DIRECTION('',(1.E0,0.E0,0.E0));
--#3228=VECTOR('',#3227,5.618394209466E-1);
--#3229=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.5E0));
--#3230=LINE('',#3229,#3228);
--#3231=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0));
--#3232=VECTOR('',#3231,6.863753427325E0);
--#3233=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.5E0));
--#3234=LINE('',#3233,#3232);
--#3235=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3236=VECTOR('',#3235,3.895172754280E0);
--#3237=CARTESIAN_POINT('',(3.75E0,2.E0,8.5E0));
--#3238=LINE('',#3237,#3236);
--#3239=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3240=VECTOR('',#3239,5.E-1);
--#3241=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0));
--#3242=LINE('',#3241,#3240);
--#3243=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.5E0));
--#3244=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3245=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
--#3246=AXIS2_PLACEMENT_3D('',#3243,#3244,#3245);
--#3248=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3249=VECTOR('',#3248,5.E-1);
--#3250=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.5E0));
--#3251=LINE('',#3250,#3249);
--#3252=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.E0));
--#3253=DIRECTION('',(0.E0,0.E0,1.E0));
--#3254=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3255=AXIS2_PLACEMENT_3D('',#3252,#3253,#3254);
--#3257=DIRECTION('',(1.E0,0.E0,0.E0));
--#3258=VECTOR('',#3257,3.895172754280E0);
--#3259=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0));
--#3260=LINE('',#3259,#3258);
--#3261=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0));
--#3262=VECTOR('',#3261,6.863753427325E0);
--#3263=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0));
--#3264=LINE('',#3263,#3262);
--#3265=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3266=VECTOR('',#3265,5.618394209466E-1);
--#3267=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0));
--#3268=LINE('',#3267,#3266);
--#3269=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3270=VECTOR('',#3269,6.E0);
--#3271=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0));
--#3272=LINE('',#3271,#3270);
--#3273=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3274=VECTOR('',#3273,5.E-1);
--#3275=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0));
--#3276=LINE('',#3275,#3274);
--#3277=CARTESIAN_POINT('',(2.025E1,2.75E0,8.5E0));
--#3278=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3279=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3280=AXIS2_PLACEMENT_3D('',#3277,#3278,#3279);
--#3282=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3283=VECTOR('',#3282,5.E-1);
--#3284=CARTESIAN_POINT('',(1.95E1,2.75E0,8.5E0));
--#3285=LINE('',#3284,#3283);
--#3286=CARTESIAN_POINT('',(2.025E1,2.75E0,8.E0));
--#3287=DIRECTION('',(0.E0,0.E0,1.E0));
--#3288=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3289=AXIS2_PLACEMENT_3D('',#3286,#3287,#3288);
--#3291=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3292=VECTOR('',#3291,5.E-1);
--#3293=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0));
--#3294=LINE('',#3293,#3292);
--#3295=CARTESIAN_POINT('',(2.025E1,8.75E0,8.5E0));
--#3296=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3297=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3298=AXIS2_PLACEMENT_3D('',#3295,#3296,#3297);
--#3300=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3301=VECTOR('',#3300,5.E-1);
--#3302=CARTESIAN_POINT('',(2.025E1,9.5E0,8.5E0));
--#3303=LINE('',#3302,#3301);
--#3304=CARTESIAN_POINT('',(2.025E1,8.75E0,8.E0));
--#3305=DIRECTION('',(0.E0,0.E0,1.E0));
--#3306=DIRECTION('',(0.E0,1.E0,0.E0));
--#3307=AXIS2_PLACEMENT_3D('',#3304,#3305,#3306);
--#3309=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3310=VECTOR('',#3309,5.E-1);
--#3311=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0));
--#3312=LINE('',#3311,#3310);
--#3313=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.5E0));
--#3314=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3315=DIRECTION('',(0.E0,1.E0,0.E0));
--#3316=AXIS2_PLACEMENT_3D('',#3313,#3314,#3315);
--#3318=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3319=VECTOR('',#3318,5.E-1);
--#3320=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.5E0));
--#3321=LINE('',#3320,#3319);
--#3322=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.E0));
--#3323=DIRECTION('',(0.E0,0.E0,1.E0));
--#3324=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
--#3325=AXIS2_PLACEMENT_3D('',#3322,#3323,#3324);
--#3327=DIRECTION('',(0.E0,1.E0,0.E0));
--#3328=VECTOR('',#3327,6.875E-1);
--#3329=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1));
--#3330=LINE('',#3329,#3328);
--#3331=DIRECTION('',(0.E0,1.E0,0.E0));
--#3332=VECTOR('',#3331,6.875E-1);
--#3333=CARTESIAN_POINT('',(7.5E0,0.E0,1.8125E0));
--#3334=LINE('',#3333,#3332);
--#3335=DIRECTION('',(0.E0,1.E0,0.E0));
--#3336=VECTOR('',#3335,6.875E-1);
--#3337=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0));
--#3338=LINE('',#3337,#3336);
--#3339=DIRECTION('',(0.E0,1.E0,0.E0));
--#3340=VECTOR('',#3339,6.875E-1);
--#3341=CARTESIAN_POINT('',(1.05E1,0.E0,6.875E-1));
--#3342=LINE('',#3341,#3340);
--#3343=DIRECTION('',(1.E0,0.E0,0.E0));
--#3344=VECTOR('',#3343,3.E0);
--#3345=CARTESIAN_POINT('',(7.5E0,6.875E-1,6.875E-1));
--#3346=LINE('',#3345,#3344);
--#3347=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.25E0));
--#3348=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3349=DIRECTION('',(0.E0,0.E0,1.E0));
--#3350=AXIS2_PLACEMENT_3D('',#3347,#3348,#3349);
--#3352=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3353=VECTOR('',#3352,3.E0);
--#3354=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8125E0));
--#3355=LINE('',#3354,#3353);
--#3356=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.25E0));
--#3357=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3358=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3359=AXIS2_PLACEMENT_3D('',#3356,#3357,#3358);
--#3361=CARTESIAN_POINT('',(1.61E0,6.875E-1,4.5E0));
--#3362=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3363=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1));
--#3364=AXIS2_PLACEMENT_3D('',#3361,#3362,#3363);
--#3366=CARTESIAN_POINT('',(7.5E0,6.875E-1,7.5E0));
--#3367=DIRECTION('',(0.E0,1.E0,0.E0));
--#3368=DIRECTION('',(-4.496088413988E-1,0.E0,-8.932255536739E-1));
--#3369=AXIS2_PLACEMENT_3D('',#3366,#3367,#3368);
--#3371=CARTESIAN_POINT('',(4.553039342392E0,6.875E-1,1.645354088550E0));
--#3372=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3373=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
--#3374=AXIS2_PLACEMENT_3D('',#3371,#3372,#3373);
--#3376=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
--#3377=VECTOR('',#3376,4.263248410977E0);
--#3378=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,4.046865146430E0));
--#3379=LINE('',#3378,#3377);
--#3380=DIRECTION('',(0.E0,1.E0,0.E0));
--#3381=VECTOR('',#3380,6.875E-1);
--#3382=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0));
--#3383=LINE('',#3382,#3381);
--#3384=CARTESIAN_POINT('',(1.455736763592E0,0.E0,4.577195232320E0));
--#3385=DIRECTION('',(0.E0,1.E0,0.E0));
--#3386=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
--#3387=AXIS2_PLACEMENT_3D('',#3384,#3385,#3386);
--#3389=DIRECTION('',(0.E0,1.E0,0.E0));
--#3390=VECTOR('',#3389,6.875E-1);
--#3391=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,4.912826677187E0));
--#3392=LINE('',#3391,#3390);
--#3393=CARTESIAN_POINT('',(1.455736763592E0,6.875E-1,4.577195232320E0));
--#3394=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3395=DIRECTION('',(-8.942796313519E-1,0.E0,4.475085931567E-1));
--#3396=AXIS2_PLACEMENT_3D('',#3393,#3394,#3395);
--#3398=DIRECTION('',(0.E0,1.E0,0.E0));
--#3399=VECTOR('',#3398,6.875E-1);
--#3400=CARTESIAN_POINT('',(3.939978538987E0,0.E0,1.032293285145E0));
--#3401=LINE('',#3400,#3399);
--#3402=DIRECTION('',(0.E0,1.E0,0.E0));
--#3403=VECTOR('',#3402,6.875E-1);
--#3404=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.419779663480E0));
--#3405=LINE('',#3404,#3403);
--#3406=DIRECTION('',(0.E0,1.E0,0.E0));
--#3407=VECTOR('',#3406,6.875E-1);
--#3408=CARTESIAN_POINT('',(2.432015885023E0,0.E0,4.918683812405E0));
--#3409=LINE('',#3408,#3407);
--#3410=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3411=VECTOR('',#3410,6.875E-1);
--#3412=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0));
--#3413=LINE('',#3412,#3411);
--#3414=CARTESIAN_POINT('',(-1.85E-1,0.E0,7.815E0));
--#3415=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3416=DIRECTION('',(1.E0,0.E0,0.E0));
--#3417=AXIS2_PLACEMENT_3D('',#3414,#3415,#3416);
--#3419=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3420=VECTOR('',#3419,6.875E-1);
--#3421=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,8.69E0));
--#3422=LINE('',#3421,#3420);
--#3423=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,7.815E0));
--#3424=DIRECTION('',(0.E0,1.E0,0.E0));
--#3425=DIRECTION('',(0.E0,0.E0,1.E0));
--#3426=AXIS2_PLACEMENT_3D('',#3423,#3424,#3425);
--#3428=DIRECTION('',(1.E0,0.E0,0.E0));
--#3429=VECTOR('',#3428,7.5E-1);
--#3430=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0));
--#3431=LINE('',#3430,#3429);
--#3432=DIRECTION('',(0.E0,0.E0,1.E0));
--#3433=VECTOR('',#3432,3.15E-1);
--#3434=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.5E0));
--#3435=LINE('',#3434,#3433);
--#3436=CARTESIAN_POINT('',(1.25125E0,6.875E-1,7.5E0));
--#3437=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3438=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3439=AXIS2_PLACEMENT_3D('',#3436,#3437,#3438);
--#3441=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3442=VECTOR('',#3441,3.15E-1);
--#3443=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0));
--#3444=LINE('',#3443,#3442);
--#3445=DIRECTION('',(1.E0,0.E0,0.E0));
--#3446=VECTOR('',#3445,2.525E-1);
--#3447=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,8.69E0));
--#3448=LINE('',#3447,#3446);
--#3449=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3450=VECTOR('',#3449,8.1E-1);
--#3451=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,1.0375E1));
--#3452=LINE('',#3451,#3450);
--#3453=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3454=VECTOR('',#3453,3.875E0);
--#3455=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.125E1));
--#3456=LINE('',#3455,#3454);
--#3457=DIRECTION('',(0.E0,0.E0,1.E0));
--#3458=VECTOR('',#3457,8.1E-1);
--#3459=CARTESIAN_POINT('',(4.3125E0,6.875E-1,9.565E0));
--#3460=LINE('',#3459,#3458);
--#3461=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3462=VECTOR('',#3461,6.875E-1);
--#3463=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0));
--#3464=LINE('',#3463,#3462);
--#3465=CARTESIAN_POINT('',(2.6875E0,0.E0,7.815E0));
--#3466=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3467=DIRECTION('',(0.E0,0.E0,1.E0));
--#3468=AXIS2_PLACEMENT_3D('',#3465,#3466,#3467);
--#3470=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3471=VECTOR('',#3470,6.875E-1);
--#3472=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.815E0));
--#3473=LINE('',#3472,#3471);
--#3474=CARTESIAN_POINT('',(2.6875E0,6.875E-1,7.815E0));
--#3475=DIRECTION('',(0.E0,1.E0,0.E0));
--#3476=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3477=AXIS2_PLACEMENT_3D('',#3474,#3475,#3476);
--#3479=DIRECTION('',(0.E0,1.E0,0.E0));
--#3480=VECTOR('',#3479,6.875E-1);
--#3481=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0));
--#3482=LINE('',#3481,#3480);
--#3483=DIRECTION('',(0.E0,1.E0,0.E0));
--#3484=VECTOR('',#3483,6.875E-1);
--#3485=CARTESIAN_POINT('',(6.9E-1,0.E0,7.5E0));
--#3486=LINE('',#3485,#3484);
--#3487=DIRECTION('',(0.E0,1.E0,0.E0));
--#3488=VECTOR('',#3487,6.875E-1);
--#3489=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0));
--#3490=LINE('',#3489,#3488);
--#3491=CARTESIAN_POINT('',(3.4375E0,0.E0,9.565E0));
--#3492=DIRECTION('',(0.E0,1.E0,0.E0));
--#3493=DIRECTION('',(1.E0,0.E0,0.E0));
--#3494=AXIS2_PLACEMENT_3D('',#3491,#3492,#3493);
--#3496=DIRECTION('',(0.E0,1.E0,0.E0));
--#3497=VECTOR('',#3496,6.875E-1);
--#3498=CARTESIAN_POINT('',(3.4375E0,0.E0,8.69E0));
--#3499=LINE('',#3498,#3497);
--#3500=CARTESIAN_POINT('',(3.4375E0,6.875E-1,9.565E0));
--#3501=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3502=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3503=AXIS2_PLACEMENT_3D('',#3500,#3501,#3502);
--#3505=DIRECTION('',(0.E0,1.E0,0.E0));
--#3506=VECTOR('',#3505,6.875E-1);
--#3507=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1));
--#3508=LINE('',#3507,#3506);
--#3509=CARTESIAN_POINT('',(3.4375E0,0.E0,1.0375E1));
--#3510=DIRECTION('',(0.E0,1.E0,0.E0));
--#3511=DIRECTION('',(0.E0,0.E0,1.E0));
--#3512=AXIS2_PLACEMENT_3D('',#3509,#3510,#3511);
--#3514=DIRECTION('',(0.E0,1.E0,0.E0));
--#3515=VECTOR('',#3514,6.875E-1);
--#3516=CARTESIAN_POINT('',(4.3125E0,0.E0,1.0375E1));
--#3517=LINE('',#3516,#3515);
--#3518=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.0375E1));
--#3519=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3520=DIRECTION('',(1.E0,0.E0,0.E0));
--#3521=AXIS2_PLACEMENT_3D('',#3518,#3519,#3520);
--#3523=DIRECTION('',(0.E0,1.E0,0.E0));
--#3524=VECTOR('',#3523,6.875E-1);
--#3525=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1));
--#3526=LINE('',#3525,#3524);
--#3527=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.0375E1));
--#3528=DIRECTION('',(0.E0,1.E0,0.E0));
--#3529=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3530=AXIS2_PLACEMENT_3D('',#3527,#3528,#3529);
--#3532=DIRECTION('',(0.E0,1.E0,0.E0));
--#3533=VECTOR('',#3532,6.875E-1);
--#3534=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.125E1));
--#3535=LINE('',#3534,#3533);
--#3536=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,1.0375E1));
--#3537=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3538=DIRECTION('',(0.E0,0.E0,1.E0));
--#3539=AXIS2_PLACEMENT_3D('',#3536,#3537,#3538);
--#3541=DIRECTION('',(0.E0,1.E0,0.E0));
--#3542=VECTOR('',#3541,6.875E-1);
--#3543=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0));
--#3544=LINE('',#3543,#3542);
--#3545=CARTESIAN_POINT('',(-4.375E-1,0.E0,9.565E0));
--#3546=DIRECTION('',(0.E0,1.E0,0.E0));
--#3547=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3548=AXIS2_PLACEMENT_3D('',#3545,#3546,#3547);
--#3550=DIRECTION('',(0.E0,1.E0,0.E0));
--#3551=VECTOR('',#3550,6.875E-1);
--#3552=CARTESIAN_POINT('',(-1.3125E0,0.E0,9.565E0));
--#3553=LINE('',#3552,#3551);
--#3554=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,9.565E0));
--#3555=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3556=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3557=AXIS2_PLACEMENT_3D('',#3554,#3555,#3556);
--#3559=DIRECTION('',(0.E0,1.E0,0.E0));
--#3560=VECTOR('',#3559,6.875E-1);
--#3561=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1));
--#3562=LINE('',#3561,#3560);
--#3563=DIRECTION('',(0.E0,1.E0,0.E0));
--#3564=VECTOR('',#3563,6.875E-1);
--#3565=CARTESIAN_POINT('',(1.8125E0,0.E0,1.65E1));
--#3566=LINE('',#3565,#3564);
--#3567=DIRECTION('',(0.E0,1.E0,0.E0));
--#3568=VECTOR('',#3567,6.875E-1);
--#3569=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1));
--#3570=LINE('',#3569,#3568);
--#3571=DIRECTION('',(0.E0,1.E0,0.E0));
--#3572=VECTOR('',#3571,6.875E-1);
--#3573=CARTESIAN_POINT('',(6.875E-1,0.E0,1.35E1));
--#3574=LINE('',#3573,#3572);
--#3575=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3576=VECTOR('',#3575,3.E0);
--#3577=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.65E1));
--#3578=LINE('',#3577,#3576);
--#3579=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.65E1));
--#3580=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3581=DIRECTION('',(1.E0,0.E0,0.E0));
--#3582=AXIS2_PLACEMENT_3D('',#3579,#3580,#3581);
--#3584=DIRECTION('',(0.E0,0.E0,1.E0));
--#3585=VECTOR('',#3584,3.E0);
--#3586=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.35E1));
--#3587=LINE('',#3586,#3585);
--#3588=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.35E1));
--#3589=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3590=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3591=AXIS2_PLACEMENT_3D('',#3588,#3589,#3590);
--#3593=DIRECTION('',(0.E0,1.E0,0.E0));
--#3594=VECTOR('',#3593,6.875E-1);
--#3595=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1));
--#3596=LINE('',#3595,#3594);
--#3597=DIRECTION('',(0.E0,1.E0,0.E0));
--#3598=VECTOR('',#3597,6.875E-1);
--#3599=CARTESIAN_POINT('',(1.8125E0,0.E0,2.25E1));
--#3600=LINE('',#3599,#3598);
--#3601=DIRECTION('',(0.E0,1.E0,0.E0));
--#3602=VECTOR('',#3601,6.875E-1);
--#3603=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1));
--#3604=LINE('',#3603,#3602);
--#3605=DIRECTION('',(0.E0,1.E0,0.E0));
--#3606=VECTOR('',#3605,6.875E-1);
--#3607=CARTESIAN_POINT('',(6.875E-1,0.E0,1.95E1));
--#3608=LINE('',#3607,#3606);
--#3609=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3610=VECTOR('',#3609,3.E0);
--#3611=CARTESIAN_POINT('',(6.875E-1,6.875E-1,2.25E1));
--#3612=LINE('',#3611,#3610);
--#3613=CARTESIAN_POINT('',(1.25E0,6.875E-1,2.25E1));
--#3614=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3615=DIRECTION('',(1.E0,0.E0,0.E0));
--#3616=AXIS2_PLACEMENT_3D('',#3613,#3614,#3615);
--#3618=DIRECTION('',(0.E0,0.E0,1.E0));
--#3619=VECTOR('',#3618,3.E0);
--#3620=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.95E1));
--#3621=LINE('',#3620,#3619);
--#3622=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.95E1));
--#3623=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3624=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3625=AXIS2_PLACEMENT_3D('',#3622,#3623,#3624);
--#3627=DIRECTION('',(0.E0,1.E0,0.E0));
--#3628=VECTOR('',#3627,6.875E-1);
--#3629=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0));
--#3630=LINE('',#3629,#3628);
--#3631=DIRECTION('',(0.E0,1.E0,0.E0));
--#3632=VECTOR('',#3631,6.875E-1);
--#3633=CARTESIAN_POINT('',(7.5E0,0.E0,9.5E0));
--#3634=LINE('',#3633,#3632);
--#3635=DIRECTION('',(0.E0,1.E0,0.E0));
--#3636=VECTOR('',#3635,6.875E-1);
--#3637=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0));
--#3638=LINE('',#3637,#3636);
--#3639=DIRECTION('',(0.E0,1.E0,0.E0));
--#3640=VECTOR('',#3639,6.875E-1);
--#3641=CARTESIAN_POINT('',(1.05E1,0.E0,8.5E0));
--#3642=LINE('',#3641,#3640);
--#3643=DIRECTION('',(1.E0,0.E0,0.E0));
--#3644=VECTOR('',#3643,3.E0);
--#3645=CARTESIAN_POINT('',(7.5E0,6.875E-1,8.5E0));
--#3646=LINE('',#3645,#3644);
--#3647=CARTESIAN_POINT('',(7.5E0,6.875E-1,9.E0));
--#3648=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3649=DIRECTION('',(0.E0,0.E0,1.E0));
--#3650=AXIS2_PLACEMENT_3D('',#3647,#3648,#3649);
--#3652=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3653=VECTOR('',#3652,3.E0);
--#3654=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.5E0));
--#3655=LINE('',#3654,#3653);
--#3656=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.E0));
--#3657=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3658=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3659=AXIS2_PLACEMENT_3D('',#3656,#3657,#3658);
--#3661=DIRECTION('',(0.E0,1.E0,0.E0));
--#3662=VECTOR('',#3661,6.875E-1);
--#3663=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1));
--#3664=LINE('',#3663,#3662);
--#3665=DIRECTION('',(0.E0,1.E0,0.E0));
--#3666=VECTOR('',#3665,6.875E-1);
--#3667=CARTESIAN_POINT('',(7.5E0,0.E0,1.84375E1));
--#3668=LINE('',#3667,#3666);
--#3669=DIRECTION('',(0.E0,1.E0,0.E0));
--#3670=VECTOR('',#3669,6.875E-1);
--#3671=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1));
--#3672=LINE('',#3671,#3670);
--#3673=DIRECTION('',(0.E0,1.E0,0.E0));
--#3674=VECTOR('',#3673,6.875E-1);
--#3675=CARTESIAN_POINT('',(1.05E1,0.E0,1.75625E1));
--#3676=LINE('',#3675,#3674);
--#3677=DIRECTION('',(1.E0,0.E0,0.E0));
--#3678=VECTOR('',#3677,3.E0);
--#3679=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.75625E1));
--#3680=LINE('',#3679,#3678);
--#3681=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.8E1));
--#3682=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3683=DIRECTION('',(0.E0,0.E0,1.E0));
--#3684=AXIS2_PLACEMENT_3D('',#3681,#3682,#3683);
--#3686=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3687=VECTOR('',#3686,3.E0);
--#3688=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.84375E1));
--#3689=LINE('',#3688,#3687);
--#3690=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8E1));
--#3691=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3692=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3693=AXIS2_PLACEMENT_3D('',#3690,#3691,#3692);
--#3695=DIRECTION('',(0.E0,1.E0,0.E0));
--#3696=VECTOR('',#3695,6.875E-1);
--#3697=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1));
--#3698=LINE('',#3697,#3696);
--#3699=DIRECTION('',(0.E0,1.E0,0.E0));
--#3700=VECTOR('',#3699,6.875E-1);
--#3701=CARTESIAN_POINT('',(1.05E1,0.E0,3.13125E1));
--#3702=LINE('',#3701,#3700);
--#3703=DIRECTION('',(0.E0,1.E0,0.E0));
--#3704=VECTOR('',#3703,6.875E-1);
--#3705=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1));
--#3706=LINE('',#3705,#3704);
--#3707=DIRECTION('',(0.E0,1.E0,0.E0));
--#3708=VECTOR('',#3707,6.875E-1);
--#3709=CARTESIAN_POINT('',(7.5E0,0.E0,3.01875E1));
--#3710=LINE('',#3709,#3708);
--#3711=DIRECTION('',(1.E0,0.E0,0.E0));
--#3712=VECTOR('',#3711,3.E0);
--#3713=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.13125E1));
--#3714=LINE('',#3713,#3712);
--#3715=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.075E1));
--#3716=DIRECTION('',(0.E0,1.E0,0.E0));
--#3717=DIRECTION('',(0.E0,0.E0,1.E0));
--#3718=AXIS2_PLACEMENT_3D('',#3715,#3716,#3717);
--#3720=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3721=VECTOR('',#3720,3.E0);
--#3722=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.01875E1));
--#3723=LINE('',#3722,#3721);
--#3724=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.075E1));
--#3725=DIRECTION('',(0.E0,1.E0,0.E0));
--#3726=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3727=AXIS2_PLACEMENT_3D('',#3724,#3725,#3726);
--#3729=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
--#3730=VECTOR('',#3729,4.263248410977E0);
--#3731=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,2.795313485357E1));
--#3732=LINE('',#3731,#3730);
--#3733=CARTESIAN_POINT('',(4.553039342392E0,6.875E-1,3.035464591145E1));
--#3734=DIRECTION('',(0.E0,1.E0,0.E0));
--#3735=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
--#3736=AXIS2_PLACEMENT_3D('',#3733,#3734,#3735);
--#3738=CARTESIAN_POINT('',(7.5E0,6.875E-1,2.45E1));
--#3739=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3740=DIRECTION('',(-4.496088413988E-1,0.E0,8.932255536739E-1));
--#3741=AXIS2_PLACEMENT_3D('',#3738,#3739,#3740);
--#3743=CARTESIAN_POINT('',(1.61E0,6.875E-1,2.75E1));
--#3744=DIRECTION('',(0.E0,1.E0,0.E0));
--#3745=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1));
--#3746=AXIS2_PLACEMENT_3D('',#3743,#3744,#3745);
--#3748=DIRECTION('',(0.E0,1.E0,-1.033516706560E-14));
--#3749=VECTOR('',#3748,6.875E-1);
--#3750=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,2.708717332281E1));
--#3751=LINE('',#3750,#3749);
--#3752=CARTESIAN_POINT('',(1.455736763592E0,0.E0,2.742280476768E1));
--#3753=DIRECTION('',(0.E0,1.E0,0.E0));
--#3754=DIRECTION('',(-8.942796313519E-1,0.E0,-4.475085931567E-1));
--#3755=AXIS2_PLACEMENT_3D('',#3752,#3753,#3754);
--#3757=DIRECTION('',(0.E0,1.E0,1.033516706560E-14));
--#3758=VECTOR('',#3757,6.875E-1);
--#3759=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1));
--#3760=LINE('',#3759,#3758);
--#3761=CARTESIAN_POINT('',(1.455736763592E0,6.875E-1,2.742280476768E1));
--#3762=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3763=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811866E-1));
--#3764=AXIS2_PLACEMENT_3D('',#3761,#3762,#3763);
--#3766=DIRECTION('',(0.E0,1.E0,1.033516706560E-14));
--#3767=VECTOR('',#3766,6.875E-1);
--#3768=CARTESIAN_POINT('',(2.432015885023E0,0.E0,2.708131618759E1));
--#3769=LINE('',#3768,#3767);
--#3770=DIRECTION('',(0.E0,1.E0,0.E0));
--#3771=VECTOR('',#3770,6.875E-1);
--#3772=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.958022033652E1));
--#3773=LINE('',#3772,#3771);
--#3774=DIRECTION('',(0.E0,1.E0,0.E0));
--#3775=VECTOR('',#3774,6.875E-1);
--#3776=CARTESIAN_POINT('',(3.939978538987E0,0.E0,3.096770671486E1));
--#3777=LINE('',#3776,#3775);
--#3778=DIRECTION('',(0.E0,1.E0,0.E0));
--#3779=VECTOR('',#3778,6.875E-1);
--#3780=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1));
--#3781=LINE('',#3780,#3779);
--#3782=DIRECTION('',(0.E0,1.E0,0.E0));
--#3783=VECTOR('',#3782,6.875E-1);
--#3784=CARTESIAN_POINT('',(1.35E1,0.E0,6.875E-1));
--#3785=LINE('',#3784,#3783);
--#3786=DIRECTION('',(0.E0,1.E0,0.E0));
--#3787=VECTOR('',#3786,6.875E-1);
--#3788=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0));
--#3789=LINE('',#3788,#3787);
--#3790=DIRECTION('',(0.E0,1.E0,0.E0));
--#3791=VECTOR('',#3790,6.875E-1);
--#3792=CARTESIAN_POINT('',(1.65E1,0.E0,1.8125E0));
--#3793=LINE('',#3792,#3791);
--#3794=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3795=VECTOR('',#3794,3.E0);
--#3796=CARTESIAN_POINT('',(1.65E1,6.875E-1,6.875E-1));
--#3797=LINE('',#3796,#3795);
--#3798=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.25E0));
--#3799=DIRECTION('',(0.E0,1.E0,0.E0));
--#3800=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3801=AXIS2_PLACEMENT_3D('',#3798,#3799,#3800);
--#3803=DIRECTION('',(1.E0,0.E0,0.E0));
--#3804=VECTOR('',#3803,3.E0);
--#3805=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8125E0));
--#3806=LINE('',#3805,#3804);
--#3807=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.25E0));
--#3808=DIRECTION('',(0.E0,1.E0,0.E0));
--#3809=DIRECTION('',(0.E0,0.E0,1.E0));
--#3810=AXIS2_PLACEMENT_3D('',#3807,#3808,#3809);
--#3812=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
--#3813=VECTOR('',#3812,4.263248410977E0);
--#3814=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,4.046865146430E0));
--#3815=LINE('',#3814,#3813);
--#3816=CARTESIAN_POINT('',(1.944696065761E1,6.875E-1,1.645354088550E0));
--#3817=DIRECTION('',(0.E0,1.E0,0.E0));
--#3818=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
--#3819=AXIS2_PLACEMENT_3D('',#3816,#3817,#3818);
--#3821=CARTESIAN_POINT('',(1.65E1,6.875E-1,7.5E0));
--#3822=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3823=DIRECTION('',(4.496088413988E-1,0.E0,-8.932255536739E-1));
--#3824=AXIS2_PLACEMENT_3D('',#3821,#3822,#3823);
--#3826=CARTESIAN_POINT('',(2.239E1,6.875E-1,4.5E0));
--#3827=DIRECTION('',(0.E0,1.E0,0.E0));
--#3828=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1));
--#3829=AXIS2_PLACEMENT_3D('',#3826,#3827,#3828);
--#3831=DIRECTION('',(-1.033516706560E-14,1.E0,2.583791766400E-14));
--#3832=VECTOR('',#3831,6.875E-1);
--#3833=CARTESIAN_POINT('',(2.321497295992E1,0.E0,4.912826677187E0));
--#3834=LINE('',#3833,#3832);
--#3835=CARTESIAN_POINT('',(2.254426323641E1,0.E0,4.577195232320E0));
--#3836=DIRECTION('',(0.E0,1.E0,0.E0));
--#3837=DIRECTION('',(8.942796313519E-1,0.E0,4.475085931567E-1));
--#3838=AXIS2_PLACEMENT_3D('',#3835,#3836,#3837);
--#3840=DIRECTION('',(0.E0,1.E0,0.E0));
--#3841=VECTOR('',#3840,6.875E-1);
--#3842=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0));
--#3843=LINE('',#3842,#3841);
--#3844=CARTESIAN_POINT('',(2.254426323641E1,6.875E-1,4.577195232320E0));
--#3845=DIRECTION('',(0.E0,-1.E0,0.E0));
--#3846=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
--#3847=AXIS2_PLACEMENT_3D('',#3844,#3845,#3846);
--#3849=DIRECTION('',(-1.550275059840E-14,1.E0,-2.067033413120E-14));
--#3850=VECTOR('',#3849,6.875E-1);
--#3851=CARTESIAN_POINT('',(2.156798411498E1,0.E0,4.918683812405E0));
--#3852=LINE('',#3851,#3850);
--#3853=DIRECTION('',(1.550275059840E-14,1.E0,0.E0));
--#3854=VECTOR('',#3853,6.875E-1);
--#3855=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.419779663480E0));
--#3856=LINE('',#3855,#3854);
--#3857=DIRECTION('',(0.E0,1.E0,0.E0));
--#3858=VECTOR('',#3857,6.875E-1);
--#3859=CARTESIAN_POINT('',(2.006002146101E1,0.E0,1.032293285145E0));
--#3860=LINE('',#3859,#3858);
--#3861=DIRECTION('',(0.E0,1.E0,0.E0));
--#3862=VECTOR('',#3861,6.875E-1);
--#3863=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1));
--#3864=LINE('',#3863,#3862);
--#3865=DIRECTION('',(0.E0,1.E0,0.E0));
--#3866=VECTOR('',#3865,6.875E-1);
--#3867=CARTESIAN_POINT('',(2.33125E1,0.E0,1.35E1));
--#3868=LINE('',#3867,#3866);
--#3869=DIRECTION('',(0.E0,1.E0,0.E0));
--#3870=VECTOR('',#3869,6.875E-1);
--#3871=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1));
--#3872=LINE('',#3871,#3870);
--#3873=DIRECTION('',(0.E0,1.E0,0.E0));
--#3874=VECTOR('',#3873,6.875E-1);
--#3875=CARTESIAN_POINT('',(2.21875E1,0.E0,1.65E1));
--#3876=LINE('',#3875,#3874);
--#3877=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3878=VECTOR('',#3877,3.E0);
--#3879=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.65E1));
--#3880=LINE('',#3879,#3878);
--#3881=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.35E1));
--#3882=DIRECTION('',(0.E0,1.E0,0.E0));
--#3883=DIRECTION('',(1.E0,0.E0,0.E0));
--#3884=AXIS2_PLACEMENT_3D('',#3881,#3882,#3883);
--#3886=DIRECTION('',(0.E0,0.E0,1.E0));
--#3887=VECTOR('',#3886,3.E0);
--#3888=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.35E1));
--#3889=LINE('',#3888,#3887);
--#3890=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.65E1));
--#3891=DIRECTION('',(0.E0,1.E0,0.E0));
--#3892=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3893=AXIS2_PLACEMENT_3D('',#3890,#3891,#3892);
--#3895=DIRECTION('',(0.E0,1.E0,0.E0));
--#3896=VECTOR('',#3895,6.875E-1);
--#3897=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1));
--#3898=LINE('',#3897,#3896);
--#3899=DIRECTION('',(0.E0,1.E0,0.E0));
--#3900=VECTOR('',#3899,6.875E-1);
--#3901=CARTESIAN_POINT('',(2.33125E1,0.E0,1.95E1));
--#3902=LINE('',#3901,#3900);
--#3903=DIRECTION('',(0.E0,1.E0,0.E0));
--#3904=VECTOR('',#3903,6.875E-1);
--#3905=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1));
--#3906=LINE('',#3905,#3904);
--#3907=DIRECTION('',(0.E0,1.E0,0.E0));
--#3908=VECTOR('',#3907,6.875E-1);
--#3909=CARTESIAN_POINT('',(2.21875E1,0.E0,2.25E1));
--#3910=LINE('',#3909,#3908);
--#3911=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3912=VECTOR('',#3911,3.E0);
--#3913=CARTESIAN_POINT('',(2.33125E1,6.875E-1,2.25E1));
--#3914=LINE('',#3913,#3912);
--#3915=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.95E1));
--#3916=DIRECTION('',(0.E0,1.E0,0.E0));
--#3917=DIRECTION('',(1.E0,0.E0,0.E0));
--#3918=AXIS2_PLACEMENT_3D('',#3915,#3916,#3917);
--#3920=DIRECTION('',(0.E0,0.E0,1.E0));
--#3921=VECTOR('',#3920,3.E0);
--#3922=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.95E1));
--#3923=LINE('',#3922,#3921);
--#3924=CARTESIAN_POINT('',(2.275E1,6.875E-1,2.25E1));
--#3925=DIRECTION('',(0.E0,1.E0,0.E0));
--#3926=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3927=AXIS2_PLACEMENT_3D('',#3924,#3925,#3926);
--#3929=DIRECTION('',(0.E0,1.E0,0.E0));
--#3930=VECTOR('',#3929,6.875E-1);
--#3931=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0));
--#3932=LINE('',#3931,#3930);
--#3933=DIRECTION('',(0.E0,1.E0,0.E0));
--#3934=VECTOR('',#3933,6.875E-1);
--#3935=CARTESIAN_POINT('',(1.35E1,0.E0,8.5E0));
--#3936=LINE('',#3935,#3934);
--#3937=DIRECTION('',(0.E0,1.E0,0.E0));
--#3938=VECTOR('',#3937,6.875E-1);
--#3939=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0));
--#3940=LINE('',#3939,#3938);
--#3941=DIRECTION('',(0.E0,1.E0,0.E0));
--#3942=VECTOR('',#3941,6.875E-1);
--#3943=CARTESIAN_POINT('',(1.65E1,0.E0,9.5E0));
--#3944=LINE('',#3943,#3942);
--#3945=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3946=VECTOR('',#3945,3.E0);
--#3947=CARTESIAN_POINT('',(1.65E1,6.875E-1,8.5E0));
--#3948=LINE('',#3947,#3946);
--#3949=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.E0));
--#3950=DIRECTION('',(0.E0,1.E0,0.E0));
--#3951=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3952=AXIS2_PLACEMENT_3D('',#3949,#3950,#3951);
--#3954=DIRECTION('',(1.E0,0.E0,0.E0));
--#3955=VECTOR('',#3954,3.E0);
--#3956=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.5E0));
--#3957=LINE('',#3956,#3955);
--#3958=CARTESIAN_POINT('',(1.65E1,6.875E-1,9.E0));
--#3959=DIRECTION('',(0.E0,1.E0,0.E0));
--#3960=DIRECTION('',(0.E0,0.E0,1.E0));
--#3961=AXIS2_PLACEMENT_3D('',#3958,#3959,#3960);
--#3963=DIRECTION('',(0.E0,1.E0,0.E0));
--#3964=VECTOR('',#3963,6.875E-1);
--#3965=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1));
--#3966=LINE('',#3965,#3964);
--#3967=DIRECTION('',(0.E0,1.E0,0.E0));
--#3968=VECTOR('',#3967,6.875E-1);
--#3969=CARTESIAN_POINT('',(1.35E1,0.E0,1.75625E1));
--#3970=LINE('',#3969,#3968);
--#3971=DIRECTION('',(0.E0,1.E0,0.E0));
--#3972=VECTOR('',#3971,6.875E-1);
--#3973=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1));
--#3974=LINE('',#3973,#3972);
--#3975=DIRECTION('',(0.E0,1.E0,0.E0));
--#3976=VECTOR('',#3975,6.875E-1);
--#3977=CARTESIAN_POINT('',(1.65E1,0.E0,1.84375E1));
--#3978=LINE('',#3977,#3976);
--#3979=DIRECTION('',(-1.E0,0.E0,0.E0));
--#3980=VECTOR('',#3979,3.E0);
--#3981=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.75625E1));
--#3982=LINE('',#3981,#3980);
--#3983=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8E1));
--#3984=DIRECTION('',(0.E0,1.E0,0.E0));
--#3985=DIRECTION('',(0.E0,0.E0,-1.E0));
--#3986=AXIS2_PLACEMENT_3D('',#3983,#3984,#3985);
--#3988=DIRECTION('',(1.E0,0.E0,0.E0));
--#3989=VECTOR('',#3988,3.E0);
--#3990=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.84375E1));
--#3991=LINE('',#3990,#3989);
--#3992=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.8E1));
--#3993=DIRECTION('',(0.E0,1.E0,0.E0));
--#3994=DIRECTION('',(0.E0,0.E0,1.E0));
--#3995=AXIS2_PLACEMENT_3D('',#3992,#3993,#3994);
--#3997=DIRECTION('',(0.E0,1.E0,0.E0));
--#3998=VECTOR('',#3997,6.875E-1);
--#3999=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1));
--#4000=LINE('',#3999,#3998);
--#4001=DIRECTION('',(0.E0,1.E0,0.E0));
--#4002=VECTOR('',#4001,6.875E-1);
--#4003=CARTESIAN_POINT('',(1.65E1,0.E0,3.01875E1));
--#4004=LINE('',#4003,#4002);
--#4005=DIRECTION('',(0.E0,1.E0,0.E0));
--#4006=VECTOR('',#4005,6.875E-1);
--#4007=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1));
--#4008=LINE('',#4007,#4006);
--#4009=DIRECTION('',(0.E0,1.E0,0.E0));
--#4010=VECTOR('',#4009,6.875E-1);
--#4011=CARTESIAN_POINT('',(1.35E1,0.E0,3.13125E1));
--#4012=LINE('',#4011,#4010);
--#4013=DIRECTION('',(-1.E0,0.E0,0.E0));
--#4014=VECTOR('',#4013,3.E0);
--#4015=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.13125E1));
--#4016=LINE('',#4015,#4014);
--#4017=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.075E1));
--#4018=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4019=DIRECTION('',(0.E0,0.E0,-1.E0));
--#4020=AXIS2_PLACEMENT_3D('',#4017,#4018,#4019);
--#4022=DIRECTION('',(1.E0,0.E0,0.E0));
--#4023=VECTOR('',#4022,3.E0);
--#4024=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.01875E1));
--#4025=LINE('',#4024,#4023);
--#4026=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.075E1));
--#4027=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4028=DIRECTION('',(0.E0,0.E0,1.E0));
--#4029=AXIS2_PLACEMENT_3D('',#4026,#4027,#4028);
--#4031=CARTESIAN_POINT('',(2.239E1,6.875E-1,2.75E1));
--#4032=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4033=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1));
--#4034=AXIS2_PLACEMENT_3D('',#4031,#4032,#4033);
--#4036=CARTESIAN_POINT('',(1.65E1,6.875E-1,2.45E1));
--#4037=DIRECTION('',(0.E0,1.E0,0.E0));
--#4038=DIRECTION('',(4.496088413988E-1,0.E0,8.932255536739E-1));
--#4039=AXIS2_PLACEMENT_3D('',#4036,#4037,#4038);
--#4041=CARTESIAN_POINT('',(1.944696065761E1,6.875E-1,3.035464591145E1));
--#4042=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4043=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
--#4044=AXIS2_PLACEMENT_3D('',#4041,#4042,#4043);
--#4046=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
--#4047=VECTOR('',#4046,4.263248410977E0);
--#4048=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,2.795313485357E1));
--#4049=LINE('',#4048,#4047);
--#4050=DIRECTION('',(0.E0,1.E0,0.E0));
--#4051=VECTOR('',#4050,6.875E-1);
--#4052=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1));
--#4053=LINE('',#4052,#4051);
--#4054=CARTESIAN_POINT('',(2.254426323641E1,0.E0,2.742280476768E1));
--#4055=DIRECTION('',(0.E0,1.E0,0.E0));
--#4056=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
--#4057=AXIS2_PLACEMENT_3D('',#4054,#4055,#4056);
--#4059=DIRECTION('',(0.E0,1.E0,2.067033413120E-14));
--#4060=VECTOR('',#4059,6.875E-1);
--#4061=CARTESIAN_POINT('',(2.321497295992E1,0.E0,2.708717332281E1));
--#4062=LINE('',#4061,#4060);
--#4063=CARTESIAN_POINT('',(2.254426323641E1,6.875E-1,2.742280476768E1));
--#4064=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4065=DIRECTION('',(8.942796313519E-1,0.E0,-4.475085931567E-1));
--#4066=AXIS2_PLACEMENT_3D('',#4063,#4064,#4065);
--#4068=DIRECTION('',(0.E0,1.E0,0.E0));
--#4069=VECTOR('',#4068,6.875E-1);
--#4070=CARTESIAN_POINT('',(2.006002146101E1,0.E0,3.096770671486E1));
--#4071=LINE('',#4070,#4069);
--#4072=DIRECTION('',(1.033516706560E-14,1.E0,0.E0));
--#4073=VECTOR('',#4072,6.875E-1);
--#4074=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.958022033652E1));
--#4075=LINE('',#4074,#4073);
--#4076=DIRECTION('',(-2.067033413120E-14,1.E0,3.100550119680E-14));
--#4077=VECTOR('',#4076,6.875E-1);
--#4078=CARTESIAN_POINT('',(2.156798411498E1,0.E0,2.708131618759E1));
--#4079=LINE('',#4078,#4077);
--#4080=DIRECTION('',(0.E0,1.E0,0.E0));
--#4081=VECTOR('',#4080,6.875E-1);
--#4082=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0));
--#4083=LINE('',#4082,#4081);
--#4084=CARTESIAN_POINT('',(2.13075E1,6.875E-1,7.81E0));
--#4085=DIRECTION('',(0.E0,1.E0,0.E0));
--#4086=DIRECTION('',(0.E0,0.E0,1.E0));
--#4087=AXIS2_PLACEMENT_3D('',#4084,#4085,#4086);
--#4089=DIRECTION('',(0.E0,1.E0,0.E0));
--#4090=VECTOR('',#4089,6.875E-1);
--#4091=CARTESIAN_POINT('',(2.21875E1,0.E0,7.81E0));
--#4092=LINE('',#4091,#4090);
--#4093=CARTESIAN_POINT('',(2.13075E1,0.E0,7.81E0));
--#4094=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4095=DIRECTION('',(1.E0,0.E0,0.E0));
--#4096=AXIS2_PLACEMENT_3D('',#4093,#4094,#4095);
--#4098=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4099=VECTOR('',#4098,6.875E-1);
--#4100=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0));
--#4101=LINE('',#4100,#4099);
--#4102=CARTESIAN_POINT('',(2.05675E1,6.875E-1,9.57E0));
--#4103=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4104=DIRECTION('',(-1.E0,0.E0,0.E0));
--#4105=AXIS2_PLACEMENT_3D('',#4102,#4103,#4104);
--#4107=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4108=VECTOR('',#4107,6.875E-1);
--#4109=CARTESIAN_POINT('',(2.05675E1,6.875E-1,8.69E0));
--#4110=LINE('',#4109,#4108);
--#4111=CARTESIAN_POINT('',(2.05675E1,0.E0,9.57E0));
--#4112=DIRECTION('',(0.E0,1.E0,0.E0));
--#4113=DIRECTION('',(0.E0,0.E0,-1.E0));
--#4114=AXIS2_PLACEMENT_3D('',#4111,#4112,#4113);
--#4116=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4117=VECTOR('',#4116,6.875E-1);
--#4118=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1));
--#4119=LINE('',#4118,#4117);
--#4120=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.037E1));
--#4121=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4122=DIRECTION('',(0.E0,0.E0,1.E0));
--#4123=AXIS2_PLACEMENT_3D('',#4120,#4121,#4122);
--#4125=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4126=VECTOR('',#4125,6.875E-1);
--#4127=CARTESIAN_POINT('',(1.96875E1,6.875E-1,1.037E1));
--#4128=LINE('',#4127,#4126);
--#4129=CARTESIAN_POINT('',(2.05675E1,0.E0,1.037E1));
--#4130=DIRECTION('',(0.E0,1.E0,0.E0));
--#4131=DIRECTION('',(-1.E0,0.E0,0.E0));
--#4132=AXIS2_PLACEMENT_3D('',#4129,#4130,#4131);
--#4134=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4135=VECTOR('',#4134,6.875E-1);
--#4136=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1));
--#4137=LINE('',#4136,#4135);
--#4138=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.037E1));
--#4139=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4140=DIRECTION('',(1.E0,0.E0,0.E0));
--#4141=AXIS2_PLACEMENT_3D('',#4138,#4139,#4140);
--#4143=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4144=VECTOR('',#4143,6.875E-1);
--#4145=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.125E1));
--#4146=LINE('',#4145,#4144);
--#4147=CARTESIAN_POINT('',(2.44325E1,0.E0,1.037E1));
--#4148=DIRECTION('',(0.E0,1.E0,0.E0));
--#4149=DIRECTION('',(0.E0,0.E0,1.E0));
--#4150=AXIS2_PLACEMENT_3D('',#4147,#4148,#4149);
--#4152=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4153=VECTOR('',#4152,6.875E-1);
--#4154=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0));
--#4155=LINE('',#4154,#4153);
--#4156=CARTESIAN_POINT('',(2.44325E1,6.875E-1,9.57E0));
--#4157=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4158=DIRECTION('',(0.E0,0.E0,-1.E0));
--#4159=AXIS2_PLACEMENT_3D('',#4156,#4157,#4158);
--#4161=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4162=VECTOR('',#4161,6.875E-1);
--#4163=CARTESIAN_POINT('',(2.53125E1,6.875E-1,9.57E0));
--#4164=LINE('',#4163,#4162);
--#4165=CARTESIAN_POINT('',(2.44325E1,0.E0,9.57E0));
--#4166=DIRECTION('',(0.E0,1.E0,0.E0));
--#4167=DIRECTION('',(1.E0,0.E0,0.E0));
--#4168=AXIS2_PLACEMENT_3D('',#4165,#4166,#4167);
--#4170=DIRECTION('',(0.E0,1.E0,0.E0));
--#4171=VECTOR('',#4170,6.875E-1);
--#4172=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0));
--#4173=LINE('',#4172,#4171);
--#4174=CARTESIAN_POINT('',(2.419E1,6.875E-1,7.81E0));
--#4175=DIRECTION('',(0.E0,1.E0,0.E0));
--#4176=DIRECTION('',(-1.E0,0.E0,0.E0));
--#4177=AXIS2_PLACEMENT_3D('',#4174,#4175,#4176);
--#4179=DIRECTION('',(0.E0,1.E0,0.E0));
--#4180=VECTOR('',#4179,6.875E-1);
--#4181=CARTESIAN_POINT('',(2.419E1,0.E0,8.69E0));
--#4182=LINE('',#4181,#4180);
--#4183=CARTESIAN_POINT('',(2.419E1,0.E0,7.81E0));
--#4184=DIRECTION('',(0.E0,-1.E0,0.E0));
--#4185=DIRECTION('',(0.E0,0.E0,1.E0));
--#4186=AXIS2_PLACEMENT_3D('',#4183,#4184,#4185);
--#4188=DIRECTION('',(0.E0,1.E0,1.033516706560E-14));
--#4189=VECTOR('',#4188,6.875E-1);
--#4190=CARTESIAN_POINT('',(2.331E1,0.E0,7.5E0));
--#4191=LINE('',#4190,#4189);
--#4192=DIRECTION('',(0.E0,1.E0,0.E0));
--#4193=VECTOR('',#4192,6.875E-1);
--#4194=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0));
--#4195=LINE('',#4194,#4193);
--#4196=DIRECTION('',(-1.E0,0.E0,0.E0));
--#4197=VECTOR('',#4196,2.425E-1);
--#4198=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0));
--#4199=LINE('',#4198,#4197);
--#4200=DIRECTION('',(0.E0,0.E0,-1.E0));
--#4201=VECTOR('',#4200,3.1E-1);
--#4202=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.81E0));
--#4203=LINE('',#4202,#4201);
--#4204=CARTESIAN_POINT('',(2.274875E1,6.875E-1,7.5E0));
--#4205=DIRECTION('',(0.E0,1.E0,0.E0));
--#4206=DIRECTION('',(1.E0,0.E0,0.E0));
--#4207=AXIS2_PLACEMENT_3D('',#4204,#4205,#4206);
--#4209=DIRECTION('',(0.E0,0.E0,1.E0));
--#4210=VECTOR('',#4209,3.1E-1);
--#4211=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.5E0));
--#4212=LINE('',#4211,#4210);
--#4213=DIRECTION('',(-1.E0,0.E0,0.E0));
--#4214=VECTOR('',#4213,7.4E-1);
--#4215=CARTESIAN_POINT('',(2.13075E1,6.875E-1,8.69E0));
--#4216=LINE('',#4215,#4214);
--#4217=DIRECTION('',(0.E0,0.E0,1.E0));
--#4218=VECTOR('',#4217,8.E-1);
--#4219=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0));
--#4220=LINE('',#4219,#4218);
--#4221=DIRECTION('',(1.E0,0.E0,0.E0));
--#4222=VECTOR('',#4221,3.865E0);
--#4223=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1));
--#4224=LINE('',#4223,#4222);
--#4225=DIRECTION('',(0.E0,0.E0,-1.E0));
--#4226=VECTOR('',#4225,8.E-1);
--#4227=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1));
--#4228=LINE('',#4227,#4226);
--#4229=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
--#4230=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1));
--#4231=VERTEX_POINT('',#4229);
--#4232=VERTEX_POINT('',#4230);
--#4233=CARTESIAN_POINT('',(2.E1,0.E0,3.2E1));
--#4234=CARTESIAN_POINT('',(2.E1,1.5E0,3.2E1));
--#4235=VERTEX_POINT('',#4233);
--#4236=VERTEX_POINT('',#4234);
--#4237=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
--#4238=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0));
--#4239=VERTEX_POINT('',#4237);
--#4240=VERTEX_POINT('',#4238);
--#4241=CARTESIAN_POINT('',(2.4E1,0.E0,4.E0));
--#4242=CARTESIAN_POINT('',(2.4E1,1.5E0,4.E0));
--#4243=VERTEX_POINT('',#4241);
--#4244=VERTEX_POINT('',#4242);
--#4245=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
--#4246=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1));
--#4247=VERTEX_POINT('',#4245);
--#4248=VERTEX_POINT('',#4246);
--#4249=CARTESIAN_POINT('',(0.E0,0.E0,2.8E1));
--#4250=CARTESIAN_POINT('',(0.E0,1.5E0,2.8E1));
--#4251=VERTEX_POINT('',#4249);
--#4252=VERTEX_POINT('',#4250);
--#4253=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
--#4254=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0));
--#4255=VERTEX_POINT('',#4253);
--#4256=VERTEX_POINT('',#4254);
--#4257=CARTESIAN_POINT('',(4.E0,0.E0,0.E0));
--#4258=CARTESIAN_POINT('',(4.E0,1.5E0,0.E0));
--#4259=VERTEX_POINT('',#4257);
--#4260=VERTEX_POINT('',#4258);
--#4261=CARTESIAN_POINT('',(7.5E0,1.5E0,2.5E0));
--#4262=CARTESIAN_POINT('',(7.5E0,0.E0,2.5E0));
--#4263=VERTEX_POINT('',#4261);
--#4264=VERTEX_POINT('',#4262);
--#4265=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0));
--#4266=CARTESIAN_POINT('',(1.65E1,0.E0,2.5E0));
--#4267=VERTEX_POINT('',#4265);
--#4268=VERTEX_POINT('',#4266);
--#4269=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1));
--#4270=CARTESIAN_POINT('',(7.5E0,0.E0,2.95E1));
--#4271=VERTEX_POINT('',#4269);
--#4272=VERTEX_POINT('',#4270);
--#4273=CARTESIAN_POINT('',(2.5E0,1.5E0,2.45E1));
--#4274=CARTESIAN_POINT('',(2.5E0,0.E0,2.45E1));
--#4275=VERTEX_POINT('',#4273);
--#4276=VERTEX_POINT('',#4274);
--#4277=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1));
--#4278=CARTESIAN_POINT('',(2.15E1,0.E0,2.45E1));
--#4279=VERTEX_POINT('',#4277);
--#4280=VERTEX_POINT('',#4278);
--#4281=CARTESIAN_POINT('',(1.65E1,1.5E0,2.95E1));
--#4282=CARTESIAN_POINT('',(1.65E1,0.E0,2.95E1));
--#4283=VERTEX_POINT('',#4281);
--#4284=VERTEX_POINT('',#4282);
--#4285=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
--#4286=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0));
--#4287=VERTEX_POINT('',#4285);
--#4288=VERTEX_POINT('',#4286);
--#4289=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0));
--#4290=VERTEX_POINT('',#4289);
--#4291=CARTESIAN_POINT('',(5.E0,1.15E1,1.E1));
--#4292=CARTESIAN_POINT('',(3.E0,1.15E1,1.E1));
--#4293=VERTEX_POINT('',#4291);
--#4294=VERTEX_POINT('',#4292);
--#4295=CARTESIAN_POINT('',(-2.E0,2.5E0,1.E1));
--#4296=VERTEX_POINT('',#4295);
--#4297=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1));
--#4298=VERTEX_POINT('',#4297);
--#4299=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0));
--#4300=VERTEX_POINT('',#4299);
--#4301=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1));
--#4302=CARTESIAN_POINT('',(2.5E0,0.E0,1.325E1));
--#4303=VERTEX_POINT('',#4301);
--#4304=VERTEX_POINT('',#4302);
--#4305=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1));
--#4306=CARTESIAN_POINT('',(3.5E0,0.E0,1.225E1));
--#4307=VERTEX_POINT('',#4305);
--#4308=VERTEX_POINT('',#4306);
--#4309=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1));
--#4310=CARTESIAN_POINT('',(0.E0,1.5E0,1.325E1));
--#4311=VERTEX_POINT('',#4309);
--#4312=VERTEX_POINT('',#4310);
--#4313=CARTESIAN_POINT('',(-1.E0,0.E0,1.225E1));
--#4314=CARTESIAN_POINT('',(-1.E0,1.5E0,1.225E1));
--#4315=VERTEX_POINT('',#4313);
--#4316=VERTEX_POINT('',#4314);
--#4317=CARTESIAN_POINT('',(0.E0,1.5E0,7.E0));
--#4318=CARTESIAN_POINT('',(0.E0,0.E0,7.E0));
--#4319=VERTEX_POINT('',#4317);
--#4320=VERTEX_POINT('',#4318);
--#4321=CARTESIAN_POINT('',(-1.E0,1.5E0,8.E0));
--#4322=CARTESIAN_POINT('',(-1.E0,0.E0,8.E0));
--#4323=VERTEX_POINT('',#4321);
--#4324=VERTEX_POINT('',#4322);
--#4325=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0));
--#4326=CARTESIAN_POINT('',(3.531373033403E0,0.E0,8.E0));
--#4327=VERTEX_POINT('',#4325);
--#4328=VERTEX_POINT('',#4326);
--#4329=CARTESIAN_POINT('',(2.539216291754E0,1.5E0,6.875E0));
--#4330=CARTESIAN_POINT('',(2.539216291754E0,0.E0,6.875E0));
--#4331=VERTEX_POINT('',#4329);
--#4332=VERTEX_POINT('',#4330);
--#4333=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
--#4334=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1));
--#4335=VERTEX_POINT('',#4333);
--#4336=VERTEX_POINT('',#4334);
--#4337=CARTESIAN_POINT('',(4.5E0,0.E0,1.225E1));
--#4338=CARTESIAN_POINT('',(4.5E0,1.5E0,1.225E1));
--#4339=VERTEX_POINT('',#4337);
--#4340=VERTEX_POINT('',#4338);
--#4341=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
--#4342=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1));
--#4343=VERTEX_POINT('',#4341);
--#4344=VERTEX_POINT('',#4342);
--#4345=CARTESIAN_POINT('',(-2.E0,0.E0,1.175E1));
--#4346=CARTESIAN_POINT('',(-2.E0,1.5E0,1.175E1));
--#4347=VERTEX_POINT('',#4345);
--#4348=VERTEX_POINT('',#4346);
--#4349=CARTESIAN_POINT('',(4.095E0,1.1125E1,9.E0));
--#4350=CARTESIAN_POINT('',(3.905E0,1.1125E1,9.E0));
--#4351=VERTEX_POINT('',#4349);
--#4352=VERTEX_POINT('',#4350);
--#4353=CARTESIAN_POINT('',(4.095E0,1.15E1,9.E0));
--#4354=CARTESIAN_POINT('',(3.905E0,1.15E1,9.E0));
--#4355=VERTEX_POINT('',#4353);
--#4356=VERTEX_POINT('',#4354);
--#4357=CARTESIAN_POINT('',(3.929917478528E0,1.125E1,9.132582521472E0));
--#4358=CARTESIAN_POINT('',(3.804917478528E0,1.125E1,9.132582521472E0));
--#4359=VERTEX_POINT('',#4357);
--#4360=VERTEX_POINT('',#4358);
--#4361=CARTESIAN_POINT('',(3.929917478528E0,1.15E1,9.132582521472E0));
--#4362=CARTESIAN_POINT('',(3.804917478528E0,1.15E1,9.132582521472E0));
--#4363=VERTEX_POINT('',#4361);
--#4364=VERTEX_POINT('',#4362);
--#4365=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1));
--#4366=CARTESIAN_POINT('',(6.55E0,1.25E0,2.975E1));
--#4367=VERTEX_POINT('',#4365);
--#4368=VERTEX_POINT('',#4366);
--#4369=CARTESIAN_POINT('',(6.35E0,1.25E0,2.975E1));
--#4370=VERTEX_POINT('',#4369);
--#4371=CARTESIAN_POINT('',(6.35E0,1.5E0,2.975E1));
--#4372=CARTESIAN_POINT('',(6.55E0,1.5E0,2.975E1));
--#4373=VERTEX_POINT('',#4371);
--#4374=VERTEX_POINT('',#4372);
--#4375=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1));
--#4376=CARTESIAN_POINT('',(7.55E0,1.25E0,2.975E1));
--#4377=VERTEX_POINT('',#4375);
--#4378=VERTEX_POINT('',#4376);
--#4379=CARTESIAN_POINT('',(7.35E0,1.25E0,2.975E1));
--#4380=VERTEX_POINT('',#4379);
--#4381=CARTESIAN_POINT('',(7.35E0,1.5E0,2.975E1));
--#4382=CARTESIAN_POINT('',(7.55E0,1.5E0,2.975E1));
--#4383=VERTEX_POINT('',#4381);
--#4384=VERTEX_POINT('',#4382);
--#4385=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
--#4386=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0));
--#4387=VERTEX_POINT('',#4385);
--#4388=VERTEX_POINT('',#4386);
--#4389=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0));
--#4390=VERTEX_POINT('',#4389);
--#4391=CARTESIAN_POINT('',(1.9E1,1.15E1,1.E1));
--#4392=CARTESIAN_POINT('',(2.1E1,1.15E1,1.E1));
--#4393=VERTEX_POINT('',#4391);
--#4394=VERTEX_POINT('',#4392);
--#4395=CARTESIAN_POINT('',(2.6E1,2.5E0,1.E1));
--#4396=VERTEX_POINT('',#4395);
--#4397=CARTESIAN_POINT('',(2.6E1,1.5E0,1.E1));
--#4398=VERTEX_POINT('',#4397);
--#4399=CARTESIAN_POINT('',(2.6E1,0.E0,8.E0));
--#4400=VERTEX_POINT('',#4399);
--#4401=CARTESIAN_POINT('',(2.4E1,1.5E0,1.325E1));
--#4402=CARTESIAN_POINT('',(2.4E1,0.E0,1.325E1));
--#4403=VERTEX_POINT('',#4401);
--#4404=VERTEX_POINT('',#4402);
--#4405=CARTESIAN_POINT('',(2.5E1,1.5E0,1.225E1));
--#4406=CARTESIAN_POINT('',(2.5E1,0.E0,1.225E1));
--#4407=VERTEX_POINT('',#4405);
--#4408=VERTEX_POINT('',#4406);
--#4409=CARTESIAN_POINT('',(2.15E1,0.E0,1.325E1));
--#4410=CARTESIAN_POINT('',(2.15E1,1.5E0,1.325E1));
--#4411=VERTEX_POINT('',#4409);
--#4412=VERTEX_POINT('',#4410);
--#4413=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1));
--#4414=CARTESIAN_POINT('',(2.05E1,1.5E0,1.225E1));
--#4415=VERTEX_POINT('',#4413);
--#4416=VERTEX_POINT('',#4414);
--#4417=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0));
--#4418=CARTESIAN_POINT('',(2.4E1,1.5E0,7.E0));
--#4419=VERTEX_POINT('',#4417);
--#4420=VERTEX_POINT('',#4418);
--#4421=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0));
--#4422=CARTESIAN_POINT('',(2.5E1,1.5E0,8.E0));
--#4423=VERTEX_POINT('',#4421);
--#4424=VERTEX_POINT('',#4422);
--#4425=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0));
--#4426=CARTESIAN_POINT('',(2.046862696660E1,1.5E0,8.E0));
--#4427=VERTEX_POINT('',#4425);
--#4428=VERTEX_POINT('',#4426);
--#4429=CARTESIAN_POINT('',(2.146078370825E1,0.E0,6.875E0));
--#4430=CARTESIAN_POINT('',(2.146078370825E1,1.5E0,6.875E0));
--#4431=VERTEX_POINT('',#4429);
--#4432=VERTEX_POINT('',#4430);
--#4433=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
--#4434=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1));
--#4435=VERTEX_POINT('',#4433);
--#4436=VERTEX_POINT('',#4434);
--#4437=CARTESIAN_POINT('',(1.95E1,1.5E0,1.225E1));
--#4438=CARTESIAN_POINT('',(1.95E1,0.E0,1.225E1));
--#4439=VERTEX_POINT('',#4437);
--#4440=VERTEX_POINT('',#4438);
--#4441=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
--#4442=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1));
--#4443=VERTEX_POINT('',#4441);
--#4444=VERTEX_POINT('',#4442);
--#4445=CARTESIAN_POINT('',(2.6E1,1.5E0,1.175E1));
--#4446=CARTESIAN_POINT('',(2.6E1,0.E0,1.175E1));
--#4447=VERTEX_POINT('',#4445);
--#4448=VERTEX_POINT('',#4446);
--#4449=CARTESIAN_POINT('',(1.9905E1,1.1125E1,9.E0));
--#4450=CARTESIAN_POINT('',(2.0095E1,1.1125E1,9.E0));
--#4451=VERTEX_POINT('',#4449);
--#4452=VERTEX_POINT('',#4450);
--#4453=CARTESIAN_POINT('',(1.9905E1,1.15E1,9.E0));
--#4454=CARTESIAN_POINT('',(2.0095E1,1.15E1,9.E0));
--#4455=VERTEX_POINT('',#4453);
--#4456=VERTEX_POINT('',#4454);
--#4457=CARTESIAN_POINT('',(2.007008252147E1,1.125E1,9.132582521472E0));
--#4458=CARTESIAN_POINT('',(2.019508252147E1,1.125E1,9.132582521472E0));
--#4459=VERTEX_POINT('',#4457);
--#4460=VERTEX_POINT('',#4458);
--#4461=CARTESIAN_POINT('',(2.007008252147E1,1.15E1,9.132582521472E0));
--#4462=CARTESIAN_POINT('',(2.019508252147E1,1.15E1,9.132582521472E0));
--#4463=VERTEX_POINT('',#4461);
--#4464=VERTEX_POINT('',#4462);
--#4465=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1));
--#4466=CARTESIAN_POINT('',(1.745E1,1.25E0,2.975E1));
--#4467=VERTEX_POINT('',#4465);
--#4468=VERTEX_POINT('',#4466);
--#4469=CARTESIAN_POINT('',(1.765E1,1.25E0,2.975E1));
--#4470=VERTEX_POINT('',#4469);
--#4471=CARTESIAN_POINT('',(1.765E1,1.5E0,2.975E1));
--#4472=CARTESIAN_POINT('',(1.745E1,1.5E0,2.975E1));
--#4473=VERTEX_POINT('',#4471);
--#4474=VERTEX_POINT('',#4472);
--#4475=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1));
--#4476=CARTESIAN_POINT('',(1.645E1,1.25E0,2.975E1));
--#4477=VERTEX_POINT('',#4475);
--#4478=VERTEX_POINT('',#4476);
--#4479=CARTESIAN_POINT('',(1.665E1,1.25E0,2.975E1));
--#4480=VERTEX_POINT('',#4479);
--#4481=CARTESIAN_POINT('',(1.665E1,1.5E0,2.975E1));
--#4482=CARTESIAN_POINT('',(1.645E1,1.5E0,2.975E1));
--#4483=VERTEX_POINT('',#4481);
--#4484=VERTEX_POINT('',#4482);
--#4485=CARTESIAN_POINT('',(1.3175E0,0.E0,6.E0));
--#4486=CARTESIAN_POINT('',(9.325E-1,0.E0,6.E0));
--#4487=VERTEX_POINT('',#4485);
--#4488=VERTEX_POINT('',#4486);
--#4489=CARTESIAN_POINT('',(1.3825E0,1.E0,6.E0));
--#4490=CARTESIAN_POINT('',(8.675E-1,1.E0,6.E0));
--#4491=VERTEX_POINT('',#4489);
--#4492=VERTEX_POINT('',#4490);
--#4493=CARTESIAN_POINT('',(1.3825E0,1.5E0,6.E0));
--#4494=CARTESIAN_POINT('',(8.675E-1,1.5E0,6.E0));
--#4495=VERTEX_POINT('',#4493);
--#4496=VERTEX_POINT('',#4494);
--#4497=CARTESIAN_POINT('',(1.3175E0,1.E0,6.E0));
--#4498=CARTESIAN_POINT('',(9.325E-1,1.E0,6.E0));
--#4499=VERTEX_POINT('',#4497);
--#4500=VERTEX_POINT('',#4498);
--#4501=CARTESIAN_POINT('',(1.3175E0,0.E0,1.2E1));
--#4502=CARTESIAN_POINT('',(9.325E-1,0.E0,1.2E1));
--#4503=VERTEX_POINT('',#4501);
--#4504=VERTEX_POINT('',#4502);
--#4505=CARTESIAN_POINT('',(1.3175E0,0.E0,1.8E1));
--#4506=CARTESIAN_POINT('',(9.325E-1,0.E0,1.8E1));
--#4507=VERTEX_POINT('',#4505);
--#4508=VERTEX_POINT('',#4506);
--#4509=CARTESIAN_POINT('',(1.3175E0,0.E0,2.4E1));
--#4510=CARTESIAN_POINT('',(9.325E-1,0.E0,2.4E1));
--#4511=VERTEX_POINT('',#4509);
--#4512=VERTEX_POINT('',#4510);
--#4513=CARTESIAN_POINT('',(2.30675E1,0.E0,6.E0));
--#4514=CARTESIAN_POINT('',(2.26825E1,0.E0,6.E0));
--#4515=VERTEX_POINT('',#4513);
--#4516=VERTEX_POINT('',#4514);
--#4517=CARTESIAN_POINT('',(2.30675E1,0.E0,1.2E1));
--#4518=CARTESIAN_POINT('',(2.26825E1,0.E0,1.2E1));
--#4519=VERTEX_POINT('',#4517);
--#4520=VERTEX_POINT('',#4518);
--#4521=CARTESIAN_POINT('',(2.30675E1,0.E0,1.8E1));
--#4522=CARTESIAN_POINT('',(2.26825E1,0.E0,1.8E1));
--#4523=VERTEX_POINT('',#4521);
--#4524=VERTEX_POINT('',#4522);
--#4525=CARTESIAN_POINT('',(2.30675E1,0.E0,2.4E1));
--#4526=CARTESIAN_POINT('',(2.26825E1,0.E0,2.4E1));
--#4527=VERTEX_POINT('',#4525);
--#4528=VERTEX_POINT('',#4526);
--#4529=CARTESIAN_POINT('',(1.3825E0,1.E0,1.2E1));
--#4530=CARTESIAN_POINT('',(8.675E-1,1.E0,1.2E1));
--#4531=VERTEX_POINT('',#4529);
--#4532=VERTEX_POINT('',#4530);
--#4533=CARTESIAN_POINT('',(1.3175E0,1.E0,1.2E1));
--#4534=CARTESIAN_POINT('',(9.325E-1,1.E0,1.2E1));
--#4535=VERTEX_POINT('',#4533);
--#4536=VERTEX_POINT('',#4534);
--#4537=CARTESIAN_POINT('',(1.3825E0,1.E0,1.8E1));
--#4538=CARTESIAN_POINT('',(8.675E-1,1.E0,1.8E1));
--#4539=VERTEX_POINT('',#4537);
--#4540=VERTEX_POINT('',#4538);
--#4541=CARTESIAN_POINT('',(1.3825E0,1.5E0,1.8E1));
--#4542=CARTESIAN_POINT('',(8.675E-1,1.5E0,1.8E1));
--#4543=VERTEX_POINT('',#4541);
--#4544=VERTEX_POINT('',#4542);
--#4545=CARTESIAN_POINT('',(1.3175E0,1.E0,1.8E1));
--#4546=CARTESIAN_POINT('',(9.325E-1,1.E0,1.8E1));
--#4547=VERTEX_POINT('',#4545);
--#4548=VERTEX_POINT('',#4546);
--#4549=CARTESIAN_POINT('',(1.3825E0,1.E0,2.4E1));
--#4550=CARTESIAN_POINT('',(8.675E-1,1.E0,2.4E1));
--#4551=VERTEX_POINT('',#4549);
--#4552=VERTEX_POINT('',#4550);
--#4553=CARTESIAN_POINT('',(1.3825E0,1.5E0,2.4E1));
--#4554=CARTESIAN_POINT('',(8.675E-1,1.5E0,2.4E1));
--#4555=VERTEX_POINT('',#4553);
--#4556=VERTEX_POINT('',#4554);
--#4557=CARTESIAN_POINT('',(1.3175E0,1.E0,2.4E1));
--#4558=CARTESIAN_POINT('',(9.325E-1,1.E0,2.4E1));
--#4559=VERTEX_POINT('',#4557);
--#4560=VERTEX_POINT('',#4558);
--#4561=CARTESIAN_POINT('',(2.31325E1,1.E0,6.E0));
--#4562=CARTESIAN_POINT('',(2.26175E1,1.E0,6.E0));
--#4563=VERTEX_POINT('',#4561);
--#4564=VERTEX_POINT('',#4562);
--#4565=CARTESIAN_POINT('',(2.31325E1,1.5E0,6.E0));
--#4566=CARTESIAN_POINT('',(2.26175E1,1.5E0,6.E0));
--#4567=VERTEX_POINT('',#4565);
--#4568=VERTEX_POINT('',#4566);
--#4569=CARTESIAN_POINT('',(2.30675E1,1.E0,6.E0));
--#4570=CARTESIAN_POINT('',(2.26825E1,1.E0,6.E0));
--#4571=VERTEX_POINT('',#4569);
--#4572=VERTEX_POINT('',#4570);
--#4573=CARTESIAN_POINT('',(2.31325E1,1.E0,1.2E1));
--#4574=CARTESIAN_POINT('',(2.26175E1,1.E0,1.2E1));
--#4575=VERTEX_POINT('',#4573);
--#4576=VERTEX_POINT('',#4574);
--#4577=CARTESIAN_POINT('',(2.30675E1,1.E0,1.2E1));
--#4578=CARTESIAN_POINT('',(2.26825E1,1.E0,1.2E1));
--#4579=VERTEX_POINT('',#4577);
--#4580=VERTEX_POINT('',#4578);
--#4581=CARTESIAN_POINT('',(2.31325E1,1.E0,1.8E1));
--#4582=CARTESIAN_POINT('',(2.26175E1,1.E0,1.8E1));
--#4583=VERTEX_POINT('',#4581);
--#4584=VERTEX_POINT('',#4582);
--#4585=CARTESIAN_POINT('',(2.31325E1,1.5E0,1.8E1));
--#4586=CARTESIAN_POINT('',(2.26175E1,1.5E0,1.8E1));
--#4587=VERTEX_POINT('',#4585);
--#4588=VERTEX_POINT('',#4586);
--#4589=CARTESIAN_POINT('',(2.30675E1,1.E0,1.8E1));
--#4590=CARTESIAN_POINT('',(2.26825E1,1.E0,1.8E1));
--#4591=VERTEX_POINT('',#4589);
--#4592=VERTEX_POINT('',#4590);
--#4593=CARTESIAN_POINT('',(2.31325E1,1.E0,2.4E1));
--#4594=CARTESIAN_POINT('',(2.26175E1,1.E0,2.4E1));
--#4595=VERTEX_POINT('',#4593);
--#4596=VERTEX_POINT('',#4594);
--#4597=CARTESIAN_POINT('',(2.31325E1,1.5E0,2.4E1));
--#4598=CARTESIAN_POINT('',(2.26175E1,1.5E0,2.4E1));
--#4599=VERTEX_POINT('',#4597);
--#4600=VERTEX_POINT('',#4598);
--#4601=CARTESIAN_POINT('',(2.30675E1,1.E0,2.4E1));
--#4602=CARTESIAN_POINT('',(2.26825E1,1.E0,2.4E1));
--#4603=VERTEX_POINT('',#4601);
--#4604=VERTEX_POINT('',#4602);
--#4605=CARTESIAN_POINT('',(6.1925E0,0.E0,1.25E0));
--#4606=CARTESIAN_POINT('',(5.8075E0,0.E0,1.25E0));
--#4607=VERTEX_POINT('',#4605);
--#4608=VERTEX_POINT('',#4606);
--#4609=CARTESIAN_POINT('',(6.256E0,1.E0,1.25E0));
--#4610=CARTESIAN_POINT('',(5.744E0,1.E0,1.25E0));
--#4611=VERTEX_POINT('',#4609);
--#4612=VERTEX_POINT('',#4610);
--#4613=CARTESIAN_POINT('',(6.256E0,1.5E0,1.25E0));
--#4614=CARTESIAN_POINT('',(5.744E0,1.5E0,1.25E0));
--#4615=VERTEX_POINT('',#4613);
--#4616=VERTEX_POINT('',#4614);
--#4617=CARTESIAN_POINT('',(6.1925E0,1.E0,1.25E0));
--#4618=CARTESIAN_POINT('',(5.8075E0,1.E0,1.25E0));
--#4619=VERTEX_POINT('',#4617);
--#4620=VERTEX_POINT('',#4618);
--#4621=CARTESIAN_POINT('',(1.21925E1,0.E0,1.25E0));
--#4622=CARTESIAN_POINT('',(1.18075E1,0.E0,1.25E0));
--#4623=VERTEX_POINT('',#4621);
--#4624=VERTEX_POINT('',#4622);
--#4625=CARTESIAN_POINT('',(6.1925E0,0.E0,3.075E1));
--#4626=CARTESIAN_POINT('',(5.8075E0,0.E0,3.075E1));
--#4627=VERTEX_POINT('',#4625);
--#4628=VERTEX_POINT('',#4626);
--#4629=CARTESIAN_POINT('',(1.21925E1,0.E0,3.075E1));
--#4630=CARTESIAN_POINT('',(1.18075E1,0.E0,3.075E1));
--#4631=VERTEX_POINT('',#4629);
--#4632=VERTEX_POINT('',#4630);
--#4633=CARTESIAN_POINT('',(1.81925E1,0.E0,1.25E0));
--#4634=CARTESIAN_POINT('',(1.78075E1,0.E0,1.25E0));
--#4635=VERTEX_POINT('',#4633);
--#4636=VERTEX_POINT('',#4634);
--#4637=CARTESIAN_POINT('',(1.81925E1,0.E0,3.075E1));
--#4638=CARTESIAN_POINT('',(1.78075E1,0.E0,3.075E1));
--#4639=VERTEX_POINT('',#4637);
--#4640=VERTEX_POINT('',#4638);
--#4641=CARTESIAN_POINT('',(1.2256E1,1.E0,1.25E0));
--#4642=CARTESIAN_POINT('',(1.1744E1,1.E0,1.25E0));
--#4643=VERTEX_POINT('',#4641);
--#4644=VERTEX_POINT('',#4642);
--#4645=CARTESIAN_POINT('',(1.2256E1,1.5E0,1.25E0));
--#4646=CARTESIAN_POINT('',(1.1744E1,1.5E0,1.25E0));
--#4647=VERTEX_POINT('',#4645);
--#4648=VERTEX_POINT('',#4646);
--#4649=CARTESIAN_POINT('',(1.21925E1,1.E0,1.25E0));
--#4650=CARTESIAN_POINT('',(1.18075E1,1.E0,1.25E0));
--#4651=VERTEX_POINT('',#4649);
--#4652=VERTEX_POINT('',#4650);
--#4653=CARTESIAN_POINT('',(1.8256E1,1.E0,1.25E0));
--#4654=CARTESIAN_POINT('',(1.7744E1,1.E0,1.25E0));
--#4655=VERTEX_POINT('',#4653);
--#4656=VERTEX_POINT('',#4654);
--#4657=CARTESIAN_POINT('',(1.8256E1,1.5E0,1.25E0));
--#4658=CARTESIAN_POINT('',(1.7744E1,1.5E0,1.25E0));
--#4659=VERTEX_POINT('',#4657);
--#4660=VERTEX_POINT('',#4658);
--#4661=CARTESIAN_POINT('',(1.81925E1,1.E0,1.25E0));
--#4662=CARTESIAN_POINT('',(1.78075E1,1.E0,1.25E0));
--#4663=VERTEX_POINT('',#4661);
--#4664=VERTEX_POINT('',#4662);
--#4665=CARTESIAN_POINT('',(6.256E0,1.E0,3.075E1));
--#4666=CARTESIAN_POINT('',(5.744E0,1.E0,3.075E1));
--#4667=VERTEX_POINT('',#4665);
--#4668=VERTEX_POINT('',#4666);
--#4669=CARTESIAN_POINT('',(6.256E0,1.5E0,3.075E1));
--#4670=CARTESIAN_POINT('',(5.744E0,1.5E0,3.075E1));
--#4671=VERTEX_POINT('',#4669);
--#4672=VERTEX_POINT('',#4670);
--#4673=CARTESIAN_POINT('',(6.1925E0,1.E0,3.075E1));
--#4674=CARTESIAN_POINT('',(5.8075E0,1.E0,3.075E1));
--#4675=VERTEX_POINT('',#4673);
--#4676=VERTEX_POINT('',#4674);
--#4677=CARTESIAN_POINT('',(1.2256E1,1.E0,3.075E1));
--#4678=CARTESIAN_POINT('',(1.1744E1,1.E0,3.075E1));
--#4679=VERTEX_POINT('',#4677);
--#4680=VERTEX_POINT('',#4678);
--#4681=CARTESIAN_POINT('',(1.2256E1,1.5E0,3.075E1));
--#4682=CARTESIAN_POINT('',(1.1744E1,1.5E0,3.075E1));
--#4683=VERTEX_POINT('',#4681);
--#4684=VERTEX_POINT('',#4682);
--#4685=CARTESIAN_POINT('',(1.21925E1,1.E0,3.075E1));
--#4686=CARTESIAN_POINT('',(1.18075E1,1.E0,3.075E1));
--#4687=VERTEX_POINT('',#4685);
--#4688=VERTEX_POINT('',#4686);
--#4689=CARTESIAN_POINT('',(1.8256E1,1.E0,3.075E1));
--#4690=CARTESIAN_POINT('',(1.7744E1,1.E0,3.075E1));
--#4691=VERTEX_POINT('',#4689);
--#4692=VERTEX_POINT('',#4690);
--#4693=CARTESIAN_POINT('',(1.8256E1,1.5E0,3.075E1));
--#4694=CARTESIAN_POINT('',(1.7744E1,1.5E0,3.075E1));
--#4695=VERTEX_POINT('',#4693);
--#4696=VERTEX_POINT('',#4694);
--#4697=CARTESIAN_POINT('',(1.81925E1,1.E0,3.075E1));
--#4698=CARTESIAN_POINT('',(1.78075E1,1.E0,3.075E1));
--#4699=VERTEX_POINT('',#4697);
--#4700=VERTEX_POINT('',#4698);
--#4701=CARTESIAN_POINT('',(4.4125E0,1.05E1,8.E0));
--#4702=CARTESIAN_POINT('',(4.0875E0,1.05E1,8.E0));
--#4703=VERTEX_POINT('',#4701);
--#4704=VERTEX_POINT('',#4702);
--#4705=CARTESIAN_POINT('',(4.4125E0,1.05E1,1.E1));
--#4706=CARTESIAN_POINT('',(4.0875E0,1.05E1,1.E1));
--#4707=VERTEX_POINT('',#4705);
--#4708=VERTEX_POINT('',#4706);
--#4709=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.25E0));
--#4710=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.25E0));
--#4711=VERTEX_POINT('',#4709);
--#4712=VERTEX_POINT('',#4710);
--#4713=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.E0));
--#4714=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.E0));
--#4715=VERTEX_POINT('',#4713);
--#4716=VERTEX_POINT('',#4714);
--#4717=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.25E0));
--#4718=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.25E0));
--#4719=VERTEX_POINT('',#4717);
--#4720=VERTEX_POINT('',#4718);
--#4721=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.E0));
--#4722=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.E0));
--#4723=VERTEX_POINT('',#4721);
--#4724=VERTEX_POINT('',#4722);
--#4725=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.25E0));
--#4726=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.25E0));
--#4727=VERTEX_POINT('',#4725);
--#4728=VERTEX_POINT('',#4726);
--#4729=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.E0));
--#4730=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.E0));
--#4731=VERTEX_POINT('',#4729);
--#4732=VERTEX_POINT('',#4730);
--#4733=CARTESIAN_POINT('',(1.95875E1,1.05E1,8.E0));
--#4734=CARTESIAN_POINT('',(1.99125E1,1.05E1,8.E0));
--#4735=VERTEX_POINT('',#4733);
--#4736=VERTEX_POINT('',#4734);
--#4737=CARTESIAN_POINT('',(1.95875E1,1.05E1,1.E1));
--#4738=CARTESIAN_POINT('',(1.99125E1,1.05E1,1.E1));
--#4739=VERTEX_POINT('',#4737);
--#4740=VERTEX_POINT('',#4738);
--#4741=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.25E0));
--#4742=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.25E0));
--#4743=VERTEX_POINT('',#4741);
--#4744=VERTEX_POINT('',#4742);
--#4745=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.E0));
--#4746=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.E0));
--#4747=VERTEX_POINT('',#4745);
--#4748=VERTEX_POINT('',#4746);
--#4749=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.25E0));
--#4750=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.25E0));
--#4751=VERTEX_POINT('',#4749);
--#4752=VERTEX_POINT('',#4750);
--#4753=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.E0));
--#4754=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.E0));
--#4755=VERTEX_POINT('',#4753);
--#4756=VERTEX_POINT('',#4754);
--#4757=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.25E0));
--#4758=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.25E0));
--#4759=VERTEX_POINT('',#4757);
--#4760=VERTEX_POINT('',#4758);
--#4761=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.E0));
--#4762=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.E0));
--#4763=VERTEX_POINT('',#4761);
--#4764=VERTEX_POINT('',#4762);
--#4765=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
--#4766=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
--#4767=VERTEX_POINT('',#4765);
--#4768=VERTEX_POINT('',#4766);
--#4769=CARTESIAN_POINT('',(5.E0,1.5E0,1.1E1));
--#4770=CARTESIAN_POINT('',(5.E0,0.E0,1.1E1));
--#4771=VERTEX_POINT('',#4769);
--#4772=VERTEX_POINT('',#4770);
--#4773=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1));
--#4774=CARTESIAN_POINT('',(6.E0,0.E0,1.E1));
--#4775=VERTEX_POINT('',#4773);
--#4776=VERTEX_POINT('',#4774);
--#4777=CARTESIAN_POINT('',(1.9E1,0.E0,1.1E1));
--#4778=CARTESIAN_POINT('',(1.9E1,1.5E0,1.1E1));
--#4779=VERTEX_POINT('',#4777);
--#4780=VERTEX_POINT('',#4778);
--#4781=CARTESIAN_POINT('',(1.8E1,0.E0,1.E1));
--#4782=CARTESIAN_POINT('',(1.8E1,1.5E0,1.E1));
--#4783=VERTEX_POINT('',#4781);
--#4784=VERTEX_POINT('',#4782);
--#4785=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1));
--#4786=VERTEX_POINT('',#4785);
--#4787=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1));
--#4788=VERTEX_POINT('',#4787);
--#4789=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1));
--#4790=CARTESIAN_POINT('',(2.5E0,0.E0,2.19375E1));
--#4791=VERTEX_POINT('',#4789);
--#4792=VERTEX_POINT('',#4790);
--#4793=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1));
--#4794=CARTESIAN_POINT('',(5.5E0,0.E0,1.89375E1));
--#4795=VERTEX_POINT('',#4793);
--#4796=VERTEX_POINT('',#4794);
--#4797=CARTESIAN_POINT('',(2.15E1,0.E0,2.19375E1));
--#4798=CARTESIAN_POINT('',(2.15E1,1.5E0,2.19375E1));
--#4799=VERTEX_POINT('',#4797);
--#4800=VERTEX_POINT('',#4798);
--#4801=CARTESIAN_POINT('',(1.85E1,0.E0,1.89375E1));
--#4802=CARTESIAN_POINT('',(1.85E1,1.5E0,1.89375E1));
--#4803=VERTEX_POINT('',#4801);
--#4804=VERTEX_POINT('',#4802);
--#4805=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1));
--#4806=CARTESIAN_POINT('',(2.15E1,0.E0,1.40625E1));
--#4807=VERTEX_POINT('',#4805);
--#4808=VERTEX_POINT('',#4806);
--#4809=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1));
--#4810=CARTESIAN_POINT('',(1.85E1,0.E0,1.70625E1));
--#4811=VERTEX_POINT('',#4809);
--#4812=VERTEX_POINT('',#4810);
--#4813=CARTESIAN_POINT('',(2.5E0,0.E0,1.40625E1));
--#4814=CARTESIAN_POINT('',(2.5E0,1.5E0,1.40625E1));
--#4815=VERTEX_POINT('',#4813);
--#4816=VERTEX_POINT('',#4814);
--#4817=CARTESIAN_POINT('',(5.5E0,0.E0,1.70625E1));
--#4818=CARTESIAN_POINT('',(5.5E0,1.5E0,1.70625E1));
--#4819=VERTEX_POINT('',#4817);
--#4820=VERTEX_POINT('',#4818);
--#4821=CARTESIAN_POINT('',(6.1925E0,0.E0,9.E0));
--#4822=CARTESIAN_POINT('',(5.8075E0,0.E0,9.E0));
--#4823=VERTEX_POINT('',#4821);
--#4824=VERTEX_POINT('',#4822);
--#4825=CARTESIAN_POINT('',(6.2575E0,1.E0,9.E0));
--#4826=CARTESIAN_POINT('',(5.7425E0,1.E0,9.E0));
--#4827=VERTEX_POINT('',#4825);
--#4828=VERTEX_POINT('',#4826);
--#4829=CARTESIAN_POINT('',(6.2575E0,1.5E0,9.E0));
--#4830=CARTESIAN_POINT('',(5.7425E0,1.5E0,9.E0));
--#4831=VERTEX_POINT('',#4829);
--#4832=VERTEX_POINT('',#4830);
--#4833=CARTESIAN_POINT('',(6.1925E0,1.E0,9.E0));
--#4834=CARTESIAN_POINT('',(5.8075E0,1.E0,9.E0));
--#4835=VERTEX_POINT('',#4833);
--#4836=VERTEX_POINT('',#4834);
--#4837=CARTESIAN_POINT('',(1.21925E1,0.E0,9.E0));
--#4838=CARTESIAN_POINT('',(1.18075E1,0.E0,9.E0));
--#4839=VERTEX_POINT('',#4837);
--#4840=VERTEX_POINT('',#4838);
--#4841=CARTESIAN_POINT('',(1.81925E1,0.E0,9.E0));
--#4842=CARTESIAN_POINT('',(1.78075E1,0.E0,9.E0));
--#4843=VERTEX_POINT('',#4841);
--#4844=VERTEX_POINT('',#4842);
--#4845=CARTESIAN_POINT('',(6.1925E0,0.E0,1.8E1));
--#4846=CARTESIAN_POINT('',(5.8075E0,0.E0,1.8E1));
--#4847=VERTEX_POINT('',#4845);
--#4848=VERTEX_POINT('',#4846);
--#4849=CARTESIAN_POINT('',(1.21925E1,0.E0,1.8E1));
--#4850=CARTESIAN_POINT('',(1.18075E1,0.E0,1.8E1));
--#4851=VERTEX_POINT('',#4849);
--#4852=VERTEX_POINT('',#4850);
--#4853=CARTESIAN_POINT('',(1.81925E1,0.E0,1.8E1));
--#4854=CARTESIAN_POINT('',(1.78075E1,0.E0,1.8E1));
--#4855=VERTEX_POINT('',#4853);
--#4856=VERTEX_POINT('',#4854);
--#4857=CARTESIAN_POINT('',(1.22575E1,1.E0,9.E0));
--#4858=CARTESIAN_POINT('',(1.17425E1,1.E0,9.E0));
--#4859=VERTEX_POINT('',#4857);
--#4860=VERTEX_POINT('',#4858);
--#4861=CARTESIAN_POINT('',(1.22575E1,1.5E0,9.E0));
--#4862=CARTESIAN_POINT('',(1.17425E1,1.5E0,9.E0));
--#4863=VERTEX_POINT('',#4861);
--#4864=VERTEX_POINT('',#4862);
--#4865=CARTESIAN_POINT('',(1.21925E1,1.E0,9.E0));
--#4866=CARTESIAN_POINT('',(1.18075E1,1.E0,9.E0));
--#4867=VERTEX_POINT('',#4865);
--#4868=VERTEX_POINT('',#4866);
--#4869=CARTESIAN_POINT('',(1.82575E1,1.E0,9.E0));
--#4870=CARTESIAN_POINT('',(1.77425E1,1.E0,9.E0));
--#4871=VERTEX_POINT('',#4869);
--#4872=VERTEX_POINT('',#4870);
--#4873=CARTESIAN_POINT('',(1.82575E1,1.5E0,9.E0));
--#4874=CARTESIAN_POINT('',(1.77425E1,1.5E0,9.E0));
--#4875=VERTEX_POINT('',#4873);
--#4876=VERTEX_POINT('',#4874);
--#4877=CARTESIAN_POINT('',(1.81925E1,1.E0,9.E0));
--#4878=CARTESIAN_POINT('',(1.78075E1,1.E0,9.E0));
--#4879=VERTEX_POINT('',#4877);
--#4880=VERTEX_POINT('',#4878);
--#4881=CARTESIAN_POINT('',(6.2575E0,1.E0,1.8E1));
--#4882=CARTESIAN_POINT('',(5.7425E0,1.E0,1.8E1));
--#4883=VERTEX_POINT('',#4881);
--#4884=VERTEX_POINT('',#4882);
--#4885=CARTESIAN_POINT('',(6.2575E0,1.5E0,1.8E1));
--#4886=CARTESIAN_POINT('',(5.7425E0,1.5E0,1.8E1));
--#4887=VERTEX_POINT('',#4885);
--#4888=VERTEX_POINT('',#4886);
--#4889=CARTESIAN_POINT('',(6.1925E0,1.E0,1.8E1));
--#4890=CARTESIAN_POINT('',(5.8075E0,1.E0,1.8E1));
--#4891=VERTEX_POINT('',#4889);
--#4892=VERTEX_POINT('',#4890);
--#4893=CARTESIAN_POINT('',(1.22575E1,1.E0,1.8E1));
--#4894=CARTESIAN_POINT('',(1.17425E1,1.E0,1.8E1));
--#4895=VERTEX_POINT('',#4893);
--#4896=VERTEX_POINT('',#4894);
--#4897=CARTESIAN_POINT('',(1.22575E1,1.5E0,1.8E1));
--#4898=CARTESIAN_POINT('',(1.17425E1,1.5E0,1.8E1));
--#4899=VERTEX_POINT('',#4897);
--#4900=VERTEX_POINT('',#4898);
--#4901=CARTESIAN_POINT('',(1.21925E1,1.E0,1.8E1));
--#4902=CARTESIAN_POINT('',(1.18075E1,1.E0,1.8E1));
--#4903=VERTEX_POINT('',#4901);
--#4904=VERTEX_POINT('',#4902);
--#4905=CARTESIAN_POINT('',(1.82575E1,1.E0,1.8E1));
--#4906=CARTESIAN_POINT('',(1.77425E1,1.E0,1.8E1));
--#4907=VERTEX_POINT('',#4905);
--#4908=VERTEX_POINT('',#4906);
--#4909=CARTESIAN_POINT('',(1.82575E1,1.5E0,1.8E1));
--#4910=CARTESIAN_POINT('',(1.77425E1,1.5E0,1.8E1));
--#4911=VERTEX_POINT('',#4909);
--#4912=VERTEX_POINT('',#4910);
--#4913=CARTESIAN_POINT('',(1.81925E1,1.E0,1.8E1));
--#4914=CARTESIAN_POINT('',(1.78075E1,1.E0,1.8E1));
--#4915=VERTEX_POINT('',#4913);
--#4916=VERTEX_POINT('',#4914);
--#4917=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1));
--#4918=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.E1));
--#4919=VERTEX_POINT('',#4917);
--#4920=VERTEX_POINT('',#4918);
--#4921=CARTESIAN_POINT('',(2.E0,1.5E0,1.288675134595E1));
--#4922=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1));
--#4923=VERTEX_POINT('',#4921);
--#4924=VERTEX_POINT('',#4922);
--#4925=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1));
--#4926=VERTEX_POINT('',#4925);
--#4927=CARTESIAN_POINT('',(2.E0,6.5E0,1.E1));
--#4928=VERTEX_POINT('',#4927);
--#4929=VERTEX_POINT('',#1837);
--#4930=VERTEX_POINT('',#1845);
--#4931=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1));
--#4932=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1));
--#4933=VERTEX_POINT('',#4931);
--#4934=VERTEX_POINT('',#4932);
--#4935=CARTESIAN_POINT('',(2.2E1,1.5E0,1.288675134595E1));
--#4936=CARTESIAN_POINT('',(2.2E1,1.5E0,1.E1));
--#4937=VERTEX_POINT('',#4935);
--#4938=VERTEX_POINT('',#4936);
--#4939=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1));
--#4940=VERTEX_POINT('',#4939);
--#4941=CARTESIAN_POINT('',(2.2E1,6.5E0,1.E1));
--#4942=VERTEX_POINT('',#4941);
--#4943=VERTEX_POINT('',#2873);
--#4944=VERTEX_POINT('',#2881);
--#4945=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0));
--#4946=CARTESIAN_POINT('',(3.75E0,2.E0,8.5E0));
--#4947=VERTEX_POINT('',#4945);
--#4948=VERTEX_POINT('',#4946);
--#4949=CARTESIAN_POINT('',(4.5E0,2.75E0,8.E0));
--#4950=CARTESIAN_POINT('',(4.5E0,2.75E0,8.5E0));
--#4951=VERTEX_POINT('',#4949);
--#4952=VERTEX_POINT('',#4950);
--#4953=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0));
--#4954=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.5E0));
--#4955=VERTEX_POINT('',#4953);
--#4956=VERTEX_POINT('',#4954);
--#4957=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.E0));
--#4958=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.5E0));
--#4959=VERTEX_POINT('',#4957);
--#4960=VERTEX_POINT('',#4958);
--#4961=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0));
--#4962=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.5E0));
--#4963=VERTEX_POINT('',#4961);
--#4964=VERTEX_POINT('',#4962);
--#4965=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.E0));
--#4966=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.5E0));
--#4967=VERTEX_POINT('',#4965);
--#4968=VERTEX_POINT('',#4966);
--#4969=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0));
--#4970=CARTESIAN_POINT('',(4.5E0,8.75E0,8.5E0));
--#4971=VERTEX_POINT('',#4969);
--#4972=VERTEX_POINT('',#4970);
--#4973=CARTESIAN_POINT('',(3.75E0,9.5E0,8.E0));
--#4974=CARTESIAN_POINT('',(3.75E0,9.5E0,8.5E0));
--#4975=VERTEX_POINT('',#4973);
--#4976=VERTEX_POINT('',#4974);
--#4977=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1));
--#4978=CARTESIAN_POINT('',(2.85E0,2.E0,9.5E0));
--#4979=VERTEX_POINT('',#4977);
--#4980=VERTEX_POINT('',#4978);
--#4981=CARTESIAN_POINT('',(2.5E0,2.35E0,1.E1));
--#4982=CARTESIAN_POINT('',(2.5E0,2.35E0,9.5E0));
--#4983=VERTEX_POINT('',#4981);
--#4984=VERTEX_POINT('',#4982);
--#4985=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1));
--#4986=CARTESIAN_POINT('',(4.5E0,2.35E0,9.5E0));
--#4987=VERTEX_POINT('',#4985);
--#4988=VERTEX_POINT('',#4986);
--#4989=CARTESIAN_POINT('',(4.15E0,2.E0,1.E1));
--#4990=CARTESIAN_POINT('',(4.15E0,2.E0,9.5E0));
--#4991=VERTEX_POINT('',#4989);
--#4992=VERTEX_POINT('',#4990);
--#4993=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1));
--#4994=CARTESIAN_POINT('',(1.952799239454E0,7.E0,9.5E0));
--#4995=VERTEX_POINT('',#4993);
--#4996=VERTEX_POINT('',#4994);
--#4997=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,1.E1));
--#4998=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,9.5E0));
--#4999=VERTEX_POINT('',#4997);
--#5000=VERTEX_POINT('',#4998);
--#5001=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1));
--#5002=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,9.5E0));
--#5003=VERTEX_POINT('',#5001);
--#5004=VERTEX_POINT('',#5002);
--#5005=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,1.E1));
--#5006=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,9.5E0));
--#5007=VERTEX_POINT('',#5005);
--#5008=VERTEX_POINT('',#5006);
--#5009=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1));
--#5010=CARTESIAN_POINT('',(4.15E0,9.5E0,9.5E0));
--#5011=VERTEX_POINT('',#5009);
--#5012=VERTEX_POINT('',#5010);
--#5013=CARTESIAN_POINT('',(4.5E0,9.15E0,1.E1));
--#5014=CARTESIAN_POINT('',(4.5E0,9.15E0,9.5E0));
--#5015=VERTEX_POINT('',#5013);
--#5016=VERTEX_POINT('',#5014);
--#5017=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0));
--#5018=CARTESIAN_POINT('',(2.5E0,6.65E0,1.E1));
--#5019=VERTEX_POINT('',#5017);
--#5020=VERTEX_POINT('',#5018);
--#5021=CARTESIAN_POINT('',(2.15E0,7.E0,1.E1));
--#5022=VERTEX_POINT('',#5021);
--#5023=CARTESIAN_POINT('',(2.15E0,7.E0,9.5E0));
--#5024=VERTEX_POINT('',#5023);
--#5025=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0));
--#5026=CARTESIAN_POINT('',(2.025E1,2.E0,8.E0));
--#5027=VERTEX_POINT('',#5025);
--#5028=VERTEX_POINT('',#5026);
--#5029=CARTESIAN_POINT('',(1.95E1,2.75E0,8.5E0));
--#5030=VERTEX_POINT('',#5029);
--#5031=CARTESIAN_POINT('',(1.95E1,2.75E0,8.E0));
--#5032=VERTEX_POINT('',#5031);
--#5033=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0));
--#5034=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.E0));
--#5035=VERTEX_POINT('',#5033);
--#5036=VERTEX_POINT('',#5034);
--#5037=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.5E0));
--#5038=VERTEX_POINT('',#5037);
--#5039=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.E0));
--#5040=VERTEX_POINT('',#5039);
--#5041=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0));
--#5042=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.E0));
--#5043=VERTEX_POINT('',#5041);
--#5044=VERTEX_POINT('',#5042);
--#5045=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.5E0));
--#5046=VERTEX_POINT('',#5045);
--#5047=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.E0));
--#5048=VERTEX_POINT('',#5047);
--#5049=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0));
--#5050=CARTESIAN_POINT('',(1.95E1,8.75E0,8.E0));
--#5051=VERTEX_POINT('',#5049);
--#5052=VERTEX_POINT('',#5050);
--#5053=CARTESIAN_POINT('',(2.025E1,9.5E0,8.5E0));
--#5054=VERTEX_POINT('',#5053);
--#5055=CARTESIAN_POINT('',(2.025E1,9.5E0,8.E0));
--#5056=VERTEX_POINT('',#5055);
--#5057=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0));
--#5058=CARTESIAN_POINT('',(2.115E1,2.E0,1.E1));
--#5059=VERTEX_POINT('',#5057);
--#5060=VERTEX_POINT('',#5058);
--#5061=CARTESIAN_POINT('',(2.15E1,2.35E0,9.5E0));
--#5062=VERTEX_POINT('',#5061);
--#5063=CARTESIAN_POINT('',(2.15E1,2.35E0,1.E1));
--#5064=VERTEX_POINT('',#5063);
--#5065=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0));
--#5066=CARTESIAN_POINT('',(1.95E1,2.35E0,1.E1));
--#5067=VERTEX_POINT('',#5065);
--#5068=VERTEX_POINT('',#5066);
--#5069=CARTESIAN_POINT('',(1.985E1,2.E0,9.5E0));
--#5070=VERTEX_POINT('',#5069);
--#5071=CARTESIAN_POINT('',(1.985E1,2.E0,1.E1));
--#5072=VERTEX_POINT('',#5071);
--#5073=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0));
--#5074=CARTESIAN_POINT('',(2.204720076055E1,7.E0,1.E1));
--#5075=VERTEX_POINT('',#5073);
--#5076=VERTEX_POINT('',#5074);
--#5077=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,9.5E0));
--#5078=VERTEX_POINT('',#5077);
--#5079=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,1.E1));
--#5080=VERTEX_POINT('',#5079);
--#5081=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0));
--#5082=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,1.E1));
--#5083=VERTEX_POINT('',#5081);
--#5084=VERTEX_POINT('',#5082);
--#5085=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,9.5E0));
--#5086=VERTEX_POINT('',#5085);
--#5087=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,1.E1));
--#5088=VERTEX_POINT('',#5087);
--#5089=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0));
--#5090=CARTESIAN_POINT('',(1.985E1,9.5E0,1.E1));
--#5091=VERTEX_POINT('',#5089);
--#5092=VERTEX_POINT('',#5090);
--#5093=CARTESIAN_POINT('',(1.95E1,9.15E0,9.5E0));
--#5094=VERTEX_POINT('',#5093);
--#5095=CARTESIAN_POINT('',(1.95E1,9.15E0,1.E1));
--#5096=VERTEX_POINT('',#5095);
--#5097=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1));
--#5098=CARTESIAN_POINT('',(2.15E1,6.65E0,9.5E0));
--#5099=VERTEX_POINT('',#5097);
--#5100=VERTEX_POINT('',#5098);
--#5101=CARTESIAN_POINT('',(2.185E1,7.E0,1.E1));
--#5102=CARTESIAN_POINT('',(2.185E1,7.E0,9.5E0));
--#5103=VERTEX_POINT('',#5101);
--#5104=VERTEX_POINT('',#5102);
--#5105=CARTESIAN_POINT('',(7.5E0,6.875E-1,6.875E-1));
--#5106=CARTESIAN_POINT('',(1.05E1,6.875E-1,6.875E-1));
--#5107=VERTEX_POINT('',#5105);
--#5108=VERTEX_POINT('',#5106);
--#5109=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8125E0));
--#5110=VERTEX_POINT('',#5109);
--#5111=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.8125E0));
--#5112=VERTEX_POINT('',#5111);
--#5113=CARTESIAN_POINT('',(3.939978538987E0,6.875E-1,1.032293285145E0));
--#5114=CARTESIAN_POINT('',(4.942849714544E0,6.875E-1,2.419779663480E0));
--#5115=VERTEX_POINT('',#5113);
--#5116=VERTEX_POINT('',#5114);
--#5117=CARTESIAN_POINT('',(2.432015885023E0,6.875E-1,4.918683812405E0));
--#5118=VERTEX_POINT('',#5117);
--#5119=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1));
--#5120=CARTESIAN_POINT('',(1.05E1,0.E0,6.875E-1));
--#5121=VERTEX_POINT('',#5119);
--#5122=VERTEX_POINT('',#5120);
--#5123=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0));
--#5124=VERTEX_POINT('',#5123);
--#5125=CARTESIAN_POINT('',(7.5E0,0.E0,1.8125E0));
--#5126=VERTEX_POINT('',#5125);
--#5127=CARTESIAN_POINT('',(3.939978538987E0,0.E0,1.032293285145E0));
--#5128=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.419779663480E0));
--#5129=VERTEX_POINT('',#5127);
--#5130=VERTEX_POINT('',#5128);
--#5131=CARTESIAN_POINT('',(2.432015885023E0,0.E0,4.918683812405E0));
--#5132=VERTEX_POINT('',#5131);
--#5133=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0));
--#5134=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,4.046865146430E0));
--#5135=VERTEX_POINT('',#5133);
--#5136=VERTEX_POINT('',#5134);
--#5137=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,4.912826677187E0));
--#5138=CARTESIAN_POINT('',(7.850270400779E-1,6.875E-1,4.912826677187E0));
--#5139=VERTEX_POINT('',#5137);
--#5140=VERTEX_POINT('',#5138);
--#5141=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.5E0));
--#5142=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.5E0));
--#5143=VERTEX_POINT('',#5141);
--#5144=VERTEX_POINT('',#5142);
--#5145=CARTESIAN_POINT('',(6.9E-1,0.E0,7.5E0));
--#5146=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0));
--#5147=VERTEX_POINT('',#5145);
--#5148=VERTEX_POINT('',#5146);
--#5149=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1));
--#5150=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,1.0375E1));
--#5151=VERTEX_POINT('',#5149);
--#5152=VERTEX_POINT('',#5150);
--#5153=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.125E1));
--#5154=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,1.125E1));
--#5155=VERTEX_POINT('',#5153);
--#5156=VERTEX_POINT('',#5154);
--#5157=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0));
--#5158=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,8.69E0));
--#5159=VERTEX_POINT('',#5157);
--#5160=VERTEX_POINT('',#5158);
--#5161=CARTESIAN_POINT('',(-1.3125E0,0.E0,9.565E0));
--#5162=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,9.565E0));
--#5163=VERTEX_POINT('',#5161);
--#5164=VERTEX_POINT('',#5162);
--#5165=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0));
--#5166=CARTESIAN_POINT('',(4.3125E0,6.875E-1,9.565E0));
--#5167=VERTEX_POINT('',#5165);
--#5168=VERTEX_POINT('',#5166);
--#5169=CARTESIAN_POINT('',(3.4375E0,0.E0,8.69E0));
--#5170=CARTESIAN_POINT('',(3.4375E0,6.875E-1,8.69E0));
--#5171=VERTEX_POINT('',#5169);
--#5172=VERTEX_POINT('',#5170);
--#5173=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1));
--#5174=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.125E1));
--#5175=VERTEX_POINT('',#5173);
--#5176=VERTEX_POINT('',#5174);
--#5177=CARTESIAN_POINT('',(4.3125E0,0.E0,1.0375E1));
--#5178=CARTESIAN_POINT('',(4.3125E0,6.875E-1,1.0375E1));
--#5179=VERTEX_POINT('',#5177);
--#5180=VERTEX_POINT('',#5178);
--#5181=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0));
--#5182=CARTESIAN_POINT('',(6.9E-1,0.E0,7.815E0));
--#5183=VERTEX_POINT('',#5181);
--#5184=VERTEX_POINT('',#5182);
--#5185=CARTESIAN_POINT('',(-1.85E-1,0.E0,8.69E0));
--#5186=VERTEX_POINT('',#5185);
--#5187=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,8.69E0));
--#5188=VERTEX_POINT('',#5187);
--#5189=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0));
--#5190=CARTESIAN_POINT('',(2.6875E0,0.E0,8.69E0));
--#5191=VERTEX_POINT('',#5189);
--#5192=VERTEX_POINT('',#5190);
--#5193=CARTESIAN_POINT('',(1.8125E0,0.E0,7.815E0));
--#5194=VERTEX_POINT('',#5193);
--#5195=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.815E0));
--#5196=VERTEX_POINT('',#5195);
--#5197=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.65E1));
--#5198=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.35E1));
--#5199=VERTEX_POINT('',#5197);
--#5200=VERTEX_POINT('',#5198);
--#5201=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.35E1));
--#5202=VERTEX_POINT('',#5201);
--#5203=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.65E1));
--#5204=VERTEX_POINT('',#5203);
--#5205=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1));
--#5206=CARTESIAN_POINT('',(6.875E-1,0.E0,1.35E1));
--#5207=VERTEX_POINT('',#5205);
--#5208=VERTEX_POINT('',#5206);
--#5209=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1));
--#5210=VERTEX_POINT('',#5209);
--#5211=CARTESIAN_POINT('',(1.8125E0,0.E0,1.65E1));
--#5212=VERTEX_POINT('',#5211);
--#5213=CARTESIAN_POINT('',(6.875E-1,6.875E-1,2.25E1));
--#5214=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.95E1));
--#5215=VERTEX_POINT('',#5213);
--#5216=VERTEX_POINT('',#5214);
--#5217=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.95E1));
--#5218=VERTEX_POINT('',#5217);
--#5219=CARTESIAN_POINT('',(1.8125E0,6.875E-1,2.25E1));
--#5220=VERTEX_POINT('',#5219);
--#5221=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1));
--#5222=CARTESIAN_POINT('',(6.875E-1,0.E0,1.95E1));
--#5223=VERTEX_POINT('',#5221);
--#5224=VERTEX_POINT('',#5222);
--#5225=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1));
--#5226=VERTEX_POINT('',#5225);
--#5227=CARTESIAN_POINT('',(1.8125E0,0.E0,2.25E1));
--#5228=VERTEX_POINT('',#5227);
--#5229=CARTESIAN_POINT('',(7.5E0,6.875E-1,8.5E0));
--#5230=CARTESIAN_POINT('',(1.05E1,6.875E-1,8.5E0));
--#5231=VERTEX_POINT('',#5229);
--#5232=VERTEX_POINT('',#5230);
--#5233=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.5E0));
--#5234=VERTEX_POINT('',#5233);
--#5235=CARTESIAN_POINT('',(7.5E0,6.875E-1,9.5E0));
--#5236=VERTEX_POINT('',#5235);
--#5237=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0));
--#5238=CARTESIAN_POINT('',(1.05E1,0.E0,8.5E0));
--#5239=VERTEX_POINT('',#5237);
--#5240=VERTEX_POINT('',#5238);
--#5241=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0));
--#5242=VERTEX_POINT('',#5241);
--#5243=CARTESIAN_POINT('',(7.5E0,0.E0,9.5E0));
--#5244=VERTEX_POINT('',#5243);
--#5245=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.75625E1));
--#5246=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.75625E1));
--#5247=VERTEX_POINT('',#5245);
--#5248=VERTEX_POINT('',#5246);
--#5249=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.84375E1));
--#5250=VERTEX_POINT('',#5249);
--#5251=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.84375E1));
--#5252=VERTEX_POINT('',#5251);
--#5253=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1));
--#5254=CARTESIAN_POINT('',(1.05E1,0.E0,1.75625E1));
--#5255=VERTEX_POINT('',#5253);
--#5256=VERTEX_POINT('',#5254);
--#5257=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1));
--#5258=VERTEX_POINT('',#5257);
--#5259=CARTESIAN_POINT('',(7.5E0,0.E0,1.84375E1));
--#5260=VERTEX_POINT('',#5259);
--#5261=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.13125E1));
--#5262=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.13125E1));
--#5263=VERTEX_POINT('',#5261);
--#5264=VERTEX_POINT('',#5262);
--#5265=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.01875E1));
--#5266=VERTEX_POINT('',#5265);
--#5267=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.01875E1));
--#5268=VERTEX_POINT('',#5267);
--#5269=CARTESIAN_POINT('',(3.939978538987E0,6.875E-1,3.096770671486E1));
--#5270=CARTESIAN_POINT('',(4.942849714544E0,6.875E-1,2.958022033652E1));
--#5271=VERTEX_POINT('',#5269);
--#5272=VERTEX_POINT('',#5270);
--#5273=CARTESIAN_POINT('',(2.432015885023E0,6.875E-1,2.708131618759E1));
--#5274=VERTEX_POINT('',#5273);
--#5275=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1));
--#5276=CARTESIAN_POINT('',(1.05E1,0.E0,3.13125E1));
--#5277=VERTEX_POINT('',#5275);
--#5278=VERTEX_POINT('',#5276);
--#5279=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1));
--#5280=VERTEX_POINT('',#5279);
--#5281=CARTESIAN_POINT('',(7.5E0,0.E0,3.01875E1));
--#5282=VERTEX_POINT('',#5281);
--#5283=CARTESIAN_POINT('',(3.939978538987E0,0.E0,3.096770671486E1));
--#5284=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.958022033652E1));
--#5285=VERTEX_POINT('',#5283);
--#5286=VERTEX_POINT('',#5284);
--#5287=CARTESIAN_POINT('',(2.432015885023E0,0.E0,2.708131618759E1));
--#5288=VERTEX_POINT('',#5287);
--#5289=CARTESIAN_POINT('',(1.65E1,6.875E-1,6.875E-1));
--#5290=CARTESIAN_POINT('',(1.35E1,6.875E-1,6.875E-1));
--#5291=VERTEX_POINT('',#5289);
--#5292=VERTEX_POINT('',#5290);
--#5293=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8125E0));
--#5294=VERTEX_POINT('',#5293);
--#5295=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.8125E0));
--#5296=VERTEX_POINT('',#5295);
--#5297=CARTESIAN_POINT('',(2.006002146101E1,6.875E-1,1.032293285145E0));
--#5298=CARTESIAN_POINT('',(1.905715028546E1,6.875E-1,2.419779663480E0));
--#5299=VERTEX_POINT('',#5297);
--#5300=VERTEX_POINT('',#5298);
--#5301=CARTESIAN_POINT('',(2.156798411498E1,6.875E-1,4.918683812405E0));
--#5302=VERTEX_POINT('',#5301);
--#5303=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1));
--#5304=CARTESIAN_POINT('',(1.35E1,0.E0,6.875E-1));
--#5305=VERTEX_POINT('',#5303);
--#5306=VERTEX_POINT('',#5304);
--#5307=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0));
--#5308=VERTEX_POINT('',#5307);
--#5309=CARTESIAN_POINT('',(1.65E1,0.E0,1.8125E0));
--#5310=VERTEX_POINT('',#5309);
--#5311=CARTESIAN_POINT('',(2.006002146101E1,0.E0,1.032293285145E0));
--#5312=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.419779663480E0));
--#5313=VERTEX_POINT('',#5311);
--#5314=VERTEX_POINT('',#5312);
--#5315=CARTESIAN_POINT('',(2.156798411498E1,0.E0,4.918683812405E0));
--#5316=VERTEX_POINT('',#5315);
--#5317=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.5E0));
--#5318=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.5E0));
--#5319=VERTEX_POINT('',#5317);
--#5320=VERTEX_POINT('',#5318);
--#5321=CARTESIAN_POINT('',(2.331E1,0.E0,7.5E0));
--#5322=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0));
--#5323=VERTEX_POINT('',#5321);
--#5324=VERTEX_POINT('',#5322);
--#5325=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.65E1));
--#5326=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.35E1));
--#5327=VERTEX_POINT('',#5325);
--#5328=VERTEX_POINT('',#5326);
--#5329=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.35E1));
--#5330=VERTEX_POINT('',#5329);
--#5331=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.65E1));
--#5332=VERTEX_POINT('',#5331);
--#5333=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1));
--#5334=CARTESIAN_POINT('',(2.33125E1,0.E0,1.35E1));
--#5335=VERTEX_POINT('',#5333);
--#5336=VERTEX_POINT('',#5334);
--#5337=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1));
--#5338=VERTEX_POINT('',#5337);
--#5339=CARTESIAN_POINT('',(2.21875E1,0.E0,1.65E1));
--#5340=VERTEX_POINT('',#5339);
--#5341=CARTESIAN_POINT('',(2.33125E1,6.875E-1,2.25E1));
--#5342=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.95E1));
--#5343=VERTEX_POINT('',#5341);
--#5344=VERTEX_POINT('',#5342);
--#5345=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.95E1));
--#5346=VERTEX_POINT('',#5345);
--#5347=CARTESIAN_POINT('',(2.21875E1,6.875E-1,2.25E1));
--#5348=VERTEX_POINT('',#5347);
--#5349=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1));
--#5350=CARTESIAN_POINT('',(2.33125E1,0.E0,1.95E1));
--#5351=VERTEX_POINT('',#5349);
--#5352=VERTEX_POINT('',#5350);
--#5353=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1));
--#5354=VERTEX_POINT('',#5353);
--#5355=CARTESIAN_POINT('',(2.21875E1,0.E0,2.25E1));
--#5356=VERTEX_POINT('',#5355);
--#5357=CARTESIAN_POINT('',(1.65E1,6.875E-1,8.5E0));
--#5358=CARTESIAN_POINT('',(1.35E1,6.875E-1,8.5E0));
--#5359=VERTEX_POINT('',#5357);
--#5360=VERTEX_POINT('',#5358);
--#5361=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.5E0));
--#5362=VERTEX_POINT('',#5361);
--#5363=CARTESIAN_POINT('',(1.65E1,6.875E-1,9.5E0));
--#5364=VERTEX_POINT('',#5363);
--#5365=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0));
--#5366=CARTESIAN_POINT('',(1.35E1,0.E0,8.5E0));
--#5367=VERTEX_POINT('',#5365);
--#5368=VERTEX_POINT('',#5366);
--#5369=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0));
--#5370=VERTEX_POINT('',#5369);
--#5371=CARTESIAN_POINT('',(1.65E1,0.E0,9.5E0));
--#5372=VERTEX_POINT('',#5371);
--#5373=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.75625E1));
--#5374=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.75625E1));
--#5375=VERTEX_POINT('',#5373);
--#5376=VERTEX_POINT('',#5374);
--#5377=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.84375E1));
--#5378=VERTEX_POINT('',#5377);
--#5379=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.84375E1));
--#5380=VERTEX_POINT('',#5379);
--#5381=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1));
--#5382=CARTESIAN_POINT('',(1.35E1,0.E0,1.75625E1));
--#5383=VERTEX_POINT('',#5381);
--#5384=VERTEX_POINT('',#5382);
--#5385=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1));
--#5386=VERTEX_POINT('',#5385);
--#5387=CARTESIAN_POINT('',(1.65E1,0.E0,1.84375E1));
--#5388=VERTEX_POINT('',#5387);
--#5389=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.13125E1));
--#5390=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.13125E1));
--#5391=VERTEX_POINT('',#5389);
--#5392=VERTEX_POINT('',#5390);
--#5393=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.01875E1));
--#5394=VERTEX_POINT('',#5393);
--#5395=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.01875E1));
--#5396=VERTEX_POINT('',#5395);
--#5397=CARTESIAN_POINT('',(2.006002146101E1,6.875E-1,3.096770671486E1));
--#5398=CARTESIAN_POINT('',(1.905715028546E1,6.875E-1,2.958022033652E1));
--#5399=VERTEX_POINT('',#5397);
--#5400=VERTEX_POINT('',#5398);
--#5401=CARTESIAN_POINT('',(2.156798411498E1,6.875E-1,2.708131618759E1));
--#5402=VERTEX_POINT('',#5401);
--#5403=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1));
--#5404=CARTESIAN_POINT('',(1.35E1,0.E0,3.13125E1));
--#5405=VERTEX_POINT('',#5403);
--#5406=VERTEX_POINT('',#5404);
--#5407=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1));
--#5408=VERTEX_POINT('',#5407);
--#5409=CARTESIAN_POINT('',(1.65E1,0.E0,3.01875E1));
--#5410=VERTEX_POINT('',#5409);
--#5411=CARTESIAN_POINT('',(2.006002146101E1,0.E0,3.096770671486E1));
--#5412=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.958022033652E1));
--#5413=VERTEX_POINT('',#5411);
--#5414=VERTEX_POINT('',#5412);
--#5415=CARTESIAN_POINT('',(2.156798411498E1,0.E0,2.708131618759E1));
--#5416=VERTEX_POINT('',#5415);
--#5417=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0));
--#5418=CARTESIAN_POINT('',(1.96875E1,0.E0,9.57E0));
--#5419=VERTEX_POINT('',#5417);
--#5420=VERTEX_POINT('',#5418);
--#5421=CARTESIAN_POINT('',(2.05675E1,6.875E-1,8.69E0));
--#5422=VERTEX_POINT('',#5421);
--#5423=CARTESIAN_POINT('',(2.05675E1,0.E0,8.69E0));
--#5424=VERTEX_POINT('',#5423);
--#5425=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1));
--#5426=CARTESIAN_POINT('',(2.05675E1,0.E0,1.125E1));
--#5427=VERTEX_POINT('',#5425);
--#5428=VERTEX_POINT('',#5426);
--#5429=CARTESIAN_POINT('',(1.96875E1,6.875E-1,1.037E1));
--#5430=VERTEX_POINT('',#5429);
--#5431=CARTESIAN_POINT('',(1.96875E1,0.E0,1.037E1));
--#5432=VERTEX_POINT('',#5431);
--#5433=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0));
--#5434=CARTESIAN_POINT('',(2.44325E1,0.E0,8.69E0));
--#5435=VERTEX_POINT('',#5433);
--#5436=VERTEX_POINT('',#5434);
--#5437=CARTESIAN_POINT('',(2.53125E1,6.875E-1,9.57E0));
--#5438=VERTEX_POINT('',#5437);
--#5439=CARTESIAN_POINT('',(2.53125E1,0.E0,9.57E0));
--#5440=VERTEX_POINT('',#5439);
--#5441=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1));
--#5442=CARTESIAN_POINT('',(2.53125E1,0.E0,1.037E1));
--#5443=VERTEX_POINT('',#5441);
--#5444=VERTEX_POINT('',#5442);
--#5445=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.125E1));
--#5446=VERTEX_POINT('',#5445);
--#5447=CARTESIAN_POINT('',(2.44325E1,0.E0,1.125E1));
--#5448=VERTEX_POINT('',#5447);
--#5449=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0));
--#5450=CARTESIAN_POINT('',(2.13075E1,6.875E-1,8.69E0));
--#5451=VERTEX_POINT('',#5449);
--#5452=VERTEX_POINT('',#5450);
--#5453=CARTESIAN_POINT('',(2.21875E1,0.E0,7.81E0));
--#5454=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.81E0));
--#5455=VERTEX_POINT('',#5453);
--#5456=VERTEX_POINT('',#5454);
--#5457=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0));
--#5458=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.81E0));
--#5459=VERTEX_POINT('',#5457);
--#5460=VERTEX_POINT('',#5458);
--#5461=CARTESIAN_POINT('',(2.419E1,0.E0,8.69E0));
--#5462=CARTESIAN_POINT('',(2.419E1,6.875E-1,8.69E0));
--#5463=VERTEX_POINT('',#5461);
--#5464=VERTEX_POINT('',#5462);
--#5465=CARTESIAN_POINT('',(2.321497295992E1,0.E0,4.912826677187E0));
--#5466=CARTESIAN_POINT('',(2.321497295992E1,6.875E-1,4.912826677187E0));
--#5467=VERTEX_POINT('',#5465);
--#5468=VERTEX_POINT('',#5466);
--#5469=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0));
--#5470=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,4.046865146430E0));
--#5471=VERTEX_POINT('',#5469);
--#5472=VERTEX_POINT('',#5470);
--#5473=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,2.708717332281E1));
--#5474=CARTESIAN_POINT('',(7.850270400779E-1,6.875E-1,2.708717332281E1));
--#5475=VERTEX_POINT('',#5473);
--#5476=VERTEX_POINT('',#5474);
--#5477=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1));
--#5478=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,2.795313485357E1));
--#5479=VERTEX_POINT('',#5477);
--#5480=VERTEX_POINT('',#5478);
--#5481=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1));
--#5482=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,2.795313485357E1));
--#5483=VERTEX_POINT('',#5481);
--#5484=VERTEX_POINT('',#5482);
--#5485=CARTESIAN_POINT('',(2.321497295992E1,0.E0,2.708717332281E1));
--#5486=CARTESIAN_POINT('',(2.321497295992E1,6.875E-1,2.708717332281E1));
--#5487=VERTEX_POINT('',#5485);
--#5488=VERTEX_POINT('',#5486);
--#5489=CARTESIAN_POINT('',(0.E0,0.E0,0.E0));
--#5490=DIRECTION('',(0.E0,1.E0,0.E0));
--#5491=DIRECTION('',(1.E0,0.E0,0.E0));
--#5492=AXIS2_PLACEMENT_3D('',#5489,#5490,#5491);
--#5493=PLANE('',#5492);
--#5495=ORIENTED_EDGE('',*,*,#5494,.F.);
--#5497=ORIENTED_EDGE('',*,*,#5496,.F.);
--#5499=ORIENTED_EDGE('',*,*,#5498,.T.);
--#5501=ORIENTED_EDGE('',*,*,#5500,.F.);
--#5503=ORIENTED_EDGE('',*,*,#5502,.T.);
--#5505=ORIENTED_EDGE('',*,*,#5504,.F.);
--#5507=ORIENTED_EDGE('',*,*,#5506,.T.);
--#5509=ORIENTED_EDGE('',*,*,#5508,.F.);
--#5511=ORIENTED_EDGE('',*,*,#5510,.T.);
--#5513=ORIENTED_EDGE('',*,*,#5512,.T.);
--#5515=ORIENTED_EDGE('',*,*,#5514,.F.);
--#5517=ORIENTED_EDGE('',*,*,#5516,.T.);
--#5519=ORIENTED_EDGE('',*,*,#5518,.F.);
--#5521=ORIENTED_EDGE('',*,*,#5520,.T.);
--#5523=ORIENTED_EDGE('',*,*,#5522,.F.);
--#5525=ORIENTED_EDGE('',*,*,#5524,.T.);
--#5527=ORIENTED_EDGE('',*,*,#5526,.F.);
--#5529=ORIENTED_EDGE('',*,*,#5528,.T.);
--#5531=ORIENTED_EDGE('',*,*,#5530,.F.);
--#5533=ORIENTED_EDGE('',*,*,#5532,.F.);
--#5535=ORIENTED_EDGE('',*,*,#5534,.T.);
--#5537=ORIENTED_EDGE('',*,*,#5536,.F.);
--#5538=EDGE_LOOP('',(#5495,#5497,#5499,#5501,#5503,#5505,#5507,#5509,#5511,#5513,
--#5515,#5517,#5519,#5521,#5523,#5525,#5527,#5529,#5531,#5533,#5535,#5537));
--#5539=FACE_OUTER_BOUND('',#5538,.F.);
--#5541=ORIENTED_EDGE('',*,*,#5540,.T.);
--#5543=ORIENTED_EDGE('',*,*,#5542,.F.);
--#5545=ORIENTED_EDGE('',*,*,#5544,.F.);
--#5547=ORIENTED_EDGE('',*,*,#5546,.F.);
--#5549=ORIENTED_EDGE('',*,*,#5548,.F.);
--#5551=ORIENTED_EDGE('',*,*,#5550,.F.);
--#5552=EDGE_LOOP('',(#5541,#5543,#5545,#5547,#5549,#5551));
--#5553=FACE_BOUND('',#5552,.F.);
--#5555=ORIENTED_EDGE('',*,*,#5554,.T.);
--#5557=ORIENTED_EDGE('',*,*,#5556,.T.);
--#5558=EDGE_LOOP('',(#5555,#5557));
--#5559=FACE_BOUND('',#5558,.F.);
--#5561=ORIENTED_EDGE('',*,*,#5560,.T.);
--#5563=ORIENTED_EDGE('',*,*,#5562,.T.);
--#5564=EDGE_LOOP('',(#5561,#5563));
--#5565=FACE_BOUND('',#5564,.F.);
--#5567=ORIENTED_EDGE('',*,*,#5566,.T.);
--#5569=ORIENTED_EDGE('',*,*,#5568,.T.);
--#5570=EDGE_LOOP('',(#5567,#5569));
--#5571=FACE_BOUND('',#5570,.F.);
--#5573=ORIENTED_EDGE('',*,*,#5572,.T.);
--#5575=ORIENTED_EDGE('',*,*,#5574,.T.);
--#5576=EDGE_LOOP('',(#5573,#5575));
--#5577=FACE_BOUND('',#5576,.F.);
--#5579=ORIENTED_EDGE('',*,*,#5578,.T.);
--#5581=ORIENTED_EDGE('',*,*,#5580,.T.);
--#5582=EDGE_LOOP('',(#5579,#5581));
--#5583=FACE_BOUND('',#5582,.F.);
--#5585=ORIENTED_EDGE('',*,*,#5584,.T.);
--#5587=ORIENTED_EDGE('',*,*,#5586,.T.);
--#5588=EDGE_LOOP('',(#5585,#5587));
--#5589=FACE_BOUND('',#5588,.F.);
--#5591=ORIENTED_EDGE('',*,*,#5590,.T.);
--#5593=ORIENTED_EDGE('',*,*,#5592,.T.);
--#5594=EDGE_LOOP('',(#5591,#5593));
--#5595=FACE_BOUND('',#5594,.F.);
--#5597=ORIENTED_EDGE('',*,*,#5596,.T.);
--#5599=ORIENTED_EDGE('',*,*,#5598,.T.);
--#5600=EDGE_LOOP('',(#5597,#5599));
--#5601=FACE_BOUND('',#5600,.F.);
--#5603=ORIENTED_EDGE('',*,*,#5602,.T.);
--#5605=ORIENTED_EDGE('',*,*,#5604,.T.);
--#5606=EDGE_LOOP('',(#5603,#5605));
--#5607=FACE_BOUND('',#5606,.F.);
--#5609=ORIENTED_EDGE('',*,*,#5608,.T.);
--#5611=ORIENTED_EDGE('',*,*,#5610,.T.);
--#5612=EDGE_LOOP('',(#5609,#5611));
--#5613=FACE_BOUND('',#5612,.F.);
--#5615=ORIENTED_EDGE('',*,*,#5614,.T.);
--#5617=ORIENTED_EDGE('',*,*,#5616,.T.);
--#5618=EDGE_LOOP('',(#5615,#5617));
--#5619=FACE_BOUND('',#5618,.F.);
--#5621=ORIENTED_EDGE('',*,*,#5620,.T.);
--#5623=ORIENTED_EDGE('',*,*,#5622,.T.);
--#5624=EDGE_LOOP('',(#5621,#5623));
--#5625=FACE_BOUND('',#5624,.F.);
--#5627=ORIENTED_EDGE('',*,*,#5626,.T.);
--#5629=ORIENTED_EDGE('',*,*,#5628,.T.);
--#5630=EDGE_LOOP('',(#5627,#5629));
--#5631=FACE_BOUND('',#5630,.F.);
--#5633=ORIENTED_EDGE('',*,*,#5632,.T.);
--#5635=ORIENTED_EDGE('',*,*,#5634,.T.);
--#5636=EDGE_LOOP('',(#5633,#5635));
--#5637=FACE_BOUND('',#5636,.F.);
--#5639=ORIENTED_EDGE('',*,*,#5638,.T.);
--#5641=ORIENTED_EDGE('',*,*,#5640,.F.);
--#5643=ORIENTED_EDGE('',*,*,#5642,.F.);
--#5645=ORIENTED_EDGE('',*,*,#5644,.F.);
--#5647=ORIENTED_EDGE('',*,*,#5646,.F.);
--#5649=ORIENTED_EDGE('',*,*,#5648,.F.);
--#5651=ORIENTED_EDGE('',*,*,#5650,.F.);
--#5653=ORIENTED_EDGE('',*,*,#5652,.F.);
--#5654=EDGE_LOOP('',(#5639,#5641,#5643,#5645,#5647,#5649,#5651,#5653));
--#5655=FACE_BOUND('',#5654,.F.);
--#5657=ORIENTED_EDGE('',*,*,#5656,.F.);
--#5659=ORIENTED_EDGE('',*,*,#5658,.F.);
--#5661=ORIENTED_EDGE('',*,*,#5660,.T.);
--#5663=ORIENTED_EDGE('',*,*,#5662,.F.);
--#5665=ORIENTED_EDGE('',*,*,#5664,.F.);
--#5667=ORIENTED_EDGE('',*,*,#5666,.F.);
--#5669=ORIENTED_EDGE('',*,*,#5668,.T.);
--#5671=ORIENTED_EDGE('',*,*,#5670,.F.);
--#5673=ORIENTED_EDGE('',*,*,#5672,.T.);
--#5675=ORIENTED_EDGE('',*,*,#5674,.F.);
--#5677=ORIENTED_EDGE('',*,*,#5676,.T.);
--#5679=ORIENTED_EDGE('',*,*,#5678,.F.);
--#5681=ORIENTED_EDGE('',*,*,#5680,.F.);
--#5683=ORIENTED_EDGE('',*,*,#5682,.T.);
--#5685=ORIENTED_EDGE('',*,*,#5684,.F.);
--#5687=ORIENTED_EDGE('',*,*,#5686,.F.);
--#5688=EDGE_LOOP('',(#5657,#5659,#5661,#5663,#5665,#5667,#5669,#5671,#5673,#5675,
--#5677,#5679,#5681,#5683,#5685,#5687));
--#5689=FACE_BOUND('',#5688,.F.);
--#5691=ORIENTED_EDGE('',*,*,#5690,.T.);
--#5693=ORIENTED_EDGE('',*,*,#5692,.T.);
--#5694=EDGE_LOOP('',(#5691,#5693));
--#5695=FACE_BOUND('',#5694,.F.);
--#5697=ORIENTED_EDGE('',*,*,#5696,.T.);
--#5699=ORIENTED_EDGE('',*,*,#5698,.T.);
--#5700=EDGE_LOOP('',(#5697,#5699));
--#5701=FACE_BOUND('',#5700,.F.);
--#5703=ORIENTED_EDGE('',*,*,#5702,.T.);
--#5705=ORIENTED_EDGE('',*,*,#5704,.T.);
--#5706=EDGE_LOOP('',(#5703,#5705));
--#5707=FACE_BOUND('',#5706,.F.);
--#5709=ORIENTED_EDGE('',*,*,#5708,.T.);
--#5711=ORIENTED_EDGE('',*,*,#5710,.T.);
--#5712=EDGE_LOOP('',(#5709,#5711));
--#5713=FACE_BOUND('',#5712,.F.);
--#5715=ORIENTED_EDGE('',*,*,#5714,.T.);
--#5717=ORIENTED_EDGE('',*,*,#5716,.T.);
--#5718=EDGE_LOOP('',(#5715,#5717));
--#5719=FACE_BOUND('',#5718,.F.);
--#5721=ORIENTED_EDGE('',*,*,#5720,.T.);
--#5723=ORIENTED_EDGE('',*,*,#5722,.T.);
--#5724=EDGE_LOOP('',(#5721,#5723));
--#5725=FACE_BOUND('',#5724,.F.);
--#5727=ORIENTED_EDGE('',*,*,#5726,.T.);
--#5729=ORIENTED_EDGE('',*,*,#5728,.T.);
--#5731=ORIENTED_EDGE('',*,*,#5730,.T.);
--#5733=ORIENTED_EDGE('',*,*,#5732,.T.);
--#5734=EDGE_LOOP('',(#5727,#5729,#5731,#5733));
--#5735=FACE_BOUND('',#5734,.F.);
--#5737=ORIENTED_EDGE('',*,*,#5736,.T.);
--#5739=ORIENTED_EDGE('',*,*,#5738,.F.);
--#5741=ORIENTED_EDGE('',*,*,#5740,.T.);
--#5743=ORIENTED_EDGE('',*,*,#5742,.T.);
--#5745=ORIENTED_EDGE('',*,*,#5744,.F.);
--#5746=EDGE_LOOP('',(#5737,#5739,#5741,#5743,#5745));
--#5747=FACE_BOUND('',#5746,.F.);
--#5749=ORIENTED_EDGE('',*,*,#5748,.F.);
--#5751=ORIENTED_EDGE('',*,*,#5750,.T.);
--#5753=ORIENTED_EDGE('',*,*,#5752,.T.);
--#5755=ORIENTED_EDGE('',*,*,#5754,.T.);
--#5757=ORIENTED_EDGE('',*,*,#5756,.F.);
--#5759=ORIENTED_EDGE('',*,*,#5758,.T.);
--#5761=ORIENTED_EDGE('',*,*,#5760,.F.);
--#5763=ORIENTED_EDGE('',*,*,#5762,.T.);
--#5765=ORIENTED_EDGE('',*,*,#5764,.F.);
--#5767=ORIENTED_EDGE('',*,*,#5766,.T.);
--#5769=ORIENTED_EDGE('',*,*,#5768,.F.);
--#5771=ORIENTED_EDGE('',*,*,#5770,.T.);
--#5773=ORIENTED_EDGE('',*,*,#5772,.F.);
--#5775=ORIENTED_EDGE('',*,*,#5774,.T.);
--#5776=EDGE_LOOP('',(#5749,#5751,#5753,#5755,#5757,#5759,#5761,#5763,#5765,#5767,
--#5769,#5771,#5773,#5775));
--#5777=FACE_BOUND('',#5776,.F.);
--#5779=ORIENTED_EDGE('',*,*,#5778,.T.);
--#5781=ORIENTED_EDGE('',*,*,#5780,.T.);
--#5783=ORIENTED_EDGE('',*,*,#5782,.T.);
--#5785=ORIENTED_EDGE('',*,*,#5784,.T.);
--#5786=EDGE_LOOP('',(#5779,#5781,#5783,#5785));
--#5787=FACE_BOUND('',#5786,.F.);
--#5789=ORIENTED_EDGE('',*,*,#5788,.T.);
--#5791=ORIENTED_EDGE('',*,*,#5790,.T.);
--#5793=ORIENTED_EDGE('',*,*,#5792,.T.);
--#5795=ORIENTED_EDGE('',*,*,#5794,.T.);
--#5796=EDGE_LOOP('',(#5789,#5791,#5793,#5795));
--#5797=FACE_BOUND('',#5796,.F.);
--#5799=ORIENTED_EDGE('',*,*,#5798,.T.);
--#5801=ORIENTED_EDGE('',*,*,#5800,.T.);
--#5803=ORIENTED_EDGE('',*,*,#5802,.T.);
--#5805=ORIENTED_EDGE('',*,*,#5804,.T.);
--#5806=EDGE_LOOP('',(#5799,#5801,#5803,#5805));
--#5807=FACE_BOUND('',#5806,.F.);
--#5809=ORIENTED_EDGE('',*,*,#5808,.T.);
--#5811=ORIENTED_EDGE('',*,*,#5810,.T.);
--#5813=ORIENTED_EDGE('',*,*,#5812,.T.);
--#5815=ORIENTED_EDGE('',*,*,#5814,.T.);
--#5816=EDGE_LOOP('',(#5809,#5811,#5813,#5815));
--#5817=FACE_BOUND('',#5816,.F.);
--#5819=ORIENTED_EDGE('',*,*,#5818,.F.);
--#5821=ORIENTED_EDGE('',*,*,#5820,.F.);
--#5823=ORIENTED_EDGE('',*,*,#5822,.F.);
--#5825=ORIENTED_EDGE('',*,*,#5824,.F.);
--#5826=EDGE_LOOP('',(#5819,#5821,#5823,#5825));
--#5827=FACE_BOUND('',#5826,.F.);
--#5829=ORIENTED_EDGE('',*,*,#5828,.F.);
--#5831=ORIENTED_EDGE('',*,*,#5830,.F.);
--#5833=ORIENTED_EDGE('',*,*,#5832,.F.);
--#5835=ORIENTED_EDGE('',*,*,#5834,.F.);
--#5836=EDGE_LOOP('',(#5829,#5831,#5833,#5835));
--#5837=FACE_BOUND('',#5836,.F.);
--#5839=ORIENTED_EDGE('',*,*,#5838,.F.);
--#5841=ORIENTED_EDGE('',*,*,#5840,.F.);
--#5843=ORIENTED_EDGE('',*,*,#5842,.F.);
--#5845=ORIENTED_EDGE('',*,*,#5844,.F.);
--#5846=EDGE_LOOP('',(#5839,#5841,#5843,#5845));
--#5847=FACE_BOUND('',#5846,.F.);
--#5849=ORIENTED_EDGE('',*,*,#5848,.F.);
--#5851=ORIENTED_EDGE('',*,*,#5850,.F.);
--#5853=ORIENTED_EDGE('',*,*,#5852,.F.);
--#5855=ORIENTED_EDGE('',*,*,#5854,.F.);
--#5856=EDGE_LOOP('',(#5849,#5851,#5853,#5855));
--#5857=FACE_BOUND('',#5856,.F.);
--#5859=ORIENTED_EDGE('',*,*,#5858,.F.);
--#5861=ORIENTED_EDGE('',*,*,#5860,.F.);
--#5863=ORIENTED_EDGE('',*,*,#5862,.F.);
--#5865=ORIENTED_EDGE('',*,*,#5864,.F.);
--#5866=EDGE_LOOP('',(#5859,#5861,#5863,#5865));
--#5867=FACE_BOUND('',#5866,.F.);
--#5869=ORIENTED_EDGE('',*,*,#5868,.F.);
--#5871=ORIENTED_EDGE('',*,*,#5870,.F.);
--#5873=ORIENTED_EDGE('',*,*,#5872,.F.);
--#5875=ORIENTED_EDGE('',*,*,#5874,.F.);
--#5876=EDGE_LOOP('',(#5869,#5871,#5873,#5875));
--#5877=FACE_BOUND('',#5876,.F.);
--#5879=ORIENTED_EDGE('',*,*,#5878,.T.);
--#5881=ORIENTED_EDGE('',*,*,#5880,.T.);
--#5883=ORIENTED_EDGE('',*,*,#5882,.T.);
--#5885=ORIENTED_EDGE('',*,*,#5884,.T.);
--#5886=EDGE_LOOP('',(#5879,#5881,#5883,#5885));
--#5887=FACE_BOUND('',#5886,.F.);
--#5889=ORIENTED_EDGE('',*,*,#5888,.F.);
--#5891=ORIENTED_EDGE('',*,*,#5890,.F.);
--#5893=ORIENTED_EDGE('',*,*,#5892,.F.);
--#5895=ORIENTED_EDGE('',*,*,#5894,.F.);
--#5897=ORIENTED_EDGE('',*,*,#5896,.F.);
--#5899=ORIENTED_EDGE('',*,*,#5898,.F.);
--#5901=ORIENTED_EDGE('',*,*,#5900,.F.);
--#5903=ORIENTED_EDGE('',*,*,#5902,.F.);
--#5905=ORIENTED_EDGE('',*,*,#5904,.F.);
--#5907=ORIENTED_EDGE('',*,*,#5906,.F.);
--#5909=ORIENTED_EDGE('',*,*,#5908,.F.);
--#5911=ORIENTED_EDGE('',*,*,#5910,.F.);
--#5913=ORIENTED_EDGE('',*,*,#5912,.F.);
--#5915=ORIENTED_EDGE('',*,*,#5914,.F.);
--#5916=EDGE_LOOP('',(#5889,#5891,#5893,#5895,#5897,#5899,#5901,#5903,#5905,#5907,
--#5909,#5911,#5913,#5915));
--#5917=FACE_BOUND('',#5916,.F.);
--#5919=ORIENTED_EDGE('',*,*,#5918,.F.);
--#5921=ORIENTED_EDGE('',*,*,#5920,.F.);
--#5923=ORIENTED_EDGE('',*,*,#5922,.F.);
--#5925=ORIENTED_EDGE('',*,*,#5924,.T.);
--#5927=ORIENTED_EDGE('',*,*,#5926,.F.);
--#5928=EDGE_LOOP('',(#5919,#5921,#5923,#5925,#5927));
--#5929=FACE_BOUND('',#5928,.F.);
--#5931=ORIENTED_EDGE('',*,*,#5930,.F.);
--#5933=ORIENTED_EDGE('',*,*,#5932,.F.);
--#5935=ORIENTED_EDGE('',*,*,#5934,.F.);
--#5937=ORIENTED_EDGE('',*,*,#5936,.T.);
--#5939=ORIENTED_EDGE('',*,*,#5938,.F.);
--#5940=EDGE_LOOP('',(#5931,#5933,#5935,#5937,#5939));
--#5941=FACE_BOUND('',#5940,.F.);
--#5943=ORIENTED_EDGE('',*,*,#5942,.T.);
--#5945=ORIENTED_EDGE('',*,*,#5944,.F.);
--#5947=ORIENTED_EDGE('',*,*,#5946,.T.);
--#5949=ORIENTED_EDGE('',*,*,#5948,.T.);
--#5951=ORIENTED_EDGE('',*,*,#5950,.F.);
--#5952=EDGE_LOOP('',(#5943,#5945,#5947,#5949,#5951));
--#5953=FACE_BOUND('',#5952,.F.);
--#5954=ADVANCED_FACE('',(#5539,#5553,#5559,#5565,#5571,#5577,#5583,#5589,#5595,
--#5601,#5607,#5613,#5619,#5625,#5631,#5637,#5655,#5689,#5695,#5701,#5707,#5713,
--#5719,#5725,#5735,#5747,#5777,#5787,#5797,#5807,#5817,#5827,#5837,#5847,#5857,
--#5867,#5877,#5887,#5917,#5929,#5941,#5953),#5493,.F.);
--#5955=CARTESIAN_POINT('',(0.E0,0.E0,8.E0));
--#5956=DIRECTION('',(0.E0,0.E0,1.E0));
--#5957=DIRECTION('',(1.E0,0.E0,0.E0));
--#5958=AXIS2_PLACEMENT_3D('',#5955,#5956,#5957);
--#5959=PLANE('',#5958);
--#5960=ORIENTED_EDGE('',*,*,#5540,.F.);
--#5962=ORIENTED_EDGE('',*,*,#5961,.T.);
--#5964=ORIENTED_EDGE('',*,*,#5963,.F.);
--#5966=ORIENTED_EDGE('',*,*,#5965,.F.);
--#5967=ORIENTED_EDGE('',*,*,#5494,.T.);
--#5969=ORIENTED_EDGE('',*,*,#5968,.F.);
--#5971=ORIENTED_EDGE('',*,*,#5970,.F.);
--#5973=ORIENTED_EDGE('',*,*,#5972,.T.);
--#5975=ORIENTED_EDGE('',*,*,#5974,.F.);
--#5977=ORIENTED_EDGE('',*,*,#5976,.F.);
--#5979=ORIENTED_EDGE('',*,*,#5978,.F.);
--#5981=ORIENTED_EDGE('',*,*,#5980,.T.);
--#5983=ORIENTED_EDGE('',*,*,#5982,.T.);
--#5985=ORIENTED_EDGE('',*,*,#5984,.F.);
--#5986=ORIENTED_EDGE('',*,*,#5510,.F.);
--#5988=ORIENTED_EDGE('',*,*,#5987,.F.);
--#5990=ORIENTED_EDGE('',*,*,#5989,.F.);
--#5992=ORIENTED_EDGE('',*,*,#5991,.T.);
--#5993=EDGE_LOOP('',(#5960,#5962,#5964,#5966,#5967,#5969,#5971,#5973,#5975,#5977,
--#5979,#5981,#5983,#5985,#5986,#5988,#5990,#5992));
--#5994=FACE_OUTER_BOUND('',#5993,.F.);
--#5996=ORIENTED_EDGE('',*,*,#5995,.T.);
--#5998=ORIENTED_EDGE('',*,*,#5997,.T.);
--#5999=EDGE_LOOP('',(#5996,#5998));
--#6000=FACE_BOUND('',#5999,.F.);
--#6002=ORIENTED_EDGE('',*,*,#6001,.T.);
--#6004=ORIENTED_EDGE('',*,*,#6003,.T.);
--#6005=EDGE_LOOP('',(#6002,#6004));
--#6006=FACE_BOUND('',#6005,.F.);
--#6008=ORIENTED_EDGE('',*,*,#6007,.T.);
--#6010=ORIENTED_EDGE('',*,*,#6009,.T.);
--#6011=EDGE_LOOP('',(#6008,#6010));
--#6012=FACE_BOUND('',#6011,.F.);
--#6014=ORIENTED_EDGE('',*,*,#6013,.T.);
--#6016=ORIENTED_EDGE('',*,*,#6015,.T.);
--#6017=EDGE_LOOP('',(#6014,#6016));
--#6018=FACE_BOUND('',#6017,.F.);
--#6020=ORIENTED_EDGE('',*,*,#6019,.F.);
--#6022=ORIENTED_EDGE('',*,*,#6021,.F.);
--#6023=EDGE_LOOP('',(#6020,#6022));
--#6024=FACE_BOUND('',#6023,.F.);
--#6026=ORIENTED_EDGE('',*,*,#6025,.F.);
--#6028=ORIENTED_EDGE('',*,*,#6027,.F.);
--#6029=EDGE_LOOP('',(#6026,#6028));
--#6030=FACE_BOUND('',#6029,.F.);
--#6032=ORIENTED_EDGE('',*,*,#6031,.F.);
--#6034=ORIENTED_EDGE('',*,*,#6033,.F.);
--#6035=EDGE_LOOP('',(#6032,#6034));
--#6036=FACE_BOUND('',#6035,.F.);
--#6038=ORIENTED_EDGE('',*,*,#6037,.F.);
--#6040=ORIENTED_EDGE('',*,*,#6039,.F.);
--#6041=EDGE_LOOP('',(#6038,#6040));
--#6042=FACE_BOUND('',#6041,.F.);
--#6044=ORIENTED_EDGE('',*,*,#6043,.T.);
--#6046=ORIENTED_EDGE('',*,*,#6045,.F.);
--#6048=ORIENTED_EDGE('',*,*,#6047,.T.);
--#6050=ORIENTED_EDGE('',*,*,#6049,.F.);
--#6052=ORIENTED_EDGE('',*,*,#6051,.T.);
--#6054=ORIENTED_EDGE('',*,*,#6053,.F.);
--#6056=ORIENTED_EDGE('',*,*,#6055,.T.);
--#6058=ORIENTED_EDGE('',*,*,#6057,.F.);
--#6059=EDGE_LOOP('',(#6044,#6046,#6048,#6050,#6052,#6054,#6056,#6058));
--#6060=FACE_BOUND('',#6059,.F.);
--#6062=ORIENTED_EDGE('',*,*,#6061,.F.);
--#6064=ORIENTED_EDGE('',*,*,#6063,.F.);
--#6066=ORIENTED_EDGE('',*,*,#6065,.F.);
--#6068=ORIENTED_EDGE('',*,*,#6067,.F.);
--#6070=ORIENTED_EDGE('',*,*,#6069,.F.);
--#6072=ORIENTED_EDGE('',*,*,#6071,.F.);
--#6074=ORIENTED_EDGE('',*,*,#6073,.F.);
--#6076=ORIENTED_EDGE('',*,*,#6075,.F.);
--#6077=EDGE_LOOP('',(#6062,#6064,#6066,#6068,#6070,#6072,#6074,#6076));
--#6078=FACE_BOUND('',#6077,.F.);
--#6079=ADVANCED_FACE('',(#5994,#6000,#6006,#6012,#6018,#6024,#6030,#6036,#6042,
--#6060,#6078),#5959,.F.);
--#6080=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0));
--#6081=DIRECTION('',(0.E0,0.E0,-1.E0));
--#6082=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6083=AXIS2_PLACEMENT_3D('',#6080,#6081,#6082);
--#6084=CYLINDRICAL_SURFACE('',#6083,9.5E-2);
--#6085=ORIENTED_EDGE('',*,*,#5995,.F.);
--#6087=ORIENTED_EDGE('',*,*,#6086,.T.);
--#6089=ORIENTED_EDGE('',*,*,#6088,.T.);
--#6091=ORIENTED_EDGE('',*,*,#6090,.F.);
--#6092=EDGE_LOOP('',(#6085,#6087,#6089,#6091));
--#6093=FACE_OUTER_BOUND('',#6092,.F.);
--#6094=ADVANCED_FACE('',(#6093),#6084,.F.);
--#6095=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0));
--#6096=DIRECTION('',(0.E0,0.E0,-1.E0));
--#6097=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6098=AXIS2_PLACEMENT_3D('',#6095,#6096,#6097);
--#6099=CYLINDRICAL_SURFACE('',#6098,9.5E-2);
--#6100=ORIENTED_EDGE('',*,*,#5997,.F.);
--#6101=ORIENTED_EDGE('',*,*,#6090,.T.);
--#6103=ORIENTED_EDGE('',*,*,#6102,.T.);
--#6104=ORIENTED_EDGE('',*,*,#6086,.F.);
--#6105=EDGE_LOOP('',(#6100,#6101,#6103,#6104));
--#6106=FACE_OUTER_BOUND('',#6105,.F.);
--#6107=ADVANCED_FACE('',(#6106),#6099,.F.);
--#6108=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0));
--#6109=DIRECTION('',(0.E0,0.E0,-1.E0));
--#6110=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6111=AXIS2_PLACEMENT_3D('',#6108,#6109,#6110);
--#6112=PLANE('',#6111);
--#6113=ORIENTED_EDGE('',*,*,#6088,.F.);
--#6114=ORIENTED_EDGE('',*,*,#6102,.F.);
--#6115=EDGE_LOOP('',(#6113,#6114));
--#6116=FACE_OUTER_BOUND('',#6115,.F.);
--#6117=ADVANCED_FACE('',(#6116),#6112,.T.);
--#6118=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0));
--#6119=DIRECTION('',(0.E0,0.E0,-1.E0));
--#6120=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6121=AXIS2_PLACEMENT_3D('',#6118,#6119,#6120);
--#6122=CYLINDRICAL_SURFACE('',#6121,1.625E-1);
--#6123=ORIENTED_EDGE('',*,*,#6001,.F.);
--#6125=ORIENTED_EDGE('',*,*,#6124,.T.);
--#6127=ORIENTED_EDGE('',*,*,#6126,.T.);
--#6129=ORIENTED_EDGE('',*,*,#6128,.F.);
--#6130=EDGE_LOOP('',(#6123,#6125,#6127,#6129));
--#6131=FACE_OUTER_BOUND('',#6130,.F.);
--#6132=ADVANCED_FACE('',(#6131),#6122,.F.);
--#6133=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0));
--#6134=DIRECTION('',(0.E0,0.E0,-1.E0));
--#6135=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6136=AXIS2_PLACEMENT_3D('',#6133,#6134,#6135);
--#6137=CYLINDRICAL_SURFACE('',#6136,1.625E-1);
--#6138=ORIENTED_EDGE('',*,*,#6003,.F.);
--#6139=ORIENTED_EDGE('',*,*,#6128,.T.);
--#6141=ORIENTED_EDGE('',*,*,#6140,.T.);
--#6142=ORIENTED_EDGE('',*,*,#6124,.F.);
--#6143=EDGE_LOOP('',(#6138,#6139,#6141,#6142));
--#6144=FACE_OUTER_BOUND('',#6143,.F.);
--#6145=ADVANCED_FACE('',(#6144),#6137,.F.);
--#6146=CARTESIAN_POINT('',(2.4E1,0.E0,1.E1));
--#6147=DIRECTION('',(0.E0,0.E0,-1.E0));
--#6148=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6149=AXIS2_PLACEMENT_3D('',#6146,#6147,#6148);
--#6150=PLANE('',#6149);
--#6152=ORIENTED_EDGE('',*,*,#6151,.T.);
--#6154=ORIENTED_EDGE('',*,*,#6153,.T.);
--#6156=ORIENTED_EDGE('',*,*,#6155,.F.);
--#6158=ORIENTED_EDGE('',*,*,#6157,.F.);
--#6160=ORIENTED_EDGE('',*,*,#6159,.T.);
--#6162=ORIENTED_EDGE('',*,*,#6161,.T.);
--#6164=ORIENTED_EDGE('',*,*,#6163,.T.);
--#6166=ORIENTED_EDGE('',*,*,#6165,.T.);
--#6168=ORIENTED_EDGE('',*,*,#6167,.F.);
--#6169=EDGE_LOOP('',(#6152,#6154,#6156,#6158,#6160,#6162,#6164,#6166,#6168));
--#6170=FACE_OUTER_BOUND('',#6169,.F.);
--#6171=ORIENTED_EDGE('',*,*,#6126,.F.);
--#6172=ORIENTED_EDGE('',*,*,#6140,.F.);
--#6173=EDGE_LOOP('',(#6171,#6172));
--#6174=FACE_BOUND('',#6173,.F.);
--#6176=ORIENTED_EDGE('',*,*,#6175,.F.);
--#6178=ORIENTED_EDGE('',*,*,#6177,.F.);
--#6180=ORIENTED_EDGE('',*,*,#6179,.F.);
--#6182=ORIENTED_EDGE('',*,*,#6181,.F.);
--#6184=ORIENTED_EDGE('',*,*,#6183,.F.);
--#6186=ORIENTED_EDGE('',*,*,#6185,.F.);
--#6188=ORIENTED_EDGE('',*,*,#6187,.F.);
--#6190=ORIENTED_EDGE('',*,*,#6189,.F.);
--#6192=ORIENTED_EDGE('',*,*,#6191,.F.);
--#6194=ORIENTED_EDGE('',*,*,#6193,.F.);
--#6196=ORIENTED_EDGE('',*,*,#6195,.F.);
--#6198=ORIENTED_EDGE('',*,*,#6197,.F.);
--#6199=EDGE_LOOP('',(#6176,#6178,#6180,#6182,#6184,#6186,#6188,#6190,#6192,#6194,
--#6196,#6198));
--#6200=FACE_BOUND('',#6199,.F.);
--#6201=ADVANCED_FACE('',(#6170,#6174,#6200),#6150,.F.);
--#6202=CARTESIAN_POINT('',(2.375E1,1.5E0,1.2E1));
--#6203=DIRECTION('',(1.E0,0.E0,0.E0));
--#6204=DIRECTION('',(0.E0,-1.E0,0.E0));
--#6205=AXIS2_PLACEMENT_3D('',#6202,#6203,#6204);
--#6206=PLANE('',#6205);
--#6208=ORIENTED_EDGE('',*,*,#6207,.F.);
--#6210=ORIENTED_EDGE('',*,*,#6209,.F.);
--#6211=ORIENTED_EDGE('',*,*,#6151,.F.);
--#6212=EDGE_LOOP('',(#6208,#6210,#6211));
--#6213=FACE_OUTER_BOUND('',#6212,.F.);
--#6214=ADVANCED_FACE('',(#6213),#6206,.T.);
--#6215=CARTESIAN_POINT('',(0.E0,1.5E0,0.E0));
--#6216=DIRECTION('',(0.E0,1.E0,0.E0));
--#6217=DIRECTION('',(1.E0,0.E0,0.E0));
--#6218=AXIS2_PLACEMENT_3D('',#6215,#6216,#6217);
--#6219=PLANE('',#6218);
--#6220=ORIENTED_EDGE('',*,*,#5963,.T.);
--#6222=ORIENTED_EDGE('',*,*,#6221,.F.);
--#6224=ORIENTED_EDGE('',*,*,#6223,.F.);
--#6226=ORIENTED_EDGE('',*,*,#6225,.T.);
--#6228=ORIENTED_EDGE('',*,*,#6227,.F.);
--#6230=ORIENTED_EDGE('',*,*,#6229,.F.);
--#6231=ORIENTED_EDGE('',*,*,#5989,.T.);
--#6233=ORIENTED_EDGE('',*,*,#6232,.F.);
--#6235=ORIENTED_EDGE('',*,*,#6234,.F.);
--#6237=ORIENTED_EDGE('',*,*,#6236,.T.);
--#6239=ORIENTED_EDGE('',*,*,#6238,.F.);
--#6241=ORIENTED_EDGE('',*,*,#6240,.T.);
--#6243=ORIENTED_EDGE('',*,*,#6242,.F.);
--#6245=ORIENTED_EDGE('',*,*,#6244,.F.);
--#6246=EDGE_LOOP('',(#6220,#6222,#6224,#6226,#6228,#6230,#6231,#6233,#6235,#6237,
--#6239,#6241,#6243,#6245));
--#6247=FACE_OUTER_BOUND('',#6246,.F.);
--#6249=ORIENTED_EDGE('',*,*,#6248,.F.);
--#6251=ORIENTED_EDGE('',*,*,#6250,.F.);
--#6252=EDGE_LOOP('',(#6249,#6251));
--#6253=FACE_BOUND('',#6252,.F.);
--#6255=ORIENTED_EDGE('',*,*,#6254,.F.);
--#6257=ORIENTED_EDGE('',*,*,#6256,.F.);
--#6258=EDGE_LOOP('',(#6255,#6257));
--#6259=FACE_BOUND('',#6258,.F.);
--#6261=ORIENTED_EDGE('',*,*,#6260,.F.);
--#6263=ORIENTED_EDGE('',*,*,#6262,.F.);
--#6264=EDGE_LOOP('',(#6261,#6263));
--#6265=FACE_BOUND('',#6264,.F.);
--#6267=ORIENTED_EDGE('',*,*,#6266,.F.);
--#6269=ORIENTED_EDGE('',*,*,#6268,.F.);
--#6270=EDGE_LOOP('',(#6267,#6269));
--#6271=FACE_BOUND('',#6270,.F.);
--#6273=ORIENTED_EDGE('',*,*,#6272,.F.);
--#6275=ORIENTED_EDGE('',*,*,#6274,.F.);
--#6276=EDGE_LOOP('',(#6273,#6275));
--#6277=FACE_BOUND('',#6276,.F.);
--#6278=ADVANCED_FACE('',(#6247,#6253,#6259,#6265,#6271,#6277),#6219,.T.);
--#6279=CARTESIAN_POINT('',(0.E0,1.5E0,0.E0));
--#6280=DIRECTION('',(0.E0,1.E0,0.E0));
--#6281=DIRECTION('',(1.E0,0.E0,0.E0));
--#6282=AXIS2_PLACEMENT_3D('',#6279,#6280,#6281);
--#6283=PLANE('',#6282);
--#6284=ORIENTED_EDGE('',*,*,#6207,.T.);
--#6285=ORIENTED_EDGE('',*,*,#6167,.T.);
--#6287=ORIENTED_EDGE('',*,*,#6286,.T.);
--#6289=ORIENTED_EDGE('',*,*,#6288,.F.);
--#6291=ORIENTED_EDGE('',*,*,#6290,.T.);
--#6293=ORIENTED_EDGE('',*,*,#6292,.F.);
--#6295=ORIENTED_EDGE('',*,*,#6294,.F.);
--#6297=ORIENTED_EDGE('',*,*,#6296,.T.);
--#6299=ORIENTED_EDGE('',*,*,#6298,.F.);
--#6301=ORIENTED_EDGE('',*,*,#6300,.T.);
--#6303=ORIENTED_EDGE('',*,*,#6302,.F.);
--#6305=ORIENTED_EDGE('',*,*,#6304,.F.);
--#6307=ORIENTED_EDGE('',*,*,#6306,.F.);
--#6309=ORIENTED_EDGE('',*,*,#6308,.T.);
--#6311=ORIENTED_EDGE('',*,*,#6310,.F.);
--#6313=ORIENTED_EDGE('',*,*,#6312,.T.);
--#6315=ORIENTED_EDGE('',*,*,#6314,.F.);
--#6317=ORIENTED_EDGE('',*,*,#6316,.T.);
--#6319=ORIENTED_EDGE('',*,*,#6318,.T.);
--#6321=ORIENTED_EDGE('',*,*,#6320,.T.);
--#6323=ORIENTED_EDGE('',*,*,#6322,.F.);
--#6324=ORIENTED_EDGE('',*,*,#5976,.T.);
--#6326=ORIENTED_EDGE('',*,*,#6325,.T.);
--#6327=ORIENTED_EDGE('',*,*,#6157,.T.);
--#6329=ORIENTED_EDGE('',*,*,#6328,.F.);
--#6331=ORIENTED_EDGE('',*,*,#6330,.F.);
--#6332=EDGE_LOOP('',(#6284,#6285,#6287,#6289,#6291,#6293,#6295,#6297,#6299,#6301,
--#6303,#6305,#6307,#6309,#6311,#6313,#6315,#6317,#6319,#6321,#6323,#6324,#6326,
--#6327,#6329,#6331));
--#6333=FACE_OUTER_BOUND('',#6332,.F.);
--#6335=ORIENTED_EDGE('',*,*,#6334,.F.);
--#6337=ORIENTED_EDGE('',*,*,#6336,.F.);
--#6338=EDGE_LOOP('',(#6335,#6337));
--#6339=FACE_BOUND('',#6338,.F.);
--#6341=ORIENTED_EDGE('',*,*,#6340,.F.);
--#6343=ORIENTED_EDGE('',*,*,#6342,.F.);
--#6344=EDGE_LOOP('',(#6341,#6343));
--#6345=FACE_BOUND('',#6344,.F.);
--#6347=ORIENTED_EDGE('',*,*,#6346,.T.);
--#6349=ORIENTED_EDGE('',*,*,#6348,.T.);
--#6350=EDGE_LOOP('',(#6347,#6349));
--#6351=FACE_BOUND('',#6350,.F.);
--#6353=ORIENTED_EDGE('',*,*,#6352,.T.);
--#6355=ORIENTED_EDGE('',*,*,#6354,.T.);
--#6356=EDGE_LOOP('',(#6353,#6355));
--#6357=FACE_BOUND('',#6356,.F.);
--#6359=ORIENTED_EDGE('',*,*,#6358,.F.);
--#6361=ORIENTED_EDGE('',*,*,#6360,.F.);
--#6362=EDGE_LOOP('',(#6359,#6361));
--#6363=FACE_BOUND('',#6362,.F.);
--#6365=ORIENTED_EDGE('',*,*,#6364,.F.);
--#6367=ORIENTED_EDGE('',*,*,#6366,.F.);
--#6368=EDGE_LOOP('',(#6365,#6367));
--#6369=FACE_BOUND('',#6368,.F.);
--#6371=ORIENTED_EDGE('',*,*,#6370,.F.);
--#6373=ORIENTED_EDGE('',*,*,#6372,.F.);
--#6374=EDGE_LOOP('',(#6371,#6373));
--#6375=FACE_BOUND('',#6374,.F.);
--#6377=ORIENTED_EDGE('',*,*,#6376,.F.);
--#6379=ORIENTED_EDGE('',*,*,#6378,.F.);
--#6380=EDGE_LOOP('',(#6377,#6379));
--#6381=FACE_BOUND('',#6380,.F.);
--#6383=ORIENTED_EDGE('',*,*,#6382,.F.);
--#6385=ORIENTED_EDGE('',*,*,#6384,.F.);
--#6386=EDGE_LOOP('',(#6383,#6385));
--#6387=FACE_BOUND('',#6386,.F.);
--#6389=ORIENTED_EDGE('',*,*,#6388,.F.);
--#6391=ORIENTED_EDGE('',*,*,#6390,.F.);
--#6392=EDGE_LOOP('',(#6389,#6391));
--#6393=FACE_BOUND('',#6392,.F.);
--#6395=ORIENTED_EDGE('',*,*,#6394,.F.);
--#6397=ORIENTED_EDGE('',*,*,#6396,.F.);
--#6398=EDGE_LOOP('',(#6395,#6397));
--#6399=FACE_BOUND('',#6398,.F.);
--#6401=ORIENTED_EDGE('',*,*,#6400,.T.);
--#6403=ORIENTED_EDGE('',*,*,#6402,.F.);
--#6405=ORIENTED_EDGE('',*,*,#6404,.F.);
--#6407=ORIENTED_EDGE('',*,*,#6406,.F.);
--#6409=ORIENTED_EDGE('',*,*,#6408,.T.);
--#6411=ORIENTED_EDGE('',*,*,#6410,.F.);
--#6413=ORIENTED_EDGE('',*,*,#6412,.T.);
--#6415=ORIENTED_EDGE('',*,*,#6414,.F.);
--#6416=EDGE_LOOP('',(#6401,#6403,#6405,#6407,#6409,#6411,#6413,#6415));
--#6417=FACE_BOUND('',#6416,.F.);
--#6419=ORIENTED_EDGE('',*,*,#6418,.F.);
--#6421=ORIENTED_EDGE('',*,*,#6420,.F.);
--#6423=ORIENTED_EDGE('',*,*,#6422,.T.);
--#6425=ORIENTED_EDGE('',*,*,#6424,.F.);
--#6427=ORIENTED_EDGE('',*,*,#6426,.T.);
--#6429=ORIENTED_EDGE('',*,*,#6428,.F.);
--#6431=ORIENTED_EDGE('',*,*,#6430,.T.);
--#6433=ORIENTED_EDGE('',*,*,#6432,.F.);
--#6435=ORIENTED_EDGE('',*,*,#6434,.F.);
--#6437=ORIENTED_EDGE('',*,*,#6436,.F.);
--#6439=ORIENTED_EDGE('',*,*,#6438,.F.);
--#6441=ORIENTED_EDGE('',*,*,#6440,.T.);
--#6443=ORIENTED_EDGE('',*,*,#6442,.F.);
--#6445=ORIENTED_EDGE('',*,*,#6444,.F.);
--#6447=ORIENTED_EDGE('',*,*,#6446,.T.);
--#6449=ORIENTED_EDGE('',*,*,#6448,.F.);
--#6450=EDGE_LOOP('',(#6419,#6421,#6423,#6425,#6427,#6429,#6431,#6433,#6435,#6437,
--#6439,#6441,#6443,#6445,#6447,#6449));
--#6451=FACE_BOUND('',#6450,.F.);
--#6453=ORIENTED_EDGE('',*,*,#6452,.F.);
--#6455=ORIENTED_EDGE('',*,*,#6454,.F.);
--#6456=EDGE_LOOP('',(#6453,#6455));
--#6457=FACE_BOUND('',#6456,.F.);
--#6459=ORIENTED_EDGE('',*,*,#6458,.F.);
--#6461=ORIENTED_EDGE('',*,*,#6460,.F.);
--#6462=EDGE_LOOP('',(#6459,#6461));
--#6463=FACE_BOUND('',#6462,.F.);
--#6465=ORIENTED_EDGE('',*,*,#6464,.F.);
--#6467=ORIENTED_EDGE('',*,*,#6466,.F.);
--#6468=EDGE_LOOP('',(#6465,#6467));
--#6469=FACE_BOUND('',#6468,.F.);
--#6471=ORIENTED_EDGE('',*,*,#6470,.F.);
--#6473=ORIENTED_EDGE('',*,*,#6472,.F.);
--#6474=EDGE_LOOP('',(#6471,#6473));
--#6475=FACE_BOUND('',#6474,.F.);
--#6477=ORIENTED_EDGE('',*,*,#6476,.F.);
--#6479=ORIENTED_EDGE('',*,*,#6478,.F.);
--#6480=EDGE_LOOP('',(#6477,#6479));
--#6481=FACE_BOUND('',#6480,.F.);
--#6483=ORIENTED_EDGE('',*,*,#6482,.F.);
--#6485=ORIENTED_EDGE('',*,*,#6484,.F.);
--#6486=EDGE_LOOP('',(#6483,#6485));
--#6487=FACE_BOUND('',#6486,.F.);
--#6488=ADVANCED_FACE('',(#6333,#6339,#6345,#6351,#6357,#6363,#6369,#6375,#6381,
--#6387,#6393,#6399,#6417,#6451,#6457,#6463,#6469,#6475,#6481,#6487),#6283,.T.);
--#6489=CARTESIAN_POINT('',(6.45E0,1.176878221735E0,2.975E1));
--#6490=DIRECTION('',(0.E0,1.E0,0.E0));
--#6491=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6492=AXIS2_PLACEMENT_3D('',#6489,#6490,#6491);
--#6493=CYLINDRICAL_SURFACE('',#6492,1.E-1);
--#6494=ORIENTED_EDGE('',*,*,#6334,.T.);
--#6496=ORIENTED_EDGE('',*,*,#6495,.F.);
--#6498=ORIENTED_EDGE('',*,*,#6497,.F.);
--#6500=ORIENTED_EDGE('',*,*,#6499,.T.);
--#6501=EDGE_LOOP('',(#6494,#6496,#6498,#6500));
--#6502=FACE_OUTER_BOUND('',#6501,.F.);
--#6503=ADVANCED_FACE('',(#6502),#6493,.F.);
--#6504=CARTESIAN_POINT('',(6.45E0,1.176878221735E0,2.975E1));
--#6505=DIRECTION('',(0.E0,1.E0,0.E0));
--#6506=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6507=AXIS2_PLACEMENT_3D('',#6504,#6505,#6506);
--#6508=CYLINDRICAL_SURFACE('',#6507,1.E-1);
--#6509=ORIENTED_EDGE('',*,*,#6336,.T.);
--#6510=ORIENTED_EDGE('',*,*,#6499,.F.);
--#6512=ORIENTED_EDGE('',*,*,#6511,.T.);
--#6513=ORIENTED_EDGE('',*,*,#6495,.T.);
--#6514=EDGE_LOOP('',(#6509,#6510,#6512,#6513));
--#6515=FACE_OUTER_BOUND('',#6514,.F.);
--#6516=ADVANCED_FACE('',(#6515),#6508,.F.);
--#6517=CARTESIAN_POINT('',(6.45E0,1.234346967234E0,2.975E1));
--#6518=DIRECTION('',(0.E0,1.E0,0.E0));
--#6519=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6520=AXIS2_PLACEMENT_3D('',#6517,#6518,#6519);
--#6521=CONICAL_SURFACE('',#6520,7.288815195685E-2,6.E1);
--#6523=ORIENTED_EDGE('',*,*,#6522,.T.);
--#6524=ORIENTED_EDGE('',*,*,#6511,.F.);
--#6526=ORIENTED_EDGE('',*,*,#6525,.F.);
--#6527=EDGE_LOOP('',(#6523,#6524,#6526));
--#6528=FACE_OUTER_BOUND('',#6527,.F.);
--#6529=ADVANCED_FACE('',(#6528),#6521,.F.);
--#6530=CARTESIAN_POINT('',(6.45E0,1.234346967234E0,2.975E1));
--#6531=DIRECTION('',(0.E0,1.E0,0.E0));
--#6532=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6533=AXIS2_PLACEMENT_3D('',#6530,#6531,#6532);
--#6534=CONICAL_SURFACE('',#6533,7.288815195685E-2,6.E1);
--#6535=ORIENTED_EDGE('',*,*,#6522,.F.);
--#6536=ORIENTED_EDGE('',*,*,#6525,.T.);
--#6537=ORIENTED_EDGE('',*,*,#6497,.T.);
--#6538=EDGE_LOOP('',(#6535,#6536,#6537));
--#6539=FACE_OUTER_BOUND('',#6538,.F.);
--#6540=ADVANCED_FACE('',(#6539),#6534,.F.);
--#6541=CARTESIAN_POINT('',(7.45E0,1.176878221735E0,2.975E1));
--#6542=DIRECTION('',(0.E0,1.E0,0.E0));
--#6543=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6544=AXIS2_PLACEMENT_3D('',#6541,#6542,#6543);
--#6545=CYLINDRICAL_SURFACE('',#6544,1.E-1);
--#6546=ORIENTED_EDGE('',*,*,#6340,.T.);
--#6548=ORIENTED_EDGE('',*,*,#6547,.F.);
--#6550=ORIENTED_EDGE('',*,*,#6549,.F.);
--#6552=ORIENTED_EDGE('',*,*,#6551,.T.);
--#6553=EDGE_LOOP('',(#6546,#6548,#6550,#6552));
--#6554=FACE_OUTER_BOUND('',#6553,.F.);
--#6555=ADVANCED_FACE('',(#6554),#6545,.F.);
--#6556=CARTESIAN_POINT('',(7.45E0,1.176878221735E0,2.975E1));
--#6557=DIRECTION('',(0.E0,1.E0,0.E0));
--#6558=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6559=AXIS2_PLACEMENT_3D('',#6556,#6557,#6558);
--#6560=CYLINDRICAL_SURFACE('',#6559,1.E-1);
--#6561=ORIENTED_EDGE('',*,*,#6342,.T.);
--#6562=ORIENTED_EDGE('',*,*,#6551,.F.);
--#6564=ORIENTED_EDGE('',*,*,#6563,.T.);
--#6565=ORIENTED_EDGE('',*,*,#6547,.T.);
--#6566=EDGE_LOOP('',(#6561,#6562,#6564,#6565));
--#6567=FACE_OUTER_BOUND('',#6566,.F.);
--#6568=ADVANCED_FACE('',(#6567),#6560,.F.);
--#6569=CARTESIAN_POINT('',(7.45E0,1.234346967234E0,2.975E1));
--#6570=DIRECTION('',(0.E0,1.E0,0.E0));
--#6571=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6572=AXIS2_PLACEMENT_3D('',#6569,#6570,#6571);
--#6573=CONICAL_SURFACE('',#6572,7.288815195685E-2,6.E1);
--#6575=ORIENTED_EDGE('',*,*,#6574,.T.);
--#6576=ORIENTED_EDGE('',*,*,#6563,.F.);
--#6578=ORIENTED_EDGE('',*,*,#6577,.F.);
--#6579=EDGE_LOOP('',(#6575,#6576,#6578));
--#6580=FACE_OUTER_BOUND('',#6579,.F.);
--#6581=ADVANCED_FACE('',(#6580),#6573,.F.);
--#6582=CARTESIAN_POINT('',(7.45E0,1.234346967234E0,2.975E1));
--#6583=DIRECTION('',(0.E0,1.E0,0.E0));
--#6584=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6585=AXIS2_PLACEMENT_3D('',#6582,#6583,#6584);
--#6586=CONICAL_SURFACE('',#6585,7.288815195685E-2,6.E1);
--#6587=ORIENTED_EDGE('',*,*,#6574,.F.);
--#6588=ORIENTED_EDGE('',*,*,#6577,.T.);
--#6589=ORIENTED_EDGE('',*,*,#6549,.T.);
--#6590=EDGE_LOOP('',(#6587,#6588,#6589));
--#6591=FACE_OUTER_BOUND('',#6590,.F.);
--#6592=ADVANCED_FACE('',(#6591),#6586,.F.);
--#6593=CARTESIAN_POINT('',(2.046862696660E1,-7.805924235695E-2,7.E0));
--#6594=DIRECTION('',(0.E0,1.E0,0.E0));
--#6595=DIRECTION('',(0.E0,0.E0,1.E0));
--#6596=AXIS2_PLACEMENT_3D('',#6593,#6594,#6595);
--#6597=CYLINDRICAL_SURFACE('',#6596,1.E0);
--#6598=ORIENTED_EDGE('',*,*,#5961,.F.);
--#6599=ORIENTED_EDGE('',*,*,#5550,.T.);
--#6601=ORIENTED_EDGE('',*,*,#6600,.T.);
--#6602=ORIENTED_EDGE('',*,*,#6221,.T.);
--#6603=EDGE_LOOP('',(#6598,#6599,#6601,#6602));
--#6604=FACE_OUTER_BOUND('',#6603,.F.);
--#6605=ADVANCED_FACE('',(#6604),#6597,.F.);
--#6606=CARTESIAN_POINT('',(1.65E1,1.562633489099E0,7.5E0));
--#6607=DIRECTION('',(0.E0,-1.E0,0.E0));
--#6608=DIRECTION('',(0.E0,0.E0,-1.E0));
--#6609=AXIS2_PLACEMENT_3D('',#6606,#6607,#6608);
--#6610=CYLINDRICAL_SURFACE('',#6609,5.E0);
--#6611=ORIENTED_EDGE('',*,*,#6600,.F.);
--#6612=ORIENTED_EDGE('',*,*,#5548,.T.);
--#6614=ORIENTED_EDGE('',*,*,#6613,.F.);
--#6615=ORIENTED_EDGE('',*,*,#6223,.T.);
--#6616=EDGE_LOOP('',(#6611,#6612,#6614,#6615));
--#6617=FACE_OUTER_BOUND('',#6616,.F.);
--#6618=ADVANCED_FACE('',(#6617),#6610,.F.);
--#6619=CARTESIAN_POINT('',(2.15E1,1.5E0,2.5E0));
--#6620=DIRECTION('',(0.E0,0.E0,-1.E0));
--#6621=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6622=AXIS2_PLACEMENT_3D('',#6619,#6620,#6621);
--#6623=PLANE('',#6622);
--#6625=ORIENTED_EDGE('',*,*,#6624,.F.);
--#6626=ORIENTED_EDGE('',*,*,#6225,.F.);
--#6627=ORIENTED_EDGE('',*,*,#6613,.T.);
--#6628=ORIENTED_EDGE('',*,*,#5546,.T.);
--#6629=EDGE_LOOP('',(#6625,#6626,#6627,#6628));
--#6630=FACE_OUTER_BOUND('',#6629,.F.);
--#6631=ADVANCED_FACE('',(#6630),#6623,.F.);
--#6632=CARTESIAN_POINT('',(7.5E0,1.562633489099E0,7.5E0));
--#6633=DIRECTION('',(0.E0,-1.E0,0.E0));
--#6634=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6635=AXIS2_PLACEMENT_3D('',#6632,#6633,#6634);
--#6636=CYLINDRICAL_SURFACE('',#6635,5.E0);
--#6638=ORIENTED_EDGE('',*,*,#6637,.F.);
--#6639=ORIENTED_EDGE('',*,*,#6227,.T.);
--#6640=ORIENTED_EDGE('',*,*,#6624,.T.);
--#6641=ORIENTED_EDGE('',*,*,#5544,.T.);
--#6642=EDGE_LOOP('',(#6638,#6639,#6640,#6641));
--#6643=FACE_OUTER_BOUND('',#6642,.F.);
--#6644=ADVANCED_FACE('',(#6643),#6636,.F.);
--#6645=CARTESIAN_POINT('',(3.531373033403E0,1.157860978230E1,7.E0));
--#6646=DIRECTION('',(0.E0,-1.E0,0.E0));
--#6647=DIRECTION('',(0.E0,0.E0,1.E0));
--#6648=AXIS2_PLACEMENT_3D('',#6645,#6646,#6647);
--#6649=CYLINDRICAL_SURFACE('',#6648,1.E0);
--#6650=ORIENTED_EDGE('',*,*,#5991,.F.);
--#6651=ORIENTED_EDGE('',*,*,#6229,.T.);
--#6652=ORIENTED_EDGE('',*,*,#6637,.T.);
--#6653=ORIENTED_EDGE('',*,*,#5542,.T.);
--#6654=EDGE_LOOP('',(#6650,#6651,#6652,#6653));
--#6655=FACE_OUTER_BOUND('',#6654,.F.);
--#6656=ADVANCED_FACE('',(#6655),#6649,.F.);
--#6657=CARTESIAN_POINT('',(-1.E0,1.161044894892E1,7.E0));
--#6658=DIRECTION('',(0.E0,-1.E0,0.E0));
--#6659=DIRECTION('',(1.E0,0.E0,0.E0));
--#6660=AXIS2_PLACEMENT_3D('',#6657,#6658,#6659);
--#6661=CYLINDRICAL_SURFACE('',#6660,1.E0);
--#6663=ORIENTED_EDGE('',*,*,#6662,.F.);
--#6664=ORIENTED_EDGE('',*,*,#6232,.T.);
--#6665=ORIENTED_EDGE('',*,*,#5987,.T.);
--#6666=ORIENTED_EDGE('',*,*,#5508,.T.);
--#6667=EDGE_LOOP('',(#6663,#6664,#6665,#6666));
--#6668=FACE_OUTER_BOUND('',#6667,.F.);
--#6669=ADVANCED_FACE('',(#6668),#6661,.F.);
--#6670=CARTESIAN_POINT('',(0.E0,0.E0,0.E0));
--#6671=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6672=DIRECTION('',(0.E0,0.E0,1.E0));
--#6673=AXIS2_PLACEMENT_3D('',#6670,#6671,#6672);
--#6674=PLANE('',#6673);
--#6676=ORIENTED_EDGE('',*,*,#6675,.T.);
--#6677=ORIENTED_EDGE('',*,*,#6302,.T.);
--#6679=ORIENTED_EDGE('',*,*,#6678,.F.);
--#6680=ORIENTED_EDGE('',*,*,#5520,.F.);
--#6681=EDGE_LOOP('',(#6676,#6677,#6679,#6680));
--#6682=FACE_OUTER_BOUND('',#6681,.F.);
--#6683=ADVANCED_FACE('',(#6682),#6674,.T.);
--#6684=CARTESIAN_POINT('',(0.E0,0.E0,0.E0));
--#6685=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6686=DIRECTION('',(0.E0,0.E0,1.E0));
--#6687=AXIS2_PLACEMENT_3D('',#6684,#6685,#6686);
--#6688=PLANE('',#6687);
--#6689=ORIENTED_EDGE('',*,*,#6662,.T.);
--#6690=ORIENTED_EDGE('',*,*,#5506,.F.);
--#6692=ORIENTED_EDGE('',*,*,#6691,.T.);
--#6693=ORIENTED_EDGE('',*,*,#6234,.T.);
--#6694=EDGE_LOOP('',(#6689,#6690,#6692,#6693));
--#6695=FACE_OUTER_BOUND('',#6694,.F.);
--#6696=ADVANCED_FACE('',(#6695),#6688,.T.);
--#6697=CARTESIAN_POINT('',(-1.E0,-5.722942641981E-2,1.325E1));
--#6698=DIRECTION('',(0.E0,1.E0,0.E0));
--#6699=DIRECTION('',(1.E0,0.E0,0.E0));
--#6700=AXIS2_PLACEMENT_3D('',#6697,#6698,#6699);
--#6701=CYLINDRICAL_SURFACE('',#6700,1.E0);
--#6702=ORIENTED_EDGE('',*,*,#6675,.F.);
--#6703=ORIENTED_EDGE('',*,*,#5518,.T.);
--#6705=ORIENTED_EDGE('',*,*,#6704,.T.);
--#6706=ORIENTED_EDGE('',*,*,#6304,.T.);
--#6707=EDGE_LOOP('',(#6702,#6703,#6705,#6706));
--#6708=FACE_OUTER_BOUND('',#6707,.F.);
--#6709=ADVANCED_FACE('',(#6708),#6701,.F.);
--#6710=CARTESIAN_POINT('',(-2.E0,0.E0,1.225E1));
--#6711=DIRECTION('',(0.E0,0.E0,1.E0));
--#6712=DIRECTION('',(1.E0,0.E0,0.E0));
--#6713=AXIS2_PLACEMENT_3D('',#6710,#6711,#6712);
--#6714=PLANE('',#6713);
--#6716=ORIENTED_EDGE('',*,*,#6715,.F.);
--#6717=ORIENTED_EDGE('',*,*,#6442,.T.);
--#6719=ORIENTED_EDGE('',*,*,#6718,.F.);
--#6720=ORIENTED_EDGE('',*,*,#5668,.F.);
--#6721=EDGE_LOOP('',(#6716,#6717,#6719,#6720));
--#6722=FACE_OUTER_BOUND('',#6721,.F.);
--#6723=ADVANCED_FACE('',(#6722),#6714,.T.);
--#6724=CARTESIAN_POINT('',(-2.E0,0.E0,1.225E1));
--#6725=DIRECTION('',(0.E0,0.E0,1.E0));
--#6726=DIRECTION('',(1.E0,0.E0,0.E0));
--#6727=AXIS2_PLACEMENT_3D('',#6724,#6725,#6726);
--#6728=PLANE('',#6727);
--#6729=ORIENTED_EDGE('',*,*,#6704,.F.);
--#6730=ORIENTED_EDGE('',*,*,#5516,.F.);
--#6732=ORIENTED_EDGE('',*,*,#6731,.T.);
--#6733=ORIENTED_EDGE('',*,*,#6306,.T.);
--#6734=EDGE_LOOP('',(#6729,#6730,#6732,#6733));
--#6735=FACE_OUTER_BOUND('',#6734,.F.);
--#6736=ADVANCED_FACE('',(#6735),#6728,.T.);
--#6737=CARTESIAN_POINT('',(3.5E0,1.566978255297E0,1.325E1));
--#6738=DIRECTION('',(0.E0,-1.E0,0.E0));
--#6739=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6740=AXIS2_PLACEMENT_3D('',#6737,#6738,#6739);
--#6741=CYLINDRICAL_SURFACE('',#6740,1.E0);
--#6743=ORIENTED_EDGE('',*,*,#6742,.F.);
--#6744=ORIENTED_EDGE('',*,*,#6444,.T.);
--#6745=ORIENTED_EDGE('',*,*,#6715,.T.);
--#6746=ORIENTED_EDGE('',*,*,#5666,.T.);
--#6747=EDGE_LOOP('',(#6743,#6744,#6745,#6746));
--#6748=FACE_OUTER_BOUND('',#6747,.F.);
--#6749=ADVANCED_FACE('',(#6748),#6741,.F.);
--#6750=CARTESIAN_POINT('',(2.5E0,1.5E0,2.5E0));
--#6751=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6752=DIRECTION('',(0.E0,0.E0,1.E0));
--#6753=AXIS2_PLACEMENT_3D('',#6750,#6751,#6752);
--#6754=PLANE('',#6753);
--#6756=ORIENTED_EDGE('',*,*,#6755,.T.);
--#6757=ORIENTED_EDGE('',*,*,#5650,.T.);
--#6759=ORIENTED_EDGE('',*,*,#6758,.F.);
--#6760=ORIENTED_EDGE('',*,*,#6408,.F.);
--#6761=EDGE_LOOP('',(#6756,#6757,#6759,#6760));
--#6762=FACE_OUTER_BOUND('',#6761,.F.);
--#6763=ADVANCED_FACE('',(#6762),#6754,.F.);
--#6764=CARTESIAN_POINT('',(2.5E0,1.5E0,2.5E0));
--#6765=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6766=DIRECTION('',(0.E0,0.E0,1.E0));
--#6767=AXIS2_PLACEMENT_3D('',#6764,#6765,#6766);
--#6768=PLANE('',#6767);
--#6770=ORIENTED_EDGE('',*,*,#6769,.T.);
--#6771=ORIENTED_EDGE('',*,*,#6446,.F.);
--#6772=ORIENTED_EDGE('',*,*,#6742,.T.);
--#6773=ORIENTED_EDGE('',*,*,#5664,.T.);
--#6774=EDGE_LOOP('',(#6770,#6771,#6772,#6773));
--#6775=FACE_OUTER_BOUND('',#6774,.F.);
--#6776=ADVANCED_FACE('',(#6775),#6768,.F.);
--#6777=CARTESIAN_POINT('',(5.5E0,1.568923974228E0,2.19375E1));
--#6778=DIRECTION('',(0.E0,-1.E0,0.E0));
--#6779=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6780=AXIS2_PLACEMENT_3D('',#6777,#6778,#6779);
--#6781=CYLINDRICAL_SURFACE('',#6780,3.E0);
--#6782=ORIENTED_EDGE('',*,*,#6755,.F.);
--#6783=ORIENTED_EDGE('',*,*,#6406,.T.);
--#6785=ORIENTED_EDGE('',*,*,#6784,.T.);
--#6786=ORIENTED_EDGE('',*,*,#5652,.T.);
--#6787=EDGE_LOOP('',(#6782,#6783,#6785,#6786));
--#6788=FACE_OUTER_BOUND('',#6787,.F.);
--#6789=ADVANCED_FACE('',(#6788),#6781,.F.);
--#6790=CARTESIAN_POINT('',(2.5E0,0.E0,1.89375E1));
--#6791=DIRECTION('',(0.E0,0.E0,1.E0));
--#6792=DIRECTION('',(1.E0,0.E0,0.E0));
--#6793=AXIS2_PLACEMENT_3D('',#6790,#6791,#6792);
--#6794=PLANE('',#6793);
--#6795=ORIENTED_EDGE('',*,*,#6784,.F.);
--#6796=ORIENTED_EDGE('',*,*,#6404,.T.);
--#6798=ORIENTED_EDGE('',*,*,#6797,.F.);
--#6799=ORIENTED_EDGE('',*,*,#5638,.F.);
--#6800=EDGE_LOOP('',(#6795,#6796,#6798,#6799));
--#6801=FACE_OUTER_BOUND('',#6800,.F.);
--#6802=ADVANCED_FACE('',(#6801),#6794,.T.);
--#6803=CARTESIAN_POINT('',(1.85E1,-5.889194178308E-2,2.19375E1));
--#6804=DIRECTION('',(0.E0,1.E0,0.E0));
--#6805=DIRECTION('',(1.E0,0.E0,0.E0));
--#6806=AXIS2_PLACEMENT_3D('',#6803,#6804,#6805);
--#6807=CYLINDRICAL_SURFACE('',#6806,3.E0);
--#6809=ORIENTED_EDGE('',*,*,#6808,.F.);
--#6810=ORIENTED_EDGE('',*,*,#5640,.T.);
--#6811=ORIENTED_EDGE('',*,*,#6797,.T.);
--#6812=ORIENTED_EDGE('',*,*,#6402,.T.);
--#6813=EDGE_LOOP('',(#6809,#6810,#6811,#6812));
--#6814=FACE_OUTER_BOUND('',#6813,.F.);
--#6815=ADVANCED_FACE('',(#6814),#6807,.F.);
--#6816=CARTESIAN_POINT('',(2.15E1,1.5E0,2.95E1));
--#6817=DIRECTION('',(1.E0,0.E0,0.E0));
--#6818=DIRECTION('',(0.E0,0.E0,-1.E0));
--#6819=AXIS2_PLACEMENT_3D('',#6816,#6817,#6818);
--#6820=PLANE('',#6819);
--#6821=ORIENTED_EDGE('',*,*,#6808,.T.);
--#6822=ORIENTED_EDGE('',*,*,#6400,.F.);
--#6824=ORIENTED_EDGE('',*,*,#6823,.T.);
--#6825=ORIENTED_EDGE('',*,*,#5642,.T.);
--#6826=EDGE_LOOP('',(#6821,#6822,#6824,#6825));
--#6827=FACE_OUTER_BOUND('',#6826,.F.);
--#6828=ADVANCED_FACE('',(#6827),#6820,.F.);
--#6829=CARTESIAN_POINT('',(2.15E1,1.5E0,2.95E1));
--#6830=DIRECTION('',(1.E0,0.E0,0.E0));
--#6831=DIRECTION('',(0.E0,0.E0,-1.E0));
--#6832=AXIS2_PLACEMENT_3D('',#6829,#6830,#6831);
--#6833=PLANE('',#6832);
--#6835=ORIENTED_EDGE('',*,*,#6834,.T.);
--#6836=ORIENTED_EDGE('',*,*,#5656,.T.);
--#6838=ORIENTED_EDGE('',*,*,#6837,.T.);
--#6839=ORIENTED_EDGE('',*,*,#6422,.F.);
--#6840=EDGE_LOOP('',(#6835,#6836,#6838,#6839));
--#6841=FACE_OUTER_BOUND('',#6840,.F.);
--#6842=ADVANCED_FACE('',(#6841),#6833,.F.);
--#6843=CARTESIAN_POINT('',(1.65E1,1.562633489099E0,2.45E1));
--#6844=DIRECTION('',(0.E0,-1.E0,0.E0));
--#6845=DIRECTION('',(1.E0,0.E0,0.E0));
--#6846=AXIS2_PLACEMENT_3D('',#6843,#6844,#6845);
--#6847=CYLINDRICAL_SURFACE('',#6846,5.E0);
--#6848=ORIENTED_EDGE('',*,*,#6823,.F.);
--#6849=ORIENTED_EDGE('',*,*,#6414,.T.);
--#6851=ORIENTED_EDGE('',*,*,#6850,.T.);
--#6852=ORIENTED_EDGE('',*,*,#5644,.T.);
--#6853=EDGE_LOOP('',(#6848,#6849,#6851,#6852));
--#6854=FACE_OUTER_BOUND('',#6853,.F.);
--#6855=ADVANCED_FACE('',(#6854),#6847,.F.);
--#6856=CARTESIAN_POINT('',(2.5E0,1.5E0,2.95E1));
--#6857=DIRECTION('',(0.E0,0.E0,1.E0));
--#6858=DIRECTION('',(1.E0,0.E0,0.E0));
--#6859=AXIS2_PLACEMENT_3D('',#6856,#6857,#6858);
--#6860=PLANE('',#6859);
--#6862=ORIENTED_EDGE('',*,*,#6861,.T.);
--#6863=ORIENTED_EDGE('',*,*,#5646,.T.);
--#6864=ORIENTED_EDGE('',*,*,#6850,.F.);
--#6865=ORIENTED_EDGE('',*,*,#6412,.F.);
--#6866=EDGE_LOOP('',(#6862,#6863,#6864,#6865));
--#6867=FACE_OUTER_BOUND('',#6866,.F.);
--#6868=ADVANCED_FACE('',(#6867),#6860,.F.);
--#6869=CARTESIAN_POINT('',(7.5E0,1.562633489099E0,2.45E1));
--#6870=DIRECTION('',(0.E0,-1.E0,0.E0));
--#6871=DIRECTION('',(0.E0,0.E0,1.E0));
--#6872=AXIS2_PLACEMENT_3D('',#6869,#6870,#6871);
--#6873=CYLINDRICAL_SURFACE('',#6872,5.E0);
--#6874=ORIENTED_EDGE('',*,*,#6861,.F.);
--#6875=ORIENTED_EDGE('',*,*,#6410,.T.);
--#6876=ORIENTED_EDGE('',*,*,#6758,.T.);
--#6877=ORIENTED_EDGE('',*,*,#5648,.T.);
--#6878=EDGE_LOOP('',(#6874,#6875,#6876,#6877));
--#6879=FACE_OUTER_BOUND('',#6878,.F.);
--#6880=ADVANCED_FACE('',(#6879),#6873,.F.);
--#6881=CARTESIAN_POINT('',(1.85E1,1.568923974228E0,1.40625E1));
--#6882=DIRECTION('',(0.E0,-1.E0,0.E0));
--#6883=DIRECTION('',(1.E0,0.E0,0.E0));
--#6884=AXIS2_PLACEMENT_3D('',#6881,#6882,#6883);
--#6885=CYLINDRICAL_SURFACE('',#6884,3.E0);
--#6886=ORIENTED_EDGE('',*,*,#6834,.F.);
--#6887=ORIENTED_EDGE('',*,*,#6420,.T.);
--#6889=ORIENTED_EDGE('',*,*,#6888,.T.);
--#6890=ORIENTED_EDGE('',*,*,#5658,.T.);
--#6891=EDGE_LOOP('',(#6886,#6887,#6889,#6890));
--#6892=FACE_OUTER_BOUND('',#6891,.F.);
--#6893=ADVANCED_FACE('',(#6892),#6885,.F.);
--#6894=CARTESIAN_POINT('',(2.15E1,0.E0,1.70625E1));
--#6895=DIRECTION('',(0.E0,0.E0,-1.E0));
--#6896=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6897=AXIS2_PLACEMENT_3D('',#6894,#6895,#6896);
--#6898=PLANE('',#6897);
--#6899=ORIENTED_EDGE('',*,*,#6888,.F.);
--#6900=ORIENTED_EDGE('',*,*,#6418,.T.);
--#6902=ORIENTED_EDGE('',*,*,#6901,.F.);
--#6903=ORIENTED_EDGE('',*,*,#5660,.F.);
--#6904=EDGE_LOOP('',(#6899,#6900,#6902,#6903));
--#6905=FACE_OUTER_BOUND('',#6904,.F.);
--#6906=ADVANCED_FACE('',(#6905),#6898,.T.);
--#6907=CARTESIAN_POINT('',(5.5E0,-5.889194178308E-2,1.40625E1));
--#6908=DIRECTION('',(0.E0,1.E0,0.E0));
--#6909=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6910=AXIS2_PLACEMENT_3D('',#6907,#6908,#6909);
--#6911=CYLINDRICAL_SURFACE('',#6910,3.E0);
--#6912=ORIENTED_EDGE('',*,*,#6769,.F.);
--#6913=ORIENTED_EDGE('',*,*,#5662,.T.);
--#6914=ORIENTED_EDGE('',*,*,#6901,.T.);
--#6915=ORIENTED_EDGE('',*,*,#6448,.T.);
--#6916=EDGE_LOOP('',(#6912,#6913,#6914,#6915));
--#6917=FACE_OUTER_BOUND('',#6916,.F.);
--#6918=ADVANCED_FACE('',(#6917),#6911,.F.);
--#6919=CARTESIAN_POINT('',(2.05E1,-5.889194178308E-2,1.325E1));
--#6920=DIRECTION('',(0.E0,1.E0,0.E0));
--#6921=DIRECTION('',(1.E0,0.E0,0.E0));
--#6922=AXIS2_PLACEMENT_3D('',#6919,#6920,#6921);
--#6923=CYLINDRICAL_SURFACE('',#6922,1.E0);
--#6924=ORIENTED_EDGE('',*,*,#6837,.F.);
--#6925=ORIENTED_EDGE('',*,*,#5686,.T.);
--#6927=ORIENTED_EDGE('',*,*,#6926,.T.);
--#6928=ORIENTED_EDGE('',*,*,#6424,.T.);
--#6929=EDGE_LOOP('',(#6924,#6925,#6927,#6928));
--#6930=FACE_OUTER_BOUND('',#6929,.F.);
--#6931=ADVANCED_FACE('',(#6930),#6923,.F.);
--#6932=CARTESIAN_POINT('',(2.6E1,0.E0,1.225E1));
--#6933=DIRECTION('',(0.E0,0.E0,-1.E0));
--#6934=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6935=AXIS2_PLACEMENT_3D('',#6932,#6933,#6934);
--#6936=PLANE('',#6935);
--#6938=ORIENTED_EDGE('',*,*,#6937,.F.);
--#6939=ORIENTED_EDGE('',*,*,#6290,.F.);
--#6941=ORIENTED_EDGE('',*,*,#6940,.T.);
--#6942=ORIENTED_EDGE('',*,*,#5532,.T.);
--#6943=EDGE_LOOP('',(#6938,#6939,#6941,#6942));
--#6944=FACE_OUTER_BOUND('',#6943,.F.);
--#6945=ADVANCED_FACE('',(#6944),#6936,.F.);
--#6946=CARTESIAN_POINT('',(2.6E1,0.E0,1.225E1));
--#6947=DIRECTION('',(0.E0,0.E0,-1.E0));
--#6948=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6949=AXIS2_PLACEMENT_3D('',#6946,#6947,#6948);
--#6950=PLANE('',#6949);
--#6951=ORIENTED_EDGE('',*,*,#6926,.F.);
--#6952=ORIENTED_EDGE('',*,*,#5684,.T.);
--#6954=ORIENTED_EDGE('',*,*,#6953,.F.);
--#6955=ORIENTED_EDGE('',*,*,#6426,.F.);
--#6956=EDGE_LOOP('',(#6951,#6952,#6954,#6955));
--#6957=FACE_OUTER_BOUND('',#6956,.F.);
--#6958=ADVANCED_FACE('',(#6957),#6950,.F.);
--#6959=CARTESIAN_POINT('',(2.5E1,1.568923974228E0,1.325E1));
--#6960=DIRECTION('',(0.E0,-1.E0,0.E0));
--#6961=DIRECTION('',(-1.E0,0.E0,0.E0));
--#6962=AXIS2_PLACEMENT_3D('',#6959,#6960,#6961);
--#6963=CYLINDRICAL_SURFACE('',#6962,1.E0);
--#6965=ORIENTED_EDGE('',*,*,#6964,.F.);
--#6966=ORIENTED_EDGE('',*,*,#6292,.T.);
--#6967=ORIENTED_EDGE('',*,*,#6937,.T.);
--#6968=ORIENTED_EDGE('',*,*,#5530,.T.);
--#6969=EDGE_LOOP('',(#6965,#6966,#6967,#6968));
--#6970=FACE_OUTER_BOUND('',#6969,.F.);
--#6971=ADVANCED_FACE('',(#6970),#6963,.F.);
--#6972=CARTESIAN_POINT('',(2.4E1,0.E0,3.2E1));
--#6973=DIRECTION('',(1.E0,0.E0,0.E0));
--#6974=DIRECTION('',(0.E0,0.E0,-1.E0));
--#6975=AXIS2_PLACEMENT_3D('',#6972,#6973,#6974);
--#6976=PLANE('',#6975);
--#6977=ORIENTED_EDGE('',*,*,#6964,.T.);
--#6978=ORIENTED_EDGE('',*,*,#5528,.F.);
--#6980=ORIENTED_EDGE('',*,*,#6979,.T.);
--#6981=ORIENTED_EDGE('',*,*,#6294,.T.);
--#6982=EDGE_LOOP('',(#6977,#6978,#6980,#6981));
--#6983=FACE_OUTER_BOUND('',#6982,.F.);
--#6984=ADVANCED_FACE('',(#6983),#6976,.T.);
--#6985=CARTESIAN_POINT('',(2.4E1,0.E0,3.2E1));
--#6986=DIRECTION('',(1.E0,0.E0,0.E0));
--#6987=DIRECTION('',(0.E0,0.E0,-1.E0));
--#6988=AXIS2_PLACEMENT_3D('',#6985,#6986,#6987);
--#6989=PLANE('',#6988);
--#6991=ORIENTED_EDGE('',*,*,#6990,.T.);
--#6992=ORIENTED_EDGE('',*,*,#6242,.T.);
--#6994=ORIENTED_EDGE('',*,*,#6993,.F.);
--#6995=ORIENTED_EDGE('',*,*,#5498,.F.);
--#6996=EDGE_LOOP('',(#6991,#6992,#6994,#6995));
--#6997=FACE_OUTER_BOUND('',#6996,.F.);
--#6998=ADVANCED_FACE('',(#6997),#6989,.T.);
--#6999=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
--#7000=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
--#7001=DIRECTION('',(0.E0,1.E0,0.E0));
--#7002=AXIS2_PLACEMENT_3D('',#6999,#7000,#7001);
--#7003=PLANE('',#7002);
--#7004=ORIENTED_EDGE('',*,*,#6979,.F.);
--#7005=ORIENTED_EDGE('',*,*,#5526,.T.);
--#7007=ORIENTED_EDGE('',*,*,#7006,.T.);
--#7008=ORIENTED_EDGE('',*,*,#6296,.F.);
--#7009=EDGE_LOOP('',(#7004,#7005,#7007,#7008));
--#7010=FACE_OUTER_BOUND('',#7009,.F.);
--#7011=ADVANCED_FACE('',(#7010),#7003,.T.);
--#7012=CARTESIAN_POINT('',(0.E0,0.E0,3.2E1));
--#7013=DIRECTION('',(0.E0,0.E0,1.E0));
--#7014=DIRECTION('',(1.E0,0.E0,0.E0));
--#7015=AXIS2_PLACEMENT_3D('',#7012,#7013,#7014);
--#7016=PLANE('',#7015);
--#7017=ORIENTED_EDGE('',*,*,#5524,.F.);
--#7019=ORIENTED_EDGE('',*,*,#7018,.T.);
--#7020=ORIENTED_EDGE('',*,*,#6298,.T.);
--#7021=ORIENTED_EDGE('',*,*,#7006,.F.);
--#7022=EDGE_LOOP('',(#7017,#7019,#7020,#7021));
--#7023=FACE_OUTER_BOUND('',#7022,.F.);
--#7024=ADVANCED_FACE('',(#7023),#7016,.T.);
--#7025=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
--#7026=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
--#7027=DIRECTION('',(0.E0,1.E0,0.E0));
--#7028=AXIS2_PLACEMENT_3D('',#7025,#7026,#7027);
--#7029=PLANE('',#7028);
--#7030=ORIENTED_EDGE('',*,*,#7018,.F.);
--#7031=ORIENTED_EDGE('',*,*,#5522,.T.);
--#7032=ORIENTED_EDGE('',*,*,#6678,.T.);
--#7033=ORIENTED_EDGE('',*,*,#6300,.F.);
--#7034=EDGE_LOOP('',(#7030,#7031,#7032,#7033));
--#7035=FACE_OUTER_BOUND('',#7034,.F.);
--#7036=ADVANCED_FACE('',(#7035),#7029,.T.);
--#7037=CARTESIAN_POINT('',(2.5E1,-7.055249658685E-2,7.E0));
--#7038=DIRECTION('',(0.E0,1.E0,0.E0));
--#7039=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7040=AXIS2_PLACEMENT_3D('',#7037,#7038,#7039);
--#7041=CYLINDRICAL_SURFACE('',#7040,1.E0);
--#7042=ORIENTED_EDGE('',*,*,#6990,.F.);
--#7043=ORIENTED_EDGE('',*,*,#5496,.T.);
--#7044=ORIENTED_EDGE('',*,*,#5965,.T.);
--#7045=ORIENTED_EDGE('',*,*,#6244,.T.);
--#7046=EDGE_LOOP('',(#7042,#7043,#7044,#7045));
--#7047=FACE_OUTER_BOUND('',#7046,.F.);
--#7048=ADVANCED_FACE('',(#7047),#7041,.F.);
--#7049=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
--#7050=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
--#7051=DIRECTION('',(0.E0,1.E0,0.E0));
--#7052=AXIS2_PLACEMENT_3D('',#7049,#7050,#7051);
--#7053=PLANE('',#7052);
--#7055=ORIENTED_EDGE('',*,*,#7054,.F.);
--#7056=ORIENTED_EDGE('',*,*,#5500,.T.);
--#7057=ORIENTED_EDGE('',*,*,#6993,.T.);
--#7058=ORIENTED_EDGE('',*,*,#6240,.F.);
--#7059=EDGE_LOOP('',(#7055,#7056,#7057,#7058));
--#7060=FACE_OUTER_BOUND('',#7059,.F.);
--#7061=ADVANCED_FACE('',(#7060),#7053,.T.);
--#7062=CARTESIAN_POINT('',(2.4E1,0.E0,0.E0));
--#7063=DIRECTION('',(0.E0,0.E0,-1.E0));
--#7064=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7065=AXIS2_PLACEMENT_3D('',#7062,#7063,#7064);
--#7066=PLANE('',#7065);
--#7067=ORIENTED_EDGE('',*,*,#5502,.F.);
--#7068=ORIENTED_EDGE('',*,*,#7054,.T.);
--#7069=ORIENTED_EDGE('',*,*,#6238,.T.);
--#7071=ORIENTED_EDGE('',*,*,#7070,.F.);
--#7072=EDGE_LOOP('',(#7067,#7068,#7069,#7071));
--#7073=FACE_OUTER_BOUND('',#7072,.F.);
--#7074=ADVANCED_FACE('',(#7073),#7066,.T.);
--#7075=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
--#7076=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
--#7077=DIRECTION('',(0.E0,1.E0,0.E0));
--#7078=AXIS2_PLACEMENT_3D('',#7075,#7076,#7077);
--#7079=PLANE('',#7078);
--#7080=ORIENTED_EDGE('',*,*,#6691,.F.);
--#7081=ORIENTED_EDGE('',*,*,#5504,.T.);
--#7082=ORIENTED_EDGE('',*,*,#7070,.T.);
--#7083=ORIENTED_EDGE('',*,*,#6236,.F.);
--#7084=EDGE_LOOP('',(#7080,#7081,#7082,#7083));
--#7085=FACE_OUTER_BOUND('',#7084,.F.);
--#7086=ADVANCED_FACE('',(#7085),#7079,.T.);
--#7087=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
--#7088=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
--#7089=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7090=AXIS2_PLACEMENT_3D('',#7087,#7088,#7089);
--#7091=PLANE('',#7090);
--#7092=ORIENTED_EDGE('',*,*,#6940,.F.);
--#7093=ORIENTED_EDGE('',*,*,#6288,.T.);
--#7095=ORIENTED_EDGE('',*,*,#7094,.T.);
--#7096=ORIENTED_EDGE('',*,*,#5534,.F.);
--#7097=EDGE_LOOP('',(#7092,#7093,#7095,#7096));
--#7098=FACE_OUTER_BOUND('',#7097,.F.);
--#7099=ADVANCED_FACE('',(#7098),#7091,.T.);
--#7100=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0));
--#7101=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7102=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7103=AXIS2_PLACEMENT_3D('',#7100,#7101,#7102);
--#7104=PLANE('',#7103);
--#7105=ORIENTED_EDGE('',*,*,#5968,.T.);
--#7106=ORIENTED_EDGE('',*,*,#5536,.T.);
--#7107=ORIENTED_EDGE('',*,*,#7094,.F.);
--#7108=ORIENTED_EDGE('',*,*,#6286,.F.);
--#7109=ORIENTED_EDGE('',*,*,#6165,.F.);
--#7111=ORIENTED_EDGE('',*,*,#7110,.F.);
--#7112=EDGE_LOOP('',(#7105,#7106,#7107,#7108,#7109,#7111));
--#7113=FACE_OUTER_BOUND('',#7112,.F.);
--#7114=ADVANCED_FACE('',(#7113),#7104,.F.);
--#7115=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
--#7116=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0));
--#7117=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
--#7118=AXIS2_PLACEMENT_3D('',#7115,#7116,#7117);
--#7119=PLANE('',#7118);
--#7120=ORIENTED_EDGE('',*,*,#5970,.T.);
--#7121=ORIENTED_EDGE('',*,*,#7110,.T.);
--#7122=ORIENTED_EDGE('',*,*,#6163,.F.);
--#7124=ORIENTED_EDGE('',*,*,#7123,.F.);
--#7125=EDGE_LOOP('',(#7120,#7121,#7122,#7124));
--#7126=FACE_OUTER_BOUND('',#7125,.F.);
--#7127=ADVANCED_FACE('',(#7126),#7119,.F.);
--#7128=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0));
--#7129=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7130=DIRECTION('',(1.E0,0.E0,0.E0));
--#7131=AXIS2_PLACEMENT_3D('',#7128,#7129,#7130);
--#7132=PLANE('',#7131);
--#7133=ORIENTED_EDGE('',*,*,#5972,.F.);
--#7134=ORIENTED_EDGE('',*,*,#7123,.T.);
--#7135=ORIENTED_EDGE('',*,*,#6161,.F.);
--#7137=ORIENTED_EDGE('',*,*,#7136,.F.);
--#7138=EDGE_LOOP('',(#7133,#7134,#7135,#7137));
--#7139=FACE_OUTER_BOUND('',#7138,.F.);
--#7141=ORIENTED_EDGE('',*,*,#7140,.T.);
--#7143=ORIENTED_EDGE('',*,*,#7142,.T.);
--#7144=EDGE_LOOP('',(#7141,#7143));
--#7145=FACE_BOUND('',#7144,.F.);
--#7147=ORIENTED_EDGE('',*,*,#7146,.T.);
--#7149=ORIENTED_EDGE('',*,*,#7148,.T.);
--#7150=EDGE_LOOP('',(#7147,#7149));
--#7151=FACE_BOUND('',#7150,.F.);
--#7152=ADVANCED_FACE('',(#7139,#7145,#7151),#7132,.F.);
--#7153=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
--#7154=DIRECTION('',(1.E0,0.E0,0.E0));
--#7155=DIRECTION('',(0.E0,1.E0,0.E0));
--#7156=AXIS2_PLACEMENT_3D('',#7153,#7154,#7155);
--#7157=PLANE('',#7156);
--#7159=ORIENTED_EDGE('',*,*,#7158,.T.);
--#7160=ORIENTED_EDGE('',*,*,#6430,.F.);
--#7162=ORIENTED_EDGE('',*,*,#7161,.T.);
--#7163=ORIENTED_EDGE('',*,*,#5680,.T.);
--#7164=EDGE_LOOP('',(#7159,#7160,#7162,#7163));
--#7165=FACE_OUTER_BOUND('',#7164,.F.);
--#7166=ADVANCED_FACE('',(#7165),#7157,.F.);
--#7167=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
--#7168=DIRECTION('',(1.E0,0.E0,0.E0));
--#7169=DIRECTION('',(0.E0,1.E0,0.E0));
--#7170=AXIS2_PLACEMENT_3D('',#7167,#7168,#7169);
--#7171=PLANE('',#7170);
--#7172=ORIENTED_EDGE('',*,*,#6325,.F.);
--#7173=ORIENTED_EDGE('',*,*,#5974,.T.);
--#7174=ORIENTED_EDGE('',*,*,#7136,.T.);
--#7175=ORIENTED_EDGE('',*,*,#6159,.F.);
--#7176=EDGE_LOOP('',(#7172,#7173,#7174,#7175));
--#7177=FACE_OUTER_BOUND('',#7176,.F.);
--#7178=ADVANCED_FACE('',(#7177),#7171,.F.);
--#7179=CARTESIAN_POINT('',(1.8E1,-7.099592191979E-2,1.1E1));
--#7180=DIRECTION('',(0.E0,1.E0,0.E0));
--#7181=DIRECTION('',(1.E0,0.E0,0.E0));
--#7182=AXIS2_PLACEMENT_3D('',#7179,#7180,#7181);
--#7183=CYLINDRICAL_SURFACE('',#7182,1.E0);
--#7184=ORIENTED_EDGE('',*,*,#7158,.F.);
--#7185=ORIENTED_EDGE('',*,*,#5678,.T.);
--#7187=ORIENTED_EDGE('',*,*,#7186,.T.);
--#7188=ORIENTED_EDGE('',*,*,#6432,.T.);
--#7189=EDGE_LOOP('',(#7184,#7185,#7187,#7188));
--#7190=FACE_OUTER_BOUND('',#7189,.F.);
--#7191=ADVANCED_FACE('',(#7190),#7183,.F.);
--#7192=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1));
--#7193=DIRECTION('',(0.E0,0.E0,1.E0));
--#7194=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7195=AXIS2_PLACEMENT_3D('',#7192,#7193,#7194);
--#7196=PLANE('',#7195);
--#7198=ORIENTED_EDGE('',*,*,#7197,.F.);
--#7199=ORIENTED_EDGE('',*,*,#6434,.T.);
--#7200=ORIENTED_EDGE('',*,*,#7186,.F.);
--#7201=ORIENTED_EDGE('',*,*,#5676,.F.);
--#7202=EDGE_LOOP('',(#7198,#7199,#7200,#7201));
--#7203=FACE_OUTER_BOUND('',#7202,.F.);
--#7204=ADVANCED_FACE('',(#7203),#7196,.T.);
--#7205=CARTESIAN_POINT('',(6.E0,1.567729432957E0,1.1E1));
--#7206=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7207=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7208=AXIS2_PLACEMENT_3D('',#7205,#7206,#7207);
--#7209=CYLINDRICAL_SURFACE('',#7208,1.E0);
--#7211=ORIENTED_EDGE('',*,*,#7210,.F.);
--#7212=ORIENTED_EDGE('',*,*,#6436,.T.);
--#7213=ORIENTED_EDGE('',*,*,#7197,.T.);
--#7214=ORIENTED_EDGE('',*,*,#5674,.T.);
--#7215=EDGE_LOOP('',(#7211,#7212,#7213,#7214));
--#7216=FACE_OUTER_BOUND('',#7215,.F.);
--#7217=ADVANCED_FACE('',(#7216),#7209,.F.);
--#7218=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
--#7219=DIRECTION('',(1.E0,0.E0,0.E0));
--#7220=DIRECTION('',(0.E0,1.E0,0.E0));
--#7221=AXIS2_PLACEMENT_3D('',#7218,#7219,#7220);
--#7222=PLANE('',#7221);
--#7223=ORIENTED_EDGE('',*,*,#7210,.T.);
--#7224=ORIENTED_EDGE('',*,*,#5672,.F.);
--#7226=ORIENTED_EDGE('',*,*,#7225,.T.);
--#7227=ORIENTED_EDGE('',*,*,#6438,.T.);
--#7228=EDGE_LOOP('',(#7223,#7224,#7226,#7227));
--#7229=FACE_OUTER_BOUND('',#7228,.F.);
--#7230=ADVANCED_FACE('',(#7229),#7222,.T.);
--#7231=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
--#7232=DIRECTION('',(1.E0,0.E0,0.E0));
--#7233=DIRECTION('',(0.E0,1.E0,0.E0));
--#7234=AXIS2_PLACEMENT_3D('',#7231,#7232,#7233);
--#7235=PLANE('',#7234);
--#7236=ORIENTED_EDGE('',*,*,#6322,.T.);
--#7238=ORIENTED_EDGE('',*,*,#7237,.T.);
--#7240=ORIENTED_EDGE('',*,*,#7239,.F.);
--#7241=ORIENTED_EDGE('',*,*,#5978,.T.);
--#7242=EDGE_LOOP('',(#7236,#7238,#7240,#7241));
--#7243=FACE_OUTER_BOUND('',#7242,.F.);
--#7244=ADVANCED_FACE('',(#7243),#7235,.T.);
--#7245=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
--#7246=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
--#7247=DIRECTION('',(0.E0,1.E0,0.E0));
--#7248=AXIS2_PLACEMENT_3D('',#7245,#7246,#7247);
--#7249=PLANE('',#7248);
--#7250=ORIENTED_EDGE('',*,*,#7225,.F.);
--#7251=ORIENTED_EDGE('',*,*,#5670,.T.);
--#7252=ORIENTED_EDGE('',*,*,#6718,.T.);
--#7253=ORIENTED_EDGE('',*,*,#6440,.F.);
--#7254=EDGE_LOOP('',(#7250,#7251,#7252,#7253));
--#7255=FACE_OUTER_BOUND('',#7254,.F.);
--#7256=ADVANCED_FACE('',(#7255),#7249,.T.);
--#7257=CARTESIAN_POINT('',(0.E0,0.E0,1.E1));
--#7258=DIRECTION('',(0.E0,0.E0,1.E0));
--#7259=DIRECTION('',(1.E0,0.E0,0.E0));
--#7260=AXIS2_PLACEMENT_3D('',#7257,#7258,#7259);
--#7261=PLANE('',#7260);
--#7263=ORIENTED_EDGE('',*,*,#7262,.F.);
--#7264=ORIENTED_EDGE('',*,*,#6312,.F.);
--#7266=ORIENTED_EDGE('',*,*,#7265,.F.);
--#7268=ORIENTED_EDGE('',*,*,#7267,.F.);
--#7270=ORIENTED_EDGE('',*,*,#7269,.F.);
--#7271=ORIENTED_EDGE('',*,*,#7237,.F.);
--#7272=ORIENTED_EDGE('',*,*,#6320,.F.);
--#7274=ORIENTED_EDGE('',*,*,#7273,.T.);
--#7276=ORIENTED_EDGE('',*,*,#7275,.F.);
--#7277=EDGE_LOOP('',(#7263,#7264,#7266,#7268,#7270,#7271,#7272,#7274,#7276));
--#7278=FACE_OUTER_BOUND('',#7277,.F.);
--#7280=ORIENTED_EDGE('',*,*,#7279,.T.);
--#7282=ORIENTED_EDGE('',*,*,#7281,.T.);
--#7283=EDGE_LOOP('',(#7280,#7282));
--#7284=FACE_BOUND('',#7283,.F.);
--#7286=ORIENTED_EDGE('',*,*,#7285,.F.);
--#7288=ORIENTED_EDGE('',*,*,#7287,.T.);
--#7290=ORIENTED_EDGE('',*,*,#7289,.F.);
--#7292=ORIENTED_EDGE('',*,*,#7291,.T.);
--#7294=ORIENTED_EDGE('',*,*,#7293,.F.);
--#7296=ORIENTED_EDGE('',*,*,#7295,.T.);
--#7298=ORIENTED_EDGE('',*,*,#7297,.F.);
--#7300=ORIENTED_EDGE('',*,*,#7299,.T.);
--#7302=ORIENTED_EDGE('',*,*,#7301,.F.);
--#7304=ORIENTED_EDGE('',*,*,#7303,.T.);
--#7306=ORIENTED_EDGE('',*,*,#7305,.F.);
--#7308=ORIENTED_EDGE('',*,*,#7307,.T.);
--#7309=EDGE_LOOP('',(#7286,#7288,#7290,#7292,#7294,#7296,#7298,#7300,#7302,#7304,
--#7306,#7308));
--#7310=FACE_BOUND('',#7309,.F.);
--#7311=ADVANCED_FACE('',(#7278,#7284,#7310),#7261,.T.);
--#7312=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0));
--#7313=DIRECTION('',(0.E0,0.E0,1.E0));
--#7314=DIRECTION('',(1.E0,0.E0,0.E0));
--#7315=AXIS2_PLACEMENT_3D('',#7312,#7313,#7314);
--#7316=CYLINDRICAL_SURFACE('',#7315,1.625E-1);
--#7317=ORIENTED_EDGE('',*,*,#6031,.T.);
--#7319=ORIENTED_EDGE('',*,*,#7318,.T.);
--#7320=ORIENTED_EDGE('',*,*,#7279,.F.);
--#7322=ORIENTED_EDGE('',*,*,#7321,.F.);
--#7323=EDGE_LOOP('',(#7317,#7319,#7320,#7322));
--#7324=FACE_OUTER_BOUND('',#7323,.F.);
--#7325=ADVANCED_FACE('',(#7324),#7316,.F.);
--#7326=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0));
--#7327=DIRECTION('',(0.E0,0.E0,1.E0));
--#7328=DIRECTION('',(1.E0,0.E0,0.E0));
--#7329=AXIS2_PLACEMENT_3D('',#7326,#7327,#7328);
--#7330=CYLINDRICAL_SURFACE('',#7329,1.625E-1);
--#7331=ORIENTED_EDGE('',*,*,#6033,.T.);
--#7332=ORIENTED_EDGE('',*,*,#7321,.T.);
--#7333=ORIENTED_EDGE('',*,*,#7281,.F.);
--#7334=ORIENTED_EDGE('',*,*,#7318,.F.);
--#7335=EDGE_LOOP('',(#7331,#7332,#7333,#7334));
--#7336=FACE_OUTER_BOUND('',#7335,.F.);
--#7337=ADVANCED_FACE('',(#7336),#7330,.F.);
--#7338=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.2E1));
--#7339=DIRECTION('',(1.E0,0.E0,0.E0));
--#7340=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7341=AXIS2_PLACEMENT_3D('',#7338,#7339,#7340);
--#7342=PLANE('',#7341);
--#7343=ORIENTED_EDGE('',*,*,#6314,.T.);
--#7344=ORIENTED_EDGE('',*,*,#7262,.T.);
--#7346=ORIENTED_EDGE('',*,*,#7345,.T.);
--#7347=EDGE_LOOP('',(#7343,#7344,#7346));
--#7348=FACE_OUTER_BOUND('',#7347,.F.);
--#7349=ADVANCED_FACE('',(#7348),#7342,.F.);
--#7350=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1));
--#7351=DIRECTION('',(0.E0,5.E-1,8.660254037844E-1));
--#7352=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
--#7353=AXIS2_PLACEMENT_3D('',#7350,#7351,#7352);
--#7354=PLANE('',#7353);
--#7355=ORIENTED_EDGE('',*,*,#6316,.F.);
--#7356=ORIENTED_EDGE('',*,*,#7345,.F.);
--#7357=ORIENTED_EDGE('',*,*,#7275,.T.);
--#7359=ORIENTED_EDGE('',*,*,#7358,.T.);
--#7360=EDGE_LOOP('',(#7355,#7356,#7357,#7359));
--#7361=FACE_OUTER_BOUND('',#7360,.F.);
--#7363=ORIENTED_EDGE('',*,*,#7362,.T.);
--#7365=ORIENTED_EDGE('',*,*,#7364,.T.);
--#7366=EDGE_LOOP('',(#7363,#7365));
--#7367=FACE_BOUND('',#7366,.F.);
--#7368=ADVANCED_FACE('',(#7361,#7367),#7354,.T.);
--#7369=CARTESIAN_POINT('',(2.E0,1.5E0,1.2E1));
--#7370=DIRECTION('',(1.E0,0.E0,0.E0));
--#7371=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7372=AXIS2_PLACEMENT_3D('',#7369,#7370,#7371);
--#7373=PLANE('',#7372);
--#7374=ORIENTED_EDGE('',*,*,#6318,.F.);
--#7375=ORIENTED_EDGE('',*,*,#7358,.F.);
--#7376=ORIENTED_EDGE('',*,*,#7273,.F.);
--#7377=EDGE_LOOP('',(#7374,#7375,#7376));
--#7378=FACE_OUTER_BOUND('',#7377,.F.);
--#7379=ADVANCED_FACE('',(#7378),#7373,.T.);
--#7380=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1));
--#7381=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7382=DIRECTION('',(1.E0,0.E0,0.E0));
--#7383=AXIS2_PLACEMENT_3D('',#7380,#7381,#7382);
--#7384=CYLINDRICAL_SURFACE('',#7383,2.575E-1);
--#7386=ORIENTED_EDGE('',*,*,#7385,.F.);
--#7387=ORIENTED_EDGE('',*,*,#7362,.F.);
--#7389=ORIENTED_EDGE('',*,*,#7388,.F.);
--#7391=ORIENTED_EDGE('',*,*,#7390,.F.);
--#7392=EDGE_LOOP('',(#7386,#7387,#7389,#7391));
--#7393=FACE_OUTER_BOUND('',#7392,.F.);
--#7394=ADVANCED_FACE('',(#7393),#7384,.F.);
--#7395=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1));
--#7396=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7397=DIRECTION('',(1.E0,0.E0,0.E0));
--#7398=AXIS2_PLACEMENT_3D('',#7395,#7396,#7397);
--#7399=CYLINDRICAL_SURFACE('',#7398,2.575E-1);
--#7400=ORIENTED_EDGE('',*,*,#7388,.T.);
--#7401=ORIENTED_EDGE('',*,*,#7364,.F.);
--#7402=ORIENTED_EDGE('',*,*,#7385,.T.);
--#7404=ORIENTED_EDGE('',*,*,#7403,.F.);
--#7405=EDGE_LOOP('',(#7400,#7401,#7402,#7404));
--#7406=FACE_OUTER_BOUND('',#7405,.F.);
--#7407=ADVANCED_FACE('',(#7406),#7399,.F.);
--#7408=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
--#7409=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7410=DIRECTION('',(1.E0,0.E0,0.E0));
--#7411=AXIS2_PLACEMENT_3D('',#7408,#7409,#7410);
--#7412=PLANE('',#7411);
--#7413=ORIENTED_EDGE('',*,*,#7390,.T.);
--#7414=ORIENTED_EDGE('',*,*,#7403,.T.);
--#7415=EDGE_LOOP('',(#7413,#7414));
--#7416=FACE_OUTER_BOUND('',#7415,.F.);
--#7418=ORIENTED_EDGE('',*,*,#7417,.F.);
--#7420=ORIENTED_EDGE('',*,*,#7419,.F.);
--#7421=EDGE_LOOP('',(#7418,#7420));
--#7422=FACE_BOUND('',#7421,.F.);
--#7423=ADVANCED_FACE('',(#7416,#7422),#7412,.F.);
--#7424=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1));
--#7425=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7426=DIRECTION('',(1.E0,0.E0,0.E0));
--#7427=AXIS2_PLACEMENT_3D('',#7424,#7425,#7426);
--#7428=CYLINDRICAL_SURFACE('',#7427,1.925E-1);
--#7429=ORIENTED_EDGE('',*,*,#7417,.T.);
--#7431=ORIENTED_EDGE('',*,*,#7430,.T.);
--#7432=ORIENTED_EDGE('',*,*,#5620,.F.);
--#7434=ORIENTED_EDGE('',*,*,#7433,.F.);
--#7435=EDGE_LOOP('',(#7429,#7431,#7432,#7434));
--#7436=FACE_OUTER_BOUND('',#7435,.F.);
--#7437=ADVANCED_FACE('',(#7436),#7428,.F.);
--#7438=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1));
--#7439=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7440=DIRECTION('',(1.E0,0.E0,0.E0));
--#7441=AXIS2_PLACEMENT_3D('',#7438,#7439,#7440);
--#7442=CYLINDRICAL_SURFACE('',#7441,1.925E-1);
--#7443=ORIENTED_EDGE('',*,*,#7419,.T.);
--#7444=ORIENTED_EDGE('',*,*,#7433,.T.);
--#7445=ORIENTED_EDGE('',*,*,#5622,.F.);
--#7446=ORIENTED_EDGE('',*,*,#7430,.F.);
--#7447=EDGE_LOOP('',(#7443,#7444,#7445,#7446));
--#7448=FACE_OUTER_BOUND('',#7447,.F.);
--#7449=ADVANCED_FACE('',(#7448),#7442,.F.);
--#7450=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0));
--#7451=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7452=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7453=AXIS2_PLACEMENT_3D('',#7450,#7451,#7452);
--#7454=PLANE('',#7453);
--#7455=ORIENTED_EDGE('',*,*,#7265,.T.);
--#7456=ORIENTED_EDGE('',*,*,#6310,.T.);
--#7458=ORIENTED_EDGE('',*,*,#7457,.F.);
--#7459=ORIENTED_EDGE('',*,*,#5512,.F.);
--#7460=ORIENTED_EDGE('',*,*,#5984,.T.);
--#7462=ORIENTED_EDGE('',*,*,#7461,.T.);
--#7463=EDGE_LOOP('',(#7455,#7456,#7458,#7459,#7460,#7462));
--#7464=FACE_OUTER_BOUND('',#7463,.F.);
--#7465=ADVANCED_FACE('',(#7464),#7454,.T.);
--#7466=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
--#7467=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
--#7468=DIRECTION('',(0.E0,1.E0,0.E0));
--#7469=AXIS2_PLACEMENT_3D('',#7466,#7467,#7468);
--#7470=PLANE('',#7469);
--#7471=ORIENTED_EDGE('',*,*,#6731,.F.);
--#7472=ORIENTED_EDGE('',*,*,#5514,.T.);
--#7473=ORIENTED_EDGE('',*,*,#7457,.T.);
--#7474=ORIENTED_EDGE('',*,*,#6308,.F.);
--#7475=EDGE_LOOP('',(#7471,#7472,#7473,#7474));
--#7476=FACE_OUTER_BOUND('',#7475,.F.);
--#7477=ADVANCED_FACE('',(#7476),#7470,.T.);
--#7478=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0));
--#7479=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
--#7480=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
--#7481=AXIS2_PLACEMENT_3D('',#7478,#7479,#7480);
--#7482=PLANE('',#7481);
--#7483=ORIENTED_EDGE('',*,*,#5982,.F.);
--#7485=ORIENTED_EDGE('',*,*,#7484,.T.);
--#7486=ORIENTED_EDGE('',*,*,#7267,.T.);
--#7487=ORIENTED_EDGE('',*,*,#7461,.F.);
--#7488=EDGE_LOOP('',(#7483,#7485,#7486,#7487));
--#7489=FACE_OUTER_BOUND('',#7488,.F.);
--#7490=ADVANCED_FACE('',(#7489),#7482,.T.);
--#7491=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
--#7492=DIRECTION('',(0.E0,1.E0,0.E0));
--#7493=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7494=AXIS2_PLACEMENT_3D('',#7491,#7492,#7493);
--#7495=PLANE('',#7494);
--#7496=ORIENTED_EDGE('',*,*,#5980,.F.);
--#7497=ORIENTED_EDGE('',*,*,#7239,.T.);
--#7498=ORIENTED_EDGE('',*,*,#7269,.T.);
--#7499=ORIENTED_EDGE('',*,*,#7484,.F.);
--#7500=EDGE_LOOP('',(#7496,#7497,#7498,#7499));
--#7501=FACE_OUTER_BOUND('',#7500,.F.);
--#7503=ORIENTED_EDGE('',*,*,#7502,.F.);
--#7505=ORIENTED_EDGE('',*,*,#7504,.F.);
--#7506=EDGE_LOOP('',(#7503,#7505));
--#7507=FACE_BOUND('',#7506,.F.);
--#7509=ORIENTED_EDGE('',*,*,#7508,.F.);
--#7511=ORIENTED_EDGE('',*,*,#7510,.F.);
--#7512=EDGE_LOOP('',(#7509,#7511));
--#7513=FACE_BOUND('',#7512,.F.);
--#7514=ADVANCED_FACE('',(#7501,#7507,#7513),#7495,.T.);
--#7515=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0));
--#7516=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7517=DIRECTION('',(1.E0,0.E0,0.E0));
--#7518=AXIS2_PLACEMENT_3D('',#7515,#7516,#7517);
--#7519=CYLINDRICAL_SURFACE('',#7518,9.5E-2);
--#7520=ORIENTED_EDGE('',*,*,#7502,.T.);
--#7522=ORIENTED_EDGE('',*,*,#7521,.T.);
--#7524=ORIENTED_EDGE('',*,*,#7523,.F.);
--#7526=ORIENTED_EDGE('',*,*,#7525,.F.);
--#7527=EDGE_LOOP('',(#7520,#7522,#7524,#7526));
--#7528=FACE_OUTER_BOUND('',#7527,.F.);
--#7529=ADVANCED_FACE('',(#7528),#7519,.F.);
--#7530=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0));
--#7531=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7532=DIRECTION('',(1.E0,0.E0,0.E0));
--#7533=AXIS2_PLACEMENT_3D('',#7530,#7531,#7532);
--#7534=CYLINDRICAL_SURFACE('',#7533,9.5E-2);
--#7535=ORIENTED_EDGE('',*,*,#7504,.T.);
--#7536=ORIENTED_EDGE('',*,*,#7525,.T.);
--#7538=ORIENTED_EDGE('',*,*,#7537,.F.);
--#7539=ORIENTED_EDGE('',*,*,#7521,.F.);
--#7540=EDGE_LOOP('',(#7535,#7536,#7538,#7539));
--#7541=FACE_OUTER_BOUND('',#7540,.F.);
--#7542=ADVANCED_FACE('',(#7541),#7534,.F.);
--#7543=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0));
--#7544=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7545=DIRECTION('',(1.E0,0.E0,0.E0));
--#7546=AXIS2_PLACEMENT_3D('',#7543,#7544,#7545);
--#7547=PLANE('',#7546);
--#7548=ORIENTED_EDGE('',*,*,#7523,.T.);
--#7549=ORIENTED_EDGE('',*,*,#7537,.T.);
--#7550=EDGE_LOOP('',(#7548,#7549));
--#7551=FACE_OUTER_BOUND('',#7550,.F.);
--#7552=ADVANCED_FACE('',(#7551),#7547,.F.);
--#7553=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0));
--#7554=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7555=DIRECTION('',(1.E0,0.E0,0.E0));
--#7556=AXIS2_PLACEMENT_3D('',#7553,#7554,#7555);
--#7557=CYLINDRICAL_SURFACE('',#7556,6.25E-2);
--#7558=ORIENTED_EDGE('',*,*,#7508,.T.);
--#7560=ORIENTED_EDGE('',*,*,#7559,.T.);
--#7562=ORIENTED_EDGE('',*,*,#7561,.F.);
--#7564=ORIENTED_EDGE('',*,*,#7563,.F.);
--#7565=EDGE_LOOP('',(#7558,#7560,#7562,#7564));
--#7566=FACE_OUTER_BOUND('',#7565,.F.);
--#7567=ADVANCED_FACE('',(#7566),#7557,.F.);
--#7568=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0));
--#7569=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7570=DIRECTION('',(1.E0,0.E0,0.E0));
--#7571=AXIS2_PLACEMENT_3D('',#7568,#7569,#7570);
--#7572=CYLINDRICAL_SURFACE('',#7571,6.25E-2);
--#7573=ORIENTED_EDGE('',*,*,#7510,.T.);
--#7574=ORIENTED_EDGE('',*,*,#7563,.T.);
--#7576=ORIENTED_EDGE('',*,*,#7575,.F.);
--#7577=ORIENTED_EDGE('',*,*,#7559,.F.);
--#7578=EDGE_LOOP('',(#7573,#7574,#7576,#7577));
--#7579=FACE_OUTER_BOUND('',#7578,.F.);
--#7580=ADVANCED_FACE('',(#7579),#7572,.F.);
--#7581=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0));
--#7582=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7583=DIRECTION('',(1.E0,0.E0,0.E0));
--#7584=AXIS2_PLACEMENT_3D('',#7581,#7582,#7583);
--#7585=PLANE('',#7584);
--#7586=ORIENTED_EDGE('',*,*,#7561,.T.);
--#7587=ORIENTED_EDGE('',*,*,#7575,.T.);
--#7588=EDGE_LOOP('',(#7586,#7587));
--#7589=FACE_OUTER_BOUND('',#7588,.F.);
--#7590=ADVANCED_FACE('',(#7589),#7585,.F.);
--#7591=CARTESIAN_POINT('',(2.15E0,6.65E0,9.441108058217E0));
--#7592=DIRECTION('',(0.E0,0.E0,1.E0));
--#7593=DIRECTION('',(1.E0,0.E0,0.E0));
--#7594=AXIS2_PLACEMENT_3D('',#7591,#7592,#7593);
--#7595=CYLINDRICAL_SURFACE('',#7594,3.5E-1);
--#7597=ORIENTED_EDGE('',*,*,#7596,.T.);
--#7598=ORIENTED_EDGE('',*,*,#7285,.T.);
--#7600=ORIENTED_EDGE('',*,*,#7599,.F.);
--#7602=ORIENTED_EDGE('',*,*,#7601,.T.);
--#7603=EDGE_LOOP('',(#7597,#7598,#7600,#7602));
--#7604=FACE_OUTER_BOUND('',#7603,.F.);
--#7605=ADVANCED_FACE('',(#7604),#7595,.T.);
--#7606=CARTESIAN_POINT('',(2.5E0,7.E0,1.E1));
--#7607=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7608=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7609=AXIS2_PLACEMENT_3D('',#7606,#7607,#7608);
--#7610=PLANE('',#7609);
--#7611=ORIENTED_EDGE('',*,*,#7596,.F.);
--#7613=ORIENTED_EDGE('',*,*,#7612,.T.);
--#7615=ORIENTED_EDGE('',*,*,#7614,.F.);
--#7616=ORIENTED_EDGE('',*,*,#7287,.F.);
--#7617=EDGE_LOOP('',(#7611,#7613,#7615,#7616));
--#7618=FACE_OUTER_BOUND('',#7617,.F.);
--#7619=ADVANCED_FACE('',(#7618),#7610,.F.);
--#7620=CARTESIAN_POINT('',(0.E0,0.E0,9.5E0));
--#7621=DIRECTION('',(0.E0,0.E0,1.E0));
--#7622=DIRECTION('',(1.E0,0.E0,0.E0));
--#7623=AXIS2_PLACEMENT_3D('',#7620,#7621,#7622);
--#7624=PLANE('',#7623);
--#7625=ORIENTED_EDGE('',*,*,#7612,.F.);
--#7626=ORIENTED_EDGE('',*,*,#7601,.F.);
--#7628=ORIENTED_EDGE('',*,*,#7627,.F.);
--#7630=ORIENTED_EDGE('',*,*,#7629,.F.);
--#7632=ORIENTED_EDGE('',*,*,#7631,.F.);
--#7634=ORIENTED_EDGE('',*,*,#7633,.F.);
--#7636=ORIENTED_EDGE('',*,*,#7635,.F.);
--#7638=ORIENTED_EDGE('',*,*,#7637,.F.);
--#7640=ORIENTED_EDGE('',*,*,#7639,.F.);
--#7642=ORIENTED_EDGE('',*,*,#7641,.F.);
--#7644=ORIENTED_EDGE('',*,*,#7643,.F.);
--#7646=ORIENTED_EDGE('',*,*,#7645,.F.);
--#7647=EDGE_LOOP('',(#7625,#7626,#7628,#7630,#7632,#7634,#7636,#7638,#7640,#7642,
--#7644,#7646));
--#7648=FACE_OUTER_BOUND('',#7647,.F.);
--#7649=ADVANCED_FACE('',(#7648),#7624,.T.);
--#7650=CARTESIAN_POINT('',(1.357969178416E0,7.E0,1.E1));
--#7651=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7652=DIRECTION('',(1.E0,0.E0,0.E0));
--#7653=AXIS2_PLACEMENT_3D('',#7650,#7651,#7652);
--#7654=PLANE('',#7653);
--#7655=ORIENTED_EDGE('',*,*,#7599,.T.);
--#7656=ORIENTED_EDGE('',*,*,#7307,.F.);
--#7658=ORIENTED_EDGE('',*,*,#7657,.T.);
--#7659=ORIENTED_EDGE('',*,*,#7627,.T.);
--#7660=EDGE_LOOP('',(#7655,#7656,#7658,#7659));
--#7661=FACE_OUTER_BOUND('',#7660,.F.);
--#7662=ADVANCED_FACE('',(#7661),#7654,.F.);
--#7663=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,1.006892397423E1));
--#7664=DIRECTION('',(0.E0,0.E0,-1.E0));
--#7665=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7666=AXIS2_PLACEMENT_3D('',#7663,#7664,#7665);
--#7667=CYLINDRICAL_SURFACE('',#7666,3.5E-1);
--#7668=ORIENTED_EDGE('',*,*,#7657,.F.);
--#7669=ORIENTED_EDGE('',*,*,#7305,.T.);
--#7671=ORIENTED_EDGE('',*,*,#7670,.T.);
--#7672=ORIENTED_EDGE('',*,*,#7629,.T.);
--#7673=EDGE_LOOP('',(#7668,#7669,#7671,#7672));
--#7674=FACE_OUTER_BOUND('',#7673,.F.);
--#7675=ADVANCED_FACE('',(#7674),#7667,.F.);
--#7676=CARTESIAN_POINT('',(2.746858067304E0,9.5E0,1.E1));
--#7677=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
--#7678=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
--#7679=AXIS2_PLACEMENT_3D('',#7676,#7677,#7678);
--#7680=PLANE('',#7679);
--#7681=ORIENTED_EDGE('',*,*,#7670,.F.);
--#7682=ORIENTED_EDGE('',*,*,#7303,.F.);
--#7684=ORIENTED_EDGE('',*,*,#7683,.T.);
--#7685=ORIENTED_EDGE('',*,*,#7631,.T.);
--#7686=EDGE_LOOP('',(#7681,#7682,#7684,#7685));
--#7687=FACE_OUTER_BOUND('',#7686,.F.);
--#7688=ADVANCED_FACE('',(#7687),#7680,.F.);
--#7689=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,1.006892397423E1));
--#7690=DIRECTION('',(0.E0,0.E0,-1.E0));
--#7691=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
--#7692=AXIS2_PLACEMENT_3D('',#7689,#7690,#7691);
--#7693=CYLINDRICAL_SURFACE('',#7692,3.5E-1);
--#7694=ORIENTED_EDGE('',*,*,#7683,.F.);
--#7695=ORIENTED_EDGE('',*,*,#7301,.T.);
--#7697=ORIENTED_EDGE('',*,*,#7696,.T.);
--#7698=ORIENTED_EDGE('',*,*,#7633,.T.);
--#7699=EDGE_LOOP('',(#7694,#7695,#7697,#7698));
--#7700=FACE_OUTER_BOUND('',#7699,.F.);
--#7701=ADVANCED_FACE('',(#7700),#7693,.F.);
--#7702=CARTESIAN_POINT('',(4.5E0,9.5E0,1.E1));
--#7703=DIRECTION('',(0.E0,1.E0,0.E0));
--#7704=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7705=AXIS2_PLACEMENT_3D('',#7702,#7703,#7704);
--#7706=PLANE('',#7705);
--#7707=ORIENTED_EDGE('',*,*,#7696,.F.);
--#7708=ORIENTED_EDGE('',*,*,#7299,.F.);
--#7710=ORIENTED_EDGE('',*,*,#7709,.T.);
--#7711=ORIENTED_EDGE('',*,*,#7635,.T.);
--#7712=EDGE_LOOP('',(#7707,#7708,#7710,#7711));
--#7713=FACE_OUTER_BOUND('',#7712,.F.);
--#7714=ADVANCED_FACE('',(#7713),#7706,.F.);
--#7715=CARTESIAN_POINT('',(4.15E0,9.15E0,1.006892397423E1));
--#7716=DIRECTION('',(0.E0,0.E0,-1.E0));
--#7717=DIRECTION('',(0.E0,1.E0,0.E0));
--#7718=AXIS2_PLACEMENT_3D('',#7715,#7716,#7717);
--#7719=CYLINDRICAL_SURFACE('',#7718,3.5E-1);
--#7720=ORIENTED_EDGE('',*,*,#7709,.F.);
--#7721=ORIENTED_EDGE('',*,*,#7297,.T.);
--#7723=ORIENTED_EDGE('',*,*,#7722,.T.);
--#7724=ORIENTED_EDGE('',*,*,#7637,.T.);
--#7725=EDGE_LOOP('',(#7720,#7721,#7723,#7724));
--#7726=FACE_OUTER_BOUND('',#7725,.F.);
--#7727=ADVANCED_FACE('',(#7726),#7719,.F.);
--#7728=CARTESIAN_POINT('',(4.5E0,2.E0,1.E1));
--#7729=DIRECTION('',(1.E0,0.E0,0.E0));
--#7730=DIRECTION('',(0.E0,1.E0,0.E0));
--#7731=AXIS2_PLACEMENT_3D('',#7728,#7729,#7730);
--#7732=PLANE('',#7731);
--#7734=ORIENTED_EDGE('',*,*,#7733,.T.);
--#7735=ORIENTED_EDGE('',*,*,#7639,.T.);
--#7736=ORIENTED_EDGE('',*,*,#7722,.F.);
--#7737=ORIENTED_EDGE('',*,*,#7295,.F.);
--#7738=EDGE_LOOP('',(#7734,#7735,#7736,#7737));
--#7739=FACE_OUTER_BOUND('',#7738,.F.);
--#7740=ADVANCED_FACE('',(#7739),#7732,.F.);
--#7741=CARTESIAN_POINT('',(4.15E0,2.35E0,1.006892397423E1));
--#7742=DIRECTION('',(0.E0,0.E0,-1.E0));
--#7743=DIRECTION('',(1.E0,0.E0,0.E0));
--#7744=AXIS2_PLACEMENT_3D('',#7741,#7742,#7743);
--#7745=CYLINDRICAL_SURFACE('',#7744,3.5E-1);
--#7746=ORIENTED_EDGE('',*,*,#7733,.F.);
--#7747=ORIENTED_EDGE('',*,*,#7293,.T.);
--#7749=ORIENTED_EDGE('',*,*,#7748,.T.);
--#7750=ORIENTED_EDGE('',*,*,#7641,.T.);
--#7751=EDGE_LOOP('',(#7746,#7747,#7749,#7750));
--#7752=FACE_OUTER_BOUND('',#7751,.F.);
--#7753=ADVANCED_FACE('',(#7752),#7745,.F.);
--#7754=CARTESIAN_POINT('',(2.5E0,2.E0,1.E1));
--#7755=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7756=DIRECTION('',(1.E0,0.E0,0.E0));
--#7757=AXIS2_PLACEMENT_3D('',#7754,#7755,#7756);
--#7758=PLANE('',#7757);
--#7760=ORIENTED_EDGE('',*,*,#7759,.T.);
--#7761=ORIENTED_EDGE('',*,*,#7643,.T.);
--#7762=ORIENTED_EDGE('',*,*,#7748,.F.);
--#7763=ORIENTED_EDGE('',*,*,#7291,.F.);
--#7764=EDGE_LOOP('',(#7760,#7761,#7762,#7763));
--#7765=FACE_OUTER_BOUND('',#7764,.F.);
--#7766=ADVANCED_FACE('',(#7765),#7758,.F.);
--#7767=CARTESIAN_POINT('',(2.85E0,2.35E0,1.006892397423E1));
--#7768=DIRECTION('',(0.E0,0.E0,-1.E0));
--#7769=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7770=AXIS2_PLACEMENT_3D('',#7767,#7768,#7769);
--#7771=CYLINDRICAL_SURFACE('',#7770,3.5E-1);
--#7772=ORIENTED_EDGE('',*,*,#7759,.F.);
--#7773=ORIENTED_EDGE('',*,*,#7289,.T.);
--#7774=ORIENTED_EDGE('',*,*,#7614,.T.);
--#7775=ORIENTED_EDGE('',*,*,#7645,.T.);
--#7776=EDGE_LOOP('',(#7772,#7773,#7774,#7775));
--#7777=FACE_OUTER_BOUND('',#7776,.F.);
--#7778=ADVANCED_FACE('',(#7777),#7771,.F.);
--#7779=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
--#7780=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
--#7781=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7782=AXIS2_PLACEMENT_3D('',#7779,#7780,#7781);
--#7783=PLANE('',#7782);
--#7784=ORIENTED_EDGE('',*,*,#7161,.F.);
--#7785=ORIENTED_EDGE('',*,*,#6428,.T.);
--#7786=ORIENTED_EDGE('',*,*,#6953,.T.);
--#7787=ORIENTED_EDGE('',*,*,#5682,.F.);
--#7788=EDGE_LOOP('',(#7784,#7785,#7786,#7787));
--#7789=FACE_OUTER_BOUND('',#7788,.F.);
--#7790=ADVANCED_FACE('',(#7789),#7783,.T.);
--#7791=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0));
--#7792=DIRECTION('',(0.E0,1.E0,0.E0));
--#7793=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7794=AXIS2_PLACEMENT_3D('',#7791,#7792,#7793);
--#7795=CYLINDRICAL_SURFACE('',#7794,9.5E-2);
--#7796=ORIENTED_EDGE('',*,*,#7140,.F.);
--#7798=ORIENTED_EDGE('',*,*,#7797,.T.);
--#7800=ORIENTED_EDGE('',*,*,#7799,.T.);
--#7802=ORIENTED_EDGE('',*,*,#7801,.F.);
--#7803=EDGE_LOOP('',(#7796,#7798,#7800,#7802));
--#7804=FACE_OUTER_BOUND('',#7803,.F.);
--#7805=ADVANCED_FACE('',(#7804),#7795,.F.);
--#7806=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0));
--#7807=DIRECTION('',(0.E0,1.E0,0.E0));
--#7808=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7809=AXIS2_PLACEMENT_3D('',#7806,#7807,#7808);
--#7810=CYLINDRICAL_SURFACE('',#7809,9.5E-2);
--#7811=ORIENTED_EDGE('',*,*,#7142,.F.);
--#7812=ORIENTED_EDGE('',*,*,#7801,.T.);
--#7814=ORIENTED_EDGE('',*,*,#7813,.T.);
--#7815=ORIENTED_EDGE('',*,*,#7797,.F.);
--#7816=EDGE_LOOP('',(#7811,#7812,#7814,#7815));
--#7817=FACE_OUTER_BOUND('',#7816,.F.);
--#7818=ADVANCED_FACE('',(#7817),#7810,.F.);
--#7819=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0));
--#7820=DIRECTION('',(0.E0,1.E0,0.E0));
--#7821=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7822=AXIS2_PLACEMENT_3D('',#7819,#7820,#7821);
--#7823=PLANE('',#7822);
--#7824=ORIENTED_EDGE('',*,*,#7799,.F.);
--#7825=ORIENTED_EDGE('',*,*,#7813,.F.);
--#7826=EDGE_LOOP('',(#7824,#7825));
--#7827=FACE_OUTER_BOUND('',#7826,.F.);
--#7828=ADVANCED_FACE('',(#7827),#7823,.T.);
--#7829=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0));
--#7830=DIRECTION('',(0.E0,1.E0,0.E0));
--#7831=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7832=AXIS2_PLACEMENT_3D('',#7829,#7830,#7831);
--#7833=CYLINDRICAL_SURFACE('',#7832,6.25E-2);
--#7834=ORIENTED_EDGE('',*,*,#7146,.F.);
--#7836=ORIENTED_EDGE('',*,*,#7835,.T.);
--#7838=ORIENTED_EDGE('',*,*,#7837,.T.);
--#7840=ORIENTED_EDGE('',*,*,#7839,.F.);
--#7841=EDGE_LOOP('',(#7834,#7836,#7838,#7840));
--#7842=FACE_OUTER_BOUND('',#7841,.F.);
--#7843=ADVANCED_FACE('',(#7842),#7833,.F.);
--#7844=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0));
--#7845=DIRECTION('',(0.E0,1.E0,0.E0));
--#7846=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7847=AXIS2_PLACEMENT_3D('',#7844,#7845,#7846);
--#7848=CYLINDRICAL_SURFACE('',#7847,6.25E-2);
--#7849=ORIENTED_EDGE('',*,*,#7148,.F.);
--#7850=ORIENTED_EDGE('',*,*,#7839,.T.);
--#7852=ORIENTED_EDGE('',*,*,#7851,.T.);
--#7853=ORIENTED_EDGE('',*,*,#7835,.F.);
--#7854=EDGE_LOOP('',(#7849,#7850,#7852,#7853));
--#7855=FACE_OUTER_BOUND('',#7854,.F.);
--#7856=ADVANCED_FACE('',(#7855),#7848,.F.);
--#7857=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0));
--#7858=DIRECTION('',(0.E0,1.E0,0.E0));
--#7859=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7860=AXIS2_PLACEMENT_3D('',#7857,#7858,#7859);
--#7861=PLANE('',#7860);
--#7862=ORIENTED_EDGE('',*,*,#7837,.F.);
--#7863=ORIENTED_EDGE('',*,*,#7851,.F.);
--#7864=EDGE_LOOP('',(#7862,#7863));
--#7865=FACE_OUTER_BOUND('',#7864,.F.);
--#7866=ADVANCED_FACE('',(#7865),#7861,.T.);
--#7867=CARTESIAN_POINT('',(1.755E1,1.176878221735E0,2.975E1));
--#7868=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7869=DIRECTION('',(1.E0,0.E0,0.E0));
--#7870=AXIS2_PLACEMENT_3D('',#7867,#7868,#7869);
--#7871=CYLINDRICAL_SURFACE('',#7870,1.E-1);
--#7872=ORIENTED_EDGE('',*,*,#6346,.F.);
--#7874=ORIENTED_EDGE('',*,*,#7873,.F.);
--#7876=ORIENTED_EDGE('',*,*,#7875,.T.);
--#7878=ORIENTED_EDGE('',*,*,#7877,.T.);
--#7879=EDGE_LOOP('',(#7872,#7874,#7876,#7878));
--#7880=FACE_OUTER_BOUND('',#7879,.F.);
--#7881=ADVANCED_FACE('',(#7880),#7871,.F.);
--#7882=CARTESIAN_POINT('',(1.755E1,1.176878221735E0,2.975E1));
--#7883=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7884=DIRECTION('',(1.E0,0.E0,0.E0));
--#7885=AXIS2_PLACEMENT_3D('',#7882,#7883,#7884);
--#7886=CYLINDRICAL_SURFACE('',#7885,1.E-1);
--#7887=ORIENTED_EDGE('',*,*,#6348,.F.);
--#7888=ORIENTED_EDGE('',*,*,#7877,.F.);
--#7890=ORIENTED_EDGE('',*,*,#7889,.F.);
--#7891=ORIENTED_EDGE('',*,*,#7873,.T.);
--#7892=EDGE_LOOP('',(#7887,#7888,#7890,#7891));
--#7893=FACE_OUTER_BOUND('',#7892,.F.);
--#7894=ADVANCED_FACE('',(#7893),#7886,.F.);
--#7895=CARTESIAN_POINT('',(1.755E1,1.234346967234E0,2.975E1));
--#7896=DIRECTION('',(0.E0,1.E0,0.E0));
--#7897=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7898=AXIS2_PLACEMENT_3D('',#7895,#7896,#7897);
--#7899=CONICAL_SURFACE('',#7898,7.288815195685E-2,6.E1);
--#7901=ORIENTED_EDGE('',*,*,#7900,.F.);
--#7903=ORIENTED_EDGE('',*,*,#7902,.T.);
--#7904=ORIENTED_EDGE('',*,*,#7889,.T.);
--#7905=EDGE_LOOP('',(#7901,#7903,#7904));
--#7906=FACE_OUTER_BOUND('',#7905,.F.);
--#7907=ADVANCED_FACE('',(#7906),#7899,.F.);
--#7908=CARTESIAN_POINT('',(1.755E1,1.234346967234E0,2.975E1));
--#7909=DIRECTION('',(0.E0,1.E0,0.E0));
--#7910=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7911=AXIS2_PLACEMENT_3D('',#7908,#7909,#7910);
--#7912=CONICAL_SURFACE('',#7911,7.288815195685E-2,6.E1);
--#7913=ORIENTED_EDGE('',*,*,#7900,.T.);
--#7914=ORIENTED_EDGE('',*,*,#7875,.F.);
--#7915=ORIENTED_EDGE('',*,*,#7902,.F.);
--#7916=EDGE_LOOP('',(#7913,#7914,#7915));
--#7917=FACE_OUTER_BOUND('',#7916,.F.);
--#7918=ADVANCED_FACE('',(#7917),#7912,.F.);
--#7919=CARTESIAN_POINT('',(1.655E1,1.176878221735E0,2.975E1));
--#7920=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7921=DIRECTION('',(1.E0,0.E0,0.E0));
--#7922=AXIS2_PLACEMENT_3D('',#7919,#7920,#7921);
--#7923=CYLINDRICAL_SURFACE('',#7922,1.E-1);
--#7924=ORIENTED_EDGE('',*,*,#6352,.F.);
--#7926=ORIENTED_EDGE('',*,*,#7925,.F.);
--#7928=ORIENTED_EDGE('',*,*,#7927,.T.);
--#7930=ORIENTED_EDGE('',*,*,#7929,.T.);
--#7931=EDGE_LOOP('',(#7924,#7926,#7928,#7930));
--#7932=FACE_OUTER_BOUND('',#7931,.F.);
--#7933=ADVANCED_FACE('',(#7932),#7923,.F.);
--#7934=CARTESIAN_POINT('',(1.655E1,1.176878221735E0,2.975E1));
--#7935=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7936=DIRECTION('',(1.E0,0.E0,0.E0));
--#7937=AXIS2_PLACEMENT_3D('',#7934,#7935,#7936);
--#7938=CYLINDRICAL_SURFACE('',#7937,1.E-1);
--#7939=ORIENTED_EDGE('',*,*,#6354,.F.);
--#7940=ORIENTED_EDGE('',*,*,#7929,.F.);
--#7942=ORIENTED_EDGE('',*,*,#7941,.F.);
--#7943=ORIENTED_EDGE('',*,*,#7925,.T.);
--#7944=EDGE_LOOP('',(#7939,#7940,#7942,#7943));
--#7945=FACE_OUTER_BOUND('',#7944,.F.);
--#7946=ADVANCED_FACE('',(#7945),#7938,.F.);
--#7947=CARTESIAN_POINT('',(1.655E1,1.234346967234E0,2.975E1));
--#7948=DIRECTION('',(0.E0,1.E0,0.E0));
--#7949=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7950=AXIS2_PLACEMENT_3D('',#7947,#7948,#7949);
--#7951=CONICAL_SURFACE('',#7950,7.288815195685E-2,6.E1);
--#7953=ORIENTED_EDGE('',*,*,#7952,.F.);
--#7955=ORIENTED_EDGE('',*,*,#7954,.T.);
--#7956=ORIENTED_EDGE('',*,*,#7941,.T.);
--#7957=EDGE_LOOP('',(#7953,#7955,#7956));
--#7958=FACE_OUTER_BOUND('',#7957,.F.);
--#7959=ADVANCED_FACE('',(#7958),#7951,.F.);
--#7960=CARTESIAN_POINT('',(1.655E1,1.234346967234E0,2.975E1));
--#7961=DIRECTION('',(0.E0,1.E0,0.E0));
--#7962=DIRECTION('',(-1.E0,0.E0,0.E0));
--#7963=AXIS2_PLACEMENT_3D('',#7960,#7961,#7962);
--#7964=CONICAL_SURFACE('',#7963,7.288815195685E-2,6.E1);
--#7965=ORIENTED_EDGE('',*,*,#7952,.T.);
--#7966=ORIENTED_EDGE('',*,*,#7927,.F.);
--#7967=ORIENTED_EDGE('',*,*,#7954,.F.);
--#7968=EDGE_LOOP('',(#7965,#7966,#7967));
--#7969=FACE_OUTER_BOUND('',#7968,.F.);
--#7970=ADVANCED_FACE('',(#7969),#7964,.F.);
--#7971=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
--#7972=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7973=DIRECTION('',(1.E0,0.E0,0.E0));
--#7974=AXIS2_PLACEMENT_3D('',#7971,#7972,#7973);
--#7975=CYLINDRICAL_SURFACE('',#7974,2.575E-1);
--#7976=ORIENTED_EDGE('',*,*,#6248,.T.);
--#7978=ORIENTED_EDGE('',*,*,#7977,.T.);
--#7980=ORIENTED_EDGE('',*,*,#7979,.F.);
--#7982=ORIENTED_EDGE('',*,*,#7981,.F.);
--#7983=EDGE_LOOP('',(#7976,#7978,#7980,#7982));
--#7984=FACE_OUTER_BOUND('',#7983,.F.);
--#7985=ADVANCED_FACE('',(#7984),#7975,.F.);
--#7986=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
--#7987=DIRECTION('',(0.E0,-1.E0,0.E0));
--#7988=DIRECTION('',(1.E0,0.E0,0.E0));
--#7989=AXIS2_PLACEMENT_3D('',#7986,#7987,#7988);
--#7990=CYLINDRICAL_SURFACE('',#7989,2.575E-1);
--#7991=ORIENTED_EDGE('',*,*,#6250,.T.);
--#7992=ORIENTED_EDGE('',*,*,#7981,.T.);
--#7994=ORIENTED_EDGE('',*,*,#7993,.F.);
--#7995=ORIENTED_EDGE('',*,*,#7977,.F.);
--#7996=EDGE_LOOP('',(#7991,#7992,#7994,#7995));
--#7997=FACE_OUTER_BOUND('',#7996,.F.);
--#7998=ADVANCED_FACE('',(#7997),#7990,.F.);
--#7999=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
--#8000=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8001=DIRECTION('',(1.E0,0.E0,0.E0));
--#8002=AXIS2_PLACEMENT_3D('',#7999,#8000,#8001);
--#8003=PLANE('',#8002);
--#8004=ORIENTED_EDGE('',*,*,#7979,.T.);
--#8005=ORIENTED_EDGE('',*,*,#7993,.T.);
--#8006=EDGE_LOOP('',(#8004,#8005));
--#8007=FACE_OUTER_BOUND('',#8006,.F.);
--#8009=ORIENTED_EDGE('',*,*,#8008,.F.);
--#8011=ORIENTED_EDGE('',*,*,#8010,.F.);
--#8012=EDGE_LOOP('',(#8009,#8011));
--#8013=FACE_BOUND('',#8012,.F.);
--#8014=ADVANCED_FACE('',(#8007,#8013),#8003,.F.);
--#8015=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
--#8016=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8017=DIRECTION('',(1.E0,0.E0,0.E0));
--#8018=AXIS2_PLACEMENT_3D('',#8015,#8016,#8017);
--#8019=CYLINDRICAL_SURFACE('',#8018,1.925E-1);
--#8020=ORIENTED_EDGE('',*,*,#8008,.T.);
--#8022=ORIENTED_EDGE('',*,*,#8021,.T.);
--#8023=ORIENTED_EDGE('',*,*,#5626,.F.);
--#8025=ORIENTED_EDGE('',*,*,#8024,.F.);
--#8026=EDGE_LOOP('',(#8020,#8022,#8023,#8025));
--#8027=FACE_OUTER_BOUND('',#8026,.F.);
--#8028=ADVANCED_FACE('',(#8027),#8019,.F.);
--#8029=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
--#8030=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8031=DIRECTION('',(1.E0,0.E0,0.E0));
--#8032=AXIS2_PLACEMENT_3D('',#8029,#8030,#8031);
--#8033=CYLINDRICAL_SURFACE('',#8032,1.925E-1);
--#8034=ORIENTED_EDGE('',*,*,#8010,.T.);
--#8035=ORIENTED_EDGE('',*,*,#8024,.T.);
--#8036=ORIENTED_EDGE('',*,*,#5628,.F.);
--#8037=ORIENTED_EDGE('',*,*,#8021,.F.);
--#8038=EDGE_LOOP('',(#8034,#8035,#8036,#8037));
--#8039=FACE_OUTER_BOUND('',#8038,.F.);
--#8040=ADVANCED_FACE('',(#8039),#8033,.F.);
--#8041=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
--#8042=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8043=DIRECTION('',(1.E0,0.E0,0.E0));
--#8044=AXIS2_PLACEMENT_3D('',#8041,#8042,#8043);
--#8045=CYLINDRICAL_SURFACE('',#8044,2.575E-1);
--#8046=ORIENTED_EDGE('',*,*,#6358,.T.);
--#8048=ORIENTED_EDGE('',*,*,#8047,.T.);
--#8050=ORIENTED_EDGE('',*,*,#8049,.F.);
--#8052=ORIENTED_EDGE('',*,*,#8051,.F.);
--#8053=EDGE_LOOP('',(#8046,#8048,#8050,#8052));
--#8054=FACE_OUTER_BOUND('',#8053,.F.);
--#8055=ADVANCED_FACE('',(#8054),#8045,.F.);
--#8056=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
--#8057=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8058=DIRECTION('',(1.E0,0.E0,0.E0));
--#8059=AXIS2_PLACEMENT_3D('',#8056,#8057,#8058);
--#8060=CYLINDRICAL_SURFACE('',#8059,2.575E-1);
--#8061=ORIENTED_EDGE('',*,*,#6360,.T.);
--#8062=ORIENTED_EDGE('',*,*,#8051,.T.);
--#8064=ORIENTED_EDGE('',*,*,#8063,.F.);
--#8065=ORIENTED_EDGE('',*,*,#8047,.F.);
--#8066=EDGE_LOOP('',(#8061,#8062,#8064,#8065));
--#8067=FACE_OUTER_BOUND('',#8066,.F.);
--#8068=ADVANCED_FACE('',(#8067),#8060,.F.);
--#8069=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
--#8070=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8071=DIRECTION('',(1.E0,0.E0,0.E0));
--#8072=AXIS2_PLACEMENT_3D('',#8069,#8070,#8071);
--#8073=PLANE('',#8072);
--#8074=ORIENTED_EDGE('',*,*,#8049,.T.);
--#8075=ORIENTED_EDGE('',*,*,#8063,.T.);
--#8076=EDGE_LOOP('',(#8074,#8075));
--#8077=FACE_OUTER_BOUND('',#8076,.F.);
--#8079=ORIENTED_EDGE('',*,*,#8078,.F.);
--#8081=ORIENTED_EDGE('',*,*,#8080,.F.);
--#8082=EDGE_LOOP('',(#8079,#8081));
--#8083=FACE_BOUND('',#8082,.F.);
--#8084=ADVANCED_FACE('',(#8077,#8083),#8073,.F.);
--#8085=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
--#8086=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8087=DIRECTION('',(1.E0,0.E0,0.E0));
--#8088=AXIS2_PLACEMENT_3D('',#8085,#8086,#8087);
--#8089=CYLINDRICAL_SURFACE('',#8088,1.925E-1);
--#8090=ORIENTED_EDGE('',*,*,#8078,.T.);
--#8092=ORIENTED_EDGE('',*,*,#8091,.T.);
--#8093=ORIENTED_EDGE('',*,*,#5614,.F.);
--#8095=ORIENTED_EDGE('',*,*,#8094,.F.);
--#8096=EDGE_LOOP('',(#8090,#8092,#8093,#8095));
--#8097=FACE_OUTER_BOUND('',#8096,.F.);
--#8098=ADVANCED_FACE('',(#8097),#8089,.F.);
--#8099=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
--#8100=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8101=DIRECTION('',(1.E0,0.E0,0.E0));
--#8102=AXIS2_PLACEMENT_3D('',#8099,#8100,#8101);
--#8103=CYLINDRICAL_SURFACE('',#8102,1.925E-1);
--#8104=ORIENTED_EDGE('',*,*,#8080,.T.);
--#8105=ORIENTED_EDGE('',*,*,#8094,.T.);
--#8106=ORIENTED_EDGE('',*,*,#5616,.F.);
--#8107=ORIENTED_EDGE('',*,*,#8091,.F.);
--#8108=EDGE_LOOP('',(#8104,#8105,#8106,#8107));
--#8109=FACE_OUTER_BOUND('',#8108,.F.);
--#8110=ADVANCED_FACE('',(#8109),#8103,.F.);
--#8111=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
--#8112=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8113=DIRECTION('',(1.E0,0.E0,0.E0));
--#8114=AXIS2_PLACEMENT_3D('',#8111,#8112,#8113);
--#8115=CYLINDRICAL_SURFACE('',#8114,2.575E-1);
--#8116=ORIENTED_EDGE('',*,*,#6364,.T.);
--#8118=ORIENTED_EDGE('',*,*,#8117,.T.);
--#8120=ORIENTED_EDGE('',*,*,#8119,.F.);
--#8122=ORIENTED_EDGE('',*,*,#8121,.F.);
--#8123=EDGE_LOOP('',(#8116,#8118,#8120,#8122));
--#8124=FACE_OUTER_BOUND('',#8123,.F.);
--#8125=ADVANCED_FACE('',(#8124),#8115,.F.);
--#8126=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
--#8127=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8128=DIRECTION('',(1.E0,0.E0,0.E0));
--#8129=AXIS2_PLACEMENT_3D('',#8126,#8127,#8128);
--#8130=CYLINDRICAL_SURFACE('',#8129,2.575E-1);
--#8131=ORIENTED_EDGE('',*,*,#6366,.T.);
--#8132=ORIENTED_EDGE('',*,*,#8121,.T.);
--#8134=ORIENTED_EDGE('',*,*,#8133,.F.);
--#8135=ORIENTED_EDGE('',*,*,#8117,.F.);
--#8136=EDGE_LOOP('',(#8131,#8132,#8134,#8135));
--#8137=FACE_OUTER_BOUND('',#8136,.F.);
--#8138=ADVANCED_FACE('',(#8137),#8130,.F.);
--#8139=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
--#8140=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8141=DIRECTION('',(1.E0,0.E0,0.E0));
--#8142=AXIS2_PLACEMENT_3D('',#8139,#8140,#8141);
--#8143=PLANE('',#8142);
--#8144=ORIENTED_EDGE('',*,*,#8119,.T.);
--#8145=ORIENTED_EDGE('',*,*,#8133,.T.);
--#8146=EDGE_LOOP('',(#8144,#8145));
--#8147=FACE_OUTER_BOUND('',#8146,.F.);
--#8149=ORIENTED_EDGE('',*,*,#8148,.F.);
--#8151=ORIENTED_EDGE('',*,*,#8150,.F.);
--#8152=EDGE_LOOP('',(#8149,#8151));
--#8153=FACE_BOUND('',#8152,.F.);
--#8154=ADVANCED_FACE('',(#8147,#8153),#8143,.F.);
--#8155=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
--#8156=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8157=DIRECTION('',(1.E0,0.E0,0.E0));
--#8158=AXIS2_PLACEMENT_3D('',#8155,#8156,#8157);
--#8159=CYLINDRICAL_SURFACE('',#8158,1.925E-1);
--#8160=ORIENTED_EDGE('',*,*,#8148,.T.);
--#8162=ORIENTED_EDGE('',*,*,#8161,.T.);
--#8163=ORIENTED_EDGE('',*,*,#5608,.F.);
--#8165=ORIENTED_EDGE('',*,*,#8164,.F.);
--#8166=EDGE_LOOP('',(#8160,#8162,#8163,#8165));
--#8167=FACE_OUTER_BOUND('',#8166,.F.);
--#8168=ADVANCED_FACE('',(#8167),#8159,.F.);
--#8169=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
--#8170=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8171=DIRECTION('',(1.E0,0.E0,0.E0));
--#8172=AXIS2_PLACEMENT_3D('',#8169,#8170,#8171);
--#8173=CYLINDRICAL_SURFACE('',#8172,1.925E-1);
--#8174=ORIENTED_EDGE('',*,*,#8150,.T.);
--#8175=ORIENTED_EDGE('',*,*,#8164,.T.);
--#8176=ORIENTED_EDGE('',*,*,#5610,.F.);
--#8177=ORIENTED_EDGE('',*,*,#8161,.F.);
--#8178=EDGE_LOOP('',(#8174,#8175,#8176,#8177));
--#8179=FACE_OUTER_BOUND('',#8178,.F.);
--#8180=ADVANCED_FACE('',(#8179),#8173,.F.);
--#8181=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
--#8182=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8183=DIRECTION('',(1.E0,0.E0,0.E0));
--#8184=AXIS2_PLACEMENT_3D('',#8181,#8182,#8183);
--#8185=CYLINDRICAL_SURFACE('',#8184,2.575E-1);
--#8186=ORIENTED_EDGE('',*,*,#6254,.T.);
--#8188=ORIENTED_EDGE('',*,*,#8187,.T.);
--#8190=ORIENTED_EDGE('',*,*,#8189,.F.);
--#8192=ORIENTED_EDGE('',*,*,#8191,.F.);
--#8193=EDGE_LOOP('',(#8186,#8188,#8190,#8192));
--#8194=FACE_OUTER_BOUND('',#8193,.F.);
--#8195=ADVANCED_FACE('',(#8194),#8185,.F.);
--#8196=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
--#8197=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8198=DIRECTION('',(1.E0,0.E0,0.E0));
--#8199=AXIS2_PLACEMENT_3D('',#8196,#8197,#8198);
--#8200=CYLINDRICAL_SURFACE('',#8199,2.575E-1);
--#8201=ORIENTED_EDGE('',*,*,#6256,.T.);
--#8202=ORIENTED_EDGE('',*,*,#8191,.T.);
--#8204=ORIENTED_EDGE('',*,*,#8203,.F.);
--#8205=ORIENTED_EDGE('',*,*,#8187,.F.);
--#8206=EDGE_LOOP('',(#8201,#8202,#8204,#8205));
--#8207=FACE_OUTER_BOUND('',#8206,.F.);
--#8208=ADVANCED_FACE('',(#8207),#8200,.F.);
--#8209=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
--#8210=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8211=DIRECTION('',(1.E0,0.E0,0.E0));
--#8212=AXIS2_PLACEMENT_3D('',#8209,#8210,#8211);
--#8213=PLANE('',#8212);
--#8214=ORIENTED_EDGE('',*,*,#8189,.T.);
--#8215=ORIENTED_EDGE('',*,*,#8203,.T.);
--#8216=EDGE_LOOP('',(#8214,#8215));
--#8217=FACE_OUTER_BOUND('',#8216,.F.);
--#8219=ORIENTED_EDGE('',*,*,#8218,.F.);
--#8221=ORIENTED_EDGE('',*,*,#8220,.F.);
--#8222=EDGE_LOOP('',(#8219,#8221));
--#8223=FACE_BOUND('',#8222,.F.);
--#8224=ADVANCED_FACE('',(#8217,#8223),#8213,.F.);
--#8225=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
--#8226=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8227=DIRECTION('',(1.E0,0.E0,0.E0));
--#8228=AXIS2_PLACEMENT_3D('',#8225,#8226,#8227);
--#8229=CYLINDRICAL_SURFACE('',#8228,1.925E-1);
--#8230=ORIENTED_EDGE('',*,*,#8218,.T.);
--#8232=ORIENTED_EDGE('',*,*,#8231,.T.);
--#8233=ORIENTED_EDGE('',*,*,#5602,.F.);
--#8235=ORIENTED_EDGE('',*,*,#8234,.F.);
--#8236=EDGE_LOOP('',(#8230,#8232,#8233,#8235));
--#8237=FACE_OUTER_BOUND('',#8236,.F.);
--#8238=ADVANCED_FACE('',(#8237),#8229,.F.);
--#8239=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
--#8240=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8241=DIRECTION('',(1.E0,0.E0,0.E0));
--#8242=AXIS2_PLACEMENT_3D('',#8239,#8240,#8241);
--#8243=CYLINDRICAL_SURFACE('',#8242,1.925E-1);
--#8244=ORIENTED_EDGE('',*,*,#8220,.T.);
--#8245=ORIENTED_EDGE('',*,*,#8234,.T.);
--#8246=ORIENTED_EDGE('',*,*,#5604,.F.);
--#8247=ORIENTED_EDGE('',*,*,#8231,.F.);
--#8248=EDGE_LOOP('',(#8244,#8245,#8246,#8247));
--#8249=FACE_OUTER_BOUND('',#8248,.F.);
--#8250=ADVANCED_FACE('',(#8249),#8243,.F.);
--#8251=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
--#8252=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8253=DIRECTION('',(1.E0,0.E0,0.E0));
--#8254=AXIS2_PLACEMENT_3D('',#8251,#8252,#8253);
--#8255=CYLINDRICAL_SURFACE('',#8254,2.575E-1);
--#8256=ORIENTED_EDGE('',*,*,#6370,.T.);
--#8258=ORIENTED_EDGE('',*,*,#8257,.T.);
--#8260=ORIENTED_EDGE('',*,*,#8259,.F.);
--#8262=ORIENTED_EDGE('',*,*,#8261,.F.);
--#8263=EDGE_LOOP('',(#8256,#8258,#8260,#8262));
--#8264=FACE_OUTER_BOUND('',#8263,.F.);
--#8265=ADVANCED_FACE('',(#8264),#8255,.F.);
--#8266=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
--#8267=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8268=DIRECTION('',(1.E0,0.E0,0.E0));
--#8269=AXIS2_PLACEMENT_3D('',#8266,#8267,#8268);
--#8270=CYLINDRICAL_SURFACE('',#8269,2.575E-1);
--#8271=ORIENTED_EDGE('',*,*,#6372,.T.);
--#8272=ORIENTED_EDGE('',*,*,#8261,.T.);
--#8274=ORIENTED_EDGE('',*,*,#8273,.F.);
--#8275=ORIENTED_EDGE('',*,*,#8257,.F.);
--#8276=EDGE_LOOP('',(#8271,#8272,#8274,#8275));
--#8277=FACE_OUTER_BOUND('',#8276,.F.);
--#8278=ADVANCED_FACE('',(#8277),#8270,.F.);
--#8279=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
--#8280=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8281=DIRECTION('',(1.E0,0.E0,0.E0));
--#8282=AXIS2_PLACEMENT_3D('',#8279,#8280,#8281);
--#8283=PLANE('',#8282);
--#8284=ORIENTED_EDGE('',*,*,#8259,.T.);
--#8285=ORIENTED_EDGE('',*,*,#8273,.T.);
--#8286=EDGE_LOOP('',(#8284,#8285));
--#8287=FACE_OUTER_BOUND('',#8286,.F.);
--#8289=ORIENTED_EDGE('',*,*,#8288,.F.);
--#8291=ORIENTED_EDGE('',*,*,#8290,.F.);
--#8292=EDGE_LOOP('',(#8289,#8291));
--#8293=FACE_BOUND('',#8292,.F.);
--#8294=ADVANCED_FACE('',(#8287,#8293),#8283,.F.);
--#8295=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
--#8296=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8297=DIRECTION('',(1.E0,0.E0,0.E0));
--#8298=AXIS2_PLACEMENT_3D('',#8295,#8296,#8297);
--#8299=CYLINDRICAL_SURFACE('',#8298,1.925E-1);
--#8300=ORIENTED_EDGE('',*,*,#8288,.T.);
--#8302=ORIENTED_EDGE('',*,*,#8301,.T.);
--#8303=ORIENTED_EDGE('',*,*,#5590,.F.);
--#8305=ORIENTED_EDGE('',*,*,#8304,.F.);
--#8306=EDGE_LOOP('',(#8300,#8302,#8303,#8305));
--#8307=FACE_OUTER_BOUND('',#8306,.F.);
--#8308=ADVANCED_FACE('',(#8307),#8299,.F.);
--#8309=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
--#8310=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8311=DIRECTION('',(1.E0,0.E0,0.E0));
--#8312=AXIS2_PLACEMENT_3D('',#8309,#8310,#8311);
--#8313=CYLINDRICAL_SURFACE('',#8312,1.925E-1);
--#8314=ORIENTED_EDGE('',*,*,#8290,.T.);
--#8315=ORIENTED_EDGE('',*,*,#8304,.T.);
--#8316=ORIENTED_EDGE('',*,*,#5592,.F.);
--#8317=ORIENTED_EDGE('',*,*,#8301,.F.);
--#8318=EDGE_LOOP('',(#8314,#8315,#8316,#8317));
--#8319=FACE_OUTER_BOUND('',#8318,.F.);
--#8320=ADVANCED_FACE('',(#8319),#8313,.F.);
--#8321=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
--#8322=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8323=DIRECTION('',(1.E0,0.E0,0.E0));
--#8324=AXIS2_PLACEMENT_3D('',#8321,#8322,#8323);
--#8325=CYLINDRICAL_SURFACE('',#8324,2.575E-1);
--#8326=ORIENTED_EDGE('',*,*,#6376,.T.);
--#8328=ORIENTED_EDGE('',*,*,#8327,.T.);
--#8330=ORIENTED_EDGE('',*,*,#8329,.F.);
--#8332=ORIENTED_EDGE('',*,*,#8331,.F.);
--#8333=EDGE_LOOP('',(#8326,#8328,#8330,#8332));
--#8334=FACE_OUTER_BOUND('',#8333,.F.);
--#8335=ADVANCED_FACE('',(#8334),#8325,.F.);
--#8336=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
--#8337=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8338=DIRECTION('',(1.E0,0.E0,0.E0));
--#8339=AXIS2_PLACEMENT_3D('',#8336,#8337,#8338);
--#8340=CYLINDRICAL_SURFACE('',#8339,2.575E-1);
--#8341=ORIENTED_EDGE('',*,*,#6378,.T.);
--#8342=ORIENTED_EDGE('',*,*,#8331,.T.);
--#8344=ORIENTED_EDGE('',*,*,#8343,.F.);
--#8345=ORIENTED_EDGE('',*,*,#8327,.F.);
--#8346=EDGE_LOOP('',(#8341,#8342,#8344,#8345));
--#8347=FACE_OUTER_BOUND('',#8346,.F.);
--#8348=ADVANCED_FACE('',(#8347),#8340,.F.);
--#8349=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
--#8350=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8351=DIRECTION('',(1.E0,0.E0,0.E0));
--#8352=AXIS2_PLACEMENT_3D('',#8349,#8350,#8351);
--#8353=PLANE('',#8352);
--#8354=ORIENTED_EDGE('',*,*,#8329,.T.);
--#8355=ORIENTED_EDGE('',*,*,#8343,.T.);
--#8356=EDGE_LOOP('',(#8354,#8355));
--#8357=FACE_OUTER_BOUND('',#8356,.F.);
--#8359=ORIENTED_EDGE('',*,*,#8358,.F.);
--#8361=ORIENTED_EDGE('',*,*,#8360,.F.);
--#8362=EDGE_LOOP('',(#8359,#8361));
--#8363=FACE_BOUND('',#8362,.F.);
--#8364=ADVANCED_FACE('',(#8357,#8363),#8353,.F.);
--#8365=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
--#8366=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8367=DIRECTION('',(1.E0,0.E0,0.E0));
--#8368=AXIS2_PLACEMENT_3D('',#8365,#8366,#8367);
--#8369=CYLINDRICAL_SURFACE('',#8368,1.925E-1);
--#8370=ORIENTED_EDGE('',*,*,#8358,.T.);
--#8372=ORIENTED_EDGE('',*,*,#8371,.T.);
--#8373=ORIENTED_EDGE('',*,*,#5584,.F.);
--#8375=ORIENTED_EDGE('',*,*,#8374,.F.);
--#8376=EDGE_LOOP('',(#8370,#8372,#8373,#8375));
--#8377=FACE_OUTER_BOUND('',#8376,.F.);
--#8378=ADVANCED_FACE('',(#8377),#8369,.F.);
--#8379=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
--#8380=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8381=DIRECTION('',(1.E0,0.E0,0.E0));
--#8382=AXIS2_PLACEMENT_3D('',#8379,#8380,#8381);
--#8383=CYLINDRICAL_SURFACE('',#8382,1.925E-1);
--#8384=ORIENTED_EDGE('',*,*,#8360,.T.);
--#8385=ORIENTED_EDGE('',*,*,#8374,.T.);
--#8386=ORIENTED_EDGE('',*,*,#5586,.F.);
--#8387=ORIENTED_EDGE('',*,*,#8371,.F.);
--#8388=EDGE_LOOP('',(#8384,#8385,#8386,#8387));
--#8389=FACE_OUTER_BOUND('',#8388,.F.);
--#8390=ADVANCED_FACE('',(#8389),#8383,.F.);
--#8391=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
--#8392=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8393=DIRECTION('',(1.E0,0.E0,0.E0));
--#8394=AXIS2_PLACEMENT_3D('',#8391,#8392,#8393);
--#8395=CYLINDRICAL_SURFACE('',#8394,2.56E-1);
--#8396=ORIENTED_EDGE('',*,*,#6260,.T.);
--#8398=ORIENTED_EDGE('',*,*,#8397,.T.);
--#8400=ORIENTED_EDGE('',*,*,#8399,.F.);
--#8402=ORIENTED_EDGE('',*,*,#8401,.F.);
--#8403=EDGE_LOOP('',(#8396,#8398,#8400,#8402));
--#8404=FACE_OUTER_BOUND('',#8403,.F.);
--#8405=ADVANCED_FACE('',(#8404),#8395,.F.);
--#8406=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
--#8407=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8408=DIRECTION('',(1.E0,0.E0,0.E0));
--#8409=AXIS2_PLACEMENT_3D('',#8406,#8407,#8408);
--#8410=CYLINDRICAL_SURFACE('',#8409,2.56E-1);
--#8411=ORIENTED_EDGE('',*,*,#6262,.T.);
--#8412=ORIENTED_EDGE('',*,*,#8401,.T.);
--#8414=ORIENTED_EDGE('',*,*,#8413,.F.);
--#8415=ORIENTED_EDGE('',*,*,#8397,.F.);
--#8416=EDGE_LOOP('',(#8411,#8412,#8414,#8415));
--#8417=FACE_OUTER_BOUND('',#8416,.F.);
--#8418=ADVANCED_FACE('',(#8417),#8410,.F.);
--#8419=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
--#8420=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8421=DIRECTION('',(1.E0,0.E0,0.E0));
--#8422=AXIS2_PLACEMENT_3D('',#8419,#8420,#8421);
--#8423=PLANE('',#8422);
--#8424=ORIENTED_EDGE('',*,*,#8399,.T.);
--#8425=ORIENTED_EDGE('',*,*,#8413,.T.);
--#8426=EDGE_LOOP('',(#8424,#8425));
--#8427=FACE_OUTER_BOUND('',#8426,.F.);
--#8429=ORIENTED_EDGE('',*,*,#8428,.F.);
--#8431=ORIENTED_EDGE('',*,*,#8430,.F.);
--#8432=EDGE_LOOP('',(#8429,#8431));
--#8433=FACE_BOUND('',#8432,.F.);
--#8434=ADVANCED_FACE('',(#8427,#8433),#8423,.F.);
--#8435=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
--#8436=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8437=DIRECTION('',(1.E0,0.E0,0.E0));
--#8438=AXIS2_PLACEMENT_3D('',#8435,#8436,#8437);
--#8439=CYLINDRICAL_SURFACE('',#8438,1.925E-1);
--#8440=ORIENTED_EDGE('',*,*,#8428,.T.);
--#8442=ORIENTED_EDGE('',*,*,#8441,.T.);
--#8443=ORIENTED_EDGE('',*,*,#5632,.F.);
--#8445=ORIENTED_EDGE('',*,*,#8444,.F.);
--#8446=EDGE_LOOP('',(#8440,#8442,#8443,#8445));
--#8447=FACE_OUTER_BOUND('',#8446,.F.);
--#8448=ADVANCED_FACE('',(#8447),#8439,.F.);
--#8449=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
--#8450=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8451=DIRECTION('',(1.E0,0.E0,0.E0));
--#8452=AXIS2_PLACEMENT_3D('',#8449,#8450,#8451);
--#8453=CYLINDRICAL_SURFACE('',#8452,1.925E-1);
--#8454=ORIENTED_EDGE('',*,*,#8430,.T.);
--#8455=ORIENTED_EDGE('',*,*,#8444,.T.);
--#8456=ORIENTED_EDGE('',*,*,#5634,.F.);
--#8457=ORIENTED_EDGE('',*,*,#8441,.F.);
--#8458=EDGE_LOOP('',(#8454,#8455,#8456,#8457));
--#8459=FACE_OUTER_BOUND('',#8458,.F.);
--#8460=ADVANCED_FACE('',(#8459),#8453,.F.);
--#8461=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
--#8462=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8463=DIRECTION('',(1.E0,0.E0,0.E0));
--#8464=AXIS2_PLACEMENT_3D('',#8461,#8462,#8463);
--#8465=CYLINDRICAL_SURFACE('',#8464,2.56E-1);
--#8466=ORIENTED_EDGE('',*,*,#6266,.T.);
--#8468=ORIENTED_EDGE('',*,*,#8467,.T.);
--#8470=ORIENTED_EDGE('',*,*,#8469,.F.);
--#8472=ORIENTED_EDGE('',*,*,#8471,.F.);
--#8473=EDGE_LOOP('',(#8466,#8468,#8470,#8472));
--#8474=FACE_OUTER_BOUND('',#8473,.F.);
--#8475=ADVANCED_FACE('',(#8474),#8465,.F.);
--#8476=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
--#8477=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8478=DIRECTION('',(1.E0,0.E0,0.E0));
--#8479=AXIS2_PLACEMENT_3D('',#8476,#8477,#8478);
--#8480=CYLINDRICAL_SURFACE('',#8479,2.56E-1);
--#8481=ORIENTED_EDGE('',*,*,#6268,.T.);
--#8482=ORIENTED_EDGE('',*,*,#8471,.T.);
--#8484=ORIENTED_EDGE('',*,*,#8483,.F.);
--#8485=ORIENTED_EDGE('',*,*,#8467,.F.);
--#8486=EDGE_LOOP('',(#8481,#8482,#8484,#8485));
--#8487=FACE_OUTER_BOUND('',#8486,.F.);
--#8488=ADVANCED_FACE('',(#8487),#8480,.F.);
--#8489=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
--#8490=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8491=DIRECTION('',(1.E0,0.E0,0.E0));
--#8492=AXIS2_PLACEMENT_3D('',#8489,#8490,#8491);
--#8493=PLANE('',#8492);
--#8494=ORIENTED_EDGE('',*,*,#8469,.T.);
--#8495=ORIENTED_EDGE('',*,*,#8483,.T.);
--#8496=EDGE_LOOP('',(#8494,#8495));
--#8497=FACE_OUTER_BOUND('',#8496,.F.);
--#8499=ORIENTED_EDGE('',*,*,#8498,.F.);
--#8501=ORIENTED_EDGE('',*,*,#8500,.F.);
--#8502=EDGE_LOOP('',(#8499,#8501));
--#8503=FACE_BOUND('',#8502,.F.);
--#8504=ADVANCED_FACE('',(#8497,#8503),#8493,.F.);
--#8505=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
--#8506=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8507=DIRECTION('',(1.E0,0.E0,0.E0));
--#8508=AXIS2_PLACEMENT_3D('',#8505,#8506,#8507);
--#8509=CYLINDRICAL_SURFACE('',#8508,1.925E-1);
--#8510=ORIENTED_EDGE('',*,*,#8498,.T.);
--#8512=ORIENTED_EDGE('',*,*,#8511,.T.);
--#8513=ORIENTED_EDGE('',*,*,#5578,.F.);
--#8515=ORIENTED_EDGE('',*,*,#8514,.F.);
--#8516=EDGE_LOOP('',(#8510,#8512,#8513,#8515));
--#8517=FACE_OUTER_BOUND('',#8516,.F.);
--#8518=ADVANCED_FACE('',(#8517),#8509,.F.);
--#8519=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
--#8520=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8521=DIRECTION('',(1.E0,0.E0,0.E0));
--#8522=AXIS2_PLACEMENT_3D('',#8519,#8520,#8521);
--#8523=CYLINDRICAL_SURFACE('',#8522,1.925E-1);
--#8524=ORIENTED_EDGE('',*,*,#8500,.T.);
--#8525=ORIENTED_EDGE('',*,*,#8514,.T.);
--#8526=ORIENTED_EDGE('',*,*,#5580,.F.);
--#8527=ORIENTED_EDGE('',*,*,#8511,.F.);
--#8528=EDGE_LOOP('',(#8524,#8525,#8526,#8527));
--#8529=FACE_OUTER_BOUND('',#8528,.F.);
--#8530=ADVANCED_FACE('',(#8529),#8523,.F.);
--#8531=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
--#8532=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8533=DIRECTION('',(1.E0,0.E0,0.E0));
--#8534=AXIS2_PLACEMENT_3D('',#8531,#8532,#8533);
--#8535=CYLINDRICAL_SURFACE('',#8534,2.56E-1);
--#8536=ORIENTED_EDGE('',*,*,#6272,.T.);
--#8538=ORIENTED_EDGE('',*,*,#8537,.T.);
--#8540=ORIENTED_EDGE('',*,*,#8539,.F.);
--#8542=ORIENTED_EDGE('',*,*,#8541,.F.);
--#8543=EDGE_LOOP('',(#8536,#8538,#8540,#8542));
--#8544=FACE_OUTER_BOUND('',#8543,.F.);
--#8545=ADVANCED_FACE('',(#8544),#8535,.F.);
--#8546=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
--#8547=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8548=DIRECTION('',(1.E0,0.E0,0.E0));
--#8549=AXIS2_PLACEMENT_3D('',#8546,#8547,#8548);
--#8550=CYLINDRICAL_SURFACE('',#8549,2.56E-1);
--#8551=ORIENTED_EDGE('',*,*,#6274,.T.);
--#8552=ORIENTED_EDGE('',*,*,#8541,.T.);
--#8554=ORIENTED_EDGE('',*,*,#8553,.F.);
--#8555=ORIENTED_EDGE('',*,*,#8537,.F.);
--#8556=EDGE_LOOP('',(#8551,#8552,#8554,#8555));
--#8557=FACE_OUTER_BOUND('',#8556,.F.);
--#8558=ADVANCED_FACE('',(#8557),#8550,.F.);
--#8559=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
--#8560=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8561=DIRECTION('',(1.E0,0.E0,0.E0));
--#8562=AXIS2_PLACEMENT_3D('',#8559,#8560,#8561);
--#8563=PLANE('',#8562);
--#8564=ORIENTED_EDGE('',*,*,#8539,.T.);
--#8565=ORIENTED_EDGE('',*,*,#8553,.T.);
--#8566=EDGE_LOOP('',(#8564,#8565));
--#8567=FACE_OUTER_BOUND('',#8566,.F.);
--#8569=ORIENTED_EDGE('',*,*,#8568,.F.);
--#8571=ORIENTED_EDGE('',*,*,#8570,.F.);
--#8572=EDGE_LOOP('',(#8569,#8571));
--#8573=FACE_BOUND('',#8572,.F.);
--#8574=ADVANCED_FACE('',(#8567,#8573),#8563,.F.);
--#8575=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
--#8576=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8577=DIRECTION('',(1.E0,0.E0,0.E0));
--#8578=AXIS2_PLACEMENT_3D('',#8575,#8576,#8577);
--#8579=CYLINDRICAL_SURFACE('',#8578,1.925E-1);
--#8580=ORIENTED_EDGE('',*,*,#8568,.T.);
--#8582=ORIENTED_EDGE('',*,*,#8581,.T.);
--#8583=ORIENTED_EDGE('',*,*,#5560,.F.);
--#8585=ORIENTED_EDGE('',*,*,#8584,.F.);
--#8586=EDGE_LOOP('',(#8580,#8582,#8583,#8585));
--#8587=FACE_OUTER_BOUND('',#8586,.F.);
--#8588=ADVANCED_FACE('',(#8587),#8579,.F.);
--#8589=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
--#8590=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8591=DIRECTION('',(1.E0,0.E0,0.E0));
--#8592=AXIS2_PLACEMENT_3D('',#8589,#8590,#8591);
--#8593=CYLINDRICAL_SURFACE('',#8592,1.925E-1);
--#8594=ORIENTED_EDGE('',*,*,#8570,.T.);
--#8595=ORIENTED_EDGE('',*,*,#8584,.T.);
--#8596=ORIENTED_EDGE('',*,*,#5562,.F.);
--#8597=ORIENTED_EDGE('',*,*,#8581,.F.);
--#8598=EDGE_LOOP('',(#8594,#8595,#8596,#8597));
--#8599=FACE_OUTER_BOUND('',#8598,.F.);
--#8600=ADVANCED_FACE('',(#8599),#8593,.F.);
--#8601=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
--#8602=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8603=DIRECTION('',(1.E0,0.E0,0.E0));
--#8604=AXIS2_PLACEMENT_3D('',#8601,#8602,#8603);
--#8605=CYLINDRICAL_SURFACE('',#8604,2.56E-1);
--#8606=ORIENTED_EDGE('',*,*,#6382,.T.);
--#8608=ORIENTED_EDGE('',*,*,#8607,.T.);
--#8610=ORIENTED_EDGE('',*,*,#8609,.F.);
--#8612=ORIENTED_EDGE('',*,*,#8611,.F.);
--#8613=EDGE_LOOP('',(#8606,#8608,#8610,#8612));
--#8614=FACE_OUTER_BOUND('',#8613,.F.);
--#8615=ADVANCED_FACE('',(#8614),#8605,.F.);
--#8616=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
--#8617=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8618=DIRECTION('',(1.E0,0.E0,0.E0));
--#8619=AXIS2_PLACEMENT_3D('',#8616,#8617,#8618);
--#8620=CYLINDRICAL_SURFACE('',#8619,2.56E-1);
--#8621=ORIENTED_EDGE('',*,*,#6384,.T.);
--#8622=ORIENTED_EDGE('',*,*,#8611,.T.);
--#8624=ORIENTED_EDGE('',*,*,#8623,.F.);
--#8625=ORIENTED_EDGE('',*,*,#8607,.F.);
--#8626=EDGE_LOOP('',(#8621,#8622,#8624,#8625));
--#8627=FACE_OUTER_BOUND('',#8626,.F.);
--#8628=ADVANCED_FACE('',(#8627),#8620,.F.);
--#8629=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
--#8630=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8631=DIRECTION('',(1.E0,0.E0,0.E0));
--#8632=AXIS2_PLACEMENT_3D('',#8629,#8630,#8631);
--#8633=PLANE('',#8632);
--#8634=ORIENTED_EDGE('',*,*,#8609,.T.);
--#8635=ORIENTED_EDGE('',*,*,#8623,.T.);
--#8636=EDGE_LOOP('',(#8634,#8635));
--#8637=FACE_OUTER_BOUND('',#8636,.F.);
--#8639=ORIENTED_EDGE('',*,*,#8638,.F.);
--#8641=ORIENTED_EDGE('',*,*,#8640,.F.);
--#8642=EDGE_LOOP('',(#8639,#8641));
--#8643=FACE_BOUND('',#8642,.F.);
--#8644=ADVANCED_FACE('',(#8637,#8643),#8633,.F.);
--#8645=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
--#8646=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8647=DIRECTION('',(1.E0,0.E0,0.E0));
--#8648=AXIS2_PLACEMENT_3D('',#8645,#8646,#8647);
--#8649=CYLINDRICAL_SURFACE('',#8648,1.925E-1);
--#8650=ORIENTED_EDGE('',*,*,#8638,.T.);
--#8652=ORIENTED_EDGE('',*,*,#8651,.T.);
--#8653=ORIENTED_EDGE('',*,*,#5572,.F.);
--#8655=ORIENTED_EDGE('',*,*,#8654,.F.);
--#8656=EDGE_LOOP('',(#8650,#8652,#8653,#8655));
--#8657=FACE_OUTER_BOUND('',#8656,.F.);
--#8658=ADVANCED_FACE('',(#8657),#8649,.F.);
--#8659=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
--#8660=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8661=DIRECTION('',(1.E0,0.E0,0.E0));
--#8662=AXIS2_PLACEMENT_3D('',#8659,#8660,#8661);
--#8663=CYLINDRICAL_SURFACE('',#8662,1.925E-1);
--#8664=ORIENTED_EDGE('',*,*,#8640,.T.);
--#8665=ORIENTED_EDGE('',*,*,#8654,.T.);
--#8666=ORIENTED_EDGE('',*,*,#5574,.F.);
--#8667=ORIENTED_EDGE('',*,*,#8651,.F.);
--#8668=EDGE_LOOP('',(#8664,#8665,#8666,#8667));
--#8669=FACE_OUTER_BOUND('',#8668,.F.);
--#8670=ADVANCED_FACE('',(#8669),#8663,.F.);
--#8671=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
--#8672=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8673=DIRECTION('',(1.E0,0.E0,0.E0));
--#8674=AXIS2_PLACEMENT_3D('',#8671,#8672,#8673);
--#8675=CYLINDRICAL_SURFACE('',#8674,2.56E-1);
--#8676=ORIENTED_EDGE('',*,*,#6388,.T.);
--#8678=ORIENTED_EDGE('',*,*,#8677,.T.);
--#8680=ORIENTED_EDGE('',*,*,#8679,.F.);
--#8682=ORIENTED_EDGE('',*,*,#8681,.F.);
--#8683=EDGE_LOOP('',(#8676,#8678,#8680,#8682));
--#8684=FACE_OUTER_BOUND('',#8683,.F.);
--#8685=ADVANCED_FACE('',(#8684),#8675,.F.);
--#8686=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
--#8687=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8688=DIRECTION('',(1.E0,0.E0,0.E0));
--#8689=AXIS2_PLACEMENT_3D('',#8686,#8687,#8688);
--#8690=CYLINDRICAL_SURFACE('',#8689,2.56E-1);
--#8691=ORIENTED_EDGE('',*,*,#6390,.T.);
--#8692=ORIENTED_EDGE('',*,*,#8681,.T.);
--#8694=ORIENTED_EDGE('',*,*,#8693,.F.);
--#8695=ORIENTED_EDGE('',*,*,#8677,.F.);
--#8696=EDGE_LOOP('',(#8691,#8692,#8694,#8695));
--#8697=FACE_OUTER_BOUND('',#8696,.F.);
--#8698=ADVANCED_FACE('',(#8697),#8690,.F.);
--#8699=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
--#8700=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8701=DIRECTION('',(1.E0,0.E0,0.E0));
--#8702=AXIS2_PLACEMENT_3D('',#8699,#8700,#8701);
--#8703=PLANE('',#8702);
--#8704=ORIENTED_EDGE('',*,*,#8679,.T.);
--#8705=ORIENTED_EDGE('',*,*,#8693,.T.);
--#8706=EDGE_LOOP('',(#8704,#8705));
--#8707=FACE_OUTER_BOUND('',#8706,.F.);
--#8709=ORIENTED_EDGE('',*,*,#8708,.F.);
--#8711=ORIENTED_EDGE('',*,*,#8710,.F.);
--#8712=EDGE_LOOP('',(#8709,#8711));
--#8713=FACE_BOUND('',#8712,.F.);
--#8714=ADVANCED_FACE('',(#8707,#8713),#8703,.F.);
--#8715=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
--#8716=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8717=DIRECTION('',(1.E0,0.E0,0.E0));
--#8718=AXIS2_PLACEMENT_3D('',#8715,#8716,#8717);
--#8719=CYLINDRICAL_SURFACE('',#8718,1.925E-1);
--#8720=ORIENTED_EDGE('',*,*,#8708,.T.);
--#8722=ORIENTED_EDGE('',*,*,#8721,.T.);
--#8723=ORIENTED_EDGE('',*,*,#5566,.F.);
--#8725=ORIENTED_EDGE('',*,*,#8724,.F.);
--#8726=EDGE_LOOP('',(#8720,#8722,#8723,#8725));
--#8727=FACE_OUTER_BOUND('',#8726,.F.);
--#8728=ADVANCED_FACE('',(#8727),#8719,.F.);
--#8729=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
--#8730=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8731=DIRECTION('',(1.E0,0.E0,0.E0));
--#8732=AXIS2_PLACEMENT_3D('',#8729,#8730,#8731);
--#8733=CYLINDRICAL_SURFACE('',#8732,1.925E-1);
--#8734=ORIENTED_EDGE('',*,*,#8710,.T.);
--#8735=ORIENTED_EDGE('',*,*,#8724,.T.);
--#8736=ORIENTED_EDGE('',*,*,#5568,.F.);
--#8737=ORIENTED_EDGE('',*,*,#8721,.F.);
--#8738=EDGE_LOOP('',(#8734,#8735,#8736,#8737));
--#8739=FACE_OUTER_BOUND('',#8738,.F.);
--#8740=ADVANCED_FACE('',(#8739),#8733,.F.);
--#8741=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
--#8742=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8743=DIRECTION('',(1.E0,0.E0,0.E0));
--#8744=AXIS2_PLACEMENT_3D('',#8741,#8742,#8743);
--#8745=CYLINDRICAL_SURFACE('',#8744,2.56E-1);
--#8746=ORIENTED_EDGE('',*,*,#6394,.T.);
--#8748=ORIENTED_EDGE('',*,*,#8747,.T.);
--#8750=ORIENTED_EDGE('',*,*,#8749,.F.);
--#8752=ORIENTED_EDGE('',*,*,#8751,.F.);
--#8753=EDGE_LOOP('',(#8746,#8748,#8750,#8752));
--#8754=FACE_OUTER_BOUND('',#8753,.F.);
--#8755=ADVANCED_FACE('',(#8754),#8745,.F.);
--#8756=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
--#8757=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8758=DIRECTION('',(1.E0,0.E0,0.E0));
--#8759=AXIS2_PLACEMENT_3D('',#8756,#8757,#8758);
--#8760=CYLINDRICAL_SURFACE('',#8759,2.56E-1);
--#8761=ORIENTED_EDGE('',*,*,#6396,.T.);
--#8762=ORIENTED_EDGE('',*,*,#8751,.T.);
--#8764=ORIENTED_EDGE('',*,*,#8763,.F.);
--#8765=ORIENTED_EDGE('',*,*,#8747,.F.);
--#8766=EDGE_LOOP('',(#8761,#8762,#8764,#8765));
--#8767=FACE_OUTER_BOUND('',#8766,.F.);
--#8768=ADVANCED_FACE('',(#8767),#8760,.F.);
--#8769=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
--#8770=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8771=DIRECTION('',(1.E0,0.E0,0.E0));
--#8772=AXIS2_PLACEMENT_3D('',#8769,#8770,#8771);
--#8773=PLANE('',#8772);
--#8774=ORIENTED_EDGE('',*,*,#8749,.T.);
--#8775=ORIENTED_EDGE('',*,*,#8763,.T.);
--#8776=EDGE_LOOP('',(#8774,#8775));
--#8777=FACE_OUTER_BOUND('',#8776,.F.);
--#8779=ORIENTED_EDGE('',*,*,#8778,.F.);
--#8781=ORIENTED_EDGE('',*,*,#8780,.F.);
--#8782=EDGE_LOOP('',(#8779,#8781));
--#8783=FACE_BOUND('',#8782,.F.);
--#8784=ADVANCED_FACE('',(#8777,#8783),#8773,.F.);
--#8785=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
--#8786=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8787=DIRECTION('',(1.E0,0.E0,0.E0));
--#8788=AXIS2_PLACEMENT_3D('',#8785,#8786,#8787);
--#8789=CYLINDRICAL_SURFACE('',#8788,1.925E-1);
--#8790=ORIENTED_EDGE('',*,*,#8778,.T.);
--#8792=ORIENTED_EDGE('',*,*,#8791,.T.);
--#8793=ORIENTED_EDGE('',*,*,#5554,.F.);
--#8795=ORIENTED_EDGE('',*,*,#8794,.F.);
--#8796=EDGE_LOOP('',(#8790,#8792,#8793,#8795));
--#8797=FACE_OUTER_BOUND('',#8796,.F.);
--#8798=ADVANCED_FACE('',(#8797),#8789,.F.);
--#8799=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
--#8800=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8801=DIRECTION('',(1.E0,0.E0,0.E0));
--#8802=AXIS2_PLACEMENT_3D('',#8799,#8800,#8801);
--#8803=CYLINDRICAL_SURFACE('',#8802,1.925E-1);
--#8804=ORIENTED_EDGE('',*,*,#8780,.T.);
--#8805=ORIENTED_EDGE('',*,*,#8794,.T.);
--#8806=ORIENTED_EDGE('',*,*,#5556,.F.);
--#8807=ORIENTED_EDGE('',*,*,#8791,.F.);
--#8808=EDGE_LOOP('',(#8804,#8805,#8806,#8807));
--#8809=FACE_OUTER_BOUND('',#8808,.F.);
--#8810=ADVANCED_FACE('',(#8809),#8803,.F.);
--#8811=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
--#8812=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8813=DIRECTION('',(1.E0,0.E0,0.E0));
--#8814=AXIS2_PLACEMENT_3D('',#8811,#8812,#8813);
--#8815=CYLINDRICAL_SURFACE('',#8814,2.575E-1);
--#8816=ORIENTED_EDGE('',*,*,#6452,.T.);
--#8818=ORIENTED_EDGE('',*,*,#8817,.T.);
--#8820=ORIENTED_EDGE('',*,*,#8819,.F.);
--#8822=ORIENTED_EDGE('',*,*,#8821,.F.);
--#8823=EDGE_LOOP('',(#8816,#8818,#8820,#8822));
--#8824=FACE_OUTER_BOUND('',#8823,.F.);
--#8825=ADVANCED_FACE('',(#8824),#8815,.F.);
--#8826=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
--#8827=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8828=DIRECTION('',(1.E0,0.E0,0.E0));
--#8829=AXIS2_PLACEMENT_3D('',#8826,#8827,#8828);
--#8830=CYLINDRICAL_SURFACE('',#8829,2.575E-1);
--#8831=ORIENTED_EDGE('',*,*,#6454,.T.);
--#8832=ORIENTED_EDGE('',*,*,#8821,.T.);
--#8834=ORIENTED_EDGE('',*,*,#8833,.F.);
--#8835=ORIENTED_EDGE('',*,*,#8817,.F.);
--#8836=EDGE_LOOP('',(#8831,#8832,#8834,#8835));
--#8837=FACE_OUTER_BOUND('',#8836,.F.);
--#8838=ADVANCED_FACE('',(#8837),#8830,.F.);
--#8839=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
--#8840=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8841=DIRECTION('',(1.E0,0.E0,0.E0));
--#8842=AXIS2_PLACEMENT_3D('',#8839,#8840,#8841);
--#8843=PLANE('',#8842);
--#8844=ORIENTED_EDGE('',*,*,#8819,.T.);
--#8845=ORIENTED_EDGE('',*,*,#8833,.T.);
--#8846=EDGE_LOOP('',(#8844,#8845));
--#8847=FACE_OUTER_BOUND('',#8846,.F.);
--#8849=ORIENTED_EDGE('',*,*,#8848,.F.);
--#8851=ORIENTED_EDGE('',*,*,#8850,.F.);
--#8852=EDGE_LOOP('',(#8849,#8851));
--#8853=FACE_BOUND('',#8852,.F.);
--#8854=ADVANCED_FACE('',(#8847,#8853),#8843,.F.);
--#8855=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
--#8856=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8857=DIRECTION('',(1.E0,0.E0,0.E0));
--#8858=AXIS2_PLACEMENT_3D('',#8855,#8856,#8857);
--#8859=CYLINDRICAL_SURFACE('',#8858,1.925E-1);
--#8860=ORIENTED_EDGE('',*,*,#8848,.T.);
--#8862=ORIENTED_EDGE('',*,*,#8861,.T.);
--#8863=ORIENTED_EDGE('',*,*,#5690,.F.);
--#8865=ORIENTED_EDGE('',*,*,#8864,.F.);
--#8866=EDGE_LOOP('',(#8860,#8862,#8863,#8865));
--#8867=FACE_OUTER_BOUND('',#8866,.F.);
--#8868=ADVANCED_FACE('',(#8867),#8859,.F.);
--#8869=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
--#8870=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8871=DIRECTION('',(1.E0,0.E0,0.E0));
--#8872=AXIS2_PLACEMENT_3D('',#8869,#8870,#8871);
--#8873=CYLINDRICAL_SURFACE('',#8872,1.925E-1);
--#8874=ORIENTED_EDGE('',*,*,#8850,.T.);
--#8875=ORIENTED_EDGE('',*,*,#8864,.T.);
--#8876=ORIENTED_EDGE('',*,*,#5692,.F.);
--#8877=ORIENTED_EDGE('',*,*,#8861,.F.);
--#8878=EDGE_LOOP('',(#8874,#8875,#8876,#8877));
--#8879=FACE_OUTER_BOUND('',#8878,.F.);
--#8880=ADVANCED_FACE('',(#8879),#8873,.F.);
--#8881=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
--#8882=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8883=DIRECTION('',(1.E0,0.E0,0.E0));
--#8884=AXIS2_PLACEMENT_3D('',#8881,#8882,#8883);
--#8885=CYLINDRICAL_SURFACE('',#8884,2.575E-1);
--#8886=ORIENTED_EDGE('',*,*,#6458,.T.);
--#8888=ORIENTED_EDGE('',*,*,#8887,.T.);
--#8890=ORIENTED_EDGE('',*,*,#8889,.F.);
--#8892=ORIENTED_EDGE('',*,*,#8891,.F.);
--#8893=EDGE_LOOP('',(#8886,#8888,#8890,#8892));
--#8894=FACE_OUTER_BOUND('',#8893,.F.);
--#8895=ADVANCED_FACE('',(#8894),#8885,.F.);
--#8896=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
--#8897=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8898=DIRECTION('',(1.E0,0.E0,0.E0));
--#8899=AXIS2_PLACEMENT_3D('',#8896,#8897,#8898);
--#8900=CYLINDRICAL_SURFACE('',#8899,2.575E-1);
--#8901=ORIENTED_EDGE('',*,*,#6460,.T.);
--#8902=ORIENTED_EDGE('',*,*,#8891,.T.);
--#8904=ORIENTED_EDGE('',*,*,#8903,.F.);
--#8905=ORIENTED_EDGE('',*,*,#8887,.F.);
--#8906=EDGE_LOOP('',(#8901,#8902,#8904,#8905));
--#8907=FACE_OUTER_BOUND('',#8906,.F.);
--#8908=ADVANCED_FACE('',(#8907),#8900,.F.);
--#8909=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
--#8910=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8911=DIRECTION('',(1.E0,0.E0,0.E0));
--#8912=AXIS2_PLACEMENT_3D('',#8909,#8910,#8911);
--#8913=PLANE('',#8912);
--#8914=ORIENTED_EDGE('',*,*,#8889,.T.);
--#8915=ORIENTED_EDGE('',*,*,#8903,.T.);
--#8916=EDGE_LOOP('',(#8914,#8915));
--#8917=FACE_OUTER_BOUND('',#8916,.F.);
--#8919=ORIENTED_EDGE('',*,*,#8918,.F.);
--#8921=ORIENTED_EDGE('',*,*,#8920,.F.);
--#8922=EDGE_LOOP('',(#8919,#8921));
--#8923=FACE_BOUND('',#8922,.F.);
--#8924=ADVANCED_FACE('',(#8917,#8923),#8913,.F.);
--#8925=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
--#8926=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8927=DIRECTION('',(1.E0,0.E0,0.E0));
--#8928=AXIS2_PLACEMENT_3D('',#8925,#8926,#8927);
--#8929=CYLINDRICAL_SURFACE('',#8928,1.925E-1);
--#8930=ORIENTED_EDGE('',*,*,#8918,.T.);
--#8932=ORIENTED_EDGE('',*,*,#8931,.T.);
--#8933=ORIENTED_EDGE('',*,*,#5696,.F.);
--#8935=ORIENTED_EDGE('',*,*,#8934,.F.);
--#8936=EDGE_LOOP('',(#8930,#8932,#8933,#8935));
--#8937=FACE_OUTER_BOUND('',#8936,.F.);
--#8938=ADVANCED_FACE('',(#8937),#8929,.F.);
--#8939=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
--#8940=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8941=DIRECTION('',(1.E0,0.E0,0.E0));
--#8942=AXIS2_PLACEMENT_3D('',#8939,#8940,#8941);
--#8943=CYLINDRICAL_SURFACE('',#8942,1.925E-1);
--#8944=ORIENTED_EDGE('',*,*,#8920,.T.);
--#8945=ORIENTED_EDGE('',*,*,#8934,.T.);
--#8946=ORIENTED_EDGE('',*,*,#5698,.F.);
--#8947=ORIENTED_EDGE('',*,*,#8931,.F.);
--#8948=EDGE_LOOP('',(#8944,#8945,#8946,#8947));
--#8949=FACE_OUTER_BOUND('',#8948,.F.);
--#8950=ADVANCED_FACE('',(#8949),#8943,.F.);
--#8951=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
--#8952=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8953=DIRECTION('',(1.E0,0.E0,0.E0));
--#8954=AXIS2_PLACEMENT_3D('',#8951,#8952,#8953);
--#8955=CYLINDRICAL_SURFACE('',#8954,2.575E-1);
--#8956=ORIENTED_EDGE('',*,*,#6464,.T.);
--#8958=ORIENTED_EDGE('',*,*,#8957,.T.);
--#8960=ORIENTED_EDGE('',*,*,#8959,.F.);
--#8962=ORIENTED_EDGE('',*,*,#8961,.F.);
--#8963=EDGE_LOOP('',(#8956,#8958,#8960,#8962));
--#8964=FACE_OUTER_BOUND('',#8963,.F.);
--#8965=ADVANCED_FACE('',(#8964),#8955,.F.);
--#8966=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
--#8967=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8968=DIRECTION('',(1.E0,0.E0,0.E0));
--#8969=AXIS2_PLACEMENT_3D('',#8966,#8967,#8968);
--#8970=CYLINDRICAL_SURFACE('',#8969,2.575E-1);
--#8971=ORIENTED_EDGE('',*,*,#6466,.T.);
--#8972=ORIENTED_EDGE('',*,*,#8961,.T.);
--#8974=ORIENTED_EDGE('',*,*,#8973,.F.);
--#8975=ORIENTED_EDGE('',*,*,#8957,.F.);
--#8976=EDGE_LOOP('',(#8971,#8972,#8974,#8975));
--#8977=FACE_OUTER_BOUND('',#8976,.F.);
--#8978=ADVANCED_FACE('',(#8977),#8970,.F.);
--#8979=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
--#8980=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8981=DIRECTION('',(1.E0,0.E0,0.E0));
--#8982=AXIS2_PLACEMENT_3D('',#8979,#8980,#8981);
--#8983=PLANE('',#8982);
--#8984=ORIENTED_EDGE('',*,*,#8959,.T.);
--#8985=ORIENTED_EDGE('',*,*,#8973,.T.);
--#8986=EDGE_LOOP('',(#8984,#8985));
--#8987=FACE_OUTER_BOUND('',#8986,.F.);
--#8989=ORIENTED_EDGE('',*,*,#8988,.F.);
--#8991=ORIENTED_EDGE('',*,*,#8990,.F.);
--#8992=EDGE_LOOP('',(#8989,#8991));
--#8993=FACE_BOUND('',#8992,.F.);
--#8994=ADVANCED_FACE('',(#8987,#8993),#8983,.F.);
--#8995=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
--#8996=DIRECTION('',(0.E0,-1.E0,0.E0));
--#8997=DIRECTION('',(1.E0,0.E0,0.E0));
--#8998=AXIS2_PLACEMENT_3D('',#8995,#8996,#8997);
--#8999=CYLINDRICAL_SURFACE('',#8998,1.925E-1);
--#9000=ORIENTED_EDGE('',*,*,#8988,.T.);
--#9002=ORIENTED_EDGE('',*,*,#9001,.T.);
--#9003=ORIENTED_EDGE('',*,*,#5702,.F.);
--#9005=ORIENTED_EDGE('',*,*,#9004,.F.);
--#9006=EDGE_LOOP('',(#9000,#9002,#9003,#9005));
--#9007=FACE_OUTER_BOUND('',#9006,.F.);
--#9008=ADVANCED_FACE('',(#9007),#8999,.F.);
--#9009=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
--#9010=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9011=DIRECTION('',(1.E0,0.E0,0.E0));
--#9012=AXIS2_PLACEMENT_3D('',#9009,#9010,#9011);
--#9013=CYLINDRICAL_SURFACE('',#9012,1.925E-1);
--#9014=ORIENTED_EDGE('',*,*,#8990,.T.);
--#9015=ORIENTED_EDGE('',*,*,#9004,.T.);
--#9016=ORIENTED_EDGE('',*,*,#5704,.F.);
--#9017=ORIENTED_EDGE('',*,*,#9001,.F.);
--#9018=EDGE_LOOP('',(#9014,#9015,#9016,#9017));
--#9019=FACE_OUTER_BOUND('',#9018,.F.);
--#9020=ADVANCED_FACE('',(#9019),#9013,.F.);
--#9021=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
--#9022=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9023=DIRECTION('',(1.E0,0.E0,0.E0));
--#9024=AXIS2_PLACEMENT_3D('',#9021,#9022,#9023);
--#9025=CYLINDRICAL_SURFACE('',#9024,2.575E-1);
--#9026=ORIENTED_EDGE('',*,*,#6470,.T.);
--#9028=ORIENTED_EDGE('',*,*,#9027,.T.);
--#9030=ORIENTED_EDGE('',*,*,#9029,.F.);
--#9032=ORIENTED_EDGE('',*,*,#9031,.F.);
--#9033=EDGE_LOOP('',(#9026,#9028,#9030,#9032));
--#9034=FACE_OUTER_BOUND('',#9033,.F.);
--#9035=ADVANCED_FACE('',(#9034),#9025,.F.);
--#9036=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
--#9037=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9038=DIRECTION('',(1.E0,0.E0,0.E0));
--#9039=AXIS2_PLACEMENT_3D('',#9036,#9037,#9038);
--#9040=CYLINDRICAL_SURFACE('',#9039,2.575E-1);
--#9041=ORIENTED_EDGE('',*,*,#6472,.T.);
--#9042=ORIENTED_EDGE('',*,*,#9031,.T.);
--#9044=ORIENTED_EDGE('',*,*,#9043,.F.);
--#9045=ORIENTED_EDGE('',*,*,#9027,.F.);
--#9046=EDGE_LOOP('',(#9041,#9042,#9044,#9045));
--#9047=FACE_OUTER_BOUND('',#9046,.F.);
--#9048=ADVANCED_FACE('',(#9047),#9040,.F.);
--#9049=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
--#9050=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9051=DIRECTION('',(1.E0,0.E0,0.E0));
--#9052=AXIS2_PLACEMENT_3D('',#9049,#9050,#9051);
--#9053=PLANE('',#9052);
--#9054=ORIENTED_EDGE('',*,*,#9029,.T.);
--#9055=ORIENTED_EDGE('',*,*,#9043,.T.);
--#9056=EDGE_LOOP('',(#9054,#9055));
--#9057=FACE_OUTER_BOUND('',#9056,.F.);
--#9059=ORIENTED_EDGE('',*,*,#9058,.F.);
--#9061=ORIENTED_EDGE('',*,*,#9060,.F.);
--#9062=EDGE_LOOP('',(#9059,#9061));
--#9063=FACE_BOUND('',#9062,.F.);
--#9064=ADVANCED_FACE('',(#9057,#9063),#9053,.F.);
--#9065=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
--#9066=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9067=DIRECTION('',(1.E0,0.E0,0.E0));
--#9068=AXIS2_PLACEMENT_3D('',#9065,#9066,#9067);
--#9069=CYLINDRICAL_SURFACE('',#9068,1.925E-1);
--#9070=ORIENTED_EDGE('',*,*,#9058,.T.);
--#9072=ORIENTED_EDGE('',*,*,#9071,.T.);
--#9073=ORIENTED_EDGE('',*,*,#5708,.F.);
--#9075=ORIENTED_EDGE('',*,*,#9074,.F.);
--#9076=EDGE_LOOP('',(#9070,#9072,#9073,#9075));
--#9077=FACE_OUTER_BOUND('',#9076,.F.);
--#9078=ADVANCED_FACE('',(#9077),#9069,.F.);
--#9079=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
--#9080=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9081=DIRECTION('',(1.E0,0.E0,0.E0));
--#9082=AXIS2_PLACEMENT_3D('',#9079,#9080,#9081);
--#9083=CYLINDRICAL_SURFACE('',#9082,1.925E-1);
--#9084=ORIENTED_EDGE('',*,*,#9060,.T.);
--#9085=ORIENTED_EDGE('',*,*,#9074,.T.);
--#9086=ORIENTED_EDGE('',*,*,#5710,.F.);
--#9087=ORIENTED_EDGE('',*,*,#9071,.F.);
--#9088=EDGE_LOOP('',(#9084,#9085,#9086,#9087));
--#9089=FACE_OUTER_BOUND('',#9088,.F.);
--#9090=ADVANCED_FACE('',(#9089),#9083,.F.);
--#9091=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
--#9092=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9093=DIRECTION('',(1.E0,0.E0,0.E0));
--#9094=AXIS2_PLACEMENT_3D('',#9091,#9092,#9093);
--#9095=CYLINDRICAL_SURFACE('',#9094,2.575E-1);
--#9096=ORIENTED_EDGE('',*,*,#6476,.T.);
--#9098=ORIENTED_EDGE('',*,*,#9097,.T.);
--#9100=ORIENTED_EDGE('',*,*,#9099,.F.);
--#9102=ORIENTED_EDGE('',*,*,#9101,.F.);
--#9103=EDGE_LOOP('',(#9096,#9098,#9100,#9102));
--#9104=FACE_OUTER_BOUND('',#9103,.F.);
--#9105=ADVANCED_FACE('',(#9104),#9095,.F.);
--#9106=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
--#9107=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9108=DIRECTION('',(1.E0,0.E0,0.E0));
--#9109=AXIS2_PLACEMENT_3D('',#9106,#9107,#9108);
--#9110=CYLINDRICAL_SURFACE('',#9109,2.575E-1);
--#9111=ORIENTED_EDGE('',*,*,#6478,.T.);
--#9112=ORIENTED_EDGE('',*,*,#9101,.T.);
--#9114=ORIENTED_EDGE('',*,*,#9113,.F.);
--#9115=ORIENTED_EDGE('',*,*,#9097,.F.);
--#9116=EDGE_LOOP('',(#9111,#9112,#9114,#9115));
--#9117=FACE_OUTER_BOUND('',#9116,.F.);
--#9118=ADVANCED_FACE('',(#9117),#9110,.F.);
--#9119=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
--#9120=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9121=DIRECTION('',(1.E0,0.E0,0.E0));
--#9122=AXIS2_PLACEMENT_3D('',#9119,#9120,#9121);
--#9123=PLANE('',#9122);
--#9124=ORIENTED_EDGE('',*,*,#9099,.T.);
--#9125=ORIENTED_EDGE('',*,*,#9113,.T.);
--#9126=EDGE_LOOP('',(#9124,#9125));
--#9127=FACE_OUTER_BOUND('',#9126,.F.);
--#9129=ORIENTED_EDGE('',*,*,#9128,.F.);
--#9131=ORIENTED_EDGE('',*,*,#9130,.F.);
--#9132=EDGE_LOOP('',(#9129,#9131));
--#9133=FACE_BOUND('',#9132,.F.);
--#9134=ADVANCED_FACE('',(#9127,#9133),#9123,.F.);
--#9135=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
--#9136=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9137=DIRECTION('',(1.E0,0.E0,0.E0));
--#9138=AXIS2_PLACEMENT_3D('',#9135,#9136,#9137);
--#9139=CYLINDRICAL_SURFACE('',#9138,1.925E-1);
--#9140=ORIENTED_EDGE('',*,*,#9128,.T.);
--#9142=ORIENTED_EDGE('',*,*,#9141,.T.);
--#9143=ORIENTED_EDGE('',*,*,#5714,.F.);
--#9145=ORIENTED_EDGE('',*,*,#9144,.F.);
--#9146=EDGE_LOOP('',(#9140,#9142,#9143,#9145));
--#9147=FACE_OUTER_BOUND('',#9146,.F.);
--#9148=ADVANCED_FACE('',(#9147),#9139,.F.);
--#9149=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
--#9150=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9151=DIRECTION('',(1.E0,0.E0,0.E0));
--#9152=AXIS2_PLACEMENT_3D('',#9149,#9150,#9151);
--#9153=CYLINDRICAL_SURFACE('',#9152,1.925E-1);
--#9154=ORIENTED_EDGE('',*,*,#9130,.T.);
--#9155=ORIENTED_EDGE('',*,*,#9144,.T.);
--#9156=ORIENTED_EDGE('',*,*,#5716,.F.);
--#9157=ORIENTED_EDGE('',*,*,#9141,.F.);
--#9158=EDGE_LOOP('',(#9154,#9155,#9156,#9157));
--#9159=FACE_OUTER_BOUND('',#9158,.F.);
--#9160=ADVANCED_FACE('',(#9159),#9153,.F.);
--#9161=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
--#9162=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9163=DIRECTION('',(1.E0,0.E0,0.E0));
--#9164=AXIS2_PLACEMENT_3D('',#9161,#9162,#9163);
--#9165=CYLINDRICAL_SURFACE('',#9164,2.575E-1);
--#9166=ORIENTED_EDGE('',*,*,#6482,.T.);
--#9168=ORIENTED_EDGE('',*,*,#9167,.T.);
--#9170=ORIENTED_EDGE('',*,*,#9169,.F.);
--#9172=ORIENTED_EDGE('',*,*,#9171,.F.);
--#9173=EDGE_LOOP('',(#9166,#9168,#9170,#9172));
--#9174=FACE_OUTER_BOUND('',#9173,.F.);
--#9175=ADVANCED_FACE('',(#9174),#9165,.F.);
--#9176=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
--#9177=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9178=DIRECTION('',(1.E0,0.E0,0.E0));
--#9179=AXIS2_PLACEMENT_3D('',#9176,#9177,#9178);
--#9180=CYLINDRICAL_SURFACE('',#9179,2.575E-1);
--#9181=ORIENTED_EDGE('',*,*,#6484,.T.);
--#9182=ORIENTED_EDGE('',*,*,#9171,.T.);
--#9184=ORIENTED_EDGE('',*,*,#9183,.F.);
--#9185=ORIENTED_EDGE('',*,*,#9167,.F.);
--#9186=EDGE_LOOP('',(#9181,#9182,#9184,#9185));
--#9187=FACE_OUTER_BOUND('',#9186,.F.);
--#9188=ADVANCED_FACE('',(#9187),#9180,.F.);
--#9189=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
--#9190=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9191=DIRECTION('',(1.E0,0.E0,0.E0));
--#9192=AXIS2_PLACEMENT_3D('',#9189,#9190,#9191);
--#9193=PLANE('',#9192);
--#9194=ORIENTED_EDGE('',*,*,#9169,.T.);
--#9195=ORIENTED_EDGE('',*,*,#9183,.T.);
--#9196=EDGE_LOOP('',(#9194,#9195));
--#9197=FACE_OUTER_BOUND('',#9196,.F.);
--#9199=ORIENTED_EDGE('',*,*,#9198,.F.);
--#9201=ORIENTED_EDGE('',*,*,#9200,.F.);
--#9202=EDGE_LOOP('',(#9199,#9201));
--#9203=FACE_BOUND('',#9202,.F.);
--#9204=ADVANCED_FACE('',(#9197,#9203),#9193,.F.);
--#9205=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
--#9206=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9207=DIRECTION('',(1.E0,0.E0,0.E0));
--#9208=AXIS2_PLACEMENT_3D('',#9205,#9206,#9207);
--#9209=CYLINDRICAL_SURFACE('',#9208,1.925E-1);
--#9210=ORIENTED_EDGE('',*,*,#9198,.T.);
--#9212=ORIENTED_EDGE('',*,*,#9211,.T.);
--#9213=ORIENTED_EDGE('',*,*,#5720,.F.);
--#9215=ORIENTED_EDGE('',*,*,#9214,.F.);
--#9216=EDGE_LOOP('',(#9210,#9212,#9213,#9215));
--#9217=FACE_OUTER_BOUND('',#9216,.F.);
--#9218=ADVANCED_FACE('',(#9217),#9209,.F.);
--#9219=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
--#9220=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9221=DIRECTION('',(1.E0,0.E0,0.E0));
--#9222=AXIS2_PLACEMENT_3D('',#9219,#9220,#9221);
--#9223=CYLINDRICAL_SURFACE('',#9222,1.925E-1);
--#9224=ORIENTED_EDGE('',*,*,#9200,.T.);
--#9225=ORIENTED_EDGE('',*,*,#9214,.T.);
--#9226=ORIENTED_EDGE('',*,*,#5722,.F.);
--#9227=ORIENTED_EDGE('',*,*,#9211,.F.);
--#9228=EDGE_LOOP('',(#9224,#9225,#9226,#9227));
--#9229=FACE_OUTER_BOUND('',#9228,.F.);
--#9230=ADVANCED_FACE('',(#9229),#9223,.F.);
--#9231=CARTESIAN_POINT('',(2.2E1,1.5E0,1.2E1));
--#9232=DIRECTION('',(1.E0,0.E0,0.E0));
--#9233=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9234=AXIS2_PLACEMENT_3D('',#9231,#9232,#9233);
--#9235=PLANE('',#9234);
--#9236=ORIENTED_EDGE('',*,*,#6328,.T.);
--#9237=ORIENTED_EDGE('',*,*,#6155,.T.);
--#9239=ORIENTED_EDGE('',*,*,#9238,.T.);
--#9240=EDGE_LOOP('',(#9236,#9237,#9239));
--#9241=FACE_OUTER_BOUND('',#9240,.F.);
--#9242=ADVANCED_FACE('',(#9241),#9235,.F.);
--#9243=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1));
--#9244=DIRECTION('',(0.E0,-5.E-1,-8.660254037844E-1));
--#9245=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
--#9246=AXIS2_PLACEMENT_3D('',#9243,#9244,#9245);
--#9247=PLANE('',#9246);
--#9248=ORIENTED_EDGE('',*,*,#6330,.T.);
--#9249=ORIENTED_EDGE('',*,*,#9238,.F.);
--#9250=ORIENTED_EDGE('',*,*,#6153,.F.);
--#9251=ORIENTED_EDGE('',*,*,#6209,.T.);
--#9252=EDGE_LOOP('',(#9248,#9249,#9250,#9251));
--#9253=FACE_OUTER_BOUND('',#9252,.F.);
--#9255=ORIENTED_EDGE('',*,*,#9254,.F.);
--#9257=ORIENTED_EDGE('',*,*,#9256,.F.);
--#9258=EDGE_LOOP('',(#9255,#9257));
--#9259=FACE_BOUND('',#9258,.F.);
--#9260=ADVANCED_FACE('',(#9253,#9259),#9247,.F.);
--#9261=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1));
--#9262=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9263=DIRECTION('',(1.E0,0.E0,0.E0));
--#9264=AXIS2_PLACEMENT_3D('',#9261,#9262,#9263);
--#9265=CYLINDRICAL_SURFACE('',#9264,2.575E-1);
--#9267=ORIENTED_EDGE('',*,*,#9266,.F.);
--#9268=ORIENTED_EDGE('',*,*,#9254,.T.);
--#9270=ORIENTED_EDGE('',*,*,#9269,.F.);
--#9272=ORIENTED_EDGE('',*,*,#9271,.F.);
--#9273=EDGE_LOOP('',(#9267,#9268,#9270,#9272));
--#9274=FACE_OUTER_BOUND('',#9273,.F.);
--#9275=ADVANCED_FACE('',(#9274),#9265,.F.);
--#9276=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1));
--#9277=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9278=DIRECTION('',(1.E0,0.E0,0.E0));
--#9279=AXIS2_PLACEMENT_3D('',#9276,#9277,#9278);
--#9280=CYLINDRICAL_SURFACE('',#9279,2.575E-1);
--#9281=ORIENTED_EDGE('',*,*,#9269,.T.);
--#9282=ORIENTED_EDGE('',*,*,#9256,.T.);
--#9283=ORIENTED_EDGE('',*,*,#9266,.T.);
--#9285=ORIENTED_EDGE('',*,*,#9284,.F.);
--#9286=EDGE_LOOP('',(#9281,#9282,#9283,#9285));
--#9287=FACE_OUTER_BOUND('',#9286,.F.);
--#9288=ADVANCED_FACE('',(#9287),#9280,.F.);
--#9289=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
--#9290=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9291=DIRECTION('',(1.E0,0.E0,0.E0));
--#9292=AXIS2_PLACEMENT_3D('',#9289,#9290,#9291);
--#9293=PLANE('',#9292);
--#9294=ORIENTED_EDGE('',*,*,#9271,.T.);
--#9295=ORIENTED_EDGE('',*,*,#9284,.T.);
--#9296=EDGE_LOOP('',(#9294,#9295));
--#9297=FACE_OUTER_BOUND('',#9296,.F.);
--#9299=ORIENTED_EDGE('',*,*,#9298,.F.);
--#9301=ORIENTED_EDGE('',*,*,#9300,.F.);
--#9302=EDGE_LOOP('',(#9299,#9301));
--#9303=FACE_BOUND('',#9302,.F.);
--#9304=ADVANCED_FACE('',(#9297,#9303),#9293,.F.);
--#9305=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1));
--#9306=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9307=DIRECTION('',(1.E0,0.E0,0.E0));
--#9308=AXIS2_PLACEMENT_3D('',#9305,#9306,#9307);
--#9309=CYLINDRICAL_SURFACE('',#9308,1.925E-1);
--#9310=ORIENTED_EDGE('',*,*,#9298,.T.);
--#9312=ORIENTED_EDGE('',*,*,#9311,.T.);
--#9313=ORIENTED_EDGE('',*,*,#5596,.F.);
--#9315=ORIENTED_EDGE('',*,*,#9314,.F.);
--#9316=EDGE_LOOP('',(#9310,#9312,#9313,#9315));
--#9317=FACE_OUTER_BOUND('',#9316,.F.);
--#9318=ADVANCED_FACE('',(#9317),#9309,.F.);
--#9319=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1));
--#9320=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9321=DIRECTION('',(1.E0,0.E0,0.E0));
--#9322=AXIS2_PLACEMENT_3D('',#9319,#9320,#9321);
--#9323=CYLINDRICAL_SURFACE('',#9322,1.925E-1);
--#9324=ORIENTED_EDGE('',*,*,#9300,.T.);
--#9325=ORIENTED_EDGE('',*,*,#9314,.T.);
--#9326=ORIENTED_EDGE('',*,*,#5598,.F.);
--#9327=ORIENTED_EDGE('',*,*,#9311,.F.);
--#9328=EDGE_LOOP('',(#9324,#9325,#9326,#9327));
--#9329=FACE_OUTER_BOUND('',#9328,.F.);
--#9330=ADVANCED_FACE('',(#9329),#9323,.F.);
--#9331=CARTESIAN_POINT('',(2.185E1,6.65E0,1.006892397423E1));
--#9332=DIRECTION('',(0.E0,0.E0,-1.E0));
--#9333=DIRECTION('',(-1.E0,0.E0,0.E0));
--#9334=AXIS2_PLACEMENT_3D('',#9331,#9332,#9333);
--#9335=CYLINDRICAL_SURFACE('',#9334,3.5E-1);
--#9337=ORIENTED_EDGE('',*,*,#9336,.T.);
--#9339=ORIENTED_EDGE('',*,*,#9338,.T.);
--#9341=ORIENTED_EDGE('',*,*,#9340,.F.);
--#9342=ORIENTED_EDGE('',*,*,#6175,.T.);
--#9343=EDGE_LOOP('',(#9337,#9339,#9341,#9342));
--#9344=FACE_OUTER_BOUND('',#9343,.F.);
--#9345=ADVANCED_FACE('',(#9344),#9335,.T.);
--#9346=CARTESIAN_POINT('',(2.15E1,7.E0,1.E1));
--#9347=DIRECTION('',(-1.E0,0.E0,0.E0));
--#9348=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9349=AXIS2_PLACEMENT_3D('',#9346,#9347,#9348);
--#9350=PLANE('',#9349);
--#9351=ORIENTED_EDGE('',*,*,#9336,.F.);
--#9352=ORIENTED_EDGE('',*,*,#6197,.T.);
--#9354=ORIENTED_EDGE('',*,*,#9353,.F.);
--#9356=ORIENTED_EDGE('',*,*,#9355,.F.);
--#9357=EDGE_LOOP('',(#9351,#9352,#9354,#9356));
--#9358=FACE_OUTER_BOUND('',#9357,.F.);
--#9359=ADVANCED_FACE('',(#9358),#9350,.T.);
--#9360=CARTESIAN_POINT('',(2.115E1,2.35E0,9.441108058217E0));
--#9361=DIRECTION('',(0.E0,0.E0,1.E0));
--#9362=DIRECTION('',(1.015061051086E-14,-1.E0,0.E0));
--#9363=AXIS2_PLACEMENT_3D('',#9360,#9361,#9362);
--#9364=CYLINDRICAL_SURFACE('',#9363,3.5E-1);
--#9366=ORIENTED_EDGE('',*,*,#9365,.F.);
--#9368=ORIENTED_EDGE('',*,*,#9367,.T.);
--#9369=ORIENTED_EDGE('',*,*,#9353,.T.);
--#9370=ORIENTED_EDGE('',*,*,#6195,.T.);
--#9371=EDGE_LOOP('',(#9366,#9368,#9369,#9370));
--#9372=FACE_OUTER_BOUND('',#9371,.F.);
--#9373=ADVANCED_FACE('',(#9372),#9364,.F.);
--#9374=CARTESIAN_POINT('',(2.15E1,2.E0,1.E1));
--#9375=DIRECTION('',(0.E0,1.E0,0.E0));
--#9376=DIRECTION('',(-1.E0,0.E0,0.E0));
--#9377=AXIS2_PLACEMENT_3D('',#9374,#9375,#9376);
--#9378=PLANE('',#9377);
--#9379=ORIENTED_EDGE('',*,*,#9365,.T.);
--#9380=ORIENTED_EDGE('',*,*,#6193,.T.);
--#9382=ORIENTED_EDGE('',*,*,#9381,.F.);
--#9384=ORIENTED_EDGE('',*,*,#9383,.F.);
--#9385=EDGE_LOOP('',(#9379,#9380,#9382,#9384));
--#9386=FACE_OUTER_BOUND('',#9385,.F.);
--#9387=ADVANCED_FACE('',(#9386),#9378,.T.);
--#9388=CARTESIAN_POINT('',(1.985E1,2.35E0,9.441108058217E0));
--#9389=DIRECTION('',(0.E0,0.E0,1.E0));
--#9390=DIRECTION('',(-1.E0,0.E0,0.E0));
--#9391=AXIS2_PLACEMENT_3D('',#9388,#9389,#9390);
--#9392=CYLINDRICAL_SURFACE('',#9391,3.5E-1);
--#9394=ORIENTED_EDGE('',*,*,#9393,.F.);
--#9396=ORIENTED_EDGE('',*,*,#9395,.T.);
--#9397=ORIENTED_EDGE('',*,*,#9381,.T.);
--#9398=ORIENTED_EDGE('',*,*,#6191,.T.);
--#9399=EDGE_LOOP('',(#9394,#9396,#9397,#9398));
--#9400=FACE_OUTER_BOUND('',#9399,.F.);
--#9401=ADVANCED_FACE('',(#9400),#9392,.F.);
--#9402=CARTESIAN_POINT('',(1.95E1,2.E0,1.E1));
--#9403=DIRECTION('',(1.E0,0.E0,0.E0));
--#9404=DIRECTION('',(0.E0,1.E0,0.E0));
--#9405=AXIS2_PLACEMENT_3D('',#9402,#9403,#9404);
--#9406=PLANE('',#9405);
--#9407=ORIENTED_EDGE('',*,*,#9393,.T.);
--#9408=ORIENTED_EDGE('',*,*,#6189,.T.);
--#9410=ORIENTED_EDGE('',*,*,#9409,.F.);
--#9412=ORIENTED_EDGE('',*,*,#9411,.F.);
--#9413=EDGE_LOOP('',(#9407,#9408,#9410,#9412));
--#9414=FACE_OUTER_BOUND('',#9413,.F.);
--#9415=ADVANCED_FACE('',(#9414),#9406,.T.);
--#9416=CARTESIAN_POINT('',(1.985E1,9.15E0,9.441108058217E0));
--#9417=DIRECTION('',(0.E0,0.E0,1.E0));
--#9418=DIRECTION('',(-1.015061051086E-14,1.E0,0.E0));
--#9419=AXIS2_PLACEMENT_3D('',#9416,#9417,#9418);
--#9420=CYLINDRICAL_SURFACE('',#9419,3.5E-1);
--#9422=ORIENTED_EDGE('',*,*,#9421,.F.);
--#9424=ORIENTED_EDGE('',*,*,#9423,.T.);
--#9425=ORIENTED_EDGE('',*,*,#9409,.T.);
--#9426=ORIENTED_EDGE('',*,*,#6187,.T.);
--#9427=EDGE_LOOP('',(#9422,#9424,#9425,#9426));
--#9428=FACE_OUTER_BOUND('',#9427,.F.);
--#9429=ADVANCED_FACE('',(#9428),#9420,.F.);
--#9430=CARTESIAN_POINT('',(1.95E1,9.5E0,1.E1));
--#9431=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9432=DIRECTION('',(1.E0,0.E0,0.E0));
--#9433=AXIS2_PLACEMENT_3D('',#9430,#9431,#9432);
--#9434=PLANE('',#9433);
--#9436=ORIENTED_EDGE('',*,*,#9435,.F.);
--#9438=ORIENTED_EDGE('',*,*,#9437,.F.);
--#9439=ORIENTED_EDGE('',*,*,#9421,.T.);
--#9440=ORIENTED_EDGE('',*,*,#6185,.T.);
--#9441=EDGE_LOOP('',(#9436,#9438,#9439,#9440));
--#9442=FACE_OUTER_BOUND('',#9441,.F.);
--#9443=ADVANCED_FACE('',(#9442),#9434,.T.);
--#9444=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,9.441108058217E0));
--#9445=DIRECTION('',(0.E0,0.E0,1.E0));
--#9446=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
--#9447=AXIS2_PLACEMENT_3D('',#9444,#9445,#9446);
--#9448=CYLINDRICAL_SURFACE('',#9447,3.5E-1);
--#9450=ORIENTED_EDGE('',*,*,#9449,.F.);
--#9452=ORIENTED_EDGE('',*,*,#9451,.T.);
--#9453=ORIENTED_EDGE('',*,*,#9435,.T.);
--#9454=ORIENTED_EDGE('',*,*,#6183,.T.);
--#9455=EDGE_LOOP('',(#9450,#9452,#9453,#9454));
--#9456=FACE_OUTER_BOUND('',#9455,.F.);
--#9457=ADVANCED_FACE('',(#9456),#9448,.F.);
--#9458=CARTESIAN_POINT('',(2.125314193270E1,9.5E0,1.E1));
--#9459=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0));
--#9460=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
--#9461=AXIS2_PLACEMENT_3D('',#9458,#9459,#9460);
--#9462=PLANE('',#9461);
--#9464=ORIENTED_EDGE('',*,*,#9463,.F.);
--#9466=ORIENTED_EDGE('',*,*,#9465,.F.);
--#9467=ORIENTED_EDGE('',*,*,#9449,.T.);
--#9468=ORIENTED_EDGE('',*,*,#6181,.T.);
--#9469=EDGE_LOOP('',(#9464,#9466,#9467,#9468));
--#9470=FACE_OUTER_BOUND('',#9469,.F.);
--#9471=ADVANCED_FACE('',(#9470),#9462,.T.);
--#9472=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,9.441108058217E0));
--#9473=DIRECTION('',(0.E0,0.E0,1.E0));
--#9474=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9475=AXIS2_PLACEMENT_3D('',#9472,#9473,#9474);
--#9476=CYLINDRICAL_SURFACE('',#9475,3.5E-1);
--#9478=ORIENTED_EDGE('',*,*,#9477,.F.);
--#9480=ORIENTED_EDGE('',*,*,#9479,.T.);
--#9481=ORIENTED_EDGE('',*,*,#9463,.T.);
--#9482=ORIENTED_EDGE('',*,*,#6179,.T.);
--#9483=EDGE_LOOP('',(#9478,#9480,#9481,#9482));
--#9484=FACE_OUTER_BOUND('',#9483,.F.);
--#9485=ADVANCED_FACE('',(#9484),#9476,.F.);
--#9486=CARTESIAN_POINT('',(2.264203082158E1,7.E0,1.E1));
--#9487=DIRECTION('',(0.E0,1.E0,0.E0));
--#9488=DIRECTION('',(-1.E0,0.E0,0.E0));
--#9489=AXIS2_PLACEMENT_3D('',#9486,#9487,#9488);
--#9490=PLANE('',#9489);
--#9491=ORIENTED_EDGE('',*,*,#9340,.T.);
--#9493=ORIENTED_EDGE('',*,*,#9492,.F.);
--#9494=ORIENTED_EDGE('',*,*,#9477,.T.);
--#9495=ORIENTED_EDGE('',*,*,#6177,.T.);
--#9496=EDGE_LOOP('',(#9491,#9493,#9494,#9495));
--#9497=FACE_OUTER_BOUND('',#9496,.F.);
--#9498=ADVANCED_FACE('',(#9497),#9490,.T.);
--#9499=CARTESIAN_POINT('',(2.4E1,0.E0,9.5E0));
--#9500=DIRECTION('',(0.E0,0.E0,-1.E0));
--#9501=DIRECTION('',(-1.E0,0.E0,0.E0));
--#9502=AXIS2_PLACEMENT_3D('',#9499,#9500,#9501);
--#9503=PLANE('',#9502);
--#9504=ORIENTED_EDGE('',*,*,#9492,.T.);
--#9505=ORIENTED_EDGE('',*,*,#9338,.F.);
--#9506=ORIENTED_EDGE('',*,*,#9355,.T.);
--#9507=ORIENTED_EDGE('',*,*,#9367,.F.);
--#9508=ORIENTED_EDGE('',*,*,#9383,.T.);
--#9509=ORIENTED_EDGE('',*,*,#9395,.F.);
--#9510=ORIENTED_EDGE('',*,*,#9411,.T.);
--#9511=ORIENTED_EDGE('',*,*,#9423,.F.);
--#9512=ORIENTED_EDGE('',*,*,#9437,.T.);
--#9513=ORIENTED_EDGE('',*,*,#9451,.F.);
--#9514=ORIENTED_EDGE('',*,*,#9465,.T.);
--#9515=ORIENTED_EDGE('',*,*,#9479,.F.);
--#9516=EDGE_LOOP('',(#9504,#9505,#9506,#9507,#9508,#9509,#9510,#9511,#9512,#9513,
--#9514,#9515));
--#9517=FACE_OUTER_BOUND('',#9516,.F.);
--#9518=ADVANCED_FACE('',(#9517),#9503,.F.);
--#9519=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0));
--#9520=DIRECTION('',(0.E0,0.E0,-1.E0));
--#9521=DIRECTION('',(-1.E0,0.E0,0.E0));
--#9522=AXIS2_PLACEMENT_3D('',#9519,#9520,#9521);
--#9523=CYLINDRICAL_SURFACE('',#9522,9.5E-2);
--#9524=ORIENTED_EDGE('',*,*,#6007,.F.);
--#9526=ORIENTED_EDGE('',*,*,#9525,.T.);
--#9528=ORIENTED_EDGE('',*,*,#9527,.T.);
--#9530=ORIENTED_EDGE('',*,*,#9529,.F.);
--#9531=EDGE_LOOP('',(#9524,#9526,#9528,#9530));
--#9532=FACE_OUTER_BOUND('',#9531,.F.);
--#9533=ADVANCED_FACE('',(#9532),#9523,.F.);
--#9534=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0));
--#9535=DIRECTION('',(0.E0,0.E0,-1.E0));
--#9536=DIRECTION('',(-1.E0,0.E0,0.E0));
--#9537=AXIS2_PLACEMENT_3D('',#9534,#9535,#9536);
--#9538=CYLINDRICAL_SURFACE('',#9537,9.5E-2);
--#9539=ORIENTED_EDGE('',*,*,#6009,.F.);
--#9540=ORIENTED_EDGE('',*,*,#9529,.T.);
--#9542=ORIENTED_EDGE('',*,*,#9541,.T.);
--#9543=ORIENTED_EDGE('',*,*,#9525,.F.);
--#9544=EDGE_LOOP('',(#9539,#9540,#9542,#9543));
--#9545=FACE_OUTER_BOUND('',#9544,.F.);
--#9546=ADVANCED_FACE('',(#9545),#9538,.F.);
--#9547=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0));
--#9548=DIRECTION('',(0.E0,0.E0,-1.E0));
--#9549=DIRECTION('',(-1.E0,0.E0,0.E0));
--#9550=AXIS2_PLACEMENT_3D('',#9547,#9548,#9549);
--#9551=PLANE('',#9550);
--#9552=ORIENTED_EDGE('',*,*,#9527,.F.);
--#9553=ORIENTED_EDGE('',*,*,#9541,.F.);
--#9554=EDGE_LOOP('',(#9552,#9553));
--#9555=FACE_OUTER_BOUND('',#9554,.F.);
--#9556=ADVANCED_FACE('',(#9555),#9551,.T.);
--#9557=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0));
--#9558=DIRECTION('',(0.E0,0.E0,-1.E0));
--#9559=DIRECTION('',(-1.E0,0.E0,0.E0));
--#9560=AXIS2_PLACEMENT_3D('',#9557,#9558,#9559);
--#9561=CYLINDRICAL_SURFACE('',#9560,9.5E-2);
--#9562=ORIENTED_EDGE('',*,*,#6013,.F.);
--#9564=ORIENTED_EDGE('',*,*,#9563,.T.);
--#9566=ORIENTED_EDGE('',*,*,#9565,.T.);
--#9568=ORIENTED_EDGE('',*,*,#9567,.F.);
--#9569=EDGE_LOOP('',(#9562,#9564,#9566,#9568));
--#9570=FACE_OUTER_BOUND('',#9569,.F.);
--#9571=ADVANCED_FACE('',(#9570),#9561,.F.);
--#9572=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0));
--#9573=DIRECTION('',(0.E0,0.E0,-1.E0));
--#9574=DIRECTION('',(-1.E0,0.E0,0.E0));
--#9575=AXIS2_PLACEMENT_3D('',#9572,#9573,#9574);
--#9576=CYLINDRICAL_SURFACE('',#9575,9.5E-2);
--#9577=ORIENTED_EDGE('',*,*,#6015,.F.);
--#9578=ORIENTED_EDGE('',*,*,#9567,.T.);
--#9580=ORIENTED_EDGE('',*,*,#9579,.T.);
--#9581=ORIENTED_EDGE('',*,*,#9563,.F.);
--#9582=EDGE_LOOP('',(#9577,#9578,#9580,#9581));
--#9583=FACE_OUTER_BOUND('',#9582,.F.);
--#9584=ADVANCED_FACE('',(#9583),#9576,.F.);
--#9585=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0));
--#9586=DIRECTION('',(0.E0,0.E0,-1.E0));
--#9587=DIRECTION('',(-1.E0,0.E0,0.E0));
--#9588=AXIS2_PLACEMENT_3D('',#9585,#9586,#9587);
--#9589=PLANE('',#9588);
--#9590=ORIENTED_EDGE('',*,*,#9565,.F.);
--#9591=ORIENTED_EDGE('',*,*,#9579,.F.);
--#9592=EDGE_LOOP('',(#9590,#9591));
--#9593=FACE_OUTER_BOUND('',#9592,.F.);
--#9594=ADVANCED_FACE('',(#9593),#9589,.T.);
--#9595=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0));
--#9596=DIRECTION('',(0.E0,0.E0,1.E0));
--#9597=DIRECTION('',(1.E0,0.E0,0.E0));
--#9598=AXIS2_PLACEMENT_3D('',#9595,#9596,#9597);
--#9599=CYLINDRICAL_SURFACE('',#9598,9.5E-2);
--#9600=ORIENTED_EDGE('',*,*,#6019,.T.);
--#9602=ORIENTED_EDGE('',*,*,#9601,.T.);
--#9604=ORIENTED_EDGE('',*,*,#9603,.F.);
--#9606=ORIENTED_EDGE('',*,*,#9605,.F.);
--#9607=EDGE_LOOP('',(#9600,#9602,#9604,#9606));
--#9608=FACE_OUTER_BOUND('',#9607,.F.);
--#9609=ADVANCED_FACE('',(#9608),#9599,.F.);
--#9610=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0));
--#9611=DIRECTION('',(0.E0,0.E0,1.E0));
--#9612=DIRECTION('',(1.E0,0.E0,0.E0));
--#9613=AXIS2_PLACEMENT_3D('',#9610,#9611,#9612);
--#9614=CYLINDRICAL_SURFACE('',#9613,9.5E-2);
--#9615=ORIENTED_EDGE('',*,*,#6021,.T.);
--#9616=ORIENTED_EDGE('',*,*,#9605,.T.);
--#9618=ORIENTED_EDGE('',*,*,#9617,.F.);
--#9619=ORIENTED_EDGE('',*,*,#9601,.F.);
--#9620=EDGE_LOOP('',(#9615,#9616,#9618,#9619));
--#9621=FACE_OUTER_BOUND('',#9620,.F.);
--#9622=ADVANCED_FACE('',(#9621),#9614,.F.);
--#9623=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0));
--#9624=DIRECTION('',(0.E0,0.E0,1.E0));
--#9625=DIRECTION('',(1.E0,0.E0,0.E0));
--#9626=AXIS2_PLACEMENT_3D('',#9623,#9624,#9625);
--#9627=PLANE('',#9626);
--#9628=ORIENTED_EDGE('',*,*,#9603,.T.);
--#9629=ORIENTED_EDGE('',*,*,#9617,.T.);
--#9630=EDGE_LOOP('',(#9628,#9629));
--#9631=FACE_OUTER_BOUND('',#9630,.F.);
--#9632=ADVANCED_FACE('',(#9631),#9627,.F.);
--#9633=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0));
--#9634=DIRECTION('',(0.E0,0.E0,1.E0));
--#9635=DIRECTION('',(1.E0,0.E0,0.E0));
--#9636=AXIS2_PLACEMENT_3D('',#9633,#9634,#9635);
--#9637=CYLINDRICAL_SURFACE('',#9636,9.5E-2);
--#9638=ORIENTED_EDGE('',*,*,#6025,.T.);
--#9640=ORIENTED_EDGE('',*,*,#9639,.T.);
--#9642=ORIENTED_EDGE('',*,*,#9641,.F.);
--#9644=ORIENTED_EDGE('',*,*,#9643,.F.);
--#9645=EDGE_LOOP('',(#9638,#9640,#9642,#9644));
--#9646=FACE_OUTER_BOUND('',#9645,.F.);
--#9647=ADVANCED_FACE('',(#9646),#9637,.F.);
--#9648=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0));
--#9649=DIRECTION('',(0.E0,0.E0,1.E0));
--#9650=DIRECTION('',(1.E0,0.E0,0.E0));
--#9651=AXIS2_PLACEMENT_3D('',#9648,#9649,#9650);
--#9652=CYLINDRICAL_SURFACE('',#9651,9.5E-2);
--#9653=ORIENTED_EDGE('',*,*,#6027,.T.);
--#9654=ORIENTED_EDGE('',*,*,#9643,.T.);
--#9656=ORIENTED_EDGE('',*,*,#9655,.F.);
--#9657=ORIENTED_EDGE('',*,*,#9639,.F.);
--#9658=EDGE_LOOP('',(#9653,#9654,#9656,#9657));
--#9659=FACE_OUTER_BOUND('',#9658,.F.);
--#9660=ADVANCED_FACE('',(#9659),#9652,.F.);
--#9661=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0));
--#9662=DIRECTION('',(0.E0,0.E0,1.E0));
--#9663=DIRECTION('',(1.E0,0.E0,0.E0));
--#9664=AXIS2_PLACEMENT_3D('',#9661,#9662,#9663);
--#9665=PLANE('',#9664);
--#9666=ORIENTED_EDGE('',*,*,#9641,.T.);
--#9667=ORIENTED_EDGE('',*,*,#9655,.T.);
--#9668=EDGE_LOOP('',(#9666,#9667));
--#9669=FACE_OUTER_BOUND('',#9668,.F.);
--#9670=ADVANCED_FACE('',(#9669),#9665,.F.);
--#9671=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0));
--#9672=DIRECTION('',(0.E0,0.E0,1.E0));
--#9673=DIRECTION('',(1.E0,0.E0,0.E0));
--#9674=AXIS2_PLACEMENT_3D('',#9671,#9672,#9673);
--#9675=CYLINDRICAL_SURFACE('',#9674,9.5E-2);
--#9676=ORIENTED_EDGE('',*,*,#6037,.T.);
--#9678=ORIENTED_EDGE('',*,*,#9677,.T.);
--#9680=ORIENTED_EDGE('',*,*,#9679,.F.);
--#9682=ORIENTED_EDGE('',*,*,#9681,.F.);
--#9683=EDGE_LOOP('',(#9676,#9678,#9680,#9682));
--#9684=FACE_OUTER_BOUND('',#9683,.F.);
--#9685=ADVANCED_FACE('',(#9684),#9675,.F.);
--#9686=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0));
--#9687=DIRECTION('',(0.E0,0.E0,1.E0));
--#9688=DIRECTION('',(1.E0,0.E0,0.E0));
--#9689=AXIS2_PLACEMENT_3D('',#9686,#9687,#9688);
--#9690=CYLINDRICAL_SURFACE('',#9689,9.5E-2);
--#9691=ORIENTED_EDGE('',*,*,#6039,.T.);
--#9692=ORIENTED_EDGE('',*,*,#9681,.T.);
--#9694=ORIENTED_EDGE('',*,*,#9693,.F.);
--#9695=ORIENTED_EDGE('',*,*,#9677,.F.);
--#9696=EDGE_LOOP('',(#9691,#9692,#9694,#9695));
--#9697=FACE_OUTER_BOUND('',#9696,.F.);
--#9698=ADVANCED_FACE('',(#9697),#9690,.F.);
--#9699=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0));
--#9700=DIRECTION('',(0.E0,0.E0,1.E0));
--#9701=DIRECTION('',(1.E0,0.E0,0.E0));
--#9702=AXIS2_PLACEMENT_3D('',#9699,#9700,#9701);
--#9703=PLANE('',#9702);
--#9704=ORIENTED_EDGE('',*,*,#9679,.T.);
--#9705=ORIENTED_EDGE('',*,*,#9693,.T.);
--#9706=EDGE_LOOP('',(#9704,#9705));
--#9707=FACE_OUTER_BOUND('',#9706,.F.);
--#9708=ADVANCED_FACE('',(#9707),#9703,.F.);
--#9709=CARTESIAN_POINT('',(4.5E0,2.E0,8.E0));
--#9710=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9711=DIRECTION('',(-1.E0,0.E0,0.E0));
--#9712=AXIS2_PLACEMENT_3D('',#9709,#9710,#9711);
--#9713=PLANE('',#9712);
--#9715=ORIENTED_EDGE('',*,*,#9714,.T.);
--#9717=ORIENTED_EDGE('',*,*,#9716,.T.);
--#9719=ORIENTED_EDGE('',*,*,#9718,.F.);
--#9720=ORIENTED_EDGE('',*,*,#6043,.F.);
--#9721=EDGE_LOOP('',(#9715,#9717,#9719,#9720));
--#9722=FACE_OUTER_BOUND('',#9721,.F.);
--#9723=ADVANCED_FACE('',(#9722),#9713,.F.);
--#9724=CARTESIAN_POINT('',(3.75E0,2.75E0,7.931076025772E0));
--#9725=DIRECTION('',(0.E0,0.E0,1.E0));
--#9726=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9727=AXIS2_PLACEMENT_3D('',#9724,#9725,#9726);
--#9728=CYLINDRICAL_SURFACE('',#9727,7.5E-1);
--#9729=ORIENTED_EDGE('',*,*,#9714,.F.);
--#9730=ORIENTED_EDGE('',*,*,#6057,.T.);
--#9732=ORIENTED_EDGE('',*,*,#9731,.T.);
--#9734=ORIENTED_EDGE('',*,*,#9733,.T.);
--#9735=EDGE_LOOP('',(#9729,#9730,#9732,#9734));
--#9736=FACE_OUTER_BOUND('',#9735,.F.);
--#9737=ADVANCED_FACE('',(#9736),#9728,.F.);
--#9738=CARTESIAN_POINT('',(4.5E0,9.5E0,8.E0));
--#9739=DIRECTION('',(1.E0,0.E0,0.E0));
--#9740=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9741=AXIS2_PLACEMENT_3D('',#9738,#9739,#9740);
--#9742=PLANE('',#9741);
--#9743=ORIENTED_EDGE('',*,*,#9731,.F.);
--#9744=ORIENTED_EDGE('',*,*,#6055,.F.);
--#9746=ORIENTED_EDGE('',*,*,#9745,.T.);
--#9748=ORIENTED_EDGE('',*,*,#9747,.T.);
--#9749=EDGE_LOOP('',(#9743,#9744,#9746,#9748));
--#9750=FACE_OUTER_BOUND('',#9749,.F.);
--#9751=ADVANCED_FACE('',(#9750),#9742,.F.);
--#9752=CARTESIAN_POINT('',(3.75E0,8.75E0,7.931076025772E0));
--#9753=DIRECTION('',(0.E0,0.E0,1.E0));
--#9754=DIRECTION('',(1.E0,0.E0,0.E0));
--#9755=AXIS2_PLACEMENT_3D('',#9752,#9753,#9754);
--#9756=CYLINDRICAL_SURFACE('',#9755,7.5E-1);
--#9757=ORIENTED_EDGE('',*,*,#9745,.F.);
--#9758=ORIENTED_EDGE('',*,*,#6053,.T.);
--#9760=ORIENTED_EDGE('',*,*,#9759,.T.);
--#9762=ORIENTED_EDGE('',*,*,#9761,.T.);
--#9763=EDGE_LOOP('',(#9757,#9758,#9760,#9762));
--#9764=FACE_OUTER_BOUND('',#9763,.F.);
--#9765=ADVANCED_FACE('',(#9764),#9756,.F.);
--#9766=CARTESIAN_POINT('',(2.746858067304E0,9.5E0,8.E0));
--#9767=DIRECTION('',(0.E0,1.E0,0.E0));
--#9768=DIRECTION('',(1.E0,0.E0,0.E0));
--#9769=AXIS2_PLACEMENT_3D('',#9766,#9767,#9768);
--#9770=PLANE('',#9769);
--#9772=ORIENTED_EDGE('',*,*,#9771,.T.);
--#9774=ORIENTED_EDGE('',*,*,#9773,.T.);
--#9775=ORIENTED_EDGE('',*,*,#9759,.F.);
--#9776=ORIENTED_EDGE('',*,*,#6051,.F.);
--#9777=EDGE_LOOP('',(#9772,#9774,#9775,#9776));
--#9778=FACE_OUTER_BOUND('',#9777,.F.);
--#9779=ADVANCED_FACE('',(#9778),#9770,.F.);
--#9780=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,7.931076025772E0));
--#9781=DIRECTION('',(0.E0,0.E0,1.E0));
--#9782=DIRECTION('',(0.E0,1.E0,0.E0));
--#9783=AXIS2_PLACEMENT_3D('',#9780,#9781,#9782);
--#9784=CYLINDRICAL_SURFACE('',#9783,7.5E-1);
--#9785=ORIENTED_EDGE('',*,*,#9771,.F.);
--#9786=ORIENTED_EDGE('',*,*,#6049,.T.);
--#9788=ORIENTED_EDGE('',*,*,#9787,.T.);
--#9790=ORIENTED_EDGE('',*,*,#9789,.T.);
--#9791=EDGE_LOOP('',(#9785,#9786,#9788,#9790));
--#9792=FACE_OUTER_BOUND('',#9791,.F.);
--#9793=ADVANCED_FACE('',(#9792),#9784,.F.);
--#9794=CARTESIAN_POINT('',(-1.419808599362E0,2.E0,8.E0));
--#9795=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
--#9796=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0));
--#9797=AXIS2_PLACEMENT_3D('',#9794,#9795,#9796);
--#9798=PLANE('',#9797);
--#9800=ORIENTED_EDGE('',*,*,#9799,.T.);
--#9802=ORIENTED_EDGE('',*,*,#9801,.T.);
--#9803=ORIENTED_EDGE('',*,*,#9787,.F.);
--#9804=ORIENTED_EDGE('',*,*,#6047,.F.);
--#9805=EDGE_LOOP('',(#9800,#9802,#9803,#9804));
--#9806=FACE_OUTER_BOUND('',#9805,.F.);
--#9807=ADVANCED_FACE('',(#9806),#9798,.F.);
--#9808=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,7.931076025772E0));
--#9809=DIRECTION('',(0.E0,0.E0,1.E0));
--#9810=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
--#9811=AXIS2_PLACEMENT_3D('',#9808,#9809,#9810);
--#9812=CYLINDRICAL_SURFACE('',#9811,7.5E-1);
--#9813=ORIENTED_EDGE('',*,*,#9799,.F.);
--#9814=ORIENTED_EDGE('',*,*,#6045,.T.);
--#9815=ORIENTED_EDGE('',*,*,#9718,.T.);
--#9817=ORIENTED_EDGE('',*,*,#9816,.T.);
--#9818=EDGE_LOOP('',(#9813,#9814,#9815,#9817));
--#9819=FACE_OUTER_BOUND('',#9818,.F.);
--#9820=ADVANCED_FACE('',(#9819),#9812,.F.);
--#9821=CARTESIAN_POINT('',(0.E0,0.E0,8.5E0));
--#9822=DIRECTION('',(0.E0,0.E0,-1.E0));
--#9823=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9824=AXIS2_PLACEMENT_3D('',#9821,#9822,#9823);
--#9825=PLANE('',#9824);
--#9826=ORIENTED_EDGE('',*,*,#9733,.F.);
--#9827=ORIENTED_EDGE('',*,*,#9747,.F.);
--#9828=ORIENTED_EDGE('',*,*,#9761,.F.);
--#9829=ORIENTED_EDGE('',*,*,#9773,.F.);
--#9830=ORIENTED_EDGE('',*,*,#9789,.F.);
--#9831=ORIENTED_EDGE('',*,*,#9801,.F.);
--#9832=ORIENTED_EDGE('',*,*,#9816,.F.);
--#9833=ORIENTED_EDGE('',*,*,#9716,.F.);
--#9834=EDGE_LOOP('',(#9826,#9827,#9828,#9829,#9830,#9831,#9832,#9833));
--#9835=FACE_OUTER_BOUND('',#9834,.F.);
--#9836=ADVANCED_FACE('',(#9835),#9825,.T.);
--#9837=CARTESIAN_POINT('',(2.541980859936E1,2.E0,8.E0));
--#9838=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0));
--#9839=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0));
--#9840=AXIS2_PLACEMENT_3D('',#9837,#9838,#9839);
--#9841=PLANE('',#9840);
--#9843=ORIENTED_EDGE('',*,*,#9842,.T.);
--#9844=ORIENTED_EDGE('',*,*,#6061,.T.);
--#9846=ORIENTED_EDGE('',*,*,#9845,.F.);
--#9848=ORIENTED_EDGE('',*,*,#9847,.F.);
--#9849=EDGE_LOOP('',(#9843,#9844,#9846,#9848));
--#9850=FACE_OUTER_BOUND('',#9849,.F.);
--#9851=ADVANCED_FACE('',(#9850),#9841,.T.);
--#9852=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.558891941783E0));
--#9853=DIRECTION('',(0.E0,0.E0,-1.E0));
--#9854=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
--#9855=AXIS2_PLACEMENT_3D('',#9852,#9853,#9854);
--#9856=CYLINDRICAL_SURFACE('',#9855,7.5E-1);
--#9857=ORIENTED_EDGE('',*,*,#9842,.F.);
--#9859=ORIENTED_EDGE('',*,*,#9858,.T.);
--#9861=ORIENTED_EDGE('',*,*,#9860,.T.);
--#9862=ORIENTED_EDGE('',*,*,#6063,.T.);
--#9863=EDGE_LOOP('',(#9857,#9859,#9861,#9862));
--#9864=FACE_OUTER_BOUND('',#9863,.F.);
--#9865=ADVANCED_FACE('',(#9864),#9856,.F.);
--#9866=CARTESIAN_POINT('',(2.4E1,0.E0,8.5E0));
--#9867=DIRECTION('',(0.E0,0.E0,1.E0));
--#9868=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9869=AXIS2_PLACEMENT_3D('',#9866,#9867,#9868);
--#9870=PLANE('',#9869);
--#9872=ORIENTED_EDGE('',*,*,#9871,.F.);
--#9874=ORIENTED_EDGE('',*,*,#9873,.T.);
--#9875=ORIENTED_EDGE('',*,*,#9858,.F.);
--#9876=ORIENTED_EDGE('',*,*,#9847,.T.);
--#9878=ORIENTED_EDGE('',*,*,#9877,.F.);
--#9880=ORIENTED_EDGE('',*,*,#9879,.T.);
--#9882=ORIENTED_EDGE('',*,*,#9881,.F.);
--#9884=ORIENTED_EDGE('',*,*,#9883,.T.);
--#9885=EDGE_LOOP('',(#9872,#9874,#9875,#9876,#9878,#9880,#9882,#9884));
--#9886=FACE_OUTER_BOUND('',#9885,.F.);
--#9887=ADVANCED_FACE('',(#9886),#9870,.F.);
--#9888=CARTESIAN_POINT('',(2.025E1,2.75E0,8.558891941783E0));
--#9889=DIRECTION('',(0.E0,0.E0,-1.E0));
--#9890=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9891=AXIS2_PLACEMENT_3D('',#9888,#9889,#9890);
--#9892=CYLINDRICAL_SURFACE('',#9891,7.5E-1);
--#9894=ORIENTED_EDGE('',*,*,#9893,.F.);
--#9895=ORIENTED_EDGE('',*,*,#9871,.T.);
--#9897=ORIENTED_EDGE('',*,*,#9896,.T.);
--#9898=ORIENTED_EDGE('',*,*,#6067,.T.);
--#9899=EDGE_LOOP('',(#9894,#9895,#9897,#9898));
--#9900=FACE_OUTER_BOUND('',#9899,.F.);
--#9901=ADVANCED_FACE('',(#9900),#9892,.F.);
--#9902=CARTESIAN_POINT('',(1.95E1,2.E0,8.E0));
--#9903=DIRECTION('',(0.E0,1.E0,0.E0));
--#9904=DIRECTION('',(1.E0,0.E0,0.E0));
--#9905=AXIS2_PLACEMENT_3D('',#9902,#9903,#9904);
--#9906=PLANE('',#9905);
--#9907=ORIENTED_EDGE('',*,*,#9893,.T.);
--#9908=ORIENTED_EDGE('',*,*,#6065,.T.);
--#9909=ORIENTED_EDGE('',*,*,#9860,.F.);
--#9910=ORIENTED_EDGE('',*,*,#9873,.F.);
--#9911=EDGE_LOOP('',(#9907,#9908,#9909,#9910));
--#9912=FACE_OUTER_BOUND('',#9911,.F.);
--#9913=ADVANCED_FACE('',(#9912),#9906,.T.);
--#9914=CARTESIAN_POINT('',(1.95E1,9.5E0,8.E0));
--#9915=DIRECTION('',(1.E0,0.E0,0.E0));
--#9916=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9917=AXIS2_PLACEMENT_3D('',#9914,#9915,#9916);
--#9918=PLANE('',#9917);
--#9919=ORIENTED_EDGE('',*,*,#9896,.F.);
--#9920=ORIENTED_EDGE('',*,*,#9883,.F.);
--#9922=ORIENTED_EDGE('',*,*,#9921,.T.);
--#9923=ORIENTED_EDGE('',*,*,#6069,.T.);
--#9924=EDGE_LOOP('',(#9919,#9920,#9922,#9923));
--#9925=FACE_OUTER_BOUND('',#9924,.F.);
--#9926=ADVANCED_FACE('',(#9925),#9918,.T.);
--#9927=CARTESIAN_POINT('',(2.025E1,8.75E0,8.558891941783E0));
--#9928=DIRECTION('',(0.E0,0.E0,-1.E0));
--#9929=DIRECTION('',(-1.E0,0.E0,0.E0));
--#9930=AXIS2_PLACEMENT_3D('',#9927,#9928,#9929);
--#9931=CYLINDRICAL_SURFACE('',#9930,7.5E-1);
--#9932=ORIENTED_EDGE('',*,*,#9921,.F.);
--#9933=ORIENTED_EDGE('',*,*,#9881,.T.);
--#9935=ORIENTED_EDGE('',*,*,#9934,.T.);
--#9936=ORIENTED_EDGE('',*,*,#6071,.T.);
--#9937=EDGE_LOOP('',(#9932,#9933,#9935,#9936));
--#9938=FACE_OUTER_BOUND('',#9937,.F.);
--#9939=ADVANCED_FACE('',(#9938),#9931,.F.);
--#9940=CARTESIAN_POINT('',(2.125314193270E1,9.5E0,8.E0));
--#9941=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9942=DIRECTION('',(-1.E0,0.E0,0.E0));
--#9943=AXIS2_PLACEMENT_3D('',#9940,#9941,#9942);
--#9944=PLANE('',#9943);
--#9946=ORIENTED_EDGE('',*,*,#9945,.T.);
--#9947=ORIENTED_EDGE('',*,*,#6073,.T.);
--#9948=ORIENTED_EDGE('',*,*,#9934,.F.);
--#9949=ORIENTED_EDGE('',*,*,#9879,.F.);
--#9950=EDGE_LOOP('',(#9946,#9947,#9948,#9949));
--#9951=FACE_OUTER_BOUND('',#9950,.F.);
--#9952=ADVANCED_FACE('',(#9951),#9944,.T.);
--#9953=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.558891941783E0));
--#9954=DIRECTION('',(0.E0,0.E0,-1.E0));
--#9955=DIRECTION('',(0.E0,1.E0,0.E0));
--#9956=AXIS2_PLACEMENT_3D('',#9953,#9954,#9955);
--#9957=CYLINDRICAL_SURFACE('',#9956,7.5E-1);
--#9958=ORIENTED_EDGE('',*,*,#9945,.F.);
--#9959=ORIENTED_EDGE('',*,*,#9877,.T.);
--#9960=ORIENTED_EDGE('',*,*,#9845,.T.);
--#9961=ORIENTED_EDGE('',*,*,#6075,.T.);
--#9962=EDGE_LOOP('',(#9958,#9959,#9960,#9961));
--#9963=FACE_OUTER_BOUND('',#9962,.F.);
--#9964=ADVANCED_FACE('',(#9963),#9957,.F.);
--#9965=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1));
--#9966=DIRECTION('',(0.E0,0.E0,-1.E0));
--#9967=DIRECTION('',(1.E0,0.E0,0.E0));
--#9968=AXIS2_PLACEMENT_3D('',#9965,#9966,#9967);
--#9969=PLANE('',#9968);
--#9970=ORIENTED_EDGE('',*,*,#5726,.F.);
--#9972=ORIENTED_EDGE('',*,*,#9971,.T.);
--#9974=ORIENTED_EDGE('',*,*,#9973,.T.);
--#9976=ORIENTED_EDGE('',*,*,#9975,.F.);
--#9977=EDGE_LOOP('',(#9970,#9972,#9974,#9976));
--#9978=FACE_OUTER_BOUND('',#9977,.F.);
--#9979=ADVANCED_FACE('',(#9978),#9969,.F.);
--#9980=CARTESIAN_POINT('',(7.5E0,0.E0,1.25E0));
--#9981=DIRECTION('',(0.E0,-1.E0,0.E0));
--#9982=DIRECTION('',(1.E0,0.E0,0.E0));
--#9983=AXIS2_PLACEMENT_3D('',#9980,#9981,#9982);
--#9984=CYLINDRICAL_SURFACE('',#9983,5.625E-1);
--#9985=ORIENTED_EDGE('',*,*,#5732,.F.);
--#9987=ORIENTED_EDGE('',*,*,#9986,.T.);
--#9989=ORIENTED_EDGE('',*,*,#9988,.T.);
--#9990=ORIENTED_EDGE('',*,*,#9971,.F.);
--#9991=EDGE_LOOP('',(#9985,#9987,#9989,#9990));
--#9992=FACE_OUTER_BOUND('',#9991,.F.);
--#9993=ADVANCED_FACE('',(#9992),#9984,.F.);
--#9994=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0));
--#9995=DIRECTION('',(0.E0,0.E0,1.E0));
--#9996=DIRECTION('',(-1.E0,0.E0,0.E0));
--#9997=AXIS2_PLACEMENT_3D('',#9994,#9995,#9996);
--#9998=PLANE('',#9997);
--#9999=ORIENTED_EDGE('',*,*,#5730,.F.);
--#10001=ORIENTED_EDGE('',*,*,#10000,.T.);
--#10003=ORIENTED_EDGE('',*,*,#10002,.T.);
--#10004=ORIENTED_EDGE('',*,*,#9986,.F.);
--#10005=EDGE_LOOP('',(#9999,#10001,#10003,#10004));
--#10006=FACE_OUTER_BOUND('',#10005,.F.);
--#10007=ADVANCED_FACE('',(#10006),#9998,.F.);
--#10008=CARTESIAN_POINT('',(1.05E1,0.E0,1.25E0));
--#10009=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10010=DIRECTION('',(1.E0,0.E0,0.E0));
--#10011=AXIS2_PLACEMENT_3D('',#10008,#10009,#10010);
--#10012=CYLINDRICAL_SURFACE('',#10011,5.625E-1);
--#10013=ORIENTED_EDGE('',*,*,#5728,.F.);
--#10014=ORIENTED_EDGE('',*,*,#9975,.T.);
--#10016=ORIENTED_EDGE('',*,*,#10015,.T.);
--#10017=ORIENTED_EDGE('',*,*,#10000,.F.);
--#10018=EDGE_LOOP('',(#10013,#10014,#10016,#10017));
--#10019=FACE_OUTER_BOUND('',#10018,.F.);
--#10020=ADVANCED_FACE('',(#10019),#10012,.F.);
--#10021=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
--#10022=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10023=DIRECTION('',(1.E0,0.E0,0.E0));
--#10024=AXIS2_PLACEMENT_3D('',#10021,#10022,#10023);
--#10025=PLANE('',#10024);
--#10026=ORIENTED_EDGE('',*,*,#9973,.F.);
--#10027=ORIENTED_EDGE('',*,*,#9988,.F.);
--#10028=ORIENTED_EDGE('',*,*,#10002,.F.);
--#10029=ORIENTED_EDGE('',*,*,#10015,.F.);
--#10030=EDGE_LOOP('',(#10026,#10027,#10028,#10029));
--#10031=FACE_OUTER_BOUND('',#10030,.F.);
--#10032=ADVANCED_FACE('',(#10031),#10025,.T.);
--#10033=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
--#10034=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10035=DIRECTION('',(1.E0,0.E0,0.E0));
--#10036=AXIS2_PLACEMENT_3D('',#10033,#10034,#10035);
--#10037=PLANE('',#10036);
--#10039=ORIENTED_EDGE('',*,*,#10038,.F.);
--#10041=ORIENTED_EDGE('',*,*,#10040,.F.);
--#10043=ORIENTED_EDGE('',*,*,#10042,.F.);
--#10045=ORIENTED_EDGE('',*,*,#10044,.F.);
--#10047=ORIENTED_EDGE('',*,*,#10046,.F.);
--#10048=EDGE_LOOP('',(#10039,#10041,#10043,#10045,#10047));
--#10049=FACE_OUTER_BOUND('',#10048,.F.);
--#10050=ADVANCED_FACE('',(#10049),#10037,.T.);
--#10051=CARTESIAN_POINT('',(1.455736763592E0,-6.892397422826E-2,
--4.577195232320E0));
--#10052=DIRECTION('',(0.E0,1.E0,0.E0));
--#10053=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
--#10054=AXIS2_PLACEMENT_3D('',#10051,#10052,#10053);
--#10055=CYLINDRICAL_SURFACE('',#10054,7.5E-1);
--#10057=ORIENTED_EDGE('',*,*,#10056,.F.);
--#10058=ORIENTED_EDGE('',*,*,#5738,.T.);
--#10060=ORIENTED_EDGE('',*,*,#10059,.T.);
--#10061=ORIENTED_EDGE('',*,*,#10038,.T.);
--#10062=EDGE_LOOP('',(#10057,#10058,#10060,#10061));
--#10063=FACE_OUTER_BOUND('',#10062,.F.);
--#10064=ADVANCED_FACE('',(#10063),#10055,.F.);
--#10065=CARTESIAN_POINT('',(6.875E-1,0.E0,4.284771824132E0));
--#10066=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
--#10067=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
--#10068=AXIS2_PLACEMENT_3D('',#10065,#10066,#10067);
--#10069=PLANE('',#10068);
--#10070=ORIENTED_EDGE('',*,*,#10056,.T.);
--#10071=ORIENTED_EDGE('',*,*,#10046,.T.);
--#10073=ORIENTED_EDGE('',*,*,#10072,.F.);
--#10074=ORIENTED_EDGE('',*,*,#5740,.F.);
--#10075=EDGE_LOOP('',(#10070,#10071,#10073,#10074));
--#10076=FACE_OUTER_BOUND('',#10075,.F.);
--#10077=ADVANCED_FACE('',(#10076),#10069,.F.);
--#10078=CARTESIAN_POINT('',(4.553039342392E0,0.E0,1.645354088550E0));
--#10079=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10080=DIRECTION('',(1.E0,0.E0,0.E0));
--#10081=AXIS2_PLACEMENT_3D('',#10078,#10079,#10080);
--#10082=CYLINDRICAL_SURFACE('',#10081,8.669989027347E-1);
--#10083=ORIENTED_EDGE('',*,*,#5742,.F.);
--#10084=ORIENTED_EDGE('',*,*,#10072,.T.);
--#10085=ORIENTED_EDGE('',*,*,#10044,.T.);
--#10087=ORIENTED_EDGE('',*,*,#10086,.F.);
--#10088=EDGE_LOOP('',(#10083,#10084,#10085,#10087));
--#10089=FACE_OUTER_BOUND('',#10088,.F.);
--#10090=ADVANCED_FACE('',(#10089),#10082,.F.);
--#10091=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0));
--#10092=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10093=DIRECTION('',(1.E0,0.E0,0.E0));
--#10094=AXIS2_PLACEMENT_3D('',#10091,#10092,#10093);
--#10095=CYLINDRICAL_SURFACE('',#10094,5.6875E0);
--#10096=ORIENTED_EDGE('',*,*,#5744,.T.);
--#10097=ORIENTED_EDGE('',*,*,#10086,.T.);
--#10098=ORIENTED_EDGE('',*,*,#10042,.T.);
--#10100=ORIENTED_EDGE('',*,*,#10099,.F.);
--#10101=EDGE_LOOP('',(#10096,#10097,#10098,#10100));
--#10102=FACE_OUTER_BOUND('',#10101,.F.);
--#10103=ADVANCED_FACE('',(#10102),#10095,.T.);
--#10104=CARTESIAN_POINT('',(1.61E0,0.E0,4.5E0));
--#10105=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10106=DIRECTION('',(1.E0,0.E0,0.E0));
--#10107=AXIS2_PLACEMENT_3D('',#10104,#10105,#10106);
--#10108=CYLINDRICAL_SURFACE('',#10107,9.225E-1);
--#10109=ORIENTED_EDGE('',*,*,#10059,.F.);
--#10110=ORIENTED_EDGE('',*,*,#5736,.F.);
--#10111=ORIENTED_EDGE('',*,*,#10099,.T.);
--#10112=ORIENTED_EDGE('',*,*,#10040,.T.);
--#10113=EDGE_LOOP('',(#10109,#10110,#10111,#10112));
--#10114=FACE_OUTER_BOUND('',#10113,.F.);
--#10115=ADVANCED_FACE('',(#10114),#10108,.F.);
--#10116=CARTESIAN_POINT('',(-1.85E-1,7.463919417831E-1,7.815E0));
--#10117=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10118=DIRECTION('',(1.E0,0.E0,0.E0));
--#10119=AXIS2_PLACEMENT_3D('',#10116,#10117,#10118);
--#10120=CYLINDRICAL_SURFACE('',#10119,8.75E-1);
--#10122=ORIENTED_EDGE('',*,*,#10121,.T.);
--#10123=ORIENTED_EDGE('',*,*,#5748,.T.);
--#10125=ORIENTED_EDGE('',*,*,#10124,.F.);
--#10127=ORIENTED_EDGE('',*,*,#10126,.T.);
--#10128=EDGE_LOOP('',(#10122,#10123,#10125,#10127));
--#10129=FACE_OUTER_BOUND('',#10128,.F.);
--#10130=ADVANCED_FACE('',(#10129),#10120,.T.);
--#10131=CARTESIAN_POINT('',(6.9E-1,0.E0,8.69E0));
--#10132=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10133=DIRECTION('',(0.E0,0.E0,-1.E0));
--#10134=AXIS2_PLACEMENT_3D('',#10131,#10132,#10133);
--#10135=PLANE('',#10134);
--#10136=ORIENTED_EDGE('',*,*,#10121,.F.);
--#10138=ORIENTED_EDGE('',*,*,#10137,.T.);
--#10140=ORIENTED_EDGE('',*,*,#10139,.F.);
--#10141=ORIENTED_EDGE('',*,*,#5750,.F.);
--#10142=EDGE_LOOP('',(#10136,#10138,#10140,#10141));
--#10143=FACE_OUTER_BOUND('',#10142,.F.);
--#10144=ADVANCED_FACE('',(#10143),#10135,.F.);
--#10145=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
--#10146=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10147=DIRECTION('',(1.E0,0.E0,0.E0));
--#10148=AXIS2_PLACEMENT_3D('',#10145,#10146,#10147);
--#10149=PLANE('',#10148);
--#10151=ORIENTED_EDGE('',*,*,#10150,.F.);
--#10153=ORIENTED_EDGE('',*,*,#10152,.F.);
--#10155=ORIENTED_EDGE('',*,*,#10154,.F.);
--#10157=ORIENTED_EDGE('',*,*,#10156,.F.);
--#10158=ORIENTED_EDGE('',*,*,#10137,.F.);
--#10159=ORIENTED_EDGE('',*,*,#10126,.F.);
--#10161=ORIENTED_EDGE('',*,*,#10160,.F.);
--#10163=ORIENTED_EDGE('',*,*,#10162,.F.);
--#10165=ORIENTED_EDGE('',*,*,#10164,.F.);
--#10167=ORIENTED_EDGE('',*,*,#10166,.F.);
--#10169=ORIENTED_EDGE('',*,*,#10168,.F.);
--#10171=ORIENTED_EDGE('',*,*,#10170,.F.);
--#10173=ORIENTED_EDGE('',*,*,#10172,.F.);
--#10175=ORIENTED_EDGE('',*,*,#10174,.F.);
--#10176=EDGE_LOOP('',(#10151,#10153,#10155,#10157,#10158,#10159,#10161,#10163,
--#10165,#10167,#10169,#10171,#10173,#10175));
--#10177=FACE_OUTER_BOUND('',#10176,.F.);
--#10178=ADVANCED_FACE('',(#10177),#10149,.T.);
--#10179=CARTESIAN_POINT('',(1.8125E0,0.E0,8.69E0));
--#10180=DIRECTION('',(0.E0,0.E0,-1.E0));
--#10181=DIRECTION('',(1.E0,0.E0,0.E0));
--#10182=AXIS2_PLACEMENT_3D('',#10179,#10180,#10181);
--#10183=PLANE('',#10182);
--#10185=ORIENTED_EDGE('',*,*,#10184,.F.);
--#10186=ORIENTED_EDGE('',*,*,#10150,.T.);
--#10188=ORIENTED_EDGE('',*,*,#10187,.F.);
--#10189=ORIENTED_EDGE('',*,*,#5758,.F.);
--#10190=EDGE_LOOP('',(#10185,#10186,#10188,#10189));
--#10191=FACE_OUTER_BOUND('',#10190,.F.);
--#10192=ADVANCED_FACE('',(#10191),#10183,.F.);
--#10193=CARTESIAN_POINT('',(2.6875E0,7.463919417831E-1,7.815E0));
--#10194=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10195=DIRECTION('',(0.E0,0.E0,1.E0));
--#10196=AXIS2_PLACEMENT_3D('',#10193,#10194,#10195);
--#10197=CYLINDRICAL_SURFACE('',#10196,8.75E-1);
--#10198=ORIENTED_EDGE('',*,*,#10184,.T.);
--#10199=ORIENTED_EDGE('',*,*,#5756,.T.);
--#10201=ORIENTED_EDGE('',*,*,#10200,.F.);
--#10202=ORIENTED_EDGE('',*,*,#10152,.T.);
--#10203=EDGE_LOOP('',(#10198,#10199,#10201,#10202));
--#10204=FACE_OUTER_BOUND('',#10203,.F.);
--#10205=ADVANCED_FACE('',(#10204),#10197,.T.);
--#10206=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0));
--#10207=DIRECTION('',(1.E0,0.E0,0.E0));
--#10208=DIRECTION('',(0.E0,0.E0,1.E0));
--#10209=AXIS2_PLACEMENT_3D('',#10206,#10207,#10208);
--#10210=PLANE('',#10209);
--#10211=ORIENTED_EDGE('',*,*,#10200,.T.);
--#10212=ORIENTED_EDGE('',*,*,#5754,.F.);
--#10214=ORIENTED_EDGE('',*,*,#10213,.T.);
--#10215=ORIENTED_EDGE('',*,*,#10154,.T.);
--#10216=EDGE_LOOP('',(#10211,#10212,#10214,#10215));
--#10217=FACE_OUTER_BOUND('',#10216,.F.);
--#10218=ADVANCED_FACE('',(#10217),#10210,.F.);
--#10219=CARTESIAN_POINT('',(1.25125E0,0.E0,7.5E0));
--#10220=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10221=DIRECTION('',(1.E0,0.E0,0.E0));
--#10222=AXIS2_PLACEMENT_3D('',#10219,#10220,#10221);
--#10223=CYLINDRICAL_SURFACE('',#10222,5.6125E-1);
--#10224=ORIENTED_EDGE('',*,*,#5752,.F.);
--#10225=ORIENTED_EDGE('',*,*,#10139,.T.);
--#10226=ORIENTED_EDGE('',*,*,#10156,.T.);
--#10227=ORIENTED_EDGE('',*,*,#10213,.F.);
--#10228=EDGE_LOOP('',(#10224,#10225,#10226,#10227));
--#10229=FACE_OUTER_BOUND('',#10228,.F.);
--#10230=ADVANCED_FACE('',(#10229),#10223,.F.);
--#10231=CARTESIAN_POINT('',(3.4375E0,-6.892397422826E-2,9.565E0));
--#10232=DIRECTION('',(0.E0,1.E0,0.E0));
--#10233=DIRECTION('',(1.E0,0.E0,0.E0));
--#10234=AXIS2_PLACEMENT_3D('',#10231,#10232,#10233);
--#10235=CYLINDRICAL_SURFACE('',#10234,8.75E-1);
--#10237=ORIENTED_EDGE('',*,*,#10236,.F.);
--#10238=ORIENTED_EDGE('',*,*,#5760,.T.);
--#10239=ORIENTED_EDGE('',*,*,#10187,.T.);
--#10240=ORIENTED_EDGE('',*,*,#10174,.T.);
--#10241=EDGE_LOOP('',(#10237,#10238,#10239,#10240));
--#10242=FACE_OUTER_BOUND('',#10241,.F.);
--#10243=ADVANCED_FACE('',(#10242),#10235,.F.);
--#10244=CARTESIAN_POINT('',(4.3125E0,0.E0,8.69E0));
--#10245=DIRECTION('',(1.E0,0.E0,0.E0));
--#10246=DIRECTION('',(0.E0,0.E0,1.E0));
--#10247=AXIS2_PLACEMENT_3D('',#10244,#10245,#10246);
--#10248=PLANE('',#10247);
--#10249=ORIENTED_EDGE('',*,*,#10236,.T.);
--#10250=ORIENTED_EDGE('',*,*,#10172,.T.);
--#10252=ORIENTED_EDGE('',*,*,#10251,.F.);
--#10253=ORIENTED_EDGE('',*,*,#5762,.F.);
--#10254=EDGE_LOOP('',(#10249,#10250,#10252,#10253));
--#10255=FACE_OUTER_BOUND('',#10254,.F.);
--#10256=ADVANCED_FACE('',(#10255),#10248,.F.);
--#10257=CARTESIAN_POINT('',(3.4375E0,-6.892397422826E-2,1.0375E1));
--#10258=DIRECTION('',(0.E0,1.E0,0.E0));
--#10259=DIRECTION('',(0.E0,0.E0,1.E0));
--#10260=AXIS2_PLACEMENT_3D('',#10257,#10258,#10259);
--#10261=CYLINDRICAL_SURFACE('',#10260,8.75E-1);
--#10263=ORIENTED_EDGE('',*,*,#10262,.F.);
--#10264=ORIENTED_EDGE('',*,*,#5764,.T.);
--#10265=ORIENTED_EDGE('',*,*,#10251,.T.);
--#10266=ORIENTED_EDGE('',*,*,#10170,.T.);
--#10267=EDGE_LOOP('',(#10263,#10264,#10265,#10266));
--#10268=FACE_OUTER_BOUND('',#10267,.F.);
--#10269=ADVANCED_FACE('',(#10268),#10261,.F.);
--#10270=CARTESIAN_POINT('',(4.3125E0,0.E0,1.125E1));
--#10271=DIRECTION('',(0.E0,0.E0,1.E0));
--#10272=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10273=AXIS2_PLACEMENT_3D('',#10270,#10271,#10272);
--#10274=PLANE('',#10273);
--#10276=ORIENTED_EDGE('',*,*,#10275,.F.);
--#10277=ORIENTED_EDGE('',*,*,#5766,.F.);
--#10278=ORIENTED_EDGE('',*,*,#10262,.T.);
--#10279=ORIENTED_EDGE('',*,*,#10168,.T.);
--#10280=EDGE_LOOP('',(#10276,#10277,#10278,#10279));
--#10281=FACE_OUTER_BOUND('',#10280,.F.);
--#10282=ADVANCED_FACE('',(#10281),#10274,.F.);
--#10283=CARTESIAN_POINT('',(-4.375E-1,-6.892397422826E-2,1.0375E1));
--#10284=DIRECTION('',(0.E0,1.E0,0.E0));
--#10285=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10286=AXIS2_PLACEMENT_3D('',#10283,#10284,#10285);
--#10287=CYLINDRICAL_SURFACE('',#10286,8.75E-1);
--#10289=ORIENTED_EDGE('',*,*,#10288,.F.);
--#10290=ORIENTED_EDGE('',*,*,#5768,.T.);
--#10291=ORIENTED_EDGE('',*,*,#10275,.T.);
--#10292=ORIENTED_EDGE('',*,*,#10166,.T.);
--#10293=EDGE_LOOP('',(#10289,#10290,#10291,#10292));
--#10294=FACE_OUTER_BOUND('',#10293,.F.);
--#10295=ADVANCED_FACE('',(#10294),#10287,.F.);
--#10296=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.125E1));
--#10297=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10298=DIRECTION('',(0.E0,0.E0,-1.E0));
--#10299=AXIS2_PLACEMENT_3D('',#10296,#10297,#10298);
--#10300=PLANE('',#10299);
--#10301=ORIENTED_EDGE('',*,*,#10288,.T.);
--#10302=ORIENTED_EDGE('',*,*,#10164,.T.);
--#10304=ORIENTED_EDGE('',*,*,#10303,.F.);
--#10305=ORIENTED_EDGE('',*,*,#5770,.F.);
--#10306=EDGE_LOOP('',(#10301,#10302,#10304,#10305));
--#10307=FACE_OUTER_BOUND('',#10306,.F.);
--#10308=ADVANCED_FACE('',(#10307),#10300,.F.);
--#10309=CARTESIAN_POINT('',(-4.375E-1,-6.892397422826E-2,9.565E0));
--#10310=DIRECTION('',(0.E0,1.E0,0.E0));
--#10311=DIRECTION('',(0.E0,0.E0,-1.E0));
--#10312=AXIS2_PLACEMENT_3D('',#10309,#10310,#10311);
--#10313=CYLINDRICAL_SURFACE('',#10312,8.75E-1);
--#10315=ORIENTED_EDGE('',*,*,#10314,.F.);
--#10316=ORIENTED_EDGE('',*,*,#5772,.T.);
--#10317=ORIENTED_EDGE('',*,*,#10303,.T.);
--#10318=ORIENTED_EDGE('',*,*,#10162,.T.);
--#10319=EDGE_LOOP('',(#10315,#10316,#10317,#10318));
--#10320=FACE_OUTER_BOUND('',#10319,.F.);
--#10321=ADVANCED_FACE('',(#10320),#10313,.F.);
--#10322=CARTESIAN_POINT('',(-1.3125E0,0.E0,8.69E0));
--#10323=DIRECTION('',(0.E0,0.E0,-1.E0));
--#10324=DIRECTION('',(1.E0,0.E0,0.E0));
--#10325=AXIS2_PLACEMENT_3D('',#10322,#10323,#10324);
--#10326=PLANE('',#10325);
--#10327=ORIENTED_EDGE('',*,*,#10124,.T.);
--#10328=ORIENTED_EDGE('',*,*,#5774,.F.);
--#10329=ORIENTED_EDGE('',*,*,#10314,.T.);
--#10330=ORIENTED_EDGE('',*,*,#10160,.T.);
--#10331=EDGE_LOOP('',(#10327,#10328,#10329,#10330));
--#10332=FACE_OUTER_BOUND('',#10331,.F.);
--#10333=ADVANCED_FACE('',(#10332),#10326,.F.);
--#10334=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1));
--#10335=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10336=DIRECTION('',(0.E0,0.E0,-1.E0));
--#10337=AXIS2_PLACEMENT_3D('',#10334,#10335,#10336);
--#10338=PLANE('',#10337);
--#10339=ORIENTED_EDGE('',*,*,#5778,.F.);
--#10341=ORIENTED_EDGE('',*,*,#10340,.T.);
--#10343=ORIENTED_EDGE('',*,*,#10342,.T.);
--#10345=ORIENTED_EDGE('',*,*,#10344,.F.);
--#10346=EDGE_LOOP('',(#10339,#10341,#10343,#10345));
--#10347=FACE_OUTER_BOUND('',#10346,.F.);
--#10348=ADVANCED_FACE('',(#10347),#10338,.F.);
--#10349=CARTESIAN_POINT('',(1.25E0,0.E0,1.65E1));
--#10350=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10351=DIRECTION('',(1.E0,0.E0,0.E0));
--#10352=AXIS2_PLACEMENT_3D('',#10349,#10350,#10351);
--#10353=CYLINDRICAL_SURFACE('',#10352,5.625E-1);
--#10354=ORIENTED_EDGE('',*,*,#5784,.F.);
--#10356=ORIENTED_EDGE('',*,*,#10355,.T.);
--#10358=ORIENTED_EDGE('',*,*,#10357,.T.);
--#10359=ORIENTED_EDGE('',*,*,#10340,.F.);
--#10360=EDGE_LOOP('',(#10354,#10356,#10358,#10359));
--#10361=FACE_OUTER_BOUND('',#10360,.F.);
--#10362=ADVANCED_FACE('',(#10361),#10353,.F.);
--#10363=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1));
--#10364=DIRECTION('',(1.E0,0.E0,0.E0));
--#10365=DIRECTION('',(0.E0,0.E0,1.E0));
--#10366=AXIS2_PLACEMENT_3D('',#10363,#10364,#10365);
--#10367=PLANE('',#10366);
--#10368=ORIENTED_EDGE('',*,*,#5782,.F.);
--#10370=ORIENTED_EDGE('',*,*,#10369,.T.);
--#10372=ORIENTED_EDGE('',*,*,#10371,.T.);
--#10373=ORIENTED_EDGE('',*,*,#10355,.F.);
--#10374=EDGE_LOOP('',(#10368,#10370,#10372,#10373));
--#10375=FACE_OUTER_BOUND('',#10374,.F.);
--#10376=ADVANCED_FACE('',(#10375),#10367,.F.);
--#10377=CARTESIAN_POINT('',(1.25E0,0.E0,1.35E1));
--#10378=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10379=DIRECTION('',(1.E0,0.E0,0.E0));
--#10380=AXIS2_PLACEMENT_3D('',#10377,#10378,#10379);
--#10381=CYLINDRICAL_SURFACE('',#10380,5.625E-1);
--#10382=ORIENTED_EDGE('',*,*,#5780,.F.);
--#10383=ORIENTED_EDGE('',*,*,#10344,.T.);
--#10385=ORIENTED_EDGE('',*,*,#10384,.T.);
--#10386=ORIENTED_EDGE('',*,*,#10369,.F.);
--#10387=EDGE_LOOP('',(#10382,#10383,#10385,#10386));
--#10388=FACE_OUTER_BOUND('',#10387,.F.);
--#10389=ADVANCED_FACE('',(#10388),#10381,.F.);
--#10390=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
--#10391=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10392=DIRECTION('',(1.E0,0.E0,0.E0));
--#10393=AXIS2_PLACEMENT_3D('',#10390,#10391,#10392);
--#10394=PLANE('',#10393);
--#10395=ORIENTED_EDGE('',*,*,#10342,.F.);
--#10396=ORIENTED_EDGE('',*,*,#10357,.F.);
--#10397=ORIENTED_EDGE('',*,*,#10371,.F.);
--#10398=ORIENTED_EDGE('',*,*,#10384,.F.);
--#10399=EDGE_LOOP('',(#10395,#10396,#10397,#10398));
--#10400=FACE_OUTER_BOUND('',#10399,.F.);
--#10401=ADVANCED_FACE('',(#10400),#10394,.T.);
--#10402=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1));
--#10403=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10404=DIRECTION('',(0.E0,0.E0,-1.E0));
--#10405=AXIS2_PLACEMENT_3D('',#10402,#10403,#10404);
--#10406=PLANE('',#10405);
--#10407=ORIENTED_EDGE('',*,*,#5788,.F.);
--#10409=ORIENTED_EDGE('',*,*,#10408,.T.);
--#10411=ORIENTED_EDGE('',*,*,#10410,.T.);
--#10413=ORIENTED_EDGE('',*,*,#10412,.F.);
--#10414=EDGE_LOOP('',(#10407,#10409,#10411,#10413));
--#10415=FACE_OUTER_BOUND('',#10414,.F.);
--#10416=ADVANCED_FACE('',(#10415),#10406,.F.);
--#10417=CARTESIAN_POINT('',(1.25E0,0.E0,2.25E1));
--#10418=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10419=DIRECTION('',(1.E0,0.E0,0.E0));
--#10420=AXIS2_PLACEMENT_3D('',#10417,#10418,#10419);
--#10421=CYLINDRICAL_SURFACE('',#10420,5.625E-1);
--#10422=ORIENTED_EDGE('',*,*,#5794,.F.);
--#10424=ORIENTED_EDGE('',*,*,#10423,.T.);
--#10426=ORIENTED_EDGE('',*,*,#10425,.T.);
--#10427=ORIENTED_EDGE('',*,*,#10408,.F.);
--#10428=EDGE_LOOP('',(#10422,#10424,#10426,#10427));
--#10429=FACE_OUTER_BOUND('',#10428,.F.);
--#10430=ADVANCED_FACE('',(#10429),#10421,.F.);
--#10431=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1));
--#10432=DIRECTION('',(1.E0,0.E0,0.E0));
--#10433=DIRECTION('',(0.E0,0.E0,1.E0));
--#10434=AXIS2_PLACEMENT_3D('',#10431,#10432,#10433);
--#10435=PLANE('',#10434);
--#10436=ORIENTED_EDGE('',*,*,#5792,.F.);
--#10438=ORIENTED_EDGE('',*,*,#10437,.T.);
--#10440=ORIENTED_EDGE('',*,*,#10439,.T.);
--#10441=ORIENTED_EDGE('',*,*,#10423,.F.);
--#10442=EDGE_LOOP('',(#10436,#10438,#10440,#10441));
--#10443=FACE_OUTER_BOUND('',#10442,.F.);
--#10444=ADVANCED_FACE('',(#10443),#10435,.F.);
--#10445=CARTESIAN_POINT('',(1.25E0,0.E0,1.95E1));
--#10446=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10447=DIRECTION('',(1.E0,0.E0,0.E0));
--#10448=AXIS2_PLACEMENT_3D('',#10445,#10446,#10447);
--#10449=CYLINDRICAL_SURFACE('',#10448,5.625E-1);
--#10450=ORIENTED_EDGE('',*,*,#5790,.F.);
--#10451=ORIENTED_EDGE('',*,*,#10412,.T.);
--#10453=ORIENTED_EDGE('',*,*,#10452,.T.);
--#10454=ORIENTED_EDGE('',*,*,#10437,.F.);
--#10455=EDGE_LOOP('',(#10450,#10451,#10453,#10454));
--#10456=FACE_OUTER_BOUND('',#10455,.F.);
--#10457=ADVANCED_FACE('',(#10456),#10449,.F.);
--#10458=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
--#10459=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10460=DIRECTION('',(1.E0,0.E0,0.E0));
--#10461=AXIS2_PLACEMENT_3D('',#10458,#10459,#10460);
--#10462=PLANE('',#10461);
--#10463=ORIENTED_EDGE('',*,*,#10410,.F.);
--#10464=ORIENTED_EDGE('',*,*,#10425,.F.);
--#10465=ORIENTED_EDGE('',*,*,#10439,.F.);
--#10466=ORIENTED_EDGE('',*,*,#10452,.F.);
--#10467=EDGE_LOOP('',(#10463,#10464,#10465,#10466));
--#10468=FACE_OUTER_BOUND('',#10467,.F.);
--#10469=ADVANCED_FACE('',(#10468),#10462,.T.);
--#10470=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0));
--#10471=DIRECTION('',(0.E0,0.E0,-1.E0));
--#10472=DIRECTION('',(1.E0,0.E0,0.E0));
--#10473=AXIS2_PLACEMENT_3D('',#10470,#10471,#10472);
--#10474=PLANE('',#10473);
--#10475=ORIENTED_EDGE('',*,*,#5798,.F.);
--#10477=ORIENTED_EDGE('',*,*,#10476,.T.);
--#10479=ORIENTED_EDGE('',*,*,#10478,.T.);
--#10481=ORIENTED_EDGE('',*,*,#10480,.F.);
--#10482=EDGE_LOOP('',(#10475,#10477,#10479,#10481));
--#10483=FACE_OUTER_BOUND('',#10482,.F.);
--#10484=ADVANCED_FACE('',(#10483),#10474,.F.);
--#10485=CARTESIAN_POINT('',(7.5E0,0.E0,9.E0));
--#10486=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10487=DIRECTION('',(1.E0,0.E0,0.E0));
--#10488=AXIS2_PLACEMENT_3D('',#10485,#10486,#10487);
--#10489=CYLINDRICAL_SURFACE('',#10488,5.E-1);
--#10490=ORIENTED_EDGE('',*,*,#5804,.F.);
--#10492=ORIENTED_EDGE('',*,*,#10491,.T.);
--#10494=ORIENTED_EDGE('',*,*,#10493,.T.);
--#10495=ORIENTED_EDGE('',*,*,#10476,.F.);
--#10496=EDGE_LOOP('',(#10490,#10492,#10494,#10495));
--#10497=FACE_OUTER_BOUND('',#10496,.F.);
--#10498=ADVANCED_FACE('',(#10497),#10489,.F.);
--#10499=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0));
--#10500=DIRECTION('',(0.E0,0.E0,1.E0));
--#10501=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10502=AXIS2_PLACEMENT_3D('',#10499,#10500,#10501);
--#10503=PLANE('',#10502);
--#10504=ORIENTED_EDGE('',*,*,#5802,.F.);
--#10506=ORIENTED_EDGE('',*,*,#10505,.T.);
--#10508=ORIENTED_EDGE('',*,*,#10507,.T.);
--#10509=ORIENTED_EDGE('',*,*,#10491,.F.);
--#10510=EDGE_LOOP('',(#10504,#10506,#10508,#10509));
--#10511=FACE_OUTER_BOUND('',#10510,.F.);
--#10512=ADVANCED_FACE('',(#10511),#10503,.F.);
--#10513=CARTESIAN_POINT('',(1.05E1,0.E0,9.E0));
--#10514=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10515=DIRECTION('',(1.E0,0.E0,0.E0));
--#10516=AXIS2_PLACEMENT_3D('',#10513,#10514,#10515);
--#10517=CYLINDRICAL_SURFACE('',#10516,5.E-1);
--#10518=ORIENTED_EDGE('',*,*,#5800,.F.);
--#10519=ORIENTED_EDGE('',*,*,#10480,.T.);
--#10521=ORIENTED_EDGE('',*,*,#10520,.T.);
--#10522=ORIENTED_EDGE('',*,*,#10505,.F.);
--#10523=EDGE_LOOP('',(#10518,#10519,#10521,#10522));
--#10524=FACE_OUTER_BOUND('',#10523,.F.);
--#10525=ADVANCED_FACE('',(#10524),#10517,.F.);
--#10526=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
--#10527=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10528=DIRECTION('',(1.E0,0.E0,0.E0));
--#10529=AXIS2_PLACEMENT_3D('',#10526,#10527,#10528);
--#10530=PLANE('',#10529);
--#10531=ORIENTED_EDGE('',*,*,#10478,.F.);
--#10532=ORIENTED_EDGE('',*,*,#10493,.F.);
--#10533=ORIENTED_EDGE('',*,*,#10507,.F.);
--#10534=ORIENTED_EDGE('',*,*,#10520,.F.);
--#10535=EDGE_LOOP('',(#10531,#10532,#10533,#10534));
--#10536=FACE_OUTER_BOUND('',#10535,.F.);
--#10537=ADVANCED_FACE('',(#10536),#10530,.T.);
--#10538=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1));
--#10539=DIRECTION('',(0.E0,0.E0,-1.E0));
--#10540=DIRECTION('',(1.E0,0.E0,0.E0));
--#10541=AXIS2_PLACEMENT_3D('',#10538,#10539,#10540);
--#10542=PLANE('',#10541);
--#10543=ORIENTED_EDGE('',*,*,#5808,.F.);
--#10545=ORIENTED_EDGE('',*,*,#10544,.T.);
--#10547=ORIENTED_EDGE('',*,*,#10546,.T.);
--#10549=ORIENTED_EDGE('',*,*,#10548,.F.);
--#10550=EDGE_LOOP('',(#10543,#10545,#10547,#10549));
--#10551=FACE_OUTER_BOUND('',#10550,.F.);
--#10552=ADVANCED_FACE('',(#10551),#10542,.F.);
--#10553=CARTESIAN_POINT('',(7.5E0,0.E0,1.8E1));
--#10554=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10555=DIRECTION('',(1.E0,0.E0,0.E0));
--#10556=AXIS2_PLACEMENT_3D('',#10553,#10554,#10555);
--#10557=CYLINDRICAL_SURFACE('',#10556,4.375E-1);
--#10558=ORIENTED_EDGE('',*,*,#5814,.F.);
--#10560=ORIENTED_EDGE('',*,*,#10559,.T.);
--#10562=ORIENTED_EDGE('',*,*,#10561,.T.);
--#10563=ORIENTED_EDGE('',*,*,#10544,.F.);
--#10564=EDGE_LOOP('',(#10558,#10560,#10562,#10563));
--#10565=FACE_OUTER_BOUND('',#10564,.F.);
--#10566=ADVANCED_FACE('',(#10565),#10557,.F.);
--#10567=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1));
--#10568=DIRECTION('',(0.E0,0.E0,1.E0));
--#10569=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10570=AXIS2_PLACEMENT_3D('',#10567,#10568,#10569);
--#10571=PLANE('',#10570);
--#10572=ORIENTED_EDGE('',*,*,#5812,.F.);
--#10574=ORIENTED_EDGE('',*,*,#10573,.T.);
--#10576=ORIENTED_EDGE('',*,*,#10575,.T.);
--#10577=ORIENTED_EDGE('',*,*,#10559,.F.);
--#10578=EDGE_LOOP('',(#10572,#10574,#10576,#10577));
--#10579=FACE_OUTER_BOUND('',#10578,.F.);
--#10580=ADVANCED_FACE('',(#10579),#10571,.F.);
--#10581=CARTESIAN_POINT('',(1.05E1,0.E0,1.8E1));
--#10582=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10583=DIRECTION('',(1.E0,0.E0,0.E0));
--#10584=AXIS2_PLACEMENT_3D('',#10581,#10582,#10583);
--#10585=CYLINDRICAL_SURFACE('',#10584,4.375E-1);
--#10586=ORIENTED_EDGE('',*,*,#5810,.F.);
--#10587=ORIENTED_EDGE('',*,*,#10548,.T.);
--#10589=ORIENTED_EDGE('',*,*,#10588,.T.);
--#10590=ORIENTED_EDGE('',*,*,#10573,.F.);
--#10591=EDGE_LOOP('',(#10586,#10587,#10589,#10590));
--#10592=FACE_OUTER_BOUND('',#10591,.F.);
--#10593=ADVANCED_FACE('',(#10592),#10585,.F.);
--#10594=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
--#10595=DIRECTION('',(0.E0,-1.E0,0.E0));
--#10596=DIRECTION('',(1.E0,0.E0,0.E0));
--#10597=AXIS2_PLACEMENT_3D('',#10594,#10595,#10596);
--#10598=PLANE('',#10597);
--#10599=ORIENTED_EDGE('',*,*,#10546,.F.);
--#10600=ORIENTED_EDGE('',*,*,#10561,.F.);
--#10601=ORIENTED_EDGE('',*,*,#10575,.F.);
--#10602=ORIENTED_EDGE('',*,*,#10588,.F.);
--#10603=EDGE_LOOP('',(#10599,#10600,#10601,#10602));
--#10604=FACE_OUTER_BOUND('',#10603,.F.);
--#10605=ADVANCED_FACE('',(#10604),#10598,.T.);
--#10606=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1));
--#10607=DIRECTION('',(0.E0,0.E0,-1.E0));
--#10608=DIRECTION('',(1.E0,0.E0,0.E0));
--#10609=AXIS2_PLACEMENT_3D('',#10606,#10607,#10608);
--#10610=PLANE('',#10609);
--#10611=ORIENTED_EDGE('',*,*,#5818,.T.);
--#10613=ORIENTED_EDGE('',*,*,#10612,.T.);
--#10615=ORIENTED_EDGE('',*,*,#10614,.F.);
--#10617=ORIENTED_EDGE('',*,*,#10616,.F.);
--#10618=EDGE_LOOP('',(#10611,#10613,#10615,#10617));
--#10619=FACE_OUTER_BOUND('',#10618,.F.);
--#10620=ADVANCED_FACE('',(#10619),#10610,.T.);
--#10621=CARTESIAN_POINT('',(1.05E1,0.E0,3.075E1));
--#10622=DIRECTION('',(0.E0,1.E0,0.E0));
--#10623=DIRECTION('',(1.E0,0.E0,0.E0));
--#10624=AXIS2_PLACEMENT_3D('',#10621,#10622,#10623);
--#10625=CYLINDRICAL_SURFACE('',#10624,5.625E-1);
--#10626=ORIENTED_EDGE('',*,*,#5824,.T.);
--#10628=ORIENTED_EDGE('',*,*,#10627,.T.);
--#10630=ORIENTED_EDGE('',*,*,#10629,.F.);
--#10631=ORIENTED_EDGE('',*,*,#10612,.F.);
--#10632=EDGE_LOOP('',(#10626,#10628,#10630,#10631));
--#10633=FACE_OUTER_BOUND('',#10632,.F.);
--#10634=ADVANCED_FACE('',(#10633),#10625,.F.);
--#10635=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1));
--#10636=DIRECTION('',(0.E0,0.E0,1.E0));
--#10637=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10638=AXIS2_PLACEMENT_3D('',#10635,#10636,#10637);
--#10639=PLANE('',#10638);
--#10640=ORIENTED_EDGE('',*,*,#5822,.T.);
--#10642=ORIENTED_EDGE('',*,*,#10641,.T.);
--#10644=ORIENTED_EDGE('',*,*,#10643,.F.);
--#10645=ORIENTED_EDGE('',*,*,#10627,.F.);
--#10646=EDGE_LOOP('',(#10640,#10642,#10644,#10645));
--#10647=FACE_OUTER_BOUND('',#10646,.F.);
--#10648=ADVANCED_FACE('',(#10647),#10639,.T.);
--#10649=CARTESIAN_POINT('',(7.5E0,0.E0,3.075E1));
--#10650=DIRECTION('',(0.E0,1.E0,0.E0));
--#10651=DIRECTION('',(1.E0,0.E0,0.E0));
--#10652=AXIS2_PLACEMENT_3D('',#10649,#10650,#10651);
--#10653=CYLINDRICAL_SURFACE('',#10652,5.625E-1);
--#10654=ORIENTED_EDGE('',*,*,#5820,.T.);
--#10655=ORIENTED_EDGE('',*,*,#10616,.T.);
--#10657=ORIENTED_EDGE('',*,*,#10656,.F.);
--#10658=ORIENTED_EDGE('',*,*,#10641,.F.);
--#10659=EDGE_LOOP('',(#10654,#10655,#10657,#10658));
--#10660=FACE_OUTER_BOUND('',#10659,.F.);
--#10661=ADVANCED_FACE('',(#10660),#10653,.F.);
--#10662=CARTESIAN_POINT('',(0.E0,6.875E-1,3.2E1));
--#10663=DIRECTION('',(0.E0,1.E0,0.E0));
--#10664=DIRECTION('',(1.E0,0.E0,0.E0));
--#10665=AXIS2_PLACEMENT_3D('',#10662,#10663,#10664);
--#10666=PLANE('',#10665);
--#10667=ORIENTED_EDGE('',*,*,#10614,.T.);
--#10668=ORIENTED_EDGE('',*,*,#10629,.T.);
--#10669=ORIENTED_EDGE('',*,*,#10643,.T.);
--#10670=ORIENTED_EDGE('',*,*,#10656,.T.);
--#10671=EDGE_LOOP('',(#10667,#10668,#10669,#10670));
--#10672=FACE_OUTER_BOUND('',#10671,.F.);
--#10673=ADVANCED_FACE('',(#10672),#10666,.F.);
--#10674=CARTESIAN_POINT('',(0.E0,6.875E-1,3.2E1));
--#10675=DIRECTION('',(0.E0,1.E0,0.E0));
--#10676=DIRECTION('',(1.E0,0.E0,0.E0));
--#10677=AXIS2_PLACEMENT_3D('',#10674,#10675,#10676);
--#10678=PLANE('',#10677);
--#10680=ORIENTED_EDGE('',*,*,#10679,.F.);
--#10682=ORIENTED_EDGE('',*,*,#10681,.T.);
--#10684=ORIENTED_EDGE('',*,*,#10683,.T.);
--#10686=ORIENTED_EDGE('',*,*,#10685,.T.);
--#10688=ORIENTED_EDGE('',*,*,#10687,.T.);
--#10689=EDGE_LOOP('',(#10680,#10682,#10684,#10686,#10688));
--#10690=FACE_OUTER_BOUND('',#10689,.F.);
--#10691=ADVANCED_FACE('',(#10690),#10678,.F.);
--#10692=CARTESIAN_POINT('',(1.455736763592E0,-6.642389448824E-2,
--2.742280476768E1));
--#10693=DIRECTION('',(0.E0,1.E0,0.E0));
--#10694=DIRECTION('',(-8.942796313519E-1,0.E0,-4.475085931567E-1));
--#10695=AXIS2_PLACEMENT_3D('',#10692,#10693,#10694);
--#10696=CYLINDRICAL_SURFACE('',#10695,7.5E-1);
--#10698=ORIENTED_EDGE('',*,*,#10697,.F.);
--#10699=ORIENTED_EDGE('',*,*,#5932,.T.);
--#10701=ORIENTED_EDGE('',*,*,#10700,.T.);
--#10702=ORIENTED_EDGE('',*,*,#10679,.T.);
--#10703=EDGE_LOOP('',(#10698,#10699,#10701,#10702));
--#10704=FACE_OUTER_BOUND('',#10703,.F.);
--#10705=ADVANCED_FACE('',(#10704),#10696,.F.);
--#10706=CARTESIAN_POINT('',(1.61E0,0.E0,2.75E1));
--#10707=DIRECTION('',(0.E0,1.E0,0.E0));
--#10708=DIRECTION('',(1.E0,0.E0,0.E0));
--#10709=AXIS2_PLACEMENT_3D('',#10706,#10707,#10708);
--#10710=CYLINDRICAL_SURFACE('',#10709,9.225E-1);
--#10711=ORIENTED_EDGE('',*,*,#10697,.T.);
--#10712=ORIENTED_EDGE('',*,*,#10687,.F.);
--#10714=ORIENTED_EDGE('',*,*,#10713,.F.);
--#10715=ORIENTED_EDGE('',*,*,#5934,.T.);
--#10716=EDGE_LOOP('',(#10711,#10712,#10714,#10715));
--#10717=FACE_OUTER_BOUND('',#10716,.F.);
--#10718=ADVANCED_FACE('',(#10717),#10710,.F.);
--#10719=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1));
--#10720=DIRECTION('',(0.E0,1.E0,0.E0));
--#10721=DIRECTION('',(1.E0,0.E0,0.E0));
--#10722=AXIS2_PLACEMENT_3D('',#10719,#10720,#10721);
--#10723=CYLINDRICAL_SURFACE('',#10722,5.6875E0);
--#10724=ORIENTED_EDGE('',*,*,#5936,.F.);
--#10725=ORIENTED_EDGE('',*,*,#10713,.T.);
--#10726=ORIENTED_EDGE('',*,*,#10685,.F.);
--#10728=ORIENTED_EDGE('',*,*,#10727,.F.);
--#10729=EDGE_LOOP('',(#10724,#10725,#10726,#10728));
--#10730=FACE_OUTER_BOUND('',#10729,.F.);
--#10731=ADVANCED_FACE('',(#10730),#10723,.T.);
--#10732=CARTESIAN_POINT('',(4.553039342392E0,0.E0,3.035464591145E1));
--#10733=DIRECTION('',(0.E0,1.E0,0.E0));
--#10734=DIRECTION('',(1.E0,0.E0,0.E0));
--#10735=AXIS2_PLACEMENT_3D('',#10732,#10733,#10734);
--#10736=CYLINDRICAL_SURFACE('',#10735,8.669989027347E-1);
--#10737=ORIENTED_EDGE('',*,*,#5938,.T.);
--#10738=ORIENTED_EDGE('',*,*,#10727,.T.);
--#10739=ORIENTED_EDGE('',*,*,#10683,.F.);
--#10741=ORIENTED_EDGE('',*,*,#10740,.F.);
--#10742=EDGE_LOOP('',(#10737,#10738,#10739,#10741));
--#10743=FACE_OUTER_BOUND('',#10742,.F.);
--#10744=ADVANCED_FACE('',(#10743),#10736,.F.);
--#10745=CARTESIAN_POINT('',(6.875E-1,0.E0,2.771522817587E1));
--#10746=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
--#10747=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
--#10748=AXIS2_PLACEMENT_3D('',#10745,#10746,#10747);
--#10749=PLANE('',#10748);
--#10750=ORIENTED_EDGE('',*,*,#10700,.F.);
--#10751=ORIENTED_EDGE('',*,*,#5930,.T.);
--#10752=ORIENTED_EDGE('',*,*,#10740,.T.);
--#10753=ORIENTED_EDGE('',*,*,#10681,.F.);
--#10754=EDGE_LOOP('',(#10750,#10751,#10752,#10753));
--#10755=FACE_OUTER_BOUND('',#10754,.F.);
--#10756=ADVANCED_FACE('',(#10755),#10749,.T.);
--#10757=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1));
--#10758=DIRECTION('',(0.E0,0.E0,1.E0));
--#10759=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10760=AXIS2_PLACEMENT_3D('',#10757,#10758,#10759);
--#10761=PLANE('',#10760);
--#10762=ORIENTED_EDGE('',*,*,#5828,.T.);
--#10764=ORIENTED_EDGE('',*,*,#10763,.T.);
--#10766=ORIENTED_EDGE('',*,*,#10765,.F.);
--#10768=ORIENTED_EDGE('',*,*,#10767,.F.);
--#10769=EDGE_LOOP('',(#10762,#10764,#10766,#10768));
--#10770=FACE_OUTER_BOUND('',#10769,.F.);
--#10771=ADVANCED_FACE('',(#10770),#10761,.T.);
--#10772=CARTESIAN_POINT('',(1.35E1,0.E0,1.25E0));
--#10773=DIRECTION('',(0.E0,1.E0,0.E0));
--#10774=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10775=AXIS2_PLACEMENT_3D('',#10772,#10773,#10774);
--#10776=CYLINDRICAL_SURFACE('',#10775,5.625E-1);
--#10777=ORIENTED_EDGE('',*,*,#5834,.T.);
--#10779=ORIENTED_EDGE('',*,*,#10778,.T.);
--#10781=ORIENTED_EDGE('',*,*,#10780,.F.);
--#10782=ORIENTED_EDGE('',*,*,#10763,.F.);
--#10783=EDGE_LOOP('',(#10777,#10779,#10781,#10782));
--#10784=FACE_OUTER_BOUND('',#10783,.F.);
--#10785=ADVANCED_FACE('',(#10784),#10776,.F.);
--#10786=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0));
--#10787=DIRECTION('',(0.E0,0.E0,-1.E0));
--#10788=DIRECTION('',(1.E0,0.E0,0.E0));
--#10789=AXIS2_PLACEMENT_3D('',#10786,#10787,#10788);
--#10790=PLANE('',#10789);
--#10791=ORIENTED_EDGE('',*,*,#5832,.T.);
--#10793=ORIENTED_EDGE('',*,*,#10792,.T.);
--#10795=ORIENTED_EDGE('',*,*,#10794,.F.);
--#10796=ORIENTED_EDGE('',*,*,#10778,.F.);
--#10797=EDGE_LOOP('',(#10791,#10793,#10795,#10796));
--#10798=FACE_OUTER_BOUND('',#10797,.F.);
--#10799=ADVANCED_FACE('',(#10798),#10790,.T.);
--#10800=CARTESIAN_POINT('',(1.65E1,0.E0,1.25E0));
--#10801=DIRECTION('',(0.E0,1.E0,0.E0));
--#10802=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10803=AXIS2_PLACEMENT_3D('',#10800,#10801,#10802);
--#10804=CYLINDRICAL_SURFACE('',#10803,5.625E-1);
--#10805=ORIENTED_EDGE('',*,*,#5830,.T.);
--#10806=ORIENTED_EDGE('',*,*,#10767,.T.);
--#10808=ORIENTED_EDGE('',*,*,#10807,.F.);
--#10809=ORIENTED_EDGE('',*,*,#10792,.F.);
--#10810=EDGE_LOOP('',(#10805,#10806,#10808,#10809));
--#10811=FACE_OUTER_BOUND('',#10810,.F.);
--#10812=ADVANCED_FACE('',(#10811),#10804,.F.);
--#10813=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
--#10814=DIRECTION('',(0.E0,1.E0,0.E0));
--#10815=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10816=AXIS2_PLACEMENT_3D('',#10813,#10814,#10815);
--#10817=PLANE('',#10816);
--#10818=ORIENTED_EDGE('',*,*,#10765,.T.);
--#10819=ORIENTED_EDGE('',*,*,#10780,.T.);
--#10820=ORIENTED_EDGE('',*,*,#10794,.T.);
--#10821=ORIENTED_EDGE('',*,*,#10807,.T.);
--#10822=EDGE_LOOP('',(#10818,#10819,#10820,#10821));
--#10823=FACE_OUTER_BOUND('',#10822,.F.);
--#10824=ADVANCED_FACE('',(#10823),#10817,.F.);
--#10825=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
--#10826=DIRECTION('',(0.E0,1.E0,0.E0));
--#10827=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10828=AXIS2_PLACEMENT_3D('',#10825,#10826,#10827);
--#10829=PLANE('',#10828);
--#10831=ORIENTED_EDGE('',*,*,#10830,.F.);
--#10833=ORIENTED_EDGE('',*,*,#10832,.T.);
--#10835=ORIENTED_EDGE('',*,*,#10834,.T.);
--#10837=ORIENTED_EDGE('',*,*,#10836,.T.);
--#10839=ORIENTED_EDGE('',*,*,#10838,.T.);
--#10840=EDGE_LOOP('',(#10831,#10833,#10835,#10837,#10839));
--#10841=FACE_OUTER_BOUND('',#10840,.F.);
--#10842=ADVANCED_FACE('',(#10841),#10829,.F.);
--#10843=CARTESIAN_POINT('',(2.254426323641E1,-6.642389448824E-2,
--4.577195232320E0));
--#10844=DIRECTION('',(0.E0,1.E0,0.E0));
--#10845=DIRECTION('',(8.942796313519E-1,0.E0,4.475085931567E-1));
--#10846=AXIS2_PLACEMENT_3D('',#10843,#10844,#10845);
--#10847=CYLINDRICAL_SURFACE('',#10846,7.5E-1);
--#10849=ORIENTED_EDGE('',*,*,#10848,.F.);
--#10850=ORIENTED_EDGE('',*,*,#5920,.T.);
--#10852=ORIENTED_EDGE('',*,*,#10851,.T.);
--#10853=ORIENTED_EDGE('',*,*,#10830,.T.);
--#10854=EDGE_LOOP('',(#10849,#10850,#10852,#10853));
--#10855=FACE_OUTER_BOUND('',#10854,.F.);
--#10856=ADVANCED_FACE('',(#10855),#10847,.F.);
--#10857=CARTESIAN_POINT('',(2.239E1,0.E0,4.5E0));
--#10858=DIRECTION('',(0.E0,1.E0,0.E0));
--#10859=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10860=AXIS2_PLACEMENT_3D('',#10857,#10858,#10859);
--#10861=CYLINDRICAL_SURFACE('',#10860,9.225E-1);
--#10862=ORIENTED_EDGE('',*,*,#10848,.T.);
--#10863=ORIENTED_EDGE('',*,*,#10838,.F.);
--#10865=ORIENTED_EDGE('',*,*,#10864,.F.);
--#10866=ORIENTED_EDGE('',*,*,#5922,.T.);
--#10867=EDGE_LOOP('',(#10862,#10863,#10865,#10866));
--#10868=FACE_OUTER_BOUND('',#10867,.F.);
--#10869=ADVANCED_FACE('',(#10868),#10861,.F.);
--#10870=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0));
--#10871=DIRECTION('',(0.E0,1.E0,0.E0));
--#10872=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10873=AXIS2_PLACEMENT_3D('',#10870,#10871,#10872);
--#10874=CYLINDRICAL_SURFACE('',#10873,5.6875E0);
--#10875=ORIENTED_EDGE('',*,*,#5924,.F.);
--#10876=ORIENTED_EDGE('',*,*,#10864,.T.);
--#10877=ORIENTED_EDGE('',*,*,#10836,.F.);
--#10879=ORIENTED_EDGE('',*,*,#10878,.F.);
--#10880=EDGE_LOOP('',(#10875,#10876,#10877,#10879));
--#10881=FACE_OUTER_BOUND('',#10880,.F.);
--#10882=ADVANCED_FACE('',(#10881),#10874,.T.);
--#10883=CARTESIAN_POINT('',(1.944696065761E1,0.E0,1.645354088550E0));
--#10884=DIRECTION('',(0.E0,1.E0,0.E0));
--#10885=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10886=AXIS2_PLACEMENT_3D('',#10883,#10884,#10885);
--#10887=CYLINDRICAL_SURFACE('',#10886,8.669989027347E-1);
--#10888=ORIENTED_EDGE('',*,*,#5926,.T.);
--#10889=ORIENTED_EDGE('',*,*,#10878,.T.);
--#10890=ORIENTED_EDGE('',*,*,#10834,.F.);
--#10892=ORIENTED_EDGE('',*,*,#10891,.F.);
--#10893=EDGE_LOOP('',(#10888,#10889,#10890,#10892));
--#10894=FACE_OUTER_BOUND('',#10893,.F.);
--#10895=ADVANCED_FACE('',(#10894),#10887,.F.);
--#10896=CARTESIAN_POINT('',(2.33125E1,0.E0,4.284771824132E0));
--#10897=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
--#10898=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
--#10899=AXIS2_PLACEMENT_3D('',#10896,#10897,#10898);
--#10900=PLANE('',#10899);
--#10901=ORIENTED_EDGE('',*,*,#10851,.F.);
--#10902=ORIENTED_EDGE('',*,*,#5918,.T.);
--#10903=ORIENTED_EDGE('',*,*,#10891,.T.);
--#10904=ORIENTED_EDGE('',*,*,#10832,.F.);
--#10905=EDGE_LOOP('',(#10901,#10902,#10903,#10904));
--#10906=FACE_OUTER_BOUND('',#10905,.F.);
--#10907=ADVANCED_FACE('',(#10906),#10900,.T.);
--#10908=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1));
--#10909=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10910=DIRECTION('',(0.E0,0.E0,-1.E0));
--#10911=AXIS2_PLACEMENT_3D('',#10908,#10909,#10910);
--#10912=PLANE('',#10911);
--#10913=ORIENTED_EDGE('',*,*,#5838,.T.);
--#10915=ORIENTED_EDGE('',*,*,#10914,.T.);
--#10917=ORIENTED_EDGE('',*,*,#10916,.F.);
--#10919=ORIENTED_EDGE('',*,*,#10918,.F.);
--#10920=EDGE_LOOP('',(#10913,#10915,#10917,#10919));
--#10921=FACE_OUTER_BOUND('',#10920,.F.);
--#10922=ADVANCED_FACE('',(#10921),#10912,.T.);
--#10923=CARTESIAN_POINT('',(2.275E1,0.E0,1.35E1));
--#10924=DIRECTION('',(0.E0,1.E0,0.E0));
--#10925=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10926=AXIS2_PLACEMENT_3D('',#10923,#10924,#10925);
--#10927=CYLINDRICAL_SURFACE('',#10926,5.625E-1);
--#10928=ORIENTED_EDGE('',*,*,#5844,.T.);
--#10930=ORIENTED_EDGE('',*,*,#10929,.T.);
--#10932=ORIENTED_EDGE('',*,*,#10931,.F.);
--#10933=ORIENTED_EDGE('',*,*,#10914,.F.);
--#10934=EDGE_LOOP('',(#10928,#10930,#10932,#10933));
--#10935=FACE_OUTER_BOUND('',#10934,.F.);
--#10936=ADVANCED_FACE('',(#10935),#10927,.F.);
--#10937=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1));
--#10938=DIRECTION('',(1.E0,0.E0,0.E0));
--#10939=DIRECTION('',(0.E0,0.E0,1.E0));
--#10940=AXIS2_PLACEMENT_3D('',#10937,#10938,#10939);
--#10941=PLANE('',#10940);
--#10942=ORIENTED_EDGE('',*,*,#5842,.T.);
--#10944=ORIENTED_EDGE('',*,*,#10943,.T.);
--#10946=ORIENTED_EDGE('',*,*,#10945,.F.);
--#10947=ORIENTED_EDGE('',*,*,#10929,.F.);
--#10948=EDGE_LOOP('',(#10942,#10944,#10946,#10947));
--#10949=FACE_OUTER_BOUND('',#10948,.F.);
--#10950=ADVANCED_FACE('',(#10949),#10941,.T.);
--#10951=CARTESIAN_POINT('',(2.275E1,0.E0,1.65E1));
--#10952=DIRECTION('',(0.E0,1.E0,0.E0));
--#10953=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10954=AXIS2_PLACEMENT_3D('',#10951,#10952,#10953);
--#10955=CYLINDRICAL_SURFACE('',#10954,5.625E-1);
--#10956=ORIENTED_EDGE('',*,*,#5840,.T.);
--#10957=ORIENTED_EDGE('',*,*,#10918,.T.);
--#10959=ORIENTED_EDGE('',*,*,#10958,.F.);
--#10960=ORIENTED_EDGE('',*,*,#10943,.F.);
--#10961=EDGE_LOOP('',(#10956,#10957,#10959,#10960));
--#10962=FACE_OUTER_BOUND('',#10961,.F.);
--#10963=ADVANCED_FACE('',(#10962),#10955,.F.);
--#10964=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
--#10965=DIRECTION('',(0.E0,1.E0,0.E0));
--#10966=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10967=AXIS2_PLACEMENT_3D('',#10964,#10965,#10966);
--#10968=PLANE('',#10967);
--#10969=ORIENTED_EDGE('',*,*,#10916,.T.);
--#10970=ORIENTED_EDGE('',*,*,#10931,.T.);
--#10971=ORIENTED_EDGE('',*,*,#10945,.T.);
--#10972=ORIENTED_EDGE('',*,*,#10958,.T.);
--#10973=EDGE_LOOP('',(#10969,#10970,#10971,#10972));
--#10974=FACE_OUTER_BOUND('',#10973,.F.);
--#10975=ADVANCED_FACE('',(#10974),#10968,.F.);
--#10976=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1));
--#10977=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10978=DIRECTION('',(0.E0,0.E0,-1.E0));
--#10979=AXIS2_PLACEMENT_3D('',#10976,#10977,#10978);
--#10980=PLANE('',#10979);
--#10981=ORIENTED_EDGE('',*,*,#5848,.T.);
--#10983=ORIENTED_EDGE('',*,*,#10982,.T.);
--#10985=ORIENTED_EDGE('',*,*,#10984,.F.);
--#10987=ORIENTED_EDGE('',*,*,#10986,.F.);
--#10988=EDGE_LOOP('',(#10981,#10983,#10985,#10987));
--#10989=FACE_OUTER_BOUND('',#10988,.F.);
--#10990=ADVANCED_FACE('',(#10989),#10980,.T.);
--#10991=CARTESIAN_POINT('',(2.275E1,0.E0,1.95E1));
--#10992=DIRECTION('',(0.E0,1.E0,0.E0));
--#10993=DIRECTION('',(-1.E0,0.E0,0.E0));
--#10994=AXIS2_PLACEMENT_3D('',#10991,#10992,#10993);
--#10995=CYLINDRICAL_SURFACE('',#10994,5.625E-1);
--#10996=ORIENTED_EDGE('',*,*,#5854,.T.);
--#10998=ORIENTED_EDGE('',*,*,#10997,.T.);
--#11000=ORIENTED_EDGE('',*,*,#10999,.F.);
--#11001=ORIENTED_EDGE('',*,*,#10982,.F.);
--#11002=EDGE_LOOP('',(#10996,#10998,#11000,#11001));
--#11003=FACE_OUTER_BOUND('',#11002,.F.);
--#11004=ADVANCED_FACE('',(#11003),#10995,.F.);
--#11005=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1));
--#11006=DIRECTION('',(1.E0,0.E0,0.E0));
--#11007=DIRECTION('',(0.E0,0.E0,1.E0));
--#11008=AXIS2_PLACEMENT_3D('',#11005,#11006,#11007);
--#11009=PLANE('',#11008);
--#11010=ORIENTED_EDGE('',*,*,#5852,.T.);
--#11012=ORIENTED_EDGE('',*,*,#11011,.T.);
--#11014=ORIENTED_EDGE('',*,*,#11013,.F.);
--#11015=ORIENTED_EDGE('',*,*,#10997,.F.);
--#11016=EDGE_LOOP('',(#11010,#11012,#11014,#11015));
--#11017=FACE_OUTER_BOUND('',#11016,.F.);
--#11018=ADVANCED_FACE('',(#11017),#11009,.T.);
--#11019=CARTESIAN_POINT('',(2.275E1,0.E0,2.25E1));
--#11020=DIRECTION('',(0.E0,1.E0,0.E0));
--#11021=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11022=AXIS2_PLACEMENT_3D('',#11019,#11020,#11021);
--#11023=CYLINDRICAL_SURFACE('',#11022,5.625E-1);
--#11024=ORIENTED_EDGE('',*,*,#5850,.T.);
--#11025=ORIENTED_EDGE('',*,*,#10986,.T.);
--#11027=ORIENTED_EDGE('',*,*,#11026,.F.);
--#11028=ORIENTED_EDGE('',*,*,#11011,.F.);
--#11029=EDGE_LOOP('',(#11024,#11025,#11027,#11028));
--#11030=FACE_OUTER_BOUND('',#11029,.F.);
--#11031=ADVANCED_FACE('',(#11030),#11023,.F.);
--#11032=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
--#11033=DIRECTION('',(0.E0,1.E0,0.E0));
--#11034=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11035=AXIS2_PLACEMENT_3D('',#11032,#11033,#11034);
--#11036=PLANE('',#11035);
--#11037=ORIENTED_EDGE('',*,*,#10984,.T.);
--#11038=ORIENTED_EDGE('',*,*,#10999,.T.);
--#11039=ORIENTED_EDGE('',*,*,#11013,.T.);
--#11040=ORIENTED_EDGE('',*,*,#11026,.T.);
--#11041=EDGE_LOOP('',(#11037,#11038,#11039,#11040));
--#11042=FACE_OUTER_BOUND('',#11041,.F.);
--#11043=ADVANCED_FACE('',(#11042),#11036,.F.);
--#11044=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0));
--#11045=DIRECTION('',(0.E0,0.E0,1.E0));
--#11046=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11047=AXIS2_PLACEMENT_3D('',#11044,#11045,#11046);
--#11048=PLANE('',#11047);
--#11049=ORIENTED_EDGE('',*,*,#5858,.T.);
--#11051=ORIENTED_EDGE('',*,*,#11050,.T.);
--#11053=ORIENTED_EDGE('',*,*,#11052,.F.);
--#11055=ORIENTED_EDGE('',*,*,#11054,.F.);
--#11056=EDGE_LOOP('',(#11049,#11051,#11053,#11055));
--#11057=FACE_OUTER_BOUND('',#11056,.F.);
--#11058=ADVANCED_FACE('',(#11057),#11048,.T.);
--#11059=CARTESIAN_POINT('',(1.35E1,0.E0,9.E0));
--#11060=DIRECTION('',(0.E0,1.E0,0.E0));
--#11061=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11062=AXIS2_PLACEMENT_3D('',#11059,#11060,#11061);
--#11063=CYLINDRICAL_SURFACE('',#11062,5.E-1);
--#11064=ORIENTED_EDGE('',*,*,#5864,.T.);
--#11066=ORIENTED_EDGE('',*,*,#11065,.T.);
--#11068=ORIENTED_EDGE('',*,*,#11067,.F.);
--#11069=ORIENTED_EDGE('',*,*,#11050,.F.);
--#11070=EDGE_LOOP('',(#11064,#11066,#11068,#11069));
--#11071=FACE_OUTER_BOUND('',#11070,.F.);
--#11072=ADVANCED_FACE('',(#11071),#11063,.F.);
--#11073=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0));
--#11074=DIRECTION('',(0.E0,0.E0,-1.E0));
--#11075=DIRECTION('',(1.E0,0.E0,0.E0));
--#11076=AXIS2_PLACEMENT_3D('',#11073,#11074,#11075);
--#11077=PLANE('',#11076);
--#11078=ORIENTED_EDGE('',*,*,#5862,.T.);
--#11080=ORIENTED_EDGE('',*,*,#11079,.T.);
--#11082=ORIENTED_EDGE('',*,*,#11081,.F.);
--#11083=ORIENTED_EDGE('',*,*,#11065,.F.);
--#11084=EDGE_LOOP('',(#11078,#11080,#11082,#11083));
--#11085=FACE_OUTER_BOUND('',#11084,.F.);
--#11086=ADVANCED_FACE('',(#11085),#11077,.T.);
--#11087=CARTESIAN_POINT('',(1.65E1,0.E0,9.E0));
--#11088=DIRECTION('',(0.E0,1.E0,0.E0));
--#11089=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11090=AXIS2_PLACEMENT_3D('',#11087,#11088,#11089);
--#11091=CYLINDRICAL_SURFACE('',#11090,5.E-1);
--#11092=ORIENTED_EDGE('',*,*,#5860,.T.);
--#11093=ORIENTED_EDGE('',*,*,#11054,.T.);
--#11095=ORIENTED_EDGE('',*,*,#11094,.F.);
--#11096=ORIENTED_EDGE('',*,*,#11079,.F.);
--#11097=EDGE_LOOP('',(#11092,#11093,#11095,#11096));
--#11098=FACE_OUTER_BOUND('',#11097,.F.);
--#11099=ADVANCED_FACE('',(#11098),#11091,.F.);
--#11100=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
--#11101=DIRECTION('',(0.E0,1.E0,0.E0));
--#11102=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11103=AXIS2_PLACEMENT_3D('',#11100,#11101,#11102);
--#11104=PLANE('',#11103);
--#11105=ORIENTED_EDGE('',*,*,#11052,.T.);
--#11106=ORIENTED_EDGE('',*,*,#11067,.T.);
--#11107=ORIENTED_EDGE('',*,*,#11081,.T.);
--#11108=ORIENTED_EDGE('',*,*,#11094,.T.);
--#11109=EDGE_LOOP('',(#11105,#11106,#11107,#11108));
--#11110=FACE_OUTER_BOUND('',#11109,.F.);
--#11111=ADVANCED_FACE('',(#11110),#11104,.F.);
--#11112=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1));
--#11113=DIRECTION('',(0.E0,0.E0,1.E0));
--#11114=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11115=AXIS2_PLACEMENT_3D('',#11112,#11113,#11114);
--#11116=PLANE('',#11115);
--#11117=ORIENTED_EDGE('',*,*,#5868,.T.);
--#11119=ORIENTED_EDGE('',*,*,#11118,.T.);
--#11121=ORIENTED_EDGE('',*,*,#11120,.F.);
--#11123=ORIENTED_EDGE('',*,*,#11122,.F.);
--#11124=EDGE_LOOP('',(#11117,#11119,#11121,#11123));
--#11125=FACE_OUTER_BOUND('',#11124,.F.);
--#11126=ADVANCED_FACE('',(#11125),#11116,.T.);
--#11127=CARTESIAN_POINT('',(1.35E1,0.E0,1.8E1));
--#11128=DIRECTION('',(0.E0,1.E0,0.E0));
--#11129=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11130=AXIS2_PLACEMENT_3D('',#11127,#11128,#11129);
--#11131=CYLINDRICAL_SURFACE('',#11130,4.375E-1);
--#11132=ORIENTED_EDGE('',*,*,#5874,.T.);
--#11134=ORIENTED_EDGE('',*,*,#11133,.T.);
--#11136=ORIENTED_EDGE('',*,*,#11135,.F.);
--#11137=ORIENTED_EDGE('',*,*,#11118,.F.);
--#11138=EDGE_LOOP('',(#11132,#11134,#11136,#11137));
--#11139=FACE_OUTER_BOUND('',#11138,.F.);
--#11140=ADVANCED_FACE('',(#11139),#11131,.F.);
--#11141=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1));
--#11142=DIRECTION('',(0.E0,0.E0,-1.E0));
--#11143=DIRECTION('',(1.E0,0.E0,0.E0));
--#11144=AXIS2_PLACEMENT_3D('',#11141,#11142,#11143);
--#11145=PLANE('',#11144);
--#11146=ORIENTED_EDGE('',*,*,#5872,.T.);
--#11148=ORIENTED_EDGE('',*,*,#11147,.T.);
--#11150=ORIENTED_EDGE('',*,*,#11149,.F.);
--#11151=ORIENTED_EDGE('',*,*,#11133,.F.);
--#11152=EDGE_LOOP('',(#11146,#11148,#11150,#11151));
--#11153=FACE_OUTER_BOUND('',#11152,.F.);
--#11154=ADVANCED_FACE('',(#11153),#11145,.T.);
--#11155=CARTESIAN_POINT('',(1.65E1,0.E0,1.8E1));
--#11156=DIRECTION('',(0.E0,1.E0,0.E0));
--#11157=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11158=AXIS2_PLACEMENT_3D('',#11155,#11156,#11157);
--#11159=CYLINDRICAL_SURFACE('',#11158,4.375E-1);
--#11160=ORIENTED_EDGE('',*,*,#5870,.T.);
--#11161=ORIENTED_EDGE('',*,*,#11122,.T.);
--#11163=ORIENTED_EDGE('',*,*,#11162,.F.);
--#11164=ORIENTED_EDGE('',*,*,#11147,.F.);
--#11165=EDGE_LOOP('',(#11160,#11161,#11163,#11164));
--#11166=FACE_OUTER_BOUND('',#11165,.F.);
--#11167=ADVANCED_FACE('',(#11166),#11159,.F.);
--#11168=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
--#11169=DIRECTION('',(0.E0,1.E0,0.E0));
--#11170=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11171=AXIS2_PLACEMENT_3D('',#11168,#11169,#11170);
--#11172=PLANE('',#11171);
--#11173=ORIENTED_EDGE('',*,*,#11120,.T.);
--#11174=ORIENTED_EDGE('',*,*,#11135,.T.);
--#11175=ORIENTED_EDGE('',*,*,#11149,.T.);
--#11176=ORIENTED_EDGE('',*,*,#11162,.T.);
--#11177=EDGE_LOOP('',(#11173,#11174,#11175,#11176));
--#11178=FACE_OUTER_BOUND('',#11177,.F.);
--#11179=ADVANCED_FACE('',(#11178),#11172,.F.);
--#11180=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1));
--#11181=DIRECTION('',(0.E0,0.E0,1.E0));
--#11182=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11183=AXIS2_PLACEMENT_3D('',#11180,#11181,#11182);
--#11184=PLANE('',#11183);
--#11185=ORIENTED_EDGE('',*,*,#5878,.F.);
--#11187=ORIENTED_EDGE('',*,*,#11186,.T.);
--#11189=ORIENTED_EDGE('',*,*,#11188,.T.);
--#11191=ORIENTED_EDGE('',*,*,#11190,.F.);
--#11192=EDGE_LOOP('',(#11185,#11187,#11189,#11191));
--#11193=FACE_OUTER_BOUND('',#11192,.F.);
--#11194=ADVANCED_FACE('',(#11193),#11184,.F.);
--#11195=CARTESIAN_POINT('',(1.65E1,0.E0,3.075E1));
--#11196=DIRECTION('',(0.E0,-1.E0,0.E0));
--#11197=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11198=AXIS2_PLACEMENT_3D('',#11195,#11196,#11197);
--#11199=CYLINDRICAL_SURFACE('',#11198,5.625E-1);
--#11200=ORIENTED_EDGE('',*,*,#5884,.F.);
--#11202=ORIENTED_EDGE('',*,*,#11201,.T.);
--#11204=ORIENTED_EDGE('',*,*,#11203,.T.);
--#11205=ORIENTED_EDGE('',*,*,#11186,.F.);
--#11206=EDGE_LOOP('',(#11200,#11202,#11204,#11205));
--#11207=FACE_OUTER_BOUND('',#11206,.F.);
--#11208=ADVANCED_FACE('',(#11207),#11199,.F.);
--#11209=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1));
--#11210=DIRECTION('',(0.E0,0.E0,-1.E0));
--#11211=DIRECTION('',(1.E0,0.E0,0.E0));
--#11212=AXIS2_PLACEMENT_3D('',#11209,#11210,#11211);
--#11213=PLANE('',#11212);
--#11214=ORIENTED_EDGE('',*,*,#5882,.F.);
--#11216=ORIENTED_EDGE('',*,*,#11215,.T.);
--#11218=ORIENTED_EDGE('',*,*,#11217,.T.);
--#11219=ORIENTED_EDGE('',*,*,#11201,.F.);
--#11220=EDGE_LOOP('',(#11214,#11216,#11218,#11219));
--#11221=FACE_OUTER_BOUND('',#11220,.F.);
--#11222=ADVANCED_FACE('',(#11221),#11213,.F.);
--#11223=CARTESIAN_POINT('',(1.35E1,0.E0,3.075E1));
--#11224=DIRECTION('',(0.E0,-1.E0,0.E0));
--#11225=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11226=AXIS2_PLACEMENT_3D('',#11223,#11224,#11225);
--#11227=CYLINDRICAL_SURFACE('',#11226,5.625E-1);
--#11228=ORIENTED_EDGE('',*,*,#5880,.F.);
--#11229=ORIENTED_EDGE('',*,*,#11190,.T.);
--#11231=ORIENTED_EDGE('',*,*,#11230,.T.);
--#11232=ORIENTED_EDGE('',*,*,#11215,.F.);
--#11233=EDGE_LOOP('',(#11228,#11229,#11231,#11232));
--#11234=FACE_OUTER_BOUND('',#11233,.F.);
--#11235=ADVANCED_FACE('',(#11234),#11227,.F.);
--#11236=CARTESIAN_POINT('',(2.4E1,6.875E-1,3.2E1));
--#11237=DIRECTION('',(0.E0,-1.E0,0.E0));
--#11238=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11239=AXIS2_PLACEMENT_3D('',#11236,#11237,#11238);
--#11240=PLANE('',#11239);
--#11241=ORIENTED_EDGE('',*,*,#11188,.F.);
--#11242=ORIENTED_EDGE('',*,*,#11203,.F.);
--#11243=ORIENTED_EDGE('',*,*,#11217,.F.);
--#11244=ORIENTED_EDGE('',*,*,#11230,.F.);
--#11245=EDGE_LOOP('',(#11241,#11242,#11243,#11244));
--#11246=FACE_OUTER_BOUND('',#11245,.F.);
--#11247=ADVANCED_FACE('',(#11246),#11240,.T.);
--#11248=CARTESIAN_POINT('',(2.4E1,6.875E-1,3.2E1));
--#11249=DIRECTION('',(0.E0,-1.E0,0.E0));
--#11250=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11251=AXIS2_PLACEMENT_3D('',#11248,#11249,#11250);
--#11252=PLANE('',#11251);
--#11254=ORIENTED_EDGE('',*,*,#11253,.F.);
--#11256=ORIENTED_EDGE('',*,*,#11255,.F.);
--#11258=ORIENTED_EDGE('',*,*,#11257,.F.);
--#11260=ORIENTED_EDGE('',*,*,#11259,.F.);
--#11262=ORIENTED_EDGE('',*,*,#11261,.F.);
--#11263=EDGE_LOOP('',(#11254,#11256,#11258,#11260,#11262));
--#11264=FACE_OUTER_BOUND('',#11263,.F.);
--#11265=ADVANCED_FACE('',(#11264),#11252,.T.);
--#11266=CARTESIAN_POINT('',(2.254426323641E1,-6.892397422826E-2,
--2.742280476768E1));
--#11267=DIRECTION('',(0.E0,1.E0,0.E0));
--#11268=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
--#11269=AXIS2_PLACEMENT_3D('',#11266,#11267,#11268);
--#11270=CYLINDRICAL_SURFACE('',#11269,7.5E-1);
--#11272=ORIENTED_EDGE('',*,*,#11271,.F.);
--#11273=ORIENTED_EDGE('',*,*,#5944,.T.);
--#11275=ORIENTED_EDGE('',*,*,#11274,.T.);
--#11276=ORIENTED_EDGE('',*,*,#11253,.T.);
--#11277=EDGE_LOOP('',(#11272,#11273,#11275,#11276));
--#11278=FACE_OUTER_BOUND('',#11277,.F.);
--#11279=ADVANCED_FACE('',(#11278),#11270,.F.);
--#11280=CARTESIAN_POINT('',(2.33125E1,0.E0,2.771522817587E1));
--#11281=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
--#11282=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
--#11283=AXIS2_PLACEMENT_3D('',#11280,#11281,#11282);
--#11284=PLANE('',#11283);
--#11285=ORIENTED_EDGE('',*,*,#11271,.T.);
--#11286=ORIENTED_EDGE('',*,*,#11261,.T.);
--#11288=ORIENTED_EDGE('',*,*,#11287,.F.);
--#11289=ORIENTED_EDGE('',*,*,#5946,.F.);
--#11290=EDGE_LOOP('',(#11285,#11286,#11288,#11289));
--#11291=FACE_OUTER_BOUND('',#11290,.F.);
--#11292=ADVANCED_FACE('',(#11291),#11284,.F.);
--#11293=CARTESIAN_POINT('',(1.944696065761E1,0.E0,3.035464591145E1));
--#11294=DIRECTION('',(0.E0,-1.E0,0.E0));
--#11295=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11296=AXIS2_PLACEMENT_3D('',#11293,#11294,#11295);
--#11297=CYLINDRICAL_SURFACE('',#11296,8.669989027347E-1);
--#11298=ORIENTED_EDGE('',*,*,#5948,.F.);
--#11299=ORIENTED_EDGE('',*,*,#11287,.T.);
--#11300=ORIENTED_EDGE('',*,*,#11259,.T.);
--#11302=ORIENTED_EDGE('',*,*,#11301,.F.);
--#11303=EDGE_LOOP('',(#11298,#11299,#11300,#11302));
--#11304=FACE_OUTER_BOUND('',#11303,.F.);
--#11305=ADVANCED_FACE('',(#11304),#11297,.F.);
--#11306=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1));
--#11307=DIRECTION('',(0.E0,-1.E0,0.E0));
--#11308=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11309=AXIS2_PLACEMENT_3D('',#11306,#11307,#11308);
--#11310=CYLINDRICAL_SURFACE('',#11309,5.6875E0);
--#11311=ORIENTED_EDGE('',*,*,#5950,.T.);
--#11312=ORIENTED_EDGE('',*,*,#11301,.T.);
--#11313=ORIENTED_EDGE('',*,*,#11257,.T.);
--#11315=ORIENTED_EDGE('',*,*,#11314,.F.);
--#11316=EDGE_LOOP('',(#11311,#11312,#11313,#11315));
--#11317=FACE_OUTER_BOUND('',#11316,.F.);
--#11318=ADVANCED_FACE('',(#11317),#11310,.T.);
--#11319=CARTESIAN_POINT('',(2.239E1,0.E0,2.75E1));
--#11320=DIRECTION('',(0.E0,-1.E0,0.E0));
--#11321=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11322=AXIS2_PLACEMENT_3D('',#11319,#11320,#11321);
--#11323=CYLINDRICAL_SURFACE('',#11322,9.225E-1);
--#11324=ORIENTED_EDGE('',*,*,#11274,.F.);
--#11325=ORIENTED_EDGE('',*,*,#5942,.F.);
--#11326=ORIENTED_EDGE('',*,*,#11314,.T.);
--#11327=ORIENTED_EDGE('',*,*,#11255,.T.);
--#11328=EDGE_LOOP('',(#11324,#11325,#11326,#11327));
--#11329=FACE_OUTER_BOUND('',#11328,.F.);
--#11330=ADVANCED_FACE('',(#11329),#11323,.F.);
--#11331=CARTESIAN_POINT('',(2.13075E1,-6.892397422826E-2,7.81E0));
--#11332=DIRECTION('',(0.E0,1.E0,0.E0));
--#11333=DIRECTION('',(0.E0,0.E0,1.E0));
--#11334=AXIS2_PLACEMENT_3D('',#11331,#11332,#11333);
--#11335=CYLINDRICAL_SURFACE('',#11334,8.8E-1);
--#11337=ORIENTED_EDGE('',*,*,#11336,.T.);
--#11339=ORIENTED_EDGE('',*,*,#11338,.T.);
--#11341=ORIENTED_EDGE('',*,*,#11340,.F.);
--#11342=ORIENTED_EDGE('',*,*,#5888,.T.);
--#11343=EDGE_LOOP('',(#11337,#11339,#11341,#11342));
--#11344=FACE_OUTER_BOUND('',#11343,.F.);
--#11345=ADVANCED_FACE('',(#11344),#11335,.T.);
--#11346=CARTESIAN_POINT('',(2.21875E1,0.E0,8.69E0));
--#11347=DIRECTION('',(0.E0,0.E0,1.E0));
--#11348=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11349=AXIS2_PLACEMENT_3D('',#11346,#11347,#11348);
--#11350=PLANE('',#11349);
--#11351=ORIENTED_EDGE('',*,*,#11336,.F.);
--#11352=ORIENTED_EDGE('',*,*,#5914,.T.);
--#11354=ORIENTED_EDGE('',*,*,#11353,.F.);
--#11356=ORIENTED_EDGE('',*,*,#11355,.F.);
--#11357=EDGE_LOOP('',(#11351,#11352,#11354,#11356));
--#11358=FACE_OUTER_BOUND('',#11357,.F.);
--#11359=ADVANCED_FACE('',(#11358),#11350,.T.);
--#11360=CARTESIAN_POINT('',(2.05675E1,7.463919417831E-1,9.57E0));
--#11361=DIRECTION('',(0.E0,-1.E0,0.E0));
--#11362=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11363=AXIS2_PLACEMENT_3D('',#11360,#11361,#11362);
--#11364=CYLINDRICAL_SURFACE('',#11363,8.8E-1);
--#11366=ORIENTED_EDGE('',*,*,#11365,.F.);
--#11368=ORIENTED_EDGE('',*,*,#11367,.T.);
--#11369=ORIENTED_EDGE('',*,*,#11353,.T.);
--#11370=ORIENTED_EDGE('',*,*,#5912,.T.);
--#11371=EDGE_LOOP('',(#11366,#11368,#11369,#11370));
--#11372=FACE_OUTER_BOUND('',#11371,.F.);
--#11373=ADVANCED_FACE('',(#11372),#11364,.F.);
--#11374=CARTESIAN_POINT('',(1.96875E1,0.E0,8.69E0));
--#11375=DIRECTION('',(1.E0,0.E0,0.E0));
--#11376=DIRECTION('',(0.E0,0.E0,1.E0));
--#11377=AXIS2_PLACEMENT_3D('',#11374,#11375,#11376);
--#11378=PLANE('',#11377);
--#11379=ORIENTED_EDGE('',*,*,#11365,.T.);
--#11380=ORIENTED_EDGE('',*,*,#5910,.T.);
--#11382=ORIENTED_EDGE('',*,*,#11381,.F.);
--#11384=ORIENTED_EDGE('',*,*,#11383,.F.);
--#11385=EDGE_LOOP('',(#11379,#11380,#11382,#11384));
--#11386=FACE_OUTER_BOUND('',#11385,.F.);
--#11387=ADVANCED_FACE('',(#11386),#11378,.T.);
--#11388=CARTESIAN_POINT('',(2.05675E1,7.463919417831E-1,1.037E1));
--#11389=DIRECTION('',(0.E0,-1.E0,0.E0));
--#11390=DIRECTION('',(0.E0,0.E0,1.E0));
--#11391=AXIS2_PLACEMENT_3D('',#11388,#11389,#11390);
--#11392=CYLINDRICAL_SURFACE('',#11391,8.8E-1);
--#11394=ORIENTED_EDGE('',*,*,#11393,.F.);
--#11396=ORIENTED_EDGE('',*,*,#11395,.T.);
--#11397=ORIENTED_EDGE('',*,*,#11381,.T.);
--#11398=ORIENTED_EDGE('',*,*,#5908,.T.);
--#11399=EDGE_LOOP('',(#11394,#11396,#11397,#11398));
--#11400=FACE_OUTER_BOUND('',#11399,.F.);
--#11401=ADVANCED_FACE('',(#11400),#11392,.F.);
--#11402=CARTESIAN_POINT('',(1.96875E1,0.E0,1.125E1));
--#11403=DIRECTION('',(0.E0,0.E0,-1.E0));
--#11404=DIRECTION('',(1.E0,0.E0,0.E0));
--#11405=AXIS2_PLACEMENT_3D('',#11402,#11403,#11404);
--#11406=PLANE('',#11405);
--#11407=ORIENTED_EDGE('',*,*,#11393,.T.);
--#11408=ORIENTED_EDGE('',*,*,#5906,.T.);
--#11410=ORIENTED_EDGE('',*,*,#11409,.F.);
--#11412=ORIENTED_EDGE('',*,*,#11411,.F.);
--#11413=EDGE_LOOP('',(#11407,#11408,#11410,#11412));
--#11414=FACE_OUTER_BOUND('',#11413,.F.);
--#11415=ADVANCED_FACE('',(#11414),#11406,.T.);
--#11416=CARTESIAN_POINT('',(2.44325E1,7.463919417831E-1,1.037E1));
--#11417=DIRECTION('',(0.E0,-1.E0,0.E0));
--#11418=DIRECTION('',(1.E0,0.E0,0.E0));
--#11419=AXIS2_PLACEMENT_3D('',#11416,#11417,#11418);
--#11420=CYLINDRICAL_SURFACE('',#11419,8.8E-1);
--#11422=ORIENTED_EDGE('',*,*,#11421,.F.);
--#11424=ORIENTED_EDGE('',*,*,#11423,.T.);
--#11425=ORIENTED_EDGE('',*,*,#11409,.T.);
--#11426=ORIENTED_EDGE('',*,*,#5904,.T.);
--#11427=EDGE_LOOP('',(#11422,#11424,#11425,#11426));
--#11428=FACE_OUTER_BOUND('',#11427,.F.);
--#11429=ADVANCED_FACE('',(#11428),#11420,.F.);
--#11430=CARTESIAN_POINT('',(2.53125E1,0.E0,1.125E1));
--#11431=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11432=DIRECTION('',(0.E0,0.E0,-1.E0));
--#11433=AXIS2_PLACEMENT_3D('',#11430,#11431,#11432);
--#11434=PLANE('',#11433);
--#11436=ORIENTED_EDGE('',*,*,#11435,.F.);
--#11438=ORIENTED_EDGE('',*,*,#11437,.F.);
--#11439=ORIENTED_EDGE('',*,*,#11421,.T.);
--#11440=ORIENTED_EDGE('',*,*,#5902,.T.);
--#11441=EDGE_LOOP('',(#11436,#11438,#11439,#11440));
--#11442=FACE_OUTER_BOUND('',#11441,.F.);
--#11443=ADVANCED_FACE('',(#11442),#11434,.T.);
--#11444=CARTESIAN_POINT('',(2.44325E1,7.463919417831E-1,9.57E0));
--#11445=DIRECTION('',(0.E0,-1.E0,0.E0));
--#11446=DIRECTION('',(0.E0,0.E0,-1.E0));
--#11447=AXIS2_PLACEMENT_3D('',#11444,#11445,#11446);
--#11448=CYLINDRICAL_SURFACE('',#11447,8.8E-1);
--#11450=ORIENTED_EDGE('',*,*,#11449,.F.);
--#11452=ORIENTED_EDGE('',*,*,#11451,.T.);
--#11453=ORIENTED_EDGE('',*,*,#11435,.T.);
--#11454=ORIENTED_EDGE('',*,*,#5900,.T.);
--#11455=EDGE_LOOP('',(#11450,#11452,#11453,#11454));
--#11456=FACE_OUTER_BOUND('',#11455,.F.);
--#11457=ADVANCED_FACE('',(#11456),#11448,.F.);
--#11458=CARTESIAN_POINT('',(2.53125E1,0.E0,8.69E0));
--#11459=DIRECTION('',(0.E0,0.E0,1.E0));
--#11460=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11461=AXIS2_PLACEMENT_3D('',#11458,#11459,#11460);
--#11462=PLANE('',#11461);
--#11464=ORIENTED_EDGE('',*,*,#11463,.T.);
--#11466=ORIENTED_EDGE('',*,*,#11465,.F.);
--#11467=ORIENTED_EDGE('',*,*,#11449,.T.);
--#11468=ORIENTED_EDGE('',*,*,#5898,.T.);
--#11469=EDGE_LOOP('',(#11464,#11466,#11467,#11468));
--#11470=FACE_OUTER_BOUND('',#11469,.F.);
--#11471=ADVANCED_FACE('',(#11470),#11462,.T.);
--#11472=CARTESIAN_POINT('',(2.419E1,-6.892397422826E-2,7.81E0));
--#11473=DIRECTION('',(0.E0,1.E0,0.E0));
--#11474=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11475=AXIS2_PLACEMENT_3D('',#11472,#11473,#11474);
--#11476=CYLINDRICAL_SURFACE('',#11475,8.8E-1);
--#11478=ORIENTED_EDGE('',*,*,#11477,.T.);
--#11480=ORIENTED_EDGE('',*,*,#11479,.T.);
--#11481=ORIENTED_EDGE('',*,*,#11463,.F.);
--#11482=ORIENTED_EDGE('',*,*,#5896,.T.);
--#11483=EDGE_LOOP('',(#11478,#11480,#11481,#11482));
--#11484=FACE_OUTER_BOUND('',#11483,.F.);
--#11485=ADVANCED_FACE('',(#11484),#11476,.T.);
--#11486=CARTESIAN_POINT('',(2.331E1,0.E0,8.69E0));
--#11487=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11488=DIRECTION('',(0.E0,0.E0,-1.E0));
--#11489=AXIS2_PLACEMENT_3D('',#11486,#11487,#11488);
--#11490=PLANE('',#11489);
--#11491=ORIENTED_EDGE('',*,*,#11477,.F.);
--#11492=ORIENTED_EDGE('',*,*,#5894,.T.);
--#11494=ORIENTED_EDGE('',*,*,#11493,.T.);
--#11496=ORIENTED_EDGE('',*,*,#11495,.F.);
--#11497=EDGE_LOOP('',(#11491,#11492,#11494,#11496));
--#11498=FACE_OUTER_BOUND('',#11497,.F.);
--#11499=ADVANCED_FACE('',(#11498),#11490,.T.);
--#11500=CARTESIAN_POINT('',(2.274875E1,0.E0,7.5E0));
--#11501=DIRECTION('',(0.E0,1.E0,0.E0));
--#11502=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11503=AXIS2_PLACEMENT_3D('',#11500,#11501,#11502);
--#11504=CYLINDRICAL_SURFACE('',#11503,5.6125E-1);
--#11505=ORIENTED_EDGE('',*,*,#5892,.T.);
--#11507=ORIENTED_EDGE('',*,*,#11506,.T.);
--#11509=ORIENTED_EDGE('',*,*,#11508,.F.);
--#11510=ORIENTED_EDGE('',*,*,#11493,.F.);
--#11511=EDGE_LOOP('',(#11505,#11507,#11509,#11510));
--#11512=FACE_OUTER_BOUND('',#11511,.F.);
--#11513=ADVANCED_FACE('',(#11512),#11504,.F.);
--#11514=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0));
--#11515=DIRECTION('',(1.E0,0.E0,0.E0));
--#11516=DIRECTION('',(0.E0,0.E0,1.E0));
--#11517=AXIS2_PLACEMENT_3D('',#11514,#11515,#11516);
--#11518=PLANE('',#11517);
--#11519=ORIENTED_EDGE('',*,*,#11340,.T.);
--#11521=ORIENTED_EDGE('',*,*,#11520,.F.);
--#11522=ORIENTED_EDGE('',*,*,#11506,.F.);
--#11523=ORIENTED_EDGE('',*,*,#5890,.T.);
--#11524=EDGE_LOOP('',(#11519,#11521,#11522,#11523));
--#11525=FACE_OUTER_BOUND('',#11524,.F.);
--#11526=ADVANCED_FACE('',(#11525),#11518,.T.);
--#11527=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
--#11528=DIRECTION('',(0.E0,1.E0,0.E0));
--#11529=DIRECTION('',(-1.E0,0.E0,0.E0));
--#11530=AXIS2_PLACEMENT_3D('',#11527,#11528,#11529);
--#11531=PLANE('',#11530);
--#11532=ORIENTED_EDGE('',*,*,#11465,.T.);
--#11533=ORIENTED_EDGE('',*,*,#11479,.F.);
--#11534=ORIENTED_EDGE('',*,*,#11495,.T.);
--#11535=ORIENTED_EDGE('',*,*,#11508,.T.);
--#11536=ORIENTED_EDGE('',*,*,#11520,.T.);
--#11537=ORIENTED_EDGE('',*,*,#11338,.F.);
--#11538=ORIENTED_EDGE('',*,*,#11355,.T.);
--#11539=ORIENTED_EDGE('',*,*,#11367,.F.);
--#11540=ORIENTED_EDGE('',*,*,#11383,.T.);
--#11541=ORIENTED_EDGE('',*,*,#11395,.F.);
--#11542=ORIENTED_EDGE('',*,*,#11411,.T.);
--#11543=ORIENTED_EDGE('',*,*,#11423,.F.);
--#11544=ORIENTED_EDGE('',*,*,#11437,.T.);
--#11545=ORIENTED_EDGE('',*,*,#11451,.F.);
--#11546=EDGE_LOOP('',(#11532,#11533,#11534,#11535,#11536,#11537,#11538,#11539,
--#11540,#11541,#11542,#11543,#11544,#11545));
--#11547=FACE_OUTER_BOUND('',#11546,.F.);
--#11548=ADVANCED_FACE('',(#11547),#11531,.F.);
--#11549=CLOSED_SHELL('',(#5954,#6079,#6094,#6107,#6117,#6132,#6145,#6201,#6214,
--#6278,#6488,#6503,#6516,#6529,#6540,#6555,#6568,#6581,#6592,#6605,#6618,#6631,
--#6644,#6656,#6669,#6683,#6696,#6709,#6723,#6736,#6749,#6763,#6776,#6789,#6802,
--#6815,#6828,#6842,#6855,#6868,#6880,#6893,#6906,#6918,#6931,#6945,#6958,#6971,
--#6984,#6998,#7011,#7024,#7036,#7048,#7061,#7074,#7086,#7099,#7114,#7127,#7152,
--#7166,#7178,#7191,#7204,#7217,#7230,#7244,#7256,#7311,#7325,#7337,#7349,#7368,
--#7379,#7394,#7407,#7423,#7437,#7449,#7465,#7477,#7490,#7514,#7529,#7542,#7552,
--#7567,#7580,#7590,#7605,#7619,#7649,#7662,#7675,#7688,#7701,#7714,#7727,#7740,
--#7753,#7766,#7778,#7790,#7805,#7818,#7828,#7843,#7856,#7866,#7881,#7894,#7907,
--#7918,#7933,#7946,#7959,#7970,#7985,#7998,#8014,#8028,#8040,#8055,#8068,#8084,
--#8098,#8110,#8125,#8138,#8154,#8168,#8180,#8195,#8208,#8224,#8238,#8250,#8265,
--#8278,#8294,#8308,#8320,#8335,#8348,#8364,#8378,#8390,#8405,#8418,#8434,#8448,
--#8460,#8475,#8488,#8504,#8518,#8530,#8545,#8558,#8574,#8588,#8600,#8615,#8628,
--#8644,#8658,#8670,#8685,#8698,#8714,#8728,#8740,#8755,#8768,#8784,#8798,#8810,
--#8825,#8838,#8854,#8868,#8880,#8895,#8908,#8924,#8938,#8950,#8965,#8978,#8994,
--#9008,#9020,#9035,#9048,#9064,#9078,#9090,#9105,#9118,#9134,#9148,#9160,#9175,
--#9188,#9204,#9218,#9230,#9242,#9260,#9275,#9288,#9304,#9318,#9330,#9345,#9359,
--#9373,#9387,#9401,#9415,#9429,#9443,#9457,#9471,#9485,#9498,#9518,#9533,#9546,
--#9556,#9571,#9584,#9594,#9609,#9622,#9632,#9647,#9660,#9670,#9685,#9698,#9708,
--#9723,#9737,#9751,#9765,#9779,#9793,#9807,#9820,#9836,#9851,#9865,#9887,#9901,
--#9913,#9926,#9939,#9952,#9964,#9979,#9993,#10007,#10020,#10032,#10050,#10064,
--#10077,#10090,#10103,#10115,#10130,#10144,#10178,#10192,#10205,#10218,#10230,
--#10243,#10256,#10269,#10282,#10295,#10308,#10321,#10333,#10348,#10362,#10376,
--#10389,#10401,#10416,#10430,#10444,#10457,#10469,#10484,#10498,#10512,#10525,
--#10537,#10552,#10566,#10580,#10593,#10605,#10620,#10634,#10648,#10661,#10673,
--#10691,#10705,#10718,#10731,#10744,#10756,#10771,#10785,#10799,#10812,#10824,
--#10842,#10856,#10869,#10882,#10895,#10907,#10922,#10936,#10950,#10963,#10975,
--#10990,#11004,#11018,#11031,#11043,#11058,#11072,#11086,#11099,#11111,#11126,
--#11140,#11154,#11167,#11179,#11194,#11208,#11222,#11235,#11247,#11265,#11279,
--#11292,#11305,#11318,#11330,#11345,#11359,#11373,#11387,#11401,#11415,#11429,
--#11443,#11457,#11471,#11485,#11499,#11513,#11526,#11548));
--#11550=MANIFOLD_SOLID_BREP('',#11549);
--#11551=DIMENSIONAL_EXPONENTS(1.E0,0.E0,0.E0,0.E0,0.E0,0.E0,0.E0);
--#11552=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
--#11553=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.54E1),#11552);
--#11554=(CONVERSION_BASED_UNIT('INCH',#11553)LENGTH_UNIT()NAMED_UNIT(#11551));
--#11555=DIMENSIONAL_EXPONENTS(0.E0,0.E0,0.E0,0.E0,0.E0,0.E0,0.E0);
--#11556=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
--#11557=PLANE_ANGLE_MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(1.745329251994E-2),
--#11556);
--#11558=(CONVERSION_BASED_UNIT('DEGREE',#11557)NAMED_UNIT(#11555)PLANE_ANGLE_UNIT());
--#11559=(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
--#11560=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(4.404650704771E-3),#11554,
--'closure',
--'Maximum model space distance between geometric entities at asserted connectivities');
--#11561=(GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((
--#11560))GLOBAL_UNIT_ASSIGNED_CONTEXT((#11554,#11558,#11559))REPRESENTATION_CONTEXT('ID1','3'));
--#11563=APPLICATION_CONTEXT(
--'CONFIGURATION CONTROLLED 3D DESIGNS OF MECHANICAL PARTS AND ASSEMBLIES');
--#11564=APPLICATION_PROTOCOL_DEFINITION('international standard',
--'config_control_design',1994,#11563);
--#11565=DESIGN_CONTEXT('',#11563,'design');
--#11566=MECHANICAL_CONTEXT('',#11563,'mechanical');
--#11567=PRODUCT('PROESOURCE','PROESOURCE','NOT SPECIFIED',(#11566));
--#11568=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('1','LAST_VERSION',
--#11567,.MADE.);
--#11572=PRODUCT_CATEGORY('part','');
--#11573=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','',(#11567));
--#11574=PRODUCT_CATEGORY_RELATIONSHIP('','',#11572,#11573);
--#11575=SECURITY_CLASSIFICATION_LEVEL('unclassified');
--#11576=SECURITY_CLASSIFICATION('','',#11575);
--#11577=CC_DESIGN_SECURITY_CLASSIFICATION(#11576,(#11568));
--#11578=APPROVAL_STATUS('approved');
--#11579=APPROVAL(#11578,'');
--#11580=CC_DESIGN_APPROVAL(#11579,(#11576,#11568,#11569));
--#11581=CALENDAR_DATE(102,4,11);
--#11582=COORDINATED_UNIVERSAL_TIME_OFFSET(5,0,.BEHIND.);
--#11583=LOCAL_TIME(14,0,4.8E1,#11582);
--#11584=DATE_AND_TIME(#11581,#11583);
--#11585=APPROVAL_DATE_TIME(#11584,#11579);
--#11586=DATE_TIME_ROLE('creation_date');
--#11587=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#11584,#11586,(#11569));
--#11588=DATE_TIME_ROLE('classification_date');
--#11589=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#11584,#11588,(#11576));
--#11590=PERSON('UNSPECIFIED','UNSPECIFIED',$,$,$,$);
--#11591=ORGANIZATION('UNSPECIFIED','UNSPECIFIED','UNSPECIFIED');
--#11592=PERSON_AND_ORGANIZATION(#11590,#11591);
--#11593=APPROVAL_ROLE('approver');
--#11594=APPROVAL_PERSON_ORGANIZATION(#11592,#11579,#11593);
--#11595=PERSON_AND_ORGANIZATION_ROLE('creator');
--#11596=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11595,(#11568,
--#11569));
--#11597=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
--#11598=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11597,(#11568));
--#11599=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
--#11600=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11599,(#11576));
--#11601=PERSON_AND_ORGANIZATION_ROLE('design_owner');
--#11602=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11601,(#11567));
--#13=CIRCLE('',#12,1.925E-1);
--#18=CIRCLE('',#17,1.925E-1);
--#23=CIRCLE('',#22,1.925E-1);
--#28=CIRCLE('',#27,1.925E-1);
--#33=CIRCLE('',#32,1.925E-1);
--#38=CIRCLE('',#37,1.925E-1);
--#43=CIRCLE('',#42,1.925E-1);
--#48=CIRCLE('',#47,1.925E-1);
--#53=CIRCLE('',#52,1.925E-1);
--#58=CIRCLE('',#57,1.925E-1);
--#63=CIRCLE('',#62,1.925E-1);
--#68=CIRCLE('',#67,1.925E-1);
--#73=CIRCLE('',#72,1.925E-1);
--#78=CIRCLE('',#77,1.925E-1);
--#83=CIRCLE('',#82,1.925E-1);
--#88=CIRCLE('',#87,1.925E-1);
--#93=CIRCLE('',#92,1.925E-1);
--#98=CIRCLE('',#97,1.925E-1);
--#103=CIRCLE('',#102,1.925E-1);
--#108=CIRCLE('',#107,1.925E-1);
--#113=CIRCLE('',#112,1.925E-1);
--#118=CIRCLE('',#117,1.925E-1);
--#123=CIRCLE('',#122,1.925E-1);
--#128=CIRCLE('',#127,1.925E-1);
--#181=CIRCLE('',#180,1.925E-1);
--#186=CIRCLE('',#185,1.925E-1);
--#191=CIRCLE('',#190,1.925E-1);
--#196=CIRCLE('',#195,1.925E-1);
--#249=CIRCLE('',#248,1.925E-1);
--#254=CIRCLE('',#253,1.925E-1);
--#259=CIRCLE('',#258,1.925E-1);
--#264=CIRCLE('',#263,1.925E-1);
--#269=CIRCLE('',#268,1.925E-1);
--#274=CIRCLE('',#273,1.925E-1);
--#279=CIRCLE('',#278,1.925E-1);
--#284=CIRCLE('',#283,1.925E-1);
--#289=CIRCLE('',#288,1.925E-1);
--#294=CIRCLE('',#293,1.925E-1);
--#299=CIRCLE('',#298,1.925E-1);
--#304=CIRCLE('',#303,1.925E-1);
--#313=CIRCLE('',#312,5.625E-1);
--#322=CIRCLE('',#321,5.625E-1);
--#327=CIRCLE('',#326,9.225E-1);
--#336=CIRCLE('',#335,8.669989027347E-1);
--#341=CIRCLE('',#340,5.6875E0);
--#350=CIRCLE('',#349,5.6125E-1);
--#383=CIRCLE('',#382,5.625E-1);
--#392=CIRCLE('',#391,5.625E-1);
--#401=CIRCLE('',#400,5.625E-1);
--#410=CIRCLE('',#409,5.625E-1);
--#419=CIRCLE('',#418,5.E-1);
--#428=CIRCLE('',#427,5.E-1);
--#437=CIRCLE('',#436,4.375E-1);
--#446=CIRCLE('',#445,4.375E-1);
--#455=CIRCLE('',#454,5.625E-1);
--#464=CIRCLE('',#463,5.625E-1);
--#473=CIRCLE('',#472,5.625E-1);
--#482=CIRCLE('',#481,5.625E-1);
--#491=CIRCLE('',#490,5.625E-1);
--#500=CIRCLE('',#499,5.625E-1);
--#509=CIRCLE('',#508,5.625E-1);
--#518=CIRCLE('',#517,5.625E-1);
--#527=CIRCLE('',#526,5.E-1);
--#536=CIRCLE('',#535,5.E-1);
--#545=CIRCLE('',#544,4.375E-1);
--#554=CIRCLE('',#553,4.375E-1);
--#563=CIRCLE('',#562,5.625E-1);
--#572=CIRCLE('',#571,5.625E-1);
--#581=CIRCLE('',#580,5.6125E-1);
--#614=CIRCLE('',#613,9.225E-1);
--#619=CIRCLE('',#618,5.6875E0);
--#624=CIRCLE('',#623,8.669989027347E-1);
--#633=CIRCLE('',#632,9.225E-1);
--#638=CIRCLE('',#637,5.6875E0);
--#643=CIRCLE('',#642,8.669989027347E-1);
--#648=CIRCLE('',#647,9.225E-1);
--#657=CIRCLE('',#656,8.669989027347E-1);
--#662=CIRCLE('',#661,5.6875E0);
--#667=CIRCLE('',#666,9.5E-2);
--#672=CIRCLE('',#671,9.5E-2);
--#677=CIRCLE('',#676,1.625E-1);
--#682=CIRCLE('',#681,1.625E-1);
--#687=CIRCLE('',#686,9.5E-2);
--#692=CIRCLE('',#691,9.5E-2);
--#697=CIRCLE('',#696,9.5E-2);
--#702=CIRCLE('',#701,9.5E-2);
--#707=CIRCLE('',#706,9.5E-2);
--#712=CIRCLE('',#711,9.5E-2);
--#717=CIRCLE('',#716,9.5E-2);
--#722=CIRCLE('',#721,9.5E-2);
--#727=CIRCLE('',#726,1.625E-1);
--#732=CIRCLE('',#731,1.625E-1);
--#737=CIRCLE('',#736,9.5E-2);
--#742=CIRCLE('',#741,9.5E-2);
--#803=CIRCLE('',#802,9.5E-2);
--#808=CIRCLE('',#807,9.5E-2);
--#821=CIRCLE('',#820,1.625E-1);
--#826=CIRCLE('',#825,1.625E-1);
--#887=CIRCLE('',#886,1.E-1);
--#892=CIRCLE('',#891,1.E-1);
--#897=CIRCLE('',#896,1.E-1);
--#902=CIRCLE('',#901,1.E-1);
--#931=CIRCLE('',#930,1.E-1);
--#936=CIRCLE('',#935,1.E-1);
--#941=CIRCLE('',#940,1.E-1);
--#946=CIRCLE('',#945,1.E-1);
--#951=CIRCLE('',#950,2.575E-1);
--#956=CIRCLE('',#955,2.575E-1);
--#961=CIRCLE('',#960,2.575E-1);
--#966=CIRCLE('',#965,2.575E-1);
--#971=CIRCLE('',#970,2.575E-1);
--#976=CIRCLE('',#975,2.575E-1);
--#981=CIRCLE('',#980,2.575E-1);
--#986=CIRCLE('',#985,2.575E-1);
--#991=CIRCLE('',#990,2.575E-1);
--#996=CIRCLE('',#995,2.575E-1);
--#1001=CIRCLE('',#1000,2.575E-1);
--#1006=CIRCLE('',#1005,2.575E-1);
--#1011=CIRCLE('',#1010,2.56E-1);
--#1016=CIRCLE('',#1015,2.56E-1);
--#1021=CIRCLE('',#1020,2.56E-1);
--#1026=CIRCLE('',#1025,2.56E-1);
--#1031=CIRCLE('',#1030,2.56E-1);
--#1036=CIRCLE('',#1035,2.56E-1);
--#1041=CIRCLE('',#1040,2.56E-1);
--#1046=CIRCLE('',#1045,2.56E-1);
--#1051=CIRCLE('',#1050,2.56E-1);
--#1056=CIRCLE('',#1055,2.56E-1);
--#1061=CIRCLE('',#1060,2.56E-1);
--#1066=CIRCLE('',#1065,2.56E-1);
--#1115=CIRCLE('',#1114,2.575E-1);
--#1120=CIRCLE('',#1119,2.575E-1);
--#1125=CIRCLE('',#1124,2.575E-1);
--#1130=CIRCLE('',#1129,2.575E-1);
--#1135=CIRCLE('',#1134,2.575E-1);
--#1140=CIRCLE('',#1139,2.575E-1);
--#1145=CIRCLE('',#1144,2.575E-1);
--#1150=CIRCLE('',#1149,2.575E-1);
--#1155=CIRCLE('',#1154,2.575E-1);
--#1160=CIRCLE('',#1159,2.575E-1);
--#1165=CIRCLE('',#1164,2.575E-1);
--#1170=CIRCLE('',#1169,2.575E-1);
--#1259=CIRCLE('',#1258,1.E-1);
--#1268=CIRCLE('',#1267,1.E-1);
--#1285=CIRCLE('',#1284,1.E-1);
--#1294=CIRCLE('',#1293,1.E-1);
--#1303=CIRCLE('',#1302,1.E0);
--#1312=CIRCLE('',#1311,1.E0);
--#1317=CIRCLE('',#1316,5.E0);
--#1326=CIRCLE('',#1325,5.E0);
--#1331=CIRCLE('',#1330,5.E0);
--#1340=CIRCLE('',#1339,5.E0);
--#1349=CIRCLE('',#1348,1.E0);
--#1358=CIRCLE('',#1357,1.E0);
--#1367=CIRCLE('',#1366,1.E0);
--#1376=CIRCLE('',#1375,1.E0);
--#1385=CIRCLE('',#1384,1.E0);
--#1394=CIRCLE('',#1393,1.E0);
--#1403=CIRCLE('',#1402,1.E0);
--#1412=CIRCLE('',#1411,1.E0);
--#1421=CIRCLE('',#1420,3.E0);
--#1430=CIRCLE('',#1429,3.E0);
--#1439=CIRCLE('',#1438,3.E0);
--#1448=CIRCLE('',#1447,3.E0);
--#1457=CIRCLE('',#1456,5.E0);
--#1466=CIRCLE('',#1465,5.E0);
--#1475=CIRCLE('',#1474,5.E0);
--#1484=CIRCLE('',#1483,5.E0);
--#1493=CIRCLE('',#1492,3.E0);
--#1502=CIRCLE('',#1501,3.E0);
--#1511=CIRCLE('',#1510,3.E0);
--#1520=CIRCLE('',#1519,3.E0);
--#1529=CIRCLE('',#1528,1.E0);
--#1538=CIRCLE('',#1537,1.E0);
--#1547=CIRCLE('',#1546,1.E0);
--#1556=CIRCLE('',#1555,1.E0);
--#1597=CIRCLE('',#1596,1.E0);
--#1606=CIRCLE('',#1605,1.E0);
--#1675=CIRCLE('',#1674,9.5E-2);
--#1680=CIRCLE('',#1679,9.5E-2);
--#1685=CIRCLE('',#1684,6.25E-2);
--#1690=CIRCLE('',#1689,6.25E-2);
--#1707=CIRCLE('',#1706,1.E0);
--#1716=CIRCLE('',#1715,1.E0);
--#1729=CIRCLE('',#1728,1.E0);
--#1738=CIRCLE('',#1737,1.E0);
--#1767=CIRCLE('',#1766,1.625E-1);
--#1772=CIRCLE('',#1771,1.625E-1);
--#1846=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1837,#1838,#1839,#1840,#1841,#1842,#1843,
--#1844,#1845),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1,
--6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.);
--#1856=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1847,#1848,#1849,#1850,#1851,#1852,#1853,
--#1854,#1855),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1,
--6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.);
--#1873=CIRCLE('',#1872,2.575E-1);
--#1878=CIRCLE('',#1877,2.575E-1);
--#1883=CIRCLE('',#1882,1.925E-1);
--#1888=CIRCLE('',#1887,1.925E-1);
--#1933=CIRCLE('',#1932,9.5E-2);
--#1938=CIRCLE('',#1937,9.5E-2);
--#1943=CIRCLE('',#1942,6.25E-2);
--#1948=CIRCLE('',#1947,6.25E-2);
--#1961=CIRCLE('',#1960,9.5E-2);
--#1966=CIRCLE('',#1965,9.5E-2);
--#1979=CIRCLE('',#1978,6.25E-2);
--#1984=CIRCLE('',#1983,6.25E-2);
--#1993=CIRCLE('',#1992,3.5E-1);
--#2002=CIRCLE('',#2001,3.5E-1);
--#2035=CIRCLE('',#2034,3.5E-1);
--#2044=CIRCLE('',#2043,3.5E-1);
--#2053=CIRCLE('',#2052,3.5E-1);
--#2062=CIRCLE('',#2061,3.5E-1);
--#2071=CIRCLE('',#2070,3.5E-1);
--#2080=CIRCLE('',#2079,3.5E-1);
--#2089=CIRCLE('',#2088,3.5E-1);
--#2098=CIRCLE('',#2097,3.5E-1);
--#2107=CIRCLE('',#2106,3.5E-1);
--#2116=CIRCLE('',#2115,3.5E-1);
--#2145=CIRCLE('',#2144,9.5E-2);
--#2150=CIRCLE('',#2149,9.5E-2);
--#2163=CIRCLE('',#2162,6.25E-2);
--#2168=CIRCLE('',#2167,6.25E-2);
--#2189=CIRCLE('',#2188,1.E-1);
--#2194=CIRCLE('',#2193,1.E-1);
--#2215=CIRCLE('',#2214,1.E-1);
--#2220=CIRCLE('',#2219,1.E-1);
--#2233=CIRCLE('',#2232,2.575E-1);
--#2238=CIRCLE('',#2237,2.575E-1);
--#2243=CIRCLE('',#2242,1.925E-1);
--#2248=CIRCLE('',#2247,1.925E-1);
--#2269=CIRCLE('',#2268,2.575E-1);
--#2274=CIRCLE('',#2273,2.575E-1);
--#2279=CIRCLE('',#2278,1.925E-1);
--#2284=CIRCLE('',#2283,1.925E-1);
--#2305=CIRCLE('',#2304,2.575E-1);
--#2310=CIRCLE('',#2309,2.575E-1);
--#2315=CIRCLE('',#2314,1.925E-1);
--#2320=CIRCLE('',#2319,1.925E-1);
--#2341=CIRCLE('',#2340,2.575E-1);
--#2346=CIRCLE('',#2345,2.575E-1);
--#2351=CIRCLE('',#2350,1.925E-1);
--#2356=CIRCLE('',#2355,1.925E-1);
--#2377=CIRCLE('',#2376,2.575E-1);
--#2382=CIRCLE('',#2381,2.575E-1);
--#2387=CIRCLE('',#2386,1.925E-1);
--#2392=CIRCLE('',#2391,1.925E-1);
--#2413=CIRCLE('',#2412,2.575E-1);
--#2418=CIRCLE('',#2417,2.575E-1);
--#2423=CIRCLE('',#2422,1.925E-1);
--#2428=CIRCLE('',#2427,1.925E-1);
--#2449=CIRCLE('',#2448,2.56E-1);
--#2454=CIRCLE('',#2453,2.56E-1);
--#2459=CIRCLE('',#2458,1.925E-1);
--#2464=CIRCLE('',#2463,1.925E-1);
--#2485=CIRCLE('',#2484,2.56E-1);
--#2490=CIRCLE('',#2489,2.56E-1);
--#2495=CIRCLE('',#2494,1.925E-1);
--#2500=CIRCLE('',#2499,1.925E-1);
--#2521=CIRCLE('',#2520,2.56E-1);
--#2526=CIRCLE('',#2525,2.56E-1);
--#2531=CIRCLE('',#2530,1.925E-1);
--#2536=CIRCLE('',#2535,1.925E-1);
--#2557=CIRCLE('',#2556,2.56E-1);
--#2562=CIRCLE('',#2561,2.56E-1);
--#2567=CIRCLE('',#2566,1.925E-1);
--#2572=CIRCLE('',#2571,1.925E-1);
--#2593=CIRCLE('',#2592,2.56E-1);
--#2598=CIRCLE('',#2597,2.56E-1);
--#2603=CIRCLE('',#2602,1.925E-1);
--#2608=CIRCLE('',#2607,1.925E-1);
--#2629=CIRCLE('',#2628,2.56E-1);
--#2634=CIRCLE('',#2633,2.56E-1);
--#2639=CIRCLE('',#2638,1.925E-1);
--#2644=CIRCLE('',#2643,1.925E-1);
--#2665=CIRCLE('',#2664,2.575E-1);
--#2670=CIRCLE('',#2669,2.575E-1);
--#2675=CIRCLE('',#2674,1.925E-1);
--#2680=CIRCLE('',#2679,1.925E-1);
--#2701=CIRCLE('',#2700,2.575E-1);
--#2706=CIRCLE('',#2705,2.575E-1);
--#2711=CIRCLE('',#2710,1.925E-1);
--#2716=CIRCLE('',#2715,1.925E-1);
--#2737=CIRCLE('',#2736,2.575E-1);
--#2742=CIRCLE('',#2741,2.575E-1);
--#2747=CIRCLE('',#2746,1.925E-1);
--#2752=CIRCLE('',#2751,1.925E-1);
--#2773=CIRCLE('',#2772,2.575E-1);
--#2778=CIRCLE('',#2777,2.575E-1);
--#2783=CIRCLE('',#2782,1.925E-1);
--#2788=CIRCLE('',#2787,1.925E-1);
--#2809=CIRCLE('',#2808,2.575E-1);
--#2814=CIRCLE('',#2813,2.575E-1);
--#2819=CIRCLE('',#2818,1.925E-1);
--#2824=CIRCLE('',#2823,1.925E-1);
--#2845=CIRCLE('',#2844,2.575E-1);
--#2850=CIRCLE('',#2849,2.575E-1);
--#2855=CIRCLE('',#2854,1.925E-1);
--#2860=CIRCLE('',#2859,1.925E-1);
--#2882=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2873,#2874,#2875,#2876,#2877,#2878,#2879,
--#2880,#2881),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1,
--6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.);
--#2892=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2883,#2884,#2885,#2886,#2887,#2888,#2889,
--#2890,#2891),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1,
--6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.);
--#2905=CIRCLE('',#2904,2.575E-1);
--#2910=CIRCLE('',#2909,2.575E-1);
--#2915=CIRCLE('',#2914,1.925E-1);
--#2920=CIRCLE('',#2919,1.925E-1);
--#2937=CIRCLE('',#2936,3.5E-1);
--#2946=CIRCLE('',#2945,3.5E-1);
--#2955=CIRCLE('',#2954,3.5E-1);
--#2964=CIRCLE('',#2963,3.5E-1);
--#2973=CIRCLE('',#2972,3.5E-1);
--#2982=CIRCLE('',#2981,3.5E-1);
--#2991=CIRCLE('',#2990,3.5E-1);
--#3000=CIRCLE('',#2999,3.5E-1);
--#3009=CIRCLE('',#3008,3.5E-1);
--#3018=CIRCLE('',#3017,3.5E-1);
--#3027=CIRCLE('',#3026,3.5E-1);
--#3036=CIRCLE('',#3035,3.5E-1);
--#3073=CIRCLE('',#3072,9.5E-2);
--#3078=CIRCLE('',#3077,9.5E-2);
--#3091=CIRCLE('',#3090,9.5E-2);
--#3096=CIRCLE('',#3095,9.5E-2);
--#3109=CIRCLE('',#3108,9.5E-2);
--#3114=CIRCLE('',#3113,9.5E-2);
--#3127=CIRCLE('',#3126,9.5E-2);
--#3132=CIRCLE('',#3131,9.5E-2);
--#3145=CIRCLE('',#3144,9.5E-2);
--#3150=CIRCLE('',#3149,9.5E-2);
--#3159=CIRCLE('',#3158,7.5E-1);
--#3168=CIRCLE('',#3167,7.5E-1);
--#3177=CIRCLE('',#3176,7.5E-1);
--#3186=CIRCLE('',#3185,7.5E-1);
--#3195=CIRCLE('',#3194,7.5E-1);
--#3204=CIRCLE('',#3203,7.5E-1);
--#3213=CIRCLE('',#3212,7.5E-1);
--#3222=CIRCLE('',#3221,7.5E-1);
--#3247=CIRCLE('',#3246,7.5E-1);
--#3256=CIRCLE('',#3255,7.5E-1);
--#3281=CIRCLE('',#3280,7.5E-1);
--#3290=CIRCLE('',#3289,7.5E-1);
--#3299=CIRCLE('',#3298,7.5E-1);
--#3308=CIRCLE('',#3307,7.5E-1);
--#3317=CIRCLE('',#3316,7.5E-1);
--#3326=CIRCLE('',#3325,7.5E-1);
--#3351=CIRCLE('',#3350,5.625E-1);
--#3360=CIRCLE('',#3359,5.625E-1);
--#3365=CIRCLE('',#3364,9.225E-1);
--#3370=CIRCLE('',#3369,5.6875E0);
--#3375=CIRCLE('',#3374,8.669989027347E-1);
--#3388=CIRCLE('',#3387,7.5E-1);
--#3397=CIRCLE('',#3396,7.5E-1);
--#3418=CIRCLE('',#3417,8.75E-1);
--#3427=CIRCLE('',#3426,8.75E-1);
--#3440=CIRCLE('',#3439,5.6125E-1);
--#3469=CIRCLE('',#3468,8.75E-1);
--#3478=CIRCLE('',#3477,8.75E-1);
--#3495=CIRCLE('',#3494,8.75E-1);
--#3504=CIRCLE('',#3503,8.75E-1);
--#3513=CIRCLE('',#3512,8.75E-1);
--#3522=CIRCLE('',#3521,8.75E-1);
--#3531=CIRCLE('',#3530,8.75E-1);
--#3540=CIRCLE('',#3539,8.75E-1);
--#3549=CIRCLE('',#3548,8.75E-1);
--#3558=CIRCLE('',#3557,8.75E-1);
--#3583=CIRCLE('',#3582,5.625E-1);
--#3592=CIRCLE('',#3591,5.625E-1);
--#3617=CIRCLE('',#3616,5.625E-1);
--#3626=CIRCLE('',#3625,5.625E-1);
--#3651=CIRCLE('',#3650,5.E-1);
--#3660=CIRCLE('',#3659,5.E-1);
--#3685=CIRCLE('',#3684,4.375E-1);
--#3694=CIRCLE('',#3693,4.375E-1);
--#3719=CIRCLE('',#3718,5.625E-1);
--#3728=CIRCLE('',#3727,5.625E-1);
--#3737=CIRCLE('',#3736,8.669989027347E-1);
--#3742=CIRCLE('',#3741,5.6875E0);
--#3747=CIRCLE('',#3746,9.225E-1);
--#3756=CIRCLE('',#3755,7.5E-1);
--#3765=CIRCLE('',#3764,7.5E-1);
--#3802=CIRCLE('',#3801,5.625E-1);
--#3811=CIRCLE('',#3810,5.625E-1);
--#3820=CIRCLE('',#3819,8.669989027347E-1);
--#3825=CIRCLE('',#3824,5.6875E0);
--#3830=CIRCLE('',#3829,9.225E-1);
--#3839=CIRCLE('',#3838,7.5E-1);
--#3848=CIRCLE('',#3847,7.5E-1);
--#3885=CIRCLE('',#3884,5.625E-1);
--#3894=CIRCLE('',#3893,5.625E-1);
--#3919=CIRCLE('',#3918,5.625E-1);
--#3928=CIRCLE('',#3927,5.625E-1);
--#3953=CIRCLE('',#3952,5.E-1);
--#3962=CIRCLE('',#3961,5.E-1);
--#3987=CIRCLE('',#3986,4.375E-1);
--#3996=CIRCLE('',#3995,4.375E-1);
--#4021=CIRCLE('',#4020,5.625E-1);
--#4030=CIRCLE('',#4029,5.625E-1);
--#4035=CIRCLE('',#4034,9.225E-1);
--#4040=CIRCLE('',#4039,5.6875E0);
--#4045=CIRCLE('',#4044,8.669989027347E-1);
--#4058=CIRCLE('',#4057,7.5E-1);
--#4067=CIRCLE('',#4066,7.5E-1);
--#4088=CIRCLE('',#4087,8.8E-1);
--#4097=CIRCLE('',#4096,8.8E-1);
--#4106=CIRCLE('',#4105,8.8E-1);
--#4115=CIRCLE('',#4114,8.8E-1);
--#4124=CIRCLE('',#4123,8.8E-1);
--#4133=CIRCLE('',#4132,8.8E-1);
--#4142=CIRCLE('',#4141,8.8E-1);
--#4151=CIRCLE('',#4150,8.8E-1);
--#4160=CIRCLE('',#4159,8.8E-1);
--#4169=CIRCLE('',#4168,8.8E-1);
--#4178=CIRCLE('',#4177,8.8E-1);
--#4187=CIRCLE('',#4186,8.8E-1);
--#4208=CIRCLE('',#4207,5.6125E-1);
--#5494=EDGE_CURVE('',#4423,#4400,#132,.T.);
--#5496=EDGE_CURVE('',#4419,#4423,#1597,.T.);
--#5498=EDGE_CURVE('',#4419,#4243,#136,.T.);
--#5500=EDGE_CURVE('',#4239,#4243,#1614,.T.);
--#5502=EDGE_CURVE('',#4239,#4259,#140,.T.);
--#5504=EDGE_CURVE('',#4255,#4259,#1630,.T.);
--#5506=EDGE_CURVE('',#4255,#4320,#144,.T.);
--#5508=EDGE_CURVE('',#4324,#4320,#1376,.T.);
--#5510=EDGE_CURVE('',#4324,#4300,#148,.T.);
--#5512=EDGE_CURVE('',#4300,#4347,#152,.T.);
--#5514=EDGE_CURVE('',#4343,#4347,#1912,.T.);
--#5516=EDGE_CURVE('',#4343,#4315,#156,.T.);
--#5518=EDGE_CURVE('',#4311,#4315,#1385,.T.);
--#5520=EDGE_CURVE('',#4311,#4251,#160,.T.);
--#5522=EDGE_CURVE('',#4247,#4251,#1580,.T.);
--#5524=EDGE_CURVE('',#4247,#4235,#164,.T.);
--#5526=EDGE_CURVE('',#4231,#4235,#1564,.T.);
--#5528=EDGE_CURVE('',#4231,#4404,#168,.T.);
--#5530=EDGE_CURVE('',#4408,#4404,#1556,.T.);
--#5532=EDGE_CURVE('',#4444,#4408,#172,.T.);
--#5534=EDGE_CURVE('',#4444,#4448,#1654,.T.);
--#5536=EDGE_CURVE('',#4400,#4448,#176,.T.);
--#5540=EDGE_CURVE('',#4427,#4328,#4,.T.);
--#5542=EDGE_CURVE('',#4332,#4328,#1358,.T.);
--#5544=EDGE_CURVE('',#4264,#4332,#1340,.T.);
--#5546=EDGE_CURVE('',#4268,#4264,#8,.T.);
--#5548=EDGE_CURVE('',#4431,#4268,#1317,.T.);
--#5550=EDGE_CURVE('',#4427,#4431,#1303,.T.);
--#5554=EDGE_CURVE('',#4639,#4640,#13,.T.);
--#5556=EDGE_CURVE('',#4640,#4639,#18,.T.);
--#5560=EDGE_CURVE('',#4635,#4636,#23,.T.);
--#5562=EDGE_CURVE('',#4636,#4635,#28,.T.);
--#5566=EDGE_CURVE('',#4631,#4632,#33,.T.);
--#5568=EDGE_CURVE('',#4632,#4631,#38,.T.);
--#5572=EDGE_CURVE('',#4627,#4628,#43,.T.);
--#5574=EDGE_CURVE('',#4628,#4627,#48,.T.);
--#5578=EDGE_CURVE('',#4623,#4624,#53,.T.);
--#5580=EDGE_CURVE('',#4624,#4623,#58,.T.);
--#5584=EDGE_CURVE('',#4527,#4528,#63,.T.);
--#5586=EDGE_CURVE('',#4528,#4527,#68,.T.);
--#5590=EDGE_CURVE('',#4523,#4524,#73,.T.);
--#5592=EDGE_CURVE('',#4524,#4523,#78,.T.);
--#5596=EDGE_CURVE('',#4519,#4520,#83,.T.);
--#5598=EDGE_CURVE('',#4520,#4519,#88,.T.);
--#5602=EDGE_CURVE('',#4515,#4516,#93,.T.);
--#5604=EDGE_CURVE('',#4516,#4515,#98,.T.);
--#5608=EDGE_CURVE('',#4511,#4512,#103,.T.);
--#5610=EDGE_CURVE('',#4512,#4511,#108,.T.);
--#5614=EDGE_CURVE('',#4507,#4508,#113,.T.);
--#5616=EDGE_CURVE('',#4508,#4507,#118,.T.);
--#5620=EDGE_CURVE('',#4503,#4504,#123,.T.);
--#5622=EDGE_CURVE('',#4504,#4503,#128,.T.);
--#5626=EDGE_CURVE('',#4487,#4488,#181,.T.);
--#5628=EDGE_CURVE('',#4488,#4487,#186,.T.);
--#5632=EDGE_CURVE('',#4607,#4608,#191,.T.);
--#5634=EDGE_CURVE('',#4608,#4607,#196,.T.);
--#5638=EDGE_CURVE('',#4796,#4803,#200,.T.);
--#5640=EDGE_CURVE('',#4799,#4803,#1439,.T.);
--#5642=EDGE_CURVE('',#4280,#4799,#204,.T.);
--#5644=EDGE_CURVE('',#4284,#4280,#1466,.T.);
--#5646=EDGE_CURVE('',#4272,#4284,#208,.T.);
--#5648=EDGE_CURVE('',#4276,#4272,#1484,.T.);
--#5650=EDGE_CURVE('',#4792,#4276,#212,.T.);
--#5652=EDGE_CURVE('',#4796,#4792,#1430,.T.);
--#5656=EDGE_CURVE('',#4808,#4411,#216,.T.);
--#5658=EDGE_CURVE('',#4812,#4808,#1502,.T.);
--#5660=EDGE_CURVE('',#4812,#4819,#220,.T.);
--#5662=EDGE_CURVE('',#4815,#4819,#1511,.T.);
--#5664=EDGE_CURVE('',#4304,#4815,#224,.T.);
--#5666=EDGE_CURVE('',#4308,#4304,#1412,.T.);
--#5668=EDGE_CURVE('',#4308,#4339,#228,.T.);
--#5670=EDGE_CURVE('',#4335,#4339,#1754,.T.);
--#5672=EDGE_CURVE('',#4335,#4772,#232,.T.);
--#5674=EDGE_CURVE('',#4776,#4772,#1738,.T.);
--#5676=EDGE_CURVE('',#4776,#4783,#236,.T.);
--#5678=EDGE_CURVE('',#4779,#4783,#1707,.T.);
--#5680=EDGE_CURVE('',#4436,#4779,#240,.T.);
--#5682=EDGE_CURVE('',#4436,#4440,#2132,.T.);
--#5684=EDGE_CURVE('',#4415,#4440,#244,.T.);
--#5686=EDGE_CURVE('',#4411,#4415,#1529,.T.);
--#5690=EDGE_CURVE('',#4823,#4824,#249,.T.);
--#5692=EDGE_CURVE('',#4824,#4823,#254,.T.);
--#5696=EDGE_CURVE('',#4839,#4840,#259,.T.);
--#5698=EDGE_CURVE('',#4840,#4839,#264,.T.);
--#5702=EDGE_CURVE('',#4843,#4844,#269,.T.);
--#5704=EDGE_CURVE('',#4844,#4843,#274,.T.);
--#5708=EDGE_CURVE('',#4847,#4848,#279,.T.);
--#5710=EDGE_CURVE('',#4848,#4847,#284,.T.);
--#5714=EDGE_CURVE('',#4851,#4852,#289,.T.);
--#5716=EDGE_CURVE('',#4852,#4851,#294,.T.);
--#5720=EDGE_CURVE('',#4855,#4856,#299,.T.);
--#5722=EDGE_CURVE('',#4856,#4855,#304,.T.);
--#5726=EDGE_CURVE('',#5121,#5122,#308,.T.);
--#5728=EDGE_CURVE('',#5122,#5124,#313,.T.);
--#5730=EDGE_CURVE('',#5124,#5126,#317,.T.);
--#5732=EDGE_CURVE('',#5126,#5121,#322,.T.);
--#5736=EDGE_CURVE('',#5132,#5139,#327,.T.);
--#5738=EDGE_CURVE('',#5135,#5139,#3388,.T.);
--#5740=EDGE_CURVE('',#5135,#5129,#331,.T.);
--#5742=EDGE_CURVE('',#5129,#5130,#336,.T.);
--#5744=EDGE_CURVE('',#5132,#5130,#341,.T.);
--#5748=EDGE_CURVE('',#5184,#5186,#3418,.T.);
--#5750=EDGE_CURVE('',#5184,#5147,#345,.T.);
--#5752=EDGE_CURVE('',#5147,#5148,#350,.T.);
--#5754=EDGE_CURVE('',#5148,#5194,#354,.T.);
--#5756=EDGE_CURVE('',#5192,#5194,#3469,.T.);
--#5758=EDGE_CURVE('',#5192,#5171,#358,.T.);
--#5760=EDGE_CURVE('',#5167,#5171,#3495,.T.);
--#5762=EDGE_CURVE('',#5167,#5179,#362,.T.);
--#5764=EDGE_CURVE('',#5175,#5179,#3513,.T.);
--#5766=EDGE_CURVE('',#5175,#5155,#366,.T.);
--#5768=EDGE_CURVE('',#5151,#5155,#3531,.T.);
--#5770=EDGE_CURVE('',#5151,#5163,#370,.T.);
--#5772=EDGE_CURVE('',#5159,#5163,#3549,.T.);
--#5774=EDGE_CURVE('',#5159,#5186,#374,.T.);
--#5778=EDGE_CURVE('',#5207,#5208,#378,.T.);
--#5780=EDGE_CURVE('',#5208,#5210,#383,.T.);
--#5782=EDGE_CURVE('',#5210,#5212,#387,.T.);
--#5784=EDGE_CURVE('',#5212,#5207,#392,.T.);
--#5788=EDGE_CURVE('',#5223,#5224,#396,.T.);
--#5790=EDGE_CURVE('',#5224,#5226,#401,.T.);
--#5792=EDGE_CURVE('',#5226,#5228,#405,.T.);
--#5794=EDGE_CURVE('',#5228,#5223,#410,.T.);
--#5798=EDGE_CURVE('',#5239,#5240,#414,.T.);
--#5800=EDGE_CURVE('',#5240,#5242,#419,.T.);
--#5802=EDGE_CURVE('',#5242,#5244,#423,.T.);
--#5804=EDGE_CURVE('',#5244,#5239,#428,.T.);
--#5808=EDGE_CURVE('',#5255,#5256,#432,.T.);
--#5810=EDGE_CURVE('',#5256,#5258,#437,.T.);
--#5812=EDGE_CURVE('',#5258,#5260,#441,.T.);
--#5814=EDGE_CURVE('',#5260,#5255,#446,.T.);
--#5818=EDGE_CURVE('',#5277,#5278,#450,.T.);
--#5820=EDGE_CURVE('',#5282,#5277,#455,.T.);
--#5822=EDGE_CURVE('',#5280,#5282,#459,.T.);
--#5824=EDGE_CURVE('',#5278,#5280,#464,.T.);
--#5828=EDGE_CURVE('',#5305,#5306,#468,.T.);
--#5830=EDGE_CURVE('',#5310,#5305,#473,.T.);
--#5832=EDGE_CURVE('',#5308,#5310,#477,.T.);
--#5834=EDGE_CURVE('',#5306,#5308,#482,.T.);
--#5838=EDGE_CURVE('',#5335,#5336,#486,.T.);
--#5840=EDGE_CURVE('',#5340,#5335,#491,.T.);
--#5842=EDGE_CURVE('',#5338,#5340,#495,.T.);
--#5844=EDGE_CURVE('',#5336,#5338,#500,.T.);
--#5848=EDGE_CURVE('',#5351,#5352,#504,.T.);
--#5850=EDGE_CURVE('',#5356,#5351,#509,.T.);
--#5852=EDGE_CURVE('',#5354,#5356,#513,.T.);
--#5854=EDGE_CURVE('',#5352,#5354,#518,.T.);
--#5858=EDGE_CURVE('',#5367,#5368,#522,.T.);
--#5860=EDGE_CURVE('',#5372,#5367,#527,.T.);
--#5862=EDGE_CURVE('',#5370,#5372,#531,.T.);
--#5864=EDGE_CURVE('',#5368,#5370,#536,.T.);
--#5868=EDGE_CURVE('',#5383,#5384,#540,.T.);
--#5870=EDGE_CURVE('',#5388,#5383,#545,.T.);
--#5872=EDGE_CURVE('',#5386,#5388,#549,.T.);
--#5874=EDGE_CURVE('',#5384,#5386,#554,.T.);
--#5878=EDGE_CURVE('',#5405,#5406,#558,.T.);
--#5880=EDGE_CURVE('',#5406,#5408,#563,.T.);
--#5882=EDGE_CURVE('',#5408,#5410,#567,.T.);
--#5884=EDGE_CURVE('',#5410,#5405,#572,.T.);
--#5888=EDGE_CURVE('',#5455,#5451,#4097,.T.);
--#5890=EDGE_CURVE('',#5324,#5455,#576,.T.);
--#5892=EDGE_CURVE('',#5323,#5324,#581,.T.);
--#5894=EDGE_CURVE('',#5459,#5323,#585,.T.);
--#5896=EDGE_CURVE('',#5463,#5459,#4187,.T.);
--#5898=EDGE_CURVE('',#5436,#5463,#589,.T.);
--#5900=EDGE_CURVE('',#5440,#5436,#4169,.T.);
--#5902=EDGE_CURVE('',#5444,#5440,#593,.T.);
--#5904=EDGE_CURVE('',#5448,#5444,#4151,.T.);
--#5906=EDGE_CURVE('',#5428,#5448,#597,.T.);
--#5908=EDGE_CURVE('',#5432,#5428,#4133,.T.);
--#5910=EDGE_CURVE('',#5420,#5432,#601,.T.);
--#5912=EDGE_CURVE('',#5424,#5420,#4115,.T.);
--#5914=EDGE_CURVE('',#5451,#5424,#605,.T.);
--#5918=EDGE_CURVE('',#5471,#5313,#609,.T.);
--#5920=EDGE_CURVE('',#5467,#5471,#3839,.T.);
--#5922=EDGE_CURVE('',#5316,#5467,#614,.T.);
--#5924=EDGE_CURVE('',#5316,#5314,#619,.T.);
--#5926=EDGE_CURVE('',#5313,#5314,#624,.T.);
--#5930=EDGE_CURVE('',#5479,#5285,#628,.T.);
--#5932=EDGE_CURVE('',#5475,#5479,#3756,.T.);
--#5934=EDGE_CURVE('',#5288,#5475,#633,.T.);
--#5936=EDGE_CURVE('',#5288,#5286,#638,.T.);
--#5938=EDGE_CURVE('',#5285,#5286,#643,.T.);
--#5942=EDGE_CURVE('',#5416,#5487,#648,.T.);
--#5944=EDGE_CURVE('',#5483,#5487,#4058,.T.);
--#5946=EDGE_CURVE('',#5483,#5413,#652,.T.);
--#5948=EDGE_CURVE('',#5413,#5414,#657,.T.);
--#5950=EDGE_CURVE('',#5416,#5414,#662,.T.);
--#5961=EDGE_CURVE('',#4427,#4428,#1298,.T.);
--#5963=EDGE_CURVE('',#4424,#4428,#906,.T.);
--#5965=EDGE_CURVE('',#4423,#4424,#1601,.T.);
--#5968=EDGE_CURVE('',#4390,#4400,#1658,.T.);
--#5970=EDGE_CURVE('',#4387,#4390,#746,.T.);
--#5972=EDGE_CURVE('',#4387,#4388,#750,.T.);
--#5974=EDGE_CURVE('',#4768,#4388,#1698,.T.);
--#5976=EDGE_CURVE('',#4767,#4768,#1230,.T.);
--#5978=EDGE_CURVE('',#4287,#4767,#1746,.T.);
--#5980=EDGE_CURVE('',#4287,#4288,#754,.T.);
--#5982=EDGE_CURVE('',#4288,#4290,#758,.T.);
--#5984=EDGE_CURVE('',#4300,#4290,#1900,.T.);
--#5987=EDGE_CURVE('',#4323,#4324,#1371,.T.);
--#5989=EDGE_CURVE('',#4327,#4323,#914,.T.);
--#5991=EDGE_CURVE('',#4327,#4328,#1344,.T.);
--#5995=EDGE_CURVE('',#4747,#4748,#667,.T.);
--#5997=EDGE_CURVE('',#4748,#4747,#672,.T.);
--#6001=EDGE_CURVE('',#4735,#4736,#677,.T.);
--#6003=EDGE_CURVE('',#4736,#4735,#682,.T.);
--#6007=EDGE_CURVE('',#4755,#4756,#687,.T.);
--#6009=EDGE_CURVE('',#4756,#4755,#692,.T.);
--#6013=EDGE_CURVE('',#4763,#4764,#697,.T.);
--#6015=EDGE_CURVE('',#4764,#4763,#702,.T.);
--#6019=EDGE_CURVE('',#4731,#4732,#707,.T.);
--#6021=EDGE_CURVE('',#4732,#4731,#712,.T.);
--#6025=EDGE_CURVE('',#4723,#4724,#717,.T.);
--#6027=EDGE_CURVE('',#4724,#4723,#722,.T.);
--#6031=EDGE_CURVE('',#4703,#4704,#727,.T.);
--#6033=EDGE_CURVE('',#4704,#4703,#732,.T.);
--#6037=EDGE_CURVE('',#4715,#4716,#737,.T.);
--#6039=EDGE_CURVE('',#4716,#4715,#742,.T.);
--#6043=EDGE_CURVE('',#4947,#4959,#762,.T.);
--#6045=EDGE_CURVE('',#4955,#4959,#3213,.T.);
--#6047=EDGE_CURVE('',#4955,#4967,#766,.T.);
--#6049=EDGE_CURVE('',#4963,#4967,#3195,.T.);
--#6051=EDGE_CURVE('',#4963,#4975,#770,.T.);
--#6053=EDGE_CURVE('',#4971,#4975,#3177,.T.);
--#6055=EDGE_CURVE('',#4971,#4951,#774,.T.);
--#6057=EDGE_CURVE('',#4947,#4951,#3159,.T.);
--#6061=EDGE_CURVE('',#5036,#5048,#778,.T.);
--#6063=EDGE_CURVE('',#5040,#5036,#3256,.T.);
--#6065=EDGE_CURVE('',#5028,#5040,#782,.T.);
--#6067=EDGE_CURVE('',#5032,#5028,#3290,.T.);
--#6069=EDGE_CURVE('',#5052,#5032,#786,.T.);
--#6071=EDGE_CURVE('',#5056,#5052,#3308,.T.);
--#6073=EDGE_CURVE('',#5044,#5056,#790,.T.);
--#6075=EDGE_CURVE('',#5048,#5044,#3326,.T.);
--#6086=EDGE_CURVE('',#4747,#4743,#794,.T.);
--#6088=EDGE_CURVE('',#4743,#4744,#803,.T.);
--#6090=EDGE_CURVE('',#4748,#4744,#798,.T.);
--#6102=EDGE_CURVE('',#4744,#4743,#808,.T.);
--#6124=EDGE_CURVE('',#4735,#4739,#812,.T.);
--#6126=EDGE_CURVE('',#4739,#4740,#821,.T.);
--#6128=EDGE_CURVE('',#4736,#4740,#816,.T.);
--#6140=EDGE_CURVE('',#4740,#4739,#826,.T.);
--#6151=EDGE_CURVE('',#4934,#4940,#830,.T.);
--#6153=EDGE_CURVE('',#4940,#4942,#834,.T.);
--#6155=EDGE_CURVE('',#4938,#4942,#838,.T.);
--#6157=EDGE_CURVE('',#4788,#4938,#1234,.T.);
--#6159=EDGE_CURVE('',#4788,#4393,#842,.T.);
--#6161=EDGE_CURVE('',#4393,#4394,#846,.T.);
--#6163=EDGE_CURVE('',#4394,#4396,#850,.T.);
--#6165=EDGE_CURVE('',#4396,#4398,#854,.T.);
--#6167=EDGE_CURVE('',#4934,#4398,#1178,.T.);
--#6175=EDGE_CURVE('',#5103,#5099,#2946,.T.);
--#6177=EDGE_CURVE('',#5076,#5103,#858,.T.);
--#6179=EDGE_CURVE('',#5080,#5076,#3036,.T.);
--#6181=EDGE_CURVE('',#5084,#5080,#862,.T.);
--#6183=EDGE_CURVE('',#5088,#5084,#3018,.T.);
--#6185=EDGE_CURVE('',#5092,#5088,#866,.T.);
--#6187=EDGE_CURVE('',#5096,#5092,#3000,.T.);
--#6189=EDGE_CURVE('',#5068,#5096,#870,.T.);
--#6191=EDGE_CURVE('',#5072,#5068,#2982,.T.);
--#6193=EDGE_CURVE('',#5060,#5072,#874,.T.);
--#6195=EDGE_CURVE('',#5064,#5060,#2964,.T.);
--#6197=EDGE_CURVE('',#5099,#5064,#878,.T.);
--#6207=EDGE_CURVE('',#4933,#4934,#1174,.T.);
--#6209=EDGE_CURVE('',#4940,#4933,#882,.T.);
--#6221=EDGE_CURVE('',#4432,#4428,#1312,.T.);
--#6223=EDGE_CURVE('',#4267,#4432,#1326,.T.);
--#6225=EDGE_CURVE('',#4267,#4263,#910,.T.);
--#6227=EDGE_CURVE('',#4331,#4263,#1331,.T.);
--#6229=EDGE_CURVE('',#4327,#4331,#1349,.T.);
--#6232=EDGE_CURVE('',#4319,#4323,#1367,.T.);
--#6234=EDGE_CURVE('',#4256,#4319,#918,.T.);
--#6236=EDGE_CURVE('',#4256,#4260,#1638,.T.);
--#6238=EDGE_CURVE('',#4240,#4260,#922,.T.);
--#6240=EDGE_CURVE('',#4240,#4244,#1622,.T.);
--#6242=EDGE_CURVE('',#4420,#4244,#926,.T.);
--#6244=EDGE_CURVE('',#4424,#4420,#1606,.T.);
--#6248=EDGE_CURVE('',#4495,#4496,#951,.T.);
--#6250=EDGE_CURVE('',#4496,#4495,#956,.T.);
--#6254=EDGE_CURVE('',#4567,#4568,#981,.T.);
--#6256=EDGE_CURVE('',#4568,#4567,#986,.T.);
--#6260=EDGE_CURVE('',#4615,#4616,#1011,.T.);
--#6262=EDGE_CURVE('',#4616,#4615,#1016,.T.);
--#6266=EDGE_CURVE('',#4647,#4648,#1021,.T.);
--#6268=EDGE_CURVE('',#4648,#4647,#1026,.T.);
--#6272=EDGE_CURVE('',#4659,#4660,#1031,.T.);
--#6274=EDGE_CURVE('',#4660,#4659,#1036,.T.);
--#6286=EDGE_CURVE('',#4398,#4447,#1182,.T.);
--#6288=EDGE_CURVE('',#4443,#4447,#1646,.T.);
--#6290=EDGE_CURVE('',#4443,#4407,#1186,.T.);
--#6292=EDGE_CURVE('',#4403,#4407,#1547,.T.);
--#6294=EDGE_CURVE('',#4232,#4403,#1190,.T.);
--#6296=EDGE_CURVE('',#4232,#4236,#1572,.T.);
--#6298=EDGE_CURVE('',#4248,#4236,#1194,.T.);
--#6300=EDGE_CURVE('',#4248,#4252,#1588,.T.);
--#6302=EDGE_CURVE('',#4312,#4252,#1198,.T.);
--#6304=EDGE_CURVE('',#4316,#4312,#1394,.T.);
--#6306=EDGE_CURVE('',#4344,#4316,#1202,.T.);
--#6308=EDGE_CURVE('',#4344,#4348,#1920,.T.);
--#6310=EDGE_CURVE('',#4298,#4348,#1206,.T.);
--#6312=EDGE_CURVE('',#4298,#4920,#1210,.T.);
--#6314=EDGE_CURVE('',#4919,#4920,#1214,.T.);
--#6316=EDGE_CURVE('',#4919,#4923,#1218,.T.);
--#6318=EDGE_CURVE('',#4923,#4924,#1222,.T.);
--#6320=EDGE_CURVE('',#4924,#4786,#1226,.T.);
--#6322=EDGE_CURVE('',#4767,#4786,#1742,.T.);
--#6325=EDGE_CURVE('',#4768,#4788,#1694,.T.);
--#6328=EDGE_CURVE('',#4937,#4938,#1238,.T.);
--#6330=EDGE_CURVE('',#4933,#4937,#1242,.T.);
--#6334=EDGE_CURVE('',#4373,#4374,#887,.T.);
--#6336=EDGE_CURVE('',#4374,#4373,#892,.T.);
--#6340=EDGE_CURVE('',#4383,#4384,#897,.T.);
--#6342=EDGE_CURVE('',#4384,#4383,#902,.T.);
--#6346=EDGE_CURVE('',#4473,#4474,#931,.T.);
--#6348=EDGE_CURVE('',#4474,#4473,#936,.T.);
--#6352=EDGE_CURVE('',#4483,#4484,#941,.T.);
--#6354=EDGE_CURVE('',#4484,#4483,#946,.T.);
--#6358=EDGE_CURVE('',#4543,#4544,#961,.T.);
--#6360=EDGE_CURVE('',#4544,#4543,#966,.T.);
--#6364=EDGE_CURVE('',#4555,#4556,#971,.T.);
--#6366=EDGE_CURVE('',#4556,#4555,#976,.T.);
--#6370=EDGE_CURVE('',#4587,#4588,#991,.T.);
--#6372=EDGE_CURVE('',#4588,#4587,#996,.T.);
--#6376=EDGE_CURVE('',#4599,#4600,#1001,.T.);
--#6378=EDGE_CURVE('',#4600,#4599,#1006,.T.);
--#6382=EDGE_CURVE('',#4671,#4672,#1041,.T.);
--#6384=EDGE_CURVE('',#4672,#4671,#1046,.T.);
--#6388=EDGE_CURVE('',#4683,#4684,#1051,.T.);
--#6390=EDGE_CURVE('',#4684,#4683,#1056,.T.);
--#6394=EDGE_CURVE('',#4695,#4696,#1061,.T.);
--#6396=EDGE_CURVE('',#4696,#4695,#1066,.T.);
--#6400=EDGE_CURVE('',#4279,#4800,#1070,.T.);
--#6402=EDGE_CURVE('',#4804,#4800,#1448,.T.);
--#6404=EDGE_CURVE('',#4795,#4804,#1074,.T.);
--#6406=EDGE_CURVE('',#4791,#4795,#1421,.T.);
--#6408=EDGE_CURVE('',#4791,#4275,#1078,.T.);
--#6410=EDGE_CURVE('',#4271,#4275,#1475,.T.);
--#6412=EDGE_CURVE('',#4271,#4283,#1082,.T.);
--#6414=EDGE_CURVE('',#4279,#4283,#1457,.T.);
--#6418=EDGE_CURVE('',#4811,#4820,#1086,.T.);
--#6420=EDGE_CURVE('',#4807,#4811,#1493,.T.);
--#6422=EDGE_CURVE('',#4807,#4412,#1090,.T.);
--#6424=EDGE_CURVE('',#4416,#4412,#1538,.T.);
--#6426=EDGE_CURVE('',#4416,#4439,#1094,.T.);
--#6428=EDGE_CURVE('',#4435,#4439,#2124,.T.);
--#6430=EDGE_CURVE('',#4435,#4780,#1098,.T.);
--#6432=EDGE_CURVE('',#4784,#4780,#1716,.T.);
--#6434=EDGE_CURVE('',#4775,#4784,#1720,.T.);
--#6436=EDGE_CURVE('',#4771,#4775,#1729,.T.);
--#6438=EDGE_CURVE('',#4336,#4771,#1102,.T.);
--#6440=EDGE_CURVE('',#4336,#4340,#1762,.T.);
--#6442=EDGE_CURVE('',#4307,#4340,#1106,.T.);
--#6444=EDGE_CURVE('',#4303,#4307,#1403,.T.);
--#6446=EDGE_CURVE('',#4303,#4816,#1110,.T.);
--#6448=EDGE_CURVE('',#4820,#4816,#1520,.T.);
--#6452=EDGE_CURVE('',#4831,#4832,#1115,.T.);
--#6454=EDGE_CURVE('',#4832,#4831,#1120,.T.);
--#6458=EDGE_CURVE('',#4863,#4864,#1125,.T.);
--#6460=EDGE_CURVE('',#4864,#4863,#1130,.T.);
--#6464=EDGE_CURVE('',#4875,#4876,#1135,.T.);
--#6466=EDGE_CURVE('',#4876,#4875,#1140,.T.);
--#6470=EDGE_CURVE('',#4887,#4888,#1145,.T.);
--#6472=EDGE_CURVE('',#4888,#4887,#1150,.T.);
--#6476=EDGE_CURVE('',#4899,#4900,#1155,.T.);
--#6478=EDGE_CURVE('',#4900,#4899,#1160,.T.);
--#6482=EDGE_CURVE('',#4911,#4912,#1165,.T.);
--#6484=EDGE_CURVE('',#4912,#4911,#1170,.T.);
--#6495=EDGE_CURVE('',#4368,#4374,#1250,.T.);
--#6497=EDGE_CURVE('',#4370,#4368,#1268,.T.);
--#6499=EDGE_CURVE('',#4370,#4373,#1246,.T.);
--#6511=EDGE_CURVE('',#4370,#4368,#1259,.T.);
--#6522=EDGE_CURVE('',#4367,#4368,#1254,.T.);
--#6525=EDGE_CURVE('',#4367,#4370,#1263,.T.);
--#6547=EDGE_CURVE('',#4378,#4384,#1276,.T.);
--#6549=EDGE_CURVE('',#4380,#4378,#1294,.T.);
--#6551=EDGE_CURVE('',#4380,#4383,#1272,.T.);
--#6563=EDGE_CURVE('',#4380,#4378,#1285,.T.);
--#6574=EDGE_CURVE('',#4377,#4378,#1280,.T.);
--#6577=EDGE_CURVE('',#4377,#4380,#1289,.T.);
--#6600=EDGE_CURVE('',#4431,#4432,#1307,.T.);
--#6613=EDGE_CURVE('',#4267,#4268,#1321,.T.);
--#6624=EDGE_CURVE('',#4263,#4264,#1335,.T.);
--#6637=EDGE_CURVE('',#4331,#4332,#1353,.T.);
--#6662=EDGE_CURVE('',#4319,#4320,#1362,.T.);
--#6675=EDGE_CURVE('',#4311,#4312,#1380,.T.);
--#6678=EDGE_CURVE('',#4251,#4252,#1584,.T.);
--#6691=EDGE_CURVE('',#4255,#4256,#1626,.T.);
--#6704=EDGE_CURVE('',#4315,#4316,#1389,.T.);
--#6715=EDGE_CURVE('',#4307,#4308,#1407,.T.);
--#6718=EDGE_CURVE('',#4339,#4340,#1758,.T.);
--#6731=EDGE_CURVE('',#4343,#4344,#1908,.T.);
--#6742=EDGE_CURVE('',#4303,#4304,#1398,.T.);
--#6755=EDGE_CURVE('',#4791,#4792,#1416,.T.);
--#6758=EDGE_CURVE('',#4275,#4276,#1479,.T.);
--#6769=EDGE_CURVE('',#4815,#4816,#1506,.T.);
--#6784=EDGE_CURVE('',#4795,#4796,#1425,.T.);
--#6797=EDGE_CURVE('',#4803,#4804,#1443,.T.);
--#6808=EDGE_CURVE('',#4799,#4800,#1434,.T.);
--#6823=EDGE_CURVE('',#4279,#4280,#1452,.T.);
--#6834=EDGE_CURVE('',#4807,#4808,#1488,.T.);
--#6837=EDGE_CURVE('',#4411,#4412,#1524,.T.);
--#6850=EDGE_CURVE('',#4283,#4284,#1461,.T.);
--#6861=EDGE_CURVE('',#4271,#4272,#1470,.T.);
--#6888=EDGE_CURVE('',#4811,#4812,#1497,.T.);
--#6901=EDGE_CURVE('',#4819,#4820,#1515,.T.);
--#6926=EDGE_CURVE('',#4415,#4416,#1533,.T.);
--#6937=EDGE_CURVE('',#4407,#4408,#1551,.T.);
--#6940=EDGE_CURVE('',#4443,#4444,#1642,.T.);
--#6953=EDGE_CURVE('',#4439,#4440,#2128,.T.);
--#6964=EDGE_CURVE('',#4403,#4404,#1542,.T.);
--#6979=EDGE_CURVE('',#4231,#4232,#1560,.T.);
--#6990=EDGE_CURVE('',#4419,#4420,#1592,.T.);
--#6993=EDGE_CURVE('',#4243,#4244,#1618,.T.);
--#7006=EDGE_CURVE('',#4235,#4236,#1568,.T.);
--#7018=EDGE_CURVE('',#4247,#4248,#1576,.T.);
--#7054=EDGE_CURVE('',#4239,#4240,#1610,.T.);
--#7070=EDGE_CURVE('',#4259,#4260,#1634,.T.);
--#7094=EDGE_CURVE('',#4447,#4448,#1650,.T.);
--#7110=EDGE_CURVE('',#4390,#4396,#1662,.T.);
--#7123=EDGE_CURVE('',#4387,#4394,#1666,.T.);
--#7136=EDGE_CURVE('',#4388,#4393,#1670,.T.);
--#7140=EDGE_CURVE('',#4455,#4456,#1675,.T.);
--#7142=EDGE_CURVE('',#4456,#4455,#1680,.T.);
--#7146=EDGE_CURVE('',#4463,#4464,#1685,.T.);
--#7148=EDGE_CURVE('',#4464,#4463,#1690,.T.);
--#7158=EDGE_CURVE('',#4779,#4780,#1702,.T.);
--#7161=EDGE_CURVE('',#4435,#4436,#2120,.T.);
--#7186=EDGE_CURVE('',#4783,#4784,#1711,.T.);
--#7197=EDGE_CURVE('',#4775,#4776,#1733,.T.);
--#7210=EDGE_CURVE('',#4771,#4772,#1724,.T.);
--#7225=EDGE_CURVE('',#4335,#4336,#1750,.T.);
--#7237=EDGE_CURVE('',#4786,#4293,#1792,.T.);
--#7239=EDGE_CURVE('',#4287,#4293,#1928,.T.);
--#7262=EDGE_CURVE('',#4920,#4926,#1776,.T.);
--#7265=EDGE_CURVE('',#4296,#4298,#1780,.T.);
--#7267=EDGE_CURVE('',#4294,#4296,#1784,.T.);
--#7269=EDGE_CURVE('',#4293,#4294,#1788,.T.);
--#7273=EDGE_CURVE('',#4924,#4928,#1796,.T.);
--#7275=EDGE_CURVE('',#4926,#4928,#1800,.T.);
--#7279=EDGE_CURVE('',#4707,#4708,#1767,.T.);
--#7281=EDGE_CURVE('',#4708,#4707,#1772,.T.);
--#7285=EDGE_CURVE('',#5020,#5022,#1993,.T.);
--#7287=EDGE_CURVE('',#5020,#4983,#1804,.T.);
--#7289=EDGE_CURVE('',#4979,#4983,#2107,.T.);
--#7291=EDGE_CURVE('',#4979,#4991,#1808,.T.);
--#7293=EDGE_CURVE('',#4987,#4991,#2089,.T.);
--#7295=EDGE_CURVE('',#4987,#5015,#1812,.T.);
--#7297=EDGE_CURVE('',#5011,#5015,#2071,.T.);
--#7299=EDGE_CURVE('',#5011,#5007,#1816,.T.);
--#7301=EDGE_CURVE('',#5003,#5007,#2053,.T.);
--#7303=EDGE_CURVE('',#5003,#4999,#1820,.T.);
--#7305=EDGE_CURVE('',#4995,#4999,#2035,.T.);
--#7307=EDGE_CURVE('',#4995,#5022,#1824,.T.);
--#7318=EDGE_CURVE('',#4704,#4708,#1832,.T.);
--#7321=EDGE_CURVE('',#4703,#4707,#1828,.T.);
--#7345=EDGE_CURVE('',#4926,#4919,#1836,.T.);
--#7358=EDGE_CURVE('',#4928,#4923,#1860,.T.);
--#7362=EDGE_CURVE('',#4929,#4930,#1846,.T.);
--#7364=EDGE_CURVE('',#4930,#4929,#1856,.T.);
--#7385=EDGE_CURVE('',#4930,#4531,#1868,.T.);
--#7388=EDGE_CURVE('',#4532,#4929,#1864,.T.);
--#7390=EDGE_CURVE('',#4531,#4532,#1873,.T.);
--#7403=EDGE_CURVE('',#4532,#4531,#1878,.T.);
--#7417=EDGE_CURVE('',#4535,#4536,#1883,.T.);
--#7419=EDGE_CURVE('',#4536,#4535,#1888,.T.);
--#7430=EDGE_CURVE('',#4536,#4504,#1896,.T.);
--#7433=EDGE_CURVE('',#4535,#4503,#1892,.T.);
--#7457=EDGE_CURVE('',#4347,#4348,#1916,.T.);
--#7461=EDGE_CURVE('',#4290,#4296,#1904,.T.);
--#7484=EDGE_CURVE('',#4288,#4294,#1924,.T.);
--#7502=EDGE_CURVE('',#4355,#4356,#1933,.T.);
--#7504=EDGE_CURVE('',#4356,#4355,#1938,.T.);
--#7508=EDGE_CURVE('',#4363,#4364,#1943,.T.);
--#7510=EDGE_CURVE('',#4364,#4363,#1948,.T.);
--#7521=EDGE_CURVE('',#4356,#4352,#1956,.T.);
--#7523=EDGE_CURVE('',#4351,#4352,#1961,.T.);
--#7525=EDGE_CURVE('',#4355,#4351,#1952,.T.);
--#7537=EDGE_CURVE('',#4352,#4351,#1966,.T.);
--#7559=EDGE_CURVE('',#4364,#4360,#1974,.T.);
--#7561=EDGE_CURVE('',#4359,#4360,#1979,.T.);
--#7563=EDGE_CURVE('',#4363,#4359,#1970,.T.);
--#7575=EDGE_CURVE('',#4360,#4359,#1984,.T.);
--#7596=EDGE_CURVE('',#5019,#5020,#1988,.T.);
--#7599=EDGE_CURVE('',#5024,#5022,#1997,.T.);
--#7601=EDGE_CURVE('',#5024,#5019,#2002,.T.);
--#7612=EDGE_CURVE('',#5019,#4984,#2006,.T.);
--#7614=EDGE_CURVE('',#4983,#4984,#2111,.T.);
--#7627=EDGE_CURVE('',#4996,#5024,#2010,.T.);
--#7629=EDGE_CURVE('',#5000,#4996,#2044,.T.);
--#7631=EDGE_CURVE('',#5004,#5000,#2014,.T.);
--#7633=EDGE_CURVE('',#5008,#5004,#2062,.T.);
--#7635=EDGE_CURVE('',#5012,#5008,#2018,.T.);
--#7637=EDGE_CURVE('',#5016,#5012,#2080,.T.);
--#7639=EDGE_CURVE('',#4988,#5016,#2022,.T.);
--#7641=EDGE_CURVE('',#4992,#4988,#2098,.T.);
--#7643=EDGE_CURVE('',#4980,#4992,#2026,.T.);
--#7645=EDGE_CURVE('',#4984,#4980,#2116,.T.);
--#7657=EDGE_CURVE('',#4995,#4996,#2030,.T.);
--#7670=EDGE_CURVE('',#4999,#5000,#2039,.T.);
--#7683=EDGE_CURVE('',#5003,#5004,#2048,.T.);
--#7696=EDGE_CURVE('',#5007,#5008,#2057,.T.);
--#7709=EDGE_CURVE('',#5011,#5012,#2066,.T.);
--#7722=EDGE_CURVE('',#5015,#5016,#2075,.T.);
--#7733=EDGE_CURVE('',#4987,#4988,#2084,.T.);
--#7748=EDGE_CURVE('',#4991,#4992,#2093,.T.);
--#7759=EDGE_CURVE('',#4979,#4980,#2102,.T.);
--#7797=EDGE_CURVE('',#4455,#4451,#2136,.T.);
--#7799=EDGE_CURVE('',#4451,#4452,#2145,.T.);
--#7801=EDGE_CURVE('',#4456,#4452,#2140,.T.);
--#7813=EDGE_CURVE('',#4452,#4451,#2150,.T.);
--#7835=EDGE_CURVE('',#4463,#4459,#2154,.T.);
--#7837=EDGE_CURVE('',#4459,#4460,#2163,.T.);
--#7839=EDGE_CURVE('',#4464,#4460,#2158,.T.);
--#7851=EDGE_CURVE('',#4460,#4459,#2168,.T.);
--#7873=EDGE_CURVE('',#4470,#4473,#2176,.T.);
--#7875=EDGE_CURVE('',#4470,#4468,#2194,.T.);
--#7877=EDGE_CURVE('',#4468,#4474,#2172,.T.);
--#7889=EDGE_CURVE('',#4470,#4468,#2189,.T.);
--#7900=EDGE_CURVE('',#4467,#4468,#2180,.T.);
--#7902=EDGE_CURVE('',#4467,#4470,#2184,.T.);
--#7925=EDGE_CURVE('',#4480,#4483,#2202,.T.);
--#7927=EDGE_CURVE('',#4480,#4478,#2220,.T.);
--#7929=EDGE_CURVE('',#4478,#4484,#2198,.T.);
--#7941=EDGE_CURVE('',#4480,#4478,#2215,.T.);
--#7952=EDGE_CURVE('',#4477,#4478,#2206,.T.);
--#7954=EDGE_CURVE('',#4477,#4480,#2210,.T.);
--#7977=EDGE_CURVE('',#4496,#4492,#2228,.T.);
--#7979=EDGE_CURVE('',#4491,#4492,#2233,.T.);
--#7981=EDGE_CURVE('',#4495,#4491,#2224,.T.);
--#7993=EDGE_CURVE('',#4492,#4491,#2238,.T.);
--#8008=EDGE_CURVE('',#4499,#4500,#2243,.T.);
--#8010=EDGE_CURVE('',#4500,#4499,#2248,.T.);
--#8021=EDGE_CURVE('',#4500,#4488,#2256,.T.);
--#8024=EDGE_CURVE('',#4499,#4487,#2252,.T.);
--#8047=EDGE_CURVE('',#4544,#4540,#2264,.T.);
--#8049=EDGE_CURVE('',#4539,#4540,#2269,.T.);
--#8051=EDGE_CURVE('',#4543,#4539,#2260,.T.);
--#8063=EDGE_CURVE('',#4540,#4539,#2274,.T.);
--#8078=EDGE_CURVE('',#4547,#4548,#2279,.T.);
--#8080=EDGE_CURVE('',#4548,#4547,#2284,.T.);
--#8091=EDGE_CURVE('',#4548,#4508,#2292,.T.);
--#8094=EDGE_CURVE('',#4547,#4507,#2288,.T.);
--#8117=EDGE_CURVE('',#4556,#4552,#2300,.T.);
--#8119=EDGE_CURVE('',#4551,#4552,#2305,.T.);
--#8121=EDGE_CURVE('',#4555,#4551,#2296,.T.);
--#8133=EDGE_CURVE('',#4552,#4551,#2310,.T.);
--#8148=EDGE_CURVE('',#4559,#4560,#2315,.T.);
--#8150=EDGE_CURVE('',#4560,#4559,#2320,.T.);
--#8161=EDGE_CURVE('',#4560,#4512,#2328,.T.);
--#8164=EDGE_CURVE('',#4559,#4511,#2324,.T.);
--#8187=EDGE_CURVE('',#4568,#4564,#2336,.T.);
--#8189=EDGE_CURVE('',#4563,#4564,#2341,.T.);
--#8191=EDGE_CURVE('',#4567,#4563,#2332,.T.);
--#8203=EDGE_CURVE('',#4564,#4563,#2346,.T.);
--#8218=EDGE_CURVE('',#4571,#4572,#2351,.T.);
--#8220=EDGE_CURVE('',#4572,#4571,#2356,.T.);
--#8231=EDGE_CURVE('',#4572,#4516,#2364,.T.);
--#8234=EDGE_CURVE('',#4571,#4515,#2360,.T.);
--#8257=EDGE_CURVE('',#4588,#4584,#2372,.T.);
--#8259=EDGE_CURVE('',#4583,#4584,#2377,.T.);
--#8261=EDGE_CURVE('',#4587,#4583,#2368,.T.);
--#8273=EDGE_CURVE('',#4584,#4583,#2382,.T.);
--#8288=EDGE_CURVE('',#4591,#4592,#2387,.T.);
--#8290=EDGE_CURVE('',#4592,#4591,#2392,.T.);
--#8301=EDGE_CURVE('',#4592,#4524,#2400,.T.);
--#8304=EDGE_CURVE('',#4591,#4523,#2396,.T.);
--#8327=EDGE_CURVE('',#4600,#4596,#2408,.T.);
--#8329=EDGE_CURVE('',#4595,#4596,#2413,.T.);
--#8331=EDGE_CURVE('',#4599,#4595,#2404,.T.);
--#8343=EDGE_CURVE('',#4596,#4595,#2418,.T.);
--#8358=EDGE_CURVE('',#4603,#4604,#2423,.T.);
--#8360=EDGE_CURVE('',#4604,#4603,#2428,.T.);
--#8371=EDGE_CURVE('',#4604,#4528,#2436,.T.);
--#8374=EDGE_CURVE('',#4603,#4527,#2432,.T.);
--#8397=EDGE_CURVE('',#4616,#4612,#2444,.T.);
--#8399=EDGE_CURVE('',#4611,#4612,#2449,.T.);
--#8401=EDGE_CURVE('',#4615,#4611,#2440,.T.);
--#8413=EDGE_CURVE('',#4612,#4611,#2454,.T.);
--#8428=EDGE_CURVE('',#4619,#4620,#2459,.T.);
--#8430=EDGE_CURVE('',#4620,#4619,#2464,.T.);
--#8441=EDGE_CURVE('',#4620,#4608,#2472,.T.);
--#8444=EDGE_CURVE('',#4619,#4607,#2468,.T.);
--#8467=EDGE_CURVE('',#4648,#4644,#2480,.T.);
--#8469=EDGE_CURVE('',#4643,#4644,#2485,.T.);
--#8471=EDGE_CURVE('',#4647,#4643,#2476,.T.);
--#8483=EDGE_CURVE('',#4644,#4643,#2490,.T.);
--#8498=EDGE_CURVE('',#4651,#4652,#2495,.T.);
--#8500=EDGE_CURVE('',#4652,#4651,#2500,.T.);
--#8511=EDGE_CURVE('',#4652,#4624,#2508,.T.);
--#8514=EDGE_CURVE('',#4651,#4623,#2504,.T.);
--#8537=EDGE_CURVE('',#4660,#4656,#2516,.T.);
--#8539=EDGE_CURVE('',#4655,#4656,#2521,.T.);
--#8541=EDGE_CURVE('',#4659,#4655,#2512,.T.);
--#8553=EDGE_CURVE('',#4656,#4655,#2526,.T.);
--#8568=EDGE_CURVE('',#4663,#4664,#2531,.T.);
--#8570=EDGE_CURVE('',#4664,#4663,#2536,.T.);
--#8581=EDGE_CURVE('',#4664,#4636,#2544,.T.);
--#8584=EDGE_CURVE('',#4663,#4635,#2540,.T.);
--#8607=EDGE_CURVE('',#4672,#4668,#2552,.T.);
--#8609=EDGE_CURVE('',#4667,#4668,#2557,.T.);
--#8611=EDGE_CURVE('',#4671,#4667,#2548,.T.);
--#8623=EDGE_CURVE('',#4668,#4667,#2562,.T.);
--#8638=EDGE_CURVE('',#4675,#4676,#2567,.T.);
--#8640=EDGE_CURVE('',#4676,#4675,#2572,.T.);
--#8651=EDGE_CURVE('',#4676,#4628,#2580,.T.);
--#8654=EDGE_CURVE('',#4675,#4627,#2576,.T.);
--#8677=EDGE_CURVE('',#4684,#4680,#2588,.T.);
--#8679=EDGE_CURVE('',#4679,#4680,#2593,.T.);
--#8681=EDGE_CURVE('',#4683,#4679,#2584,.T.);
--#8693=EDGE_CURVE('',#4680,#4679,#2598,.T.);
--#8708=EDGE_CURVE('',#4687,#4688,#2603,.T.);
--#8710=EDGE_CURVE('',#4688,#4687,#2608,.T.);
--#8721=EDGE_CURVE('',#4688,#4632,#2616,.T.);
--#8724=EDGE_CURVE('',#4687,#4631,#2612,.T.);
--#8747=EDGE_CURVE('',#4696,#4692,#2624,.T.);
--#8749=EDGE_CURVE('',#4691,#4692,#2629,.T.);
--#8751=EDGE_CURVE('',#4695,#4691,#2620,.T.);
--#8763=EDGE_CURVE('',#4692,#4691,#2634,.T.);
--#8778=EDGE_CURVE('',#4699,#4700,#2639,.T.);
--#8780=EDGE_CURVE('',#4700,#4699,#2644,.T.);
--#8791=EDGE_CURVE('',#4700,#4640,#2652,.T.);
--#8794=EDGE_CURVE('',#4699,#4639,#2648,.T.);
--#8817=EDGE_CURVE('',#4832,#4828,#2660,.T.);
--#8819=EDGE_CURVE('',#4827,#4828,#2665,.T.);
--#8821=EDGE_CURVE('',#4831,#4827,#2656,.T.);
--#8833=EDGE_CURVE('',#4828,#4827,#2670,.T.);
--#8848=EDGE_CURVE('',#4835,#4836,#2675,.T.);
--#8850=EDGE_CURVE('',#4836,#4835,#2680,.T.);
--#8861=EDGE_CURVE('',#4836,#4824,#2688,.T.);
--#8864=EDGE_CURVE('',#4835,#4823,#2684,.T.);
--#8887=EDGE_CURVE('',#4864,#4860,#2696,.T.);
--#8889=EDGE_CURVE('',#4859,#4860,#2701,.T.);
--#8891=EDGE_CURVE('',#4863,#4859,#2692,.T.);
--#8903=EDGE_CURVE('',#4860,#4859,#2706,.T.);
--#8918=EDGE_CURVE('',#4867,#4868,#2711,.T.);
--#8920=EDGE_CURVE('',#4868,#4867,#2716,.T.);
--#8931=EDGE_CURVE('',#4868,#4840,#2724,.T.);
--#8934=EDGE_CURVE('',#4867,#4839,#2720,.T.);
--#8957=EDGE_CURVE('',#4876,#4872,#2732,.T.);
--#8959=EDGE_CURVE('',#4871,#4872,#2737,.T.);
--#8961=EDGE_CURVE('',#4875,#4871,#2728,.T.);
--#8973=EDGE_CURVE('',#4872,#4871,#2742,.T.);
--#8988=EDGE_CURVE('',#4879,#4880,#2747,.T.);
--#8990=EDGE_CURVE('',#4880,#4879,#2752,.T.);
--#9001=EDGE_CURVE('',#4880,#4844,#2760,.T.);
--#9004=EDGE_CURVE('',#4879,#4843,#2756,.T.);
--#9027=EDGE_CURVE('',#4888,#4884,#2768,.T.);
--#9029=EDGE_CURVE('',#4883,#4884,#2773,.T.);
--#9031=EDGE_CURVE('',#4887,#4883,#2764,.T.);
--#9043=EDGE_CURVE('',#4884,#4883,#2778,.T.);
--#9058=EDGE_CURVE('',#4891,#4892,#2783,.T.);
--#9060=EDGE_CURVE('',#4892,#4891,#2788,.T.);
--#9071=EDGE_CURVE('',#4892,#4848,#2796,.T.);
--#9074=EDGE_CURVE('',#4891,#4847,#2792,.T.);
--#9097=EDGE_CURVE('',#4900,#4896,#2804,.T.);
--#9099=EDGE_CURVE('',#4895,#4896,#2809,.T.);
--#9101=EDGE_CURVE('',#4899,#4895,#2800,.T.);
--#9113=EDGE_CURVE('',#4896,#4895,#2814,.T.);
--#9128=EDGE_CURVE('',#4903,#4904,#2819,.T.);
--#9130=EDGE_CURVE('',#4904,#4903,#2824,.T.);
--#9141=EDGE_CURVE('',#4904,#4852,#2832,.T.);
--#9144=EDGE_CURVE('',#4903,#4851,#2828,.T.);
--#9167=EDGE_CURVE('',#4912,#4908,#2840,.T.);
--#9169=EDGE_CURVE('',#4907,#4908,#2845,.T.);
--#9171=EDGE_CURVE('',#4911,#4907,#2836,.T.);
--#9183=EDGE_CURVE('',#4908,#4907,#2850,.T.);
--#9198=EDGE_CURVE('',#4915,#4916,#2855,.T.);
--#9200=EDGE_CURVE('',#4916,#4915,#2860,.T.);
--#9211=EDGE_CURVE('',#4916,#4856,#2868,.T.);
--#9214=EDGE_CURVE('',#4915,#4855,#2864,.T.);
--#9238=EDGE_CURVE('',#4942,#4937,#2872,.T.);
--#9254=EDGE_CURVE('',#4943,#4944,#2882,.T.);
--#9256=EDGE_CURVE('',#4944,#4943,#2892,.T.);
--#9266=EDGE_CURVE('',#4943,#4575,#2900,.T.);
--#9269=EDGE_CURVE('',#4576,#4944,#2896,.T.);
--#9271=EDGE_CURVE('',#4575,#4576,#2905,.T.);
--#9284=EDGE_CURVE('',#4576,#4575,#2910,.T.);
--#9298=EDGE_CURVE('',#4579,#4580,#2915,.T.);
--#9300=EDGE_CURVE('',#4580,#4579,#2920,.T.);
--#9311=EDGE_CURVE('',#4580,#4520,#2928,.T.);
--#9314=EDGE_CURVE('',#4579,#4519,#2924,.T.);
--#9336=EDGE_CURVE('',#5099,#5100,#2932,.T.);
--#9338=EDGE_CURVE('',#5100,#5104,#2937,.T.);
--#9340=EDGE_CURVE('',#5103,#5104,#2941,.T.);
--#9353=EDGE_CURVE('',#5062,#5064,#2959,.T.);
--#9355=EDGE_CURVE('',#5100,#5062,#3044,.T.);
--#9365=EDGE_CURVE('',#5059,#5060,#2950,.T.);
--#9367=EDGE_CURVE('',#5059,#5062,#2955,.T.);
--#9381=EDGE_CURVE('',#5070,#5072,#2977,.T.);
--#9383=EDGE_CURVE('',#5059,#5070,#3048,.T.);
--#9393=EDGE_CURVE('',#5067,#5068,#2968,.T.);
--#9395=EDGE_CURVE('',#5067,#5070,#2973,.T.);
--#9409=EDGE_CURVE('',#5094,#5096,#2995,.T.);
--#9411=EDGE_CURVE('',#5067,#5094,#3052,.T.);
--#9421=EDGE_CURVE('',#5091,#5092,#2986,.T.);
--#9423=EDGE_CURVE('',#5091,#5094,#2991,.T.);
--#9435=EDGE_CURVE('',#5086,#5088,#3013,.T.);
--#9437=EDGE_CURVE('',#5091,#5086,#3056,.T.);
--#9449=EDGE_CURVE('',#5083,#5084,#3004,.T.);
--#9451=EDGE_CURVE('',#5083,#5086,#3009,.T.);
--#9463=EDGE_CURVE('',#5078,#5080,#3031,.T.);
--#9465=EDGE_CURVE('',#5083,#5078,#3060,.T.);
--#9477=EDGE_CURVE('',#5075,#5076,#3022,.T.);
--#9479=EDGE_CURVE('',#5075,#5078,#3027,.T.);
--#9492=EDGE_CURVE('',#5075,#5104,#3040,.T.);
--#9525=EDGE_CURVE('',#4755,#4751,#3064,.T.);
--#9527=EDGE_CURVE('',#4751,#4752,#3073,.T.);
--#9529=EDGE_CURVE('',#4756,#4752,#3068,.T.);
--#9541=EDGE_CURVE('',#4752,#4751,#3078,.T.);
--#9563=EDGE_CURVE('',#4763,#4759,#3082,.T.);
--#9565=EDGE_CURVE('',#4759,#4760,#3091,.T.);
--#9567=EDGE_CURVE('',#4764,#4760,#3086,.T.);
--#9579=EDGE_CURVE('',#4760,#4759,#3096,.T.);
--#9601=EDGE_CURVE('',#4732,#4728,#3104,.T.);
--#9603=EDGE_CURVE('',#4727,#4728,#3109,.T.);
--#9605=EDGE_CURVE('',#4731,#4727,#3100,.T.);
--#9617=EDGE_CURVE('',#4728,#4727,#3114,.T.);
--#9639=EDGE_CURVE('',#4724,#4720,#3122,.T.);
--#9641=EDGE_CURVE('',#4719,#4720,#3127,.T.);
--#9643=EDGE_CURVE('',#4723,#4719,#3118,.T.);
--#9655=EDGE_CURVE('',#4720,#4719,#3132,.T.);
--#9677=EDGE_CURVE('',#4716,#4712,#3140,.T.);
--#9679=EDGE_CURVE('',#4711,#4712,#3145,.T.);
--#9681=EDGE_CURVE('',#4715,#4711,#3136,.T.);
--#9693=EDGE_CURVE('',#4712,#4711,#3150,.T.);
--#9714=EDGE_CURVE('',#4947,#4948,#3154,.T.);
--#9716=EDGE_CURVE('',#4948,#4960,#3238,.T.);
--#9718=EDGE_CURVE('',#4959,#4960,#3217,.T.);
--#9731=EDGE_CURVE('',#4951,#4952,#3163,.T.);
--#9733=EDGE_CURVE('',#4952,#4948,#3168,.T.);
--#9745=EDGE_CURVE('',#4971,#4972,#3172,.T.);
--#9747=EDGE_CURVE('',#4972,#4952,#3226,.T.);
--#9759=EDGE_CURVE('',#4975,#4976,#3181,.T.);
--#9761=EDGE_CURVE('',#4976,#4972,#3186,.T.);
--#9771=EDGE_CURVE('',#4963,#4964,#3190,.T.);
--#9773=EDGE_CURVE('',#4964,#4976,#3230,.T.);
--#9787=EDGE_CURVE('',#4967,#4968,#3199,.T.);
--#9789=EDGE_CURVE('',#4968,#4964,#3204,.T.);
--#9799=EDGE_CURVE('',#4955,#4956,#3208,.T.);
--#9801=EDGE_CURVE('',#4956,#4968,#3234,.T.);
--#9816=EDGE_CURVE('',#4960,#4956,#3222,.T.);
--#9842=EDGE_CURVE('',#5035,#5036,#3242,.T.);
--#9845=EDGE_CURVE('',#5046,#5048,#3321,.T.);
--#9847=EDGE_CURVE('',#5035,#5046,#3264,.T.);
--#9858=EDGE_CURVE('',#5035,#5038,#3247,.T.);
--#9860=EDGE_CURVE('',#5038,#5040,#3251,.T.);
--#9871=EDGE_CURVE('',#5027,#5030,#3281,.T.);
--#9873=EDGE_CURVE('',#5027,#5038,#3260,.T.);
--#9877=EDGE_CURVE('',#5043,#5046,#3317,.T.);
--#9879=EDGE_CURVE('',#5043,#5054,#3268,.T.);
--#9881=EDGE_CURVE('',#5051,#5054,#3299,.T.);
--#9883=EDGE_CURVE('',#5051,#5030,#3272,.T.);
--#9893=EDGE_CURVE('',#5027,#5028,#3276,.T.);
--#9896=EDGE_CURVE('',#5030,#5032,#3285,.T.);
--#9921=EDGE_CURVE('',#5051,#5052,#3294,.T.);
--#9934=EDGE_CURVE('',#5054,#5056,#3303,.T.);
--#9945=EDGE_CURVE('',#5043,#5044,#3312,.T.);
--#9971=EDGE_CURVE('',#5121,#5107,#3330,.T.);
--#9973=EDGE_CURVE('',#5107,#5108,#3346,.T.);
--#9975=EDGE_CURVE('',#5122,#5108,#3342,.T.);
--#9986=EDGE_CURVE('',#5126,#5112,#3334,.T.);
--#9988=EDGE_CURVE('',#5112,#5107,#3351,.T.);
--#10000=EDGE_CURVE('',#5124,#5110,#3338,.T.);
--#10002=EDGE_CURVE('',#5110,#5112,#3355,.T.);
--#10015=EDGE_CURVE('',#5108,#5110,#3360,.T.);
--#10038=EDGE_CURVE('',#5140,#5136,#3397,.T.);
--#10040=EDGE_CURVE('',#5118,#5140,#3365,.T.);
--#10042=EDGE_CURVE('',#5116,#5118,#3370,.T.);
--#10044=EDGE_CURVE('',#5115,#5116,#3375,.T.);
--#10046=EDGE_CURVE('',#5136,#5115,#3379,.T.);
--#10056=EDGE_CURVE('',#5135,#5136,#3383,.T.);
--#10059=EDGE_CURVE('',#5139,#5140,#3392,.T.);
--#10072=EDGE_CURVE('',#5129,#5115,#3401,.T.);
--#10086=EDGE_CURVE('',#5130,#5116,#3405,.T.);
--#10099=EDGE_CURVE('',#5132,#5118,#3409,.T.);
--#10121=EDGE_CURVE('',#5183,#5184,#3413,.T.);
--#10124=EDGE_CURVE('',#5188,#5186,#3422,.T.);
--#10126=EDGE_CURVE('',#5188,#5183,#3427,.T.);
--#10137=EDGE_CURVE('',#5183,#5143,#3444,.T.);
--#10139=EDGE_CURVE('',#5147,#5143,#3486,.T.);
--#10150=EDGE_CURVE('',#5191,#5172,#3431,.T.);
--#10152=EDGE_CURVE('',#5196,#5191,#3478,.T.);
--#10154=EDGE_CURVE('',#5144,#5196,#3435,.T.);
--#10156=EDGE_CURVE('',#5143,#5144,#3440,.T.);
--#10160=EDGE_CURVE('',#5160,#5188,#3448,.T.);
--#10162=EDGE_CURVE('',#5164,#5160,#3558,.T.);
--#10164=EDGE_CURVE('',#5152,#5164,#3452,.T.);
--#10166=EDGE_CURVE('',#5156,#5152,#3540,.T.);
--#10168=EDGE_CURVE('',#5176,#5156,#3456,.T.);
--#10170=EDGE_CURVE('',#5180,#5176,#3522,.T.);
--#10172=EDGE_CURVE('',#5168,#5180,#3460,.T.);
--#10174=EDGE_CURVE('',#5172,#5168,#3504,.T.);
--#10184=EDGE_CURVE('',#5191,#5192,#3464,.T.);
--#10187=EDGE_CURVE('',#5171,#5172,#3499,.T.);
--#10200=EDGE_CURVE('',#5196,#5194,#3473,.T.);
--#10213=EDGE_CURVE('',#5148,#5144,#3482,.T.);
--#10236=EDGE_CURVE('',#5167,#5168,#3490,.T.);
--#10251=EDGE_CURVE('',#5179,#5180,#3517,.T.);
--#10262=EDGE_CURVE('',#5175,#5176,#3508,.T.);
--#10275=EDGE_CURVE('',#5155,#5156,#3535,.T.);
--#10288=EDGE_CURVE('',#5151,#5152,#3526,.T.);
--#10303=EDGE_CURVE('',#5163,#5164,#3553,.T.);
--#10314=EDGE_CURVE('',#5159,#5160,#3544,.T.);
--#10340=EDGE_CURVE('',#5207,#5199,#3562,.T.);
--#10342=EDGE_CURVE('',#5199,#5200,#3578,.T.);
--#10344=EDGE_CURVE('',#5208,#5200,#3574,.T.);
--#10355=EDGE_CURVE('',#5212,#5204,#3566,.T.);
--#10357=EDGE_CURVE('',#5204,#5199,#3583,.T.);
--#10369=EDGE_CURVE('',#5210,#5202,#3570,.T.);
--#10371=EDGE_CURVE('',#5202,#5204,#3587,.T.);
--#10384=EDGE_CURVE('',#5200,#5202,#3592,.T.);
--#10408=EDGE_CURVE('',#5223,#5215,#3596,.T.);
--#10410=EDGE_CURVE('',#5215,#5216,#3612,.T.);
--#10412=EDGE_CURVE('',#5224,#5216,#3608,.T.);
--#10423=EDGE_CURVE('',#5228,#5220,#3600,.T.);
--#10425=EDGE_CURVE('',#5220,#5215,#3617,.T.);
--#10437=EDGE_CURVE('',#5226,#5218,#3604,.T.);
--#10439=EDGE_CURVE('',#5218,#5220,#3621,.T.);
--#10452=EDGE_CURVE('',#5216,#5218,#3626,.T.);
--#10476=EDGE_CURVE('',#5239,#5231,#3630,.T.);
--#10478=EDGE_CURVE('',#5231,#5232,#3646,.T.);
--#10480=EDGE_CURVE('',#5240,#5232,#3642,.T.);
--#10491=EDGE_CURVE('',#5244,#5236,#3634,.T.);
--#10493=EDGE_CURVE('',#5236,#5231,#3651,.T.);
--#10505=EDGE_CURVE('',#5242,#5234,#3638,.T.);
--#10507=EDGE_CURVE('',#5234,#5236,#3655,.T.);
--#10520=EDGE_CURVE('',#5232,#5234,#3660,.T.);
--#10544=EDGE_CURVE('',#5255,#5247,#3664,.T.);
--#10546=EDGE_CURVE('',#5247,#5248,#3680,.T.);
--#10548=EDGE_CURVE('',#5256,#5248,#3676,.T.);
--#10559=EDGE_CURVE('',#5260,#5252,#3668,.T.);
--#10561=EDGE_CURVE('',#5252,#5247,#3685,.T.);
--#10573=EDGE_CURVE('',#5258,#5250,#3672,.T.);
--#10575=EDGE_CURVE('',#5250,#5252,#3689,.T.);
--#10588=EDGE_CURVE('',#5248,#5250,#3694,.T.);
--#10612=EDGE_CURVE('',#5278,#5264,#3702,.T.);
--#10614=EDGE_CURVE('',#5263,#5264,#3714,.T.);
--#10616=EDGE_CURVE('',#5277,#5263,#3698,.T.);
--#10627=EDGE_CURVE('',#5280,#5266,#3706,.T.);
--#10629=EDGE_CURVE('',#5264,#5266,#3719,.T.);
--#10641=EDGE_CURVE('',#5282,#5268,#3710,.T.);
--#10643=EDGE_CURVE('',#5266,#5268,#3723,.T.);
--#10656=EDGE_CURVE('',#5268,#5263,#3728,.T.);
--#10679=EDGE_CURVE('',#5480,#5476,#3765,.T.);
--#10681=EDGE_CURVE('',#5480,#5271,#3732,.T.);
--#10683=EDGE_CURVE('',#5271,#5272,#3737,.T.);
--#10685=EDGE_CURVE('',#5272,#5274,#3742,.T.);
--#10687=EDGE_CURVE('',#5274,#5476,#3747,.T.);
--#10697=EDGE_CURVE('',#5475,#5476,#3751,.T.);
--#10700=EDGE_CURVE('',#5479,#5480,#3760,.T.);
--#10713=EDGE_CURVE('',#5288,#5274,#3769,.T.);
--#10727=EDGE_CURVE('',#5286,#5272,#3773,.T.);
--#10740=EDGE_CURVE('',#5285,#5271,#3777,.T.);
--#10763=EDGE_CURVE('',#5306,#5292,#3785,.T.);
--#10765=EDGE_CURVE('',#5291,#5292,#3797,.T.);
--#10767=EDGE_CURVE('',#5305,#5291,#3781,.T.);
--#10778=EDGE_CURVE('',#5308,#5294,#3789,.T.);
--#10780=EDGE_CURVE('',#5292,#5294,#3802,.T.);
--#10792=EDGE_CURVE('',#5310,#5296,#3793,.T.);
--#10794=EDGE_CURVE('',#5294,#5296,#3806,.T.);
--#10807=EDGE_CURVE('',#5296,#5291,#3811,.T.);
--#10830=EDGE_CURVE('',#5472,#5468,#3848,.T.);
--#10832=EDGE_CURVE('',#5472,#5299,#3815,.T.);
--#10834=EDGE_CURVE('',#5299,#5300,#3820,.T.);
--#10836=EDGE_CURVE('',#5300,#5302,#3825,.T.);
--#10838=EDGE_CURVE('',#5302,#5468,#3830,.T.);
--#10848=EDGE_CURVE('',#5467,#5468,#3834,.T.);
--#10851=EDGE_CURVE('',#5471,#5472,#3843,.T.);
--#10864=EDGE_CURVE('',#5316,#5302,#3852,.T.);
--#10878=EDGE_CURVE('',#5314,#5300,#3856,.T.);
--#10891=EDGE_CURVE('',#5313,#5299,#3860,.T.);
--#10914=EDGE_CURVE('',#5336,#5328,#3868,.T.);
--#10916=EDGE_CURVE('',#5327,#5328,#3880,.T.);
--#10918=EDGE_CURVE('',#5335,#5327,#3864,.T.);
--#10929=EDGE_CURVE('',#5338,#5330,#3872,.T.);
--#10931=EDGE_CURVE('',#5328,#5330,#3885,.T.);
--#10943=EDGE_CURVE('',#5340,#5332,#3876,.T.);
--#10945=EDGE_CURVE('',#5330,#5332,#3889,.T.);
--#10958=EDGE_CURVE('',#5332,#5327,#3894,.T.);
--#10982=EDGE_CURVE('',#5352,#5344,#3902,.T.);
--#10984=EDGE_CURVE('',#5343,#5344,#3914,.T.);
--#10986=EDGE_CURVE('',#5351,#5343,#3898,.T.);
--#10997=EDGE_CURVE('',#5354,#5346,#3906,.T.);
--#10999=EDGE_CURVE('',#5344,#5346,#3919,.T.);
--#11011=EDGE_CURVE('',#5356,#5348,#3910,.T.);
--#11013=EDGE_CURVE('',#5346,#5348,#3923,.T.);
--#11026=EDGE_CURVE('',#5348,#5343,#3928,.T.);
--#11050=EDGE_CURVE('',#5368,#5360,#3936,.T.);
--#11052=EDGE_CURVE('',#5359,#5360,#3948,.T.);
--#11054=EDGE_CURVE('',#5367,#5359,#3932,.T.);
--#11065=EDGE_CURVE('',#5370,#5362,#3940,.T.);
--#11067=EDGE_CURVE('',#5360,#5362,#3953,.T.);
--#11079=EDGE_CURVE('',#5372,#5364,#3944,.T.);
--#11081=EDGE_CURVE('',#5362,#5364,#3957,.T.);
--#11094=EDGE_CURVE('',#5364,#5359,#3962,.T.);
--#11118=EDGE_CURVE('',#5384,#5376,#3970,.T.);
--#11120=EDGE_CURVE('',#5375,#5376,#3982,.T.);
--#11122=EDGE_CURVE('',#5383,#5375,#3966,.T.);
--#11133=EDGE_CURVE('',#5386,#5378,#3974,.T.);
--#11135=EDGE_CURVE('',#5376,#5378,#3987,.T.);
--#11147=EDGE_CURVE('',#5388,#5380,#3978,.T.);
--#11149=EDGE_CURVE('',#5378,#5380,#3991,.T.);
--#11162=EDGE_CURVE('',#5380,#5375,#3996,.T.);
--#11186=EDGE_CURVE('',#5405,#5391,#4000,.T.);
--#11188=EDGE_CURVE('',#5391,#5392,#4016,.T.);
--#11190=EDGE_CURVE('',#5406,#5392,#4012,.T.);
--#11201=EDGE_CURVE('',#5410,#5396,#4004,.T.);
--#11203=EDGE_CURVE('',#5396,#5391,#4021,.T.);
--#11215=EDGE_CURVE('',#5408,#5394,#4008,.T.);
--#11217=EDGE_CURVE('',#5394,#5396,#4025,.T.);
--#11230=EDGE_CURVE('',#5392,#5394,#4030,.T.);
--#11253=EDGE_CURVE('',#5488,#5484,#4067,.T.);
--#11255=EDGE_CURVE('',#5402,#5488,#4035,.T.);
--#11257=EDGE_CURVE('',#5400,#5402,#4040,.T.);
--#11259=EDGE_CURVE('',#5399,#5400,#4045,.T.);
--#11261=EDGE_CURVE('',#5484,#5399,#4049,.T.);
--#11271=EDGE_CURVE('',#5483,#5484,#4053,.T.);
--#11274=EDGE_CURVE('',#5487,#5488,#4062,.T.);
--#11287=EDGE_CURVE('',#5413,#5399,#4071,.T.);
--#11301=EDGE_CURVE('',#5414,#5400,#4075,.T.);
--#11314=EDGE_CURVE('',#5416,#5402,#4079,.T.);
--#11336=EDGE_CURVE('',#5451,#5452,#4083,.T.);
--#11338=EDGE_CURVE('',#5452,#5456,#4088,.T.);
--#11340=EDGE_CURVE('',#5455,#5456,#4092,.T.);
--#11353=EDGE_CURVE('',#5422,#5424,#4110,.T.);
--#11355=EDGE_CURVE('',#5452,#5422,#4216,.T.);
--#11365=EDGE_CURVE('',#5419,#5420,#4101,.T.);
--#11367=EDGE_CURVE('',#5419,#5422,#4106,.T.);
--#11381=EDGE_CURVE('',#5430,#5432,#4128,.T.);
--#11383=EDGE_CURVE('',#5419,#5430,#4220,.T.);
--#11393=EDGE_CURVE('',#5427,#5428,#4119,.T.);
--#11395=EDGE_CURVE('',#5427,#5430,#4124,.T.);
--#11409=EDGE_CURVE('',#5446,#5448,#4146,.T.);
--#11411=EDGE_CURVE('',#5427,#5446,#4224,.T.);
--#11421=EDGE_CURVE('',#5443,#5444,#4137,.T.);
--#11423=EDGE_CURVE('',#5443,#5446,#4142,.T.);
--#11435=EDGE_CURVE('',#5438,#5440,#4164,.T.);
--#11437=EDGE_CURVE('',#5443,#5438,#4228,.T.);
--#11449=EDGE_CURVE('',#5435,#5436,#4155,.T.);
--#11451=EDGE_CURVE('',#5435,#5438,#4160,.T.);
--#11463=EDGE_CURVE('',#5463,#5464,#4182,.T.);
--#11465=EDGE_CURVE('',#5435,#5464,#4199,.T.);
--#11477=EDGE_CURVE('',#5459,#5460,#4173,.T.);
--#11479=EDGE_CURVE('',#5460,#5464,#4178,.T.);
--#11493=EDGE_CURVE('',#5323,#5319,#4191,.T.);
--#11495=EDGE_CURVE('',#5460,#5319,#4203,.T.);
--#11506=EDGE_CURVE('',#5324,#5320,#4195,.T.);
--#11508=EDGE_CURVE('',#5319,#5320,#4208,.T.);
--#11520=EDGE_CURVE('',#5320,#5456,#4212,.T.);
--#11562=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11550),#11561);
--#11569=PRODUCT_DEFINITION('design','',#11568,#11565);
--#11570=PRODUCT_DEFINITION_SHAPE('','SHAPE FOR PROESOURCE.',#11569);
--#11571=SHAPE_DEFINITION_REPRESENTATION(#11570,#11562);
--ENDSEC;
--END-ISO-10303-21;
-+ISO-10303-21;
-+HEADER;
-+FILE_DESCRIPTION((''),'2;1');
-+FILE_NAME('PROESOURCE','2002-11-04T',('user-01'),(''),
-+'PRO/ENGINEER BY PARAMETRIC TECHNOLOGY CORPORATION, 2002060',
-+'PRO/ENGINEER BY PARAMETRIC TECHNOLOGY CORPORATION, 2002060','');
-+FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
-+ENDSEC;
-+DATA;
-+#1=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2=VECTOR('',#1,1.693725393319E1);
-+#3=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0));
-+#4=LINE('',#3,#2);
-+#5=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6=VECTOR('',#5,9.E0);
-+#7=CARTESIAN_POINT('',(1.65E1,0.E0,2.5E0));
-+#8=LINE('',#7,#6);
-+#9=CARTESIAN_POINT('',(1.8E1,0.E0,3.075E1));
-+#10=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#11=DIRECTION('',(1.E0,0.E0,0.E0));
-+#12=AXIS2_PLACEMENT_3D('',#9,#10,#11);
-+#14=CARTESIAN_POINT('',(1.8E1,0.E0,3.075E1));
-+#15=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#16=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#17=AXIS2_PLACEMENT_3D('',#14,#15,#16);
-+#19=CARTESIAN_POINT('',(1.8E1,0.E0,1.25E0));
-+#20=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#21=DIRECTION('',(1.E0,0.E0,0.E0));
-+#22=AXIS2_PLACEMENT_3D('',#19,#20,#21);
-+#24=CARTESIAN_POINT('',(1.8E1,0.E0,1.25E0));
-+#25=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#26=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#27=AXIS2_PLACEMENT_3D('',#24,#25,#26);
-+#29=CARTESIAN_POINT('',(1.2E1,0.E0,3.075E1));
-+#30=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#31=DIRECTION('',(1.E0,0.E0,0.E0));
-+#32=AXIS2_PLACEMENT_3D('',#29,#30,#31);
-+#34=CARTESIAN_POINT('',(1.2E1,0.E0,3.075E1));
-+#35=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#36=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#37=AXIS2_PLACEMENT_3D('',#34,#35,#36);
-+#39=CARTESIAN_POINT('',(6.E0,0.E0,3.075E1));
-+#40=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#41=DIRECTION('',(1.E0,0.E0,0.E0));
-+#42=AXIS2_PLACEMENT_3D('',#39,#40,#41);
-+#44=CARTESIAN_POINT('',(6.E0,0.E0,3.075E1));
-+#45=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#46=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#47=AXIS2_PLACEMENT_3D('',#44,#45,#46);
-+#49=CARTESIAN_POINT('',(1.2E1,0.E0,1.25E0));
-+#50=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#51=DIRECTION('',(1.E0,0.E0,0.E0));
-+#52=AXIS2_PLACEMENT_3D('',#49,#50,#51);
-+#54=CARTESIAN_POINT('',(1.2E1,0.E0,1.25E0));
-+#55=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#56=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#57=AXIS2_PLACEMENT_3D('',#54,#55,#56);
-+#59=CARTESIAN_POINT('',(2.2875E1,0.E0,2.4E1));
-+#60=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#61=DIRECTION('',(1.E0,0.E0,0.E0));
-+#62=AXIS2_PLACEMENT_3D('',#59,#60,#61);
-+#64=CARTESIAN_POINT('',(2.2875E1,0.E0,2.4E1));
-+#65=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#66=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#67=AXIS2_PLACEMENT_3D('',#64,#65,#66);
-+#69=CARTESIAN_POINT('',(2.2875E1,0.E0,1.8E1));
-+#70=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#71=DIRECTION('',(1.E0,0.E0,0.E0));
-+#72=AXIS2_PLACEMENT_3D('',#69,#70,#71);
-+#74=CARTESIAN_POINT('',(2.2875E1,0.E0,1.8E1));
-+#75=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#76=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#77=AXIS2_PLACEMENT_3D('',#74,#75,#76);
-+#79=CARTESIAN_POINT('',(2.2875E1,0.E0,1.2E1));
-+#80=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#81=DIRECTION('',(1.E0,0.E0,0.E0));
-+#82=AXIS2_PLACEMENT_3D('',#79,#80,#81);
-+#84=CARTESIAN_POINT('',(2.2875E1,0.E0,1.2E1));
-+#85=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#86=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#87=AXIS2_PLACEMENT_3D('',#84,#85,#86);
-+#89=CARTESIAN_POINT('',(2.2875E1,0.E0,6.E0));
-+#90=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#91=DIRECTION('',(1.E0,0.E0,0.E0));
-+#92=AXIS2_PLACEMENT_3D('',#89,#90,#91);
-+#94=CARTESIAN_POINT('',(2.2875E1,0.E0,6.E0));
-+#95=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#96=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#97=AXIS2_PLACEMENT_3D('',#94,#95,#96);
-+#99=CARTESIAN_POINT('',(1.125E0,0.E0,2.4E1));
-+#100=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#101=DIRECTION('',(1.E0,0.E0,0.E0));
-+#102=AXIS2_PLACEMENT_3D('',#99,#100,#101);
-+#104=CARTESIAN_POINT('',(1.125E0,0.E0,2.4E1));
-+#105=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#106=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#107=AXIS2_PLACEMENT_3D('',#104,#105,#106);
-+#109=CARTESIAN_POINT('',(1.125E0,0.E0,1.8E1));
-+#110=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#111=DIRECTION('',(1.E0,0.E0,0.E0));
-+#112=AXIS2_PLACEMENT_3D('',#109,#110,#111);
-+#114=CARTESIAN_POINT('',(1.125E0,0.E0,1.8E1));
-+#115=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#116=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#117=AXIS2_PLACEMENT_3D('',#114,#115,#116);
-+#119=CARTESIAN_POINT('',(1.125E0,0.E0,1.2E1));
-+#120=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#121=DIRECTION('',(1.E0,0.E0,0.E0));
-+#122=AXIS2_PLACEMENT_3D('',#119,#120,#121);
-+#124=CARTESIAN_POINT('',(1.125E0,0.E0,1.2E1));
-+#125=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#126=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#127=AXIS2_PLACEMENT_3D('',#124,#125,#126);
-+#129=DIRECTION('',(1.E0,0.E0,0.E0));
-+#130=VECTOR('',#129,1.E0);
-+#131=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0));
-+#132=LINE('',#131,#130);
-+#133=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#134=VECTOR('',#133,3.E0);
-+#135=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0));
-+#136=LINE('',#135,#134);
-+#137=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#138=VECTOR('',#137,1.6E1);
-+#139=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
-+#140=LINE('',#139,#138);
-+#141=DIRECTION('',(0.E0,0.E0,1.E0));
-+#142=VECTOR('',#141,3.E0);
-+#143=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
-+#144=LINE('',#143,#142);
-+#145=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#146=VECTOR('',#145,1.E0);
-+#147=CARTESIAN_POINT('',(-1.E0,0.E0,8.E0));
-+#148=LINE('',#147,#146);
-+#149=DIRECTION('',(0.E0,0.E0,1.E0));
-+#150=VECTOR('',#149,3.75E0);
-+#151=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0));
-+#152=LINE('',#151,#150);
-+#153=DIRECTION('',(1.E0,0.E0,0.E0));
-+#154=VECTOR('',#153,5.E-1);
-+#155=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
-+#156=LINE('',#155,#154);
-+#157=DIRECTION('',(0.E0,0.E0,1.E0));
-+#158=VECTOR('',#157,1.475E1);
-+#159=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1));
-+#160=LINE('',#159,#158);
-+#161=DIRECTION('',(1.E0,0.E0,0.E0));
-+#162=VECTOR('',#161,1.6E1);
-+#163=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
-+#164=LINE('',#163,#162);
-+#165=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#166=VECTOR('',#165,1.475E1);
-+#167=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
-+#168=LINE('',#167,#166);
-+#169=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#170=VECTOR('',#169,5.E-1);
-+#171=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1));
-+#172=LINE('',#171,#170);
-+#173=DIRECTION('',(0.E0,0.E0,1.E0));
-+#174=VECTOR('',#173,3.75E0);
-+#175=CARTESIAN_POINT('',(2.6E1,0.E0,8.E0));
-+#176=LINE('',#175,#174);
-+#177=CARTESIAN_POINT('',(1.125E0,0.E0,6.E0));
-+#178=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#179=DIRECTION('',(1.E0,0.E0,0.E0));
-+#180=AXIS2_PLACEMENT_3D('',#177,#178,#179);
-+#182=CARTESIAN_POINT('',(1.125E0,0.E0,6.E0));
-+#183=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#184=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#185=AXIS2_PLACEMENT_3D('',#182,#183,#184);
-+#187=CARTESIAN_POINT('',(6.E0,0.E0,1.25E0));
-+#188=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#189=DIRECTION('',(1.E0,0.E0,0.E0));
-+#190=AXIS2_PLACEMENT_3D('',#187,#188,#189);
-+#192=CARTESIAN_POINT('',(6.E0,0.E0,1.25E0));
-+#193=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#194=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#195=AXIS2_PLACEMENT_3D('',#192,#193,#194);
-+#197=DIRECTION('',(1.E0,0.E0,0.E0));
-+#198=VECTOR('',#197,1.3E1);
-+#199=CARTESIAN_POINT('',(5.5E0,0.E0,1.89375E1));
-+#200=LINE('',#199,#198);
-+#201=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#202=VECTOR('',#201,2.5625E0);
-+#203=CARTESIAN_POINT('',(2.15E1,0.E0,2.45E1));
-+#204=LINE('',#203,#202);
-+#205=DIRECTION('',(1.E0,0.E0,0.E0));
-+#206=VECTOR('',#205,9.E0);
-+#207=CARTESIAN_POINT('',(7.5E0,0.E0,2.95E1));
-+#208=LINE('',#207,#206);
-+#209=DIRECTION('',(0.E0,0.E0,1.E0));
-+#210=VECTOR('',#209,2.5625E0);
-+#211=CARTESIAN_POINT('',(2.5E0,0.E0,2.19375E1));
-+#212=LINE('',#211,#210);
-+#213=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#214=VECTOR('',#213,8.125E-1);
-+#215=CARTESIAN_POINT('',(2.15E1,0.E0,1.40625E1));
-+#216=LINE('',#215,#214);
-+#217=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#218=VECTOR('',#217,1.3E1);
-+#219=CARTESIAN_POINT('',(1.85E1,0.E0,1.70625E1));
-+#220=LINE('',#219,#218);
-+#221=DIRECTION('',(0.E0,0.E0,1.E0));
-+#222=VECTOR('',#221,8.125E-1);
-+#223=CARTESIAN_POINT('',(2.5E0,0.E0,1.325E1));
-+#224=LINE('',#223,#222);
-+#225=DIRECTION('',(1.E0,0.E0,0.E0));
-+#226=VECTOR('',#225,1.E0);
-+#227=CARTESIAN_POINT('',(3.5E0,0.E0,1.225E1));
-+#228=LINE('',#227,#226);
-+#229=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#230=VECTOR('',#229,7.5E-1);
-+#231=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
-+#232=LINE('',#231,#230);
-+#233=DIRECTION('',(1.E0,0.E0,0.E0));
-+#234=VECTOR('',#233,1.2E1);
-+#235=CARTESIAN_POINT('',(6.E0,0.E0,1.E1));
-+#236=LINE('',#235,#234);
-+#237=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#238=VECTOR('',#237,7.5E-1);
-+#239=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1));
-+#240=LINE('',#239,#238);
-+#241=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#242=VECTOR('',#241,1.E0);
-+#243=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1));
-+#244=LINE('',#243,#242);
-+#245=CARTESIAN_POINT('',(6.E0,0.E0,9.E0));
-+#246=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#247=DIRECTION('',(1.E0,0.E0,0.E0));
-+#248=AXIS2_PLACEMENT_3D('',#245,#246,#247);
-+#250=CARTESIAN_POINT('',(6.E0,0.E0,9.E0));
-+#251=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#252=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#253=AXIS2_PLACEMENT_3D('',#250,#251,#252);
-+#255=CARTESIAN_POINT('',(1.2E1,0.E0,9.E0));
-+#256=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#257=DIRECTION('',(1.E0,0.E0,0.E0));
-+#258=AXIS2_PLACEMENT_3D('',#255,#256,#257);
-+#260=CARTESIAN_POINT('',(1.2E1,0.E0,9.E0));
-+#261=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#262=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#263=AXIS2_PLACEMENT_3D('',#260,#261,#262);
-+#265=CARTESIAN_POINT('',(1.8E1,0.E0,9.E0));
-+#266=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#267=DIRECTION('',(1.E0,0.E0,0.E0));
-+#268=AXIS2_PLACEMENT_3D('',#265,#266,#267);
-+#270=CARTESIAN_POINT('',(1.8E1,0.E0,9.E0));
-+#271=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#272=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#273=AXIS2_PLACEMENT_3D('',#270,#271,#272);
-+#275=CARTESIAN_POINT('',(6.E0,0.E0,1.8E1));
-+#276=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#277=DIRECTION('',(1.E0,0.E0,0.E0));
-+#278=AXIS2_PLACEMENT_3D('',#275,#276,#277);
-+#280=CARTESIAN_POINT('',(6.E0,0.E0,1.8E1));
-+#281=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#282=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#283=AXIS2_PLACEMENT_3D('',#280,#281,#282);
-+#285=CARTESIAN_POINT('',(1.2E1,0.E0,1.8E1));
-+#286=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#287=DIRECTION('',(1.E0,0.E0,0.E0));
-+#288=AXIS2_PLACEMENT_3D('',#285,#286,#287);
-+#290=CARTESIAN_POINT('',(1.2E1,0.E0,1.8E1));
-+#291=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#292=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#293=AXIS2_PLACEMENT_3D('',#290,#291,#292);
-+#295=CARTESIAN_POINT('',(1.8E1,0.E0,1.8E1));
-+#296=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#297=DIRECTION('',(1.E0,0.E0,0.E0));
-+#298=AXIS2_PLACEMENT_3D('',#295,#296,#297);
-+#300=CARTESIAN_POINT('',(1.8E1,0.E0,1.8E1));
-+#301=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#302=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#303=AXIS2_PLACEMENT_3D('',#300,#301,#302);
-+#305=DIRECTION('',(1.E0,0.E0,0.E0));
-+#306=VECTOR('',#305,3.E0);
-+#307=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1));
-+#308=LINE('',#307,#306);
-+#309=CARTESIAN_POINT('',(1.05E1,0.E0,1.25E0));
-+#310=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#311=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#312=AXIS2_PLACEMENT_3D('',#309,#310,#311);
-+#314=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#315=VECTOR('',#314,3.E0);
-+#316=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0));
-+#317=LINE('',#316,#315);
-+#318=CARTESIAN_POINT('',(7.5E0,0.E0,1.25E0));
-+#319=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#320=DIRECTION('',(0.E0,0.E0,1.E0));
-+#321=AXIS2_PLACEMENT_3D('',#318,#319,#320);
-+#323=CARTESIAN_POINT('',(1.61E0,0.E0,4.5E0));
-+#324=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#325=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1));
-+#326=AXIS2_PLACEMENT_3D('',#323,#324,#325);
-+#328=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#329=VECTOR('',#328,4.263248410977E0);
-+#330=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0));
-+#331=LINE('',#330,#329);
-+#332=CARTESIAN_POINT('',(4.553039342392E0,0.E0,1.645354088550E0));
-+#333=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#334=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#335=AXIS2_PLACEMENT_3D('',#332,#333,#334);
-+#337=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0));
-+#338=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#339=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1));
-+#340=AXIS2_PLACEMENT_3D('',#337,#338,#339);
-+#342=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#343=VECTOR('',#342,3.15E-1);
-+#344=CARTESIAN_POINT('',(6.9E-1,0.E0,7.815E0));
-+#345=LINE('',#344,#343);
-+#346=CARTESIAN_POINT('',(1.25125E0,0.E0,7.5E0));
-+#347=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#348=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#349=AXIS2_PLACEMENT_3D('',#346,#347,#348);
-+#351=DIRECTION('',(0.E0,0.E0,1.E0));
-+#352=VECTOR('',#351,3.15E-1);
-+#353=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0));
-+#354=LINE('',#353,#352);
-+#355=DIRECTION('',(1.E0,0.E0,0.E0));
-+#356=VECTOR('',#355,7.5E-1);
-+#357=CARTESIAN_POINT('',(2.6875E0,0.E0,8.69E0));
-+#358=LINE('',#357,#356);
-+#359=DIRECTION('',(0.E0,0.E0,1.E0));
-+#360=VECTOR('',#359,8.1E-1);
-+#361=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0));
-+#362=LINE('',#361,#360);
-+#363=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#364=VECTOR('',#363,3.875E0);
-+#365=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1));
-+#366=LINE('',#365,#364);
-+#367=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#368=VECTOR('',#367,8.1E-1);
-+#369=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1));
-+#370=LINE('',#369,#368);
-+#371=DIRECTION('',(1.E0,0.E0,0.E0));
-+#372=VECTOR('',#371,2.525E-1);
-+#373=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0));
-+#374=LINE('',#373,#372);
-+#375=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#376=VECTOR('',#375,3.E0);
-+#377=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1));
-+#378=LINE('',#377,#376);
-+#379=CARTESIAN_POINT('',(1.25E0,0.E0,1.35E1));
-+#380=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#381=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#382=AXIS2_PLACEMENT_3D('',#379,#380,#381);
-+#384=DIRECTION('',(0.E0,0.E0,1.E0));
-+#385=VECTOR('',#384,3.E0);
-+#386=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1));
-+#387=LINE('',#386,#385);
-+#388=CARTESIAN_POINT('',(1.25E0,0.E0,1.65E1));
-+#389=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#390=DIRECTION('',(1.E0,0.E0,0.E0));
-+#391=AXIS2_PLACEMENT_3D('',#388,#389,#390);
-+#393=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#394=VECTOR('',#393,3.E0);
-+#395=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1));
-+#396=LINE('',#395,#394);
-+#397=CARTESIAN_POINT('',(1.25E0,0.E0,1.95E1));
-+#398=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#399=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#400=AXIS2_PLACEMENT_3D('',#397,#398,#399);
-+#402=DIRECTION('',(0.E0,0.E0,1.E0));
-+#403=VECTOR('',#402,3.E0);
-+#404=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1));
-+#405=LINE('',#404,#403);
-+#406=CARTESIAN_POINT('',(1.25E0,0.E0,2.25E1));
-+#407=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#408=DIRECTION('',(1.E0,0.E0,0.E0));
-+#409=AXIS2_PLACEMENT_3D('',#406,#407,#408);
-+#411=DIRECTION('',(1.E0,0.E0,0.E0));
-+#412=VECTOR('',#411,3.E0);
-+#413=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0));
-+#414=LINE('',#413,#412);
-+#415=CARTESIAN_POINT('',(1.05E1,0.E0,9.E0));
-+#416=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#417=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#418=AXIS2_PLACEMENT_3D('',#415,#416,#417);
-+#420=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#421=VECTOR('',#420,3.E0);
-+#422=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0));
-+#423=LINE('',#422,#421);
-+#424=CARTESIAN_POINT('',(7.5E0,0.E0,9.E0));
-+#425=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#426=DIRECTION('',(0.E0,0.E0,1.E0));
-+#427=AXIS2_PLACEMENT_3D('',#424,#425,#426);
-+#429=DIRECTION('',(1.E0,0.E0,0.E0));
-+#430=VECTOR('',#429,3.E0);
-+#431=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1));
-+#432=LINE('',#431,#430);
-+#433=CARTESIAN_POINT('',(1.05E1,0.E0,1.8E1));
-+#434=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#435=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#436=AXIS2_PLACEMENT_3D('',#433,#434,#435);
-+#438=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#439=VECTOR('',#438,3.E0);
-+#440=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1));
-+#441=LINE('',#440,#439);
-+#442=CARTESIAN_POINT('',(7.5E0,0.E0,1.8E1));
-+#443=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#444=DIRECTION('',(0.E0,0.E0,1.E0));
-+#445=AXIS2_PLACEMENT_3D('',#442,#443,#444);
-+#447=DIRECTION('',(1.E0,0.E0,0.E0));
-+#448=VECTOR('',#447,3.E0);
-+#449=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1));
-+#450=LINE('',#449,#448);
-+#451=CARTESIAN_POINT('',(7.5E0,0.E0,3.075E1));
-+#452=DIRECTION('',(0.E0,1.E0,0.E0));
-+#453=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#454=AXIS2_PLACEMENT_3D('',#451,#452,#453);
-+#456=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#457=VECTOR('',#456,3.E0);
-+#458=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1));
-+#459=LINE('',#458,#457);
-+#460=CARTESIAN_POINT('',(1.05E1,0.E0,3.075E1));
-+#461=DIRECTION('',(0.E0,1.E0,0.E0));
-+#462=DIRECTION('',(0.E0,0.E0,1.E0));
-+#463=AXIS2_PLACEMENT_3D('',#460,#461,#462);
-+#465=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#466=VECTOR('',#465,3.E0);
-+#467=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1));
-+#468=LINE('',#467,#466);
-+#469=CARTESIAN_POINT('',(1.65E1,0.E0,1.25E0));
-+#470=DIRECTION('',(0.E0,1.E0,0.E0));
-+#471=DIRECTION('',(0.E0,0.E0,1.E0));
-+#472=AXIS2_PLACEMENT_3D('',#469,#470,#471);
-+#474=DIRECTION('',(1.E0,0.E0,0.E0));
-+#475=VECTOR('',#474,3.E0);
-+#476=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0));
-+#477=LINE('',#476,#475);
-+#478=CARTESIAN_POINT('',(1.35E1,0.E0,1.25E0));
-+#479=DIRECTION('',(0.E0,1.E0,0.E0));
-+#480=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#481=AXIS2_PLACEMENT_3D('',#478,#479,#480);
-+#483=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#484=VECTOR('',#483,3.E0);
-+#485=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1));
-+#486=LINE('',#485,#484);
-+#487=CARTESIAN_POINT('',(2.275E1,0.E0,1.65E1));
-+#488=DIRECTION('',(0.E0,1.E0,0.E0));
-+#489=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#490=AXIS2_PLACEMENT_3D('',#487,#488,#489);
-+#492=DIRECTION('',(0.E0,0.E0,1.E0));
-+#493=VECTOR('',#492,3.E0);
-+#494=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1));
-+#495=LINE('',#494,#493);
-+#496=CARTESIAN_POINT('',(2.275E1,0.E0,1.35E1));
-+#497=DIRECTION('',(0.E0,1.E0,0.E0));
-+#498=DIRECTION('',(1.E0,0.E0,0.E0));
-+#499=AXIS2_PLACEMENT_3D('',#496,#497,#498);
-+#501=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#502=VECTOR('',#501,3.E0);
-+#503=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1));
-+#504=LINE('',#503,#502);
-+#505=CARTESIAN_POINT('',(2.275E1,0.E0,2.25E1));
-+#506=DIRECTION('',(0.E0,1.E0,0.E0));
-+#507=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#508=AXIS2_PLACEMENT_3D('',#505,#506,#507);
-+#510=DIRECTION('',(0.E0,0.E0,1.E0));
-+#511=VECTOR('',#510,3.E0);
-+#512=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1));
-+#513=LINE('',#512,#511);
-+#514=CARTESIAN_POINT('',(2.275E1,0.E0,1.95E1));
-+#515=DIRECTION('',(0.E0,1.E0,0.E0));
-+#516=DIRECTION('',(1.E0,0.E0,0.E0));
-+#517=AXIS2_PLACEMENT_3D('',#514,#515,#516);
-+#519=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#520=VECTOR('',#519,3.E0);
-+#521=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0));
-+#522=LINE('',#521,#520);
-+#523=CARTESIAN_POINT('',(1.65E1,0.E0,9.E0));
-+#524=DIRECTION('',(0.E0,1.E0,0.E0));
-+#525=DIRECTION('',(0.E0,0.E0,1.E0));
-+#526=AXIS2_PLACEMENT_3D('',#523,#524,#525);
-+#528=DIRECTION('',(1.E0,0.E0,0.E0));
-+#529=VECTOR('',#528,3.E0);
-+#530=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0));
-+#531=LINE('',#530,#529);
-+#532=CARTESIAN_POINT('',(1.35E1,0.E0,9.E0));
-+#533=DIRECTION('',(0.E0,1.E0,0.E0));
-+#534=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#535=AXIS2_PLACEMENT_3D('',#532,#533,#534);
-+#537=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#538=VECTOR('',#537,3.E0);
-+#539=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1));
-+#540=LINE('',#539,#538);
-+#541=CARTESIAN_POINT('',(1.65E1,0.E0,1.8E1));
-+#542=DIRECTION('',(0.E0,1.E0,0.E0));
-+#543=DIRECTION('',(0.E0,0.E0,1.E0));
-+#544=AXIS2_PLACEMENT_3D('',#541,#542,#543);
-+#546=DIRECTION('',(1.E0,0.E0,0.E0));
-+#547=VECTOR('',#546,3.E0);
-+#548=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1));
-+#549=LINE('',#548,#547);
-+#550=CARTESIAN_POINT('',(1.35E1,0.E0,1.8E1));
-+#551=DIRECTION('',(0.E0,1.E0,0.E0));
-+#552=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#553=AXIS2_PLACEMENT_3D('',#550,#551,#552);
-+#555=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#556=VECTOR('',#555,3.E0);
-+#557=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1));
-+#558=LINE('',#557,#556);
-+#559=CARTESIAN_POINT('',(1.35E1,0.E0,3.075E1));
-+#560=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#561=DIRECTION('',(0.E0,0.E0,1.E0));
-+#562=AXIS2_PLACEMENT_3D('',#559,#560,#561);
-+#564=DIRECTION('',(1.E0,0.E0,0.E0));
-+#565=VECTOR('',#564,3.E0);
-+#566=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1));
-+#567=LINE('',#566,#565);
-+#568=CARTESIAN_POINT('',(1.65E1,0.E0,3.075E1));
-+#569=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#570=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#571=AXIS2_PLACEMENT_3D('',#568,#569,#570);
-+#573=DIRECTION('',(0.E0,0.E0,1.E0));
-+#574=VECTOR('',#573,3.1E-1);
-+#575=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0));
-+#576=LINE('',#575,#574);
-+#577=CARTESIAN_POINT('',(2.274875E1,0.E0,7.5E0));
-+#578=DIRECTION('',(0.E0,1.E0,0.E0));
-+#579=DIRECTION('',(1.E0,0.E0,-3.956251312695E-14));
-+#580=AXIS2_PLACEMENT_3D('',#577,#578,#579);
-+#582=DIRECTION('',(2.292073341162E-14,0.E0,-1.E0));
-+#583=VECTOR('',#582,3.1E-1);
-+#584=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0));
-+#585=LINE('',#584,#583);
-+#586=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#587=VECTOR('',#586,2.425E-1);
-+#588=CARTESIAN_POINT('',(2.44325E1,0.E0,8.69E0));
-+#589=LINE('',#588,#587);
-+#590=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#591=VECTOR('',#590,8.E-1);
-+#592=CARTESIAN_POINT('',(2.53125E1,0.E0,1.037E1));
-+#593=LINE('',#592,#591);
-+#594=DIRECTION('',(1.E0,0.E0,0.E0));
-+#595=VECTOR('',#594,3.865E0);
-+#596=CARTESIAN_POINT('',(2.05675E1,0.E0,1.125E1));
-+#597=LINE('',#596,#595);
-+#598=DIRECTION('',(0.E0,0.E0,1.E0));
-+#599=VECTOR('',#598,8.E-1);
-+#600=CARTESIAN_POINT('',(1.96875E1,0.E0,9.57E0));
-+#601=LINE('',#600,#599);
-+#602=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#603=VECTOR('',#602,7.4E-1);
-+#604=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0));
-+#605=LINE('',#604,#603);
-+#606=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#607=VECTOR('',#606,4.263248410977E0);
-+#608=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0));
-+#609=LINE('',#608,#607);
-+#610=CARTESIAN_POINT('',(2.239E1,0.E0,4.5E0));
-+#611=DIRECTION('',(0.E0,1.E0,0.E0));
-+#612=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1));
-+#613=AXIS2_PLACEMENT_3D('',#610,#611,#612);
-+#615=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0));
-+#616=DIRECTION('',(0.E0,1.E0,0.E0));
-+#617=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1));
-+#618=AXIS2_PLACEMENT_3D('',#615,#616,#617);
-+#620=CARTESIAN_POINT('',(1.944696065761E1,0.E0,1.645354088550E0));
-+#621=DIRECTION('',(0.E0,1.E0,0.E0));
-+#622=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811866E-1));
-+#623=AXIS2_PLACEMENT_3D('',#620,#621,#622);
-+#625=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
-+#626=VECTOR('',#625,4.263248410977E0);
-+#627=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1));
-+#628=LINE('',#627,#626);
-+#629=CARTESIAN_POINT('',(1.61E0,0.E0,2.75E1));
-+#630=DIRECTION('',(0.E0,1.E0,0.E0));
-+#631=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1));
-+#632=AXIS2_PLACEMENT_3D('',#629,#630,#631);
-+#634=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1));
-+#635=DIRECTION('',(0.E0,1.E0,0.E0));
-+#636=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1));
-+#637=AXIS2_PLACEMENT_3D('',#634,#635,#636);
-+#639=CARTESIAN_POINT('',(4.553039342392E0,0.E0,3.035464591145E1));
-+#640=DIRECTION('',(0.E0,1.E0,0.E0));
-+#641=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
-+#642=AXIS2_PLACEMENT_3D('',#639,#640,#641);
-+#644=CARTESIAN_POINT('',(2.239E1,0.E0,2.75E1));
-+#645=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#646=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1));
-+#647=AXIS2_PLACEMENT_3D('',#644,#645,#646);
-+#649=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
-+#650=VECTOR('',#649,4.263248410977E0);
-+#651=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1));
-+#652=LINE('',#651,#650);
-+#653=CARTESIAN_POINT('',(1.944696065761E1,0.E0,3.035464591145E1));
-+#654=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#655=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811866E-1));
-+#656=AXIS2_PLACEMENT_3D('',#653,#654,#655);
-+#658=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1));
-+#659=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#660=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1));
-+#661=AXIS2_PLACEMENT_3D('',#658,#659,#660);
-+#663=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0));
-+#664=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#665=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#666=AXIS2_PLACEMENT_3D('',#663,#664,#665);
-+#668=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0));
-+#669=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#670=DIRECTION('',(1.E0,0.E0,0.E0));
-+#671=AXIS2_PLACEMENT_3D('',#668,#669,#670);
-+#673=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0));
-+#674=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#675=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#676=AXIS2_PLACEMENT_3D('',#673,#674,#675);
-+#678=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0));
-+#679=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#680=DIRECTION('',(1.E0,0.E0,0.E0));
-+#681=AXIS2_PLACEMENT_3D('',#678,#679,#680);
-+#683=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0));
-+#684=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#685=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#686=AXIS2_PLACEMENT_3D('',#683,#684,#685);
-+#688=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0));
-+#689=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#690=DIRECTION('',(1.E0,0.E0,0.E0));
-+#691=AXIS2_PLACEMENT_3D('',#688,#689,#690);
-+#693=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0));
-+#694=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#695=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#696=AXIS2_PLACEMENT_3D('',#693,#694,#695);
-+#698=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0));
-+#699=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#700=DIRECTION('',(1.E0,0.E0,0.E0));
-+#701=AXIS2_PLACEMENT_3D('',#698,#699,#700);
-+#703=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0));
-+#704=DIRECTION('',(0.E0,0.E0,1.E0));
-+#705=DIRECTION('',(1.E0,0.E0,0.E0));
-+#706=AXIS2_PLACEMENT_3D('',#703,#704,#705);
-+#708=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0));
-+#709=DIRECTION('',(0.E0,0.E0,1.E0));
-+#710=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#711=AXIS2_PLACEMENT_3D('',#708,#709,#710);
-+#713=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0));
-+#714=DIRECTION('',(0.E0,0.E0,1.E0));
-+#715=DIRECTION('',(1.E0,0.E0,0.E0));
-+#716=AXIS2_PLACEMENT_3D('',#713,#714,#715);
-+#718=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0));
-+#719=DIRECTION('',(0.E0,0.E0,1.E0));
-+#720=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#721=AXIS2_PLACEMENT_3D('',#718,#719,#720);
-+#723=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0));
-+#724=DIRECTION('',(0.E0,0.E0,1.E0));
-+#725=DIRECTION('',(1.E0,0.E0,0.E0));
-+#726=AXIS2_PLACEMENT_3D('',#723,#724,#725);
-+#728=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0));
-+#729=DIRECTION('',(0.E0,0.E0,1.E0));
-+#730=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#731=AXIS2_PLACEMENT_3D('',#728,#729,#730);
-+#733=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0));
-+#734=DIRECTION('',(0.E0,0.E0,1.E0));
-+#735=DIRECTION('',(1.E0,0.E0,0.E0));
-+#736=AXIS2_PLACEMENT_3D('',#733,#734,#735);
-+#738=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0));
-+#739=DIRECTION('',(0.E0,0.E0,1.E0));
-+#740=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#741=AXIS2_PLACEMENT_3D('',#738,#739,#740);
-+#743=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
-+#744=VECTOR('',#743,1.029563014099E1);
-+#745=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
-+#746=LINE('',#745,#744);
-+#747=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#748=VECTOR('',#747,2.E0);
-+#749=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
-+#750=LINE('',#749,#748);
-+#751=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#752=VECTOR('',#751,2.E0);
-+#753=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
-+#754=LINE('',#753,#752);
-+#755=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
-+#756=VECTOR('',#755,1.029563014099E1);
-+#757=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0));
-+#758=LINE('',#757,#756);
-+#759=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#760=VECTOR('',#759,3.895172754280E0);
-+#761=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0));
-+#762=LINE('',#761,#760);
-+#763=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0));
-+#764=VECTOR('',#763,6.863753427325E0);
-+#765=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0));
-+#766=LINE('',#765,#764);
-+#767=DIRECTION('',(1.E0,0.E0,0.E0));
-+#768=VECTOR('',#767,5.618394209466E-1);
-+#769=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0));
-+#770=LINE('',#769,#768);
-+#771=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#772=VECTOR('',#771,6.E0);
-+#773=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0));
-+#774=LINE('',#773,#772);
-+#775=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0));
-+#776=VECTOR('',#775,6.863753427325E0);
-+#777=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.E0));
-+#778=LINE('',#777,#776);
-+#779=DIRECTION('',(1.E0,0.E0,0.E0));
-+#780=VECTOR('',#779,3.895172754280E0);
-+#781=CARTESIAN_POINT('',(2.025E1,2.E0,8.E0));
-+#782=LINE('',#781,#780);
-+#783=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#784=VECTOR('',#783,6.E0);
-+#785=CARTESIAN_POINT('',(1.95E1,8.75E0,8.E0));
-+#786=LINE('',#785,#784);
-+#787=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#788=VECTOR('',#787,5.618394209466E-1);
-+#789=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.E0));
-+#790=LINE('',#789,#788);
-+#791=DIRECTION('',(0.E0,0.E0,1.E0));
-+#792=VECTOR('',#791,2.5E-1);
-+#793=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.E0));
-+#794=LINE('',#793,#792);
-+#795=DIRECTION('',(0.E0,0.E0,1.E0));
-+#796=VECTOR('',#795,2.5E-1);
-+#797=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.E0));
-+#798=LINE('',#797,#796);
-+#799=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0));
-+#800=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#801=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#802=AXIS2_PLACEMENT_3D('',#799,#800,#801);
-+#804=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0));
-+#805=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#806=DIRECTION('',(1.E0,0.E0,0.E0));
-+#807=AXIS2_PLACEMENT_3D('',#804,#805,#806);
-+#809=DIRECTION('',(0.E0,0.E0,1.E0));
-+#810=VECTOR('',#809,2.E0);
-+#811=CARTESIAN_POINT('',(1.95875E1,1.05E1,8.E0));
-+#812=LINE('',#811,#810);
-+#813=DIRECTION('',(0.E0,0.E0,1.E0));
-+#814=VECTOR('',#813,2.E0);
-+#815=CARTESIAN_POINT('',(1.99125E1,1.05E1,8.E0));
-+#816=LINE('',#815,#814);
-+#817=CARTESIAN_POINT('',(1.975E1,1.05E1,1.E1));
-+#818=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#819=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#820=AXIS2_PLACEMENT_3D('',#817,#818,#819);
-+#822=CARTESIAN_POINT('',(1.975E1,1.05E1,1.E1));
-+#823=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#824=DIRECTION('',(1.E0,0.E0,0.E0));
-+#825=AXIS2_PLACEMENT_3D('',#822,#823,#824);
-+#827=DIRECTION('',(0.E0,1.E0,0.E0));
-+#828=VECTOR('',#827,5.E0);
-+#829=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1));
-+#830=LINE('',#829,#828);
-+#831=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#832=VECTOR('',#831,1.75E0);
-+#833=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1));
-+#834=LINE('',#833,#832);
-+#835=DIRECTION('',(0.E0,1.E0,0.E0));
-+#836=VECTOR('',#835,5.E0);
-+#837=CARTESIAN_POINT('',(2.2E1,1.5E0,1.E1));
-+#838=LINE('',#837,#836);
-+#839=DIRECTION('',(0.E0,1.E0,0.E0));
-+#840=VECTOR('',#839,1.E1);
-+#841=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1));
-+#842=LINE('',#841,#840);
-+#843=DIRECTION('',(1.E0,0.E0,0.E0));
-+#844=VECTOR('',#843,2.E0);
-+#845=CARTESIAN_POINT('',(1.9E1,1.15E1,1.E1));
-+#846=LINE('',#845,#844);
-+#847=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
-+#848=VECTOR('',#847,1.029563014099E1);
-+#849=CARTESIAN_POINT('',(2.1E1,1.15E1,1.E1));
-+#850=LINE('',#849,#848);
-+#851=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#852=VECTOR('',#851,1.E0);
-+#853=CARTESIAN_POINT('',(2.6E1,2.5E0,1.E1));
-+#854=LINE('',#853,#852);
-+#855=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#856=VECTOR('',#855,1.972007605460E-1);
-+#857=CARTESIAN_POINT('',(2.204720076055E1,7.E0,1.E1));
-+#858=LINE('',#857,#856);
-+#859=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
-+#860=VECTOR('',#859,2.059126028197E0);
-+#861=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,1.E1));
-+#862=LINE('',#861,#860);
-+#863=DIRECTION('',(1.E0,0.E0,0.E0));
-+#864=VECTOR('',#863,1.197200760546E0);
-+#865=CARTESIAN_POINT('',(1.985E1,9.5E0,1.E1));
-+#866=LINE('',#865,#864);
-+#867=DIRECTION('',(0.E0,1.E0,0.E0));
-+#868=VECTOR('',#867,6.8E0);
-+#869=CARTESIAN_POINT('',(1.95E1,2.35E0,1.E1));
-+#870=LINE('',#869,#868);
-+#871=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#872=VECTOR('',#871,1.3E0);
-+#873=CARTESIAN_POINT('',(2.115E1,2.E0,1.E1));
-+#874=LINE('',#873,#872);
-+#875=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#876=VECTOR('',#875,4.3E0);
-+#877=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1));
-+#878=LINE('',#877,#876);
-+#879=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
-+#880=VECTOR('',#879,5.773502691896E0);
-+#881=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1));
-+#882=LINE('',#881,#880);
-+#883=CARTESIAN_POINT('',(6.45E0,1.5E0,2.975E1));
-+#884=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#885=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#886=AXIS2_PLACEMENT_3D('',#883,#884,#885);
-+#888=CARTESIAN_POINT('',(6.45E0,1.5E0,2.975E1));
-+#889=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#890=DIRECTION('',(1.E0,0.E0,0.E0));
-+#891=AXIS2_PLACEMENT_3D('',#888,#889,#890);
-+#893=CARTESIAN_POINT('',(7.45E0,1.5E0,2.975E1));
-+#894=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#895=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#896=AXIS2_PLACEMENT_3D('',#893,#894,#895);
-+#898=CARTESIAN_POINT('',(7.45E0,1.5E0,2.975E1));
-+#899=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#900=DIRECTION('',(1.E0,0.E0,0.E0));
-+#901=AXIS2_PLACEMENT_3D('',#898,#899,#900);
-+#903=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#904=VECTOR('',#903,4.531373033403E0);
-+#905=CARTESIAN_POINT('',(2.5E1,1.5E0,8.E0));
-+#906=LINE('',#905,#904);
-+#907=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#908=VECTOR('',#907,9.E0);
-+#909=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0));
-+#910=LINE('',#909,#908);
-+#911=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#912=VECTOR('',#911,4.531373033403E0);
-+#913=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0));
-+#914=LINE('',#913,#912);
-+#915=DIRECTION('',(0.E0,0.E0,1.E0));
-+#916=VECTOR('',#915,3.E0);
-+#917=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0));
-+#918=LINE('',#917,#916);
-+#919=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#920=VECTOR('',#919,1.6E1);
-+#921=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0));
-+#922=LINE('',#921,#920);
-+#923=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#924=VECTOR('',#923,3.E0);
-+#925=CARTESIAN_POINT('',(2.4E1,1.5E0,7.E0));
-+#926=LINE('',#925,#924);
-+#927=CARTESIAN_POINT('',(1.755E1,1.5E0,2.975E1));
-+#928=DIRECTION('',(0.E0,1.E0,0.E0));
-+#929=DIRECTION('',(1.E0,0.E0,0.E0));
-+#930=AXIS2_PLACEMENT_3D('',#927,#928,#929);
-+#932=CARTESIAN_POINT('',(1.755E1,1.5E0,2.975E1));
-+#933=DIRECTION('',(0.E0,1.E0,0.E0));
-+#934=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#935=AXIS2_PLACEMENT_3D('',#932,#933,#934);
-+#937=CARTESIAN_POINT('',(1.655E1,1.5E0,2.975E1));
-+#938=DIRECTION('',(0.E0,1.E0,0.E0));
-+#939=DIRECTION('',(1.E0,0.E0,0.E0));
-+#940=AXIS2_PLACEMENT_3D('',#937,#938,#939);
-+#942=CARTESIAN_POINT('',(1.655E1,1.5E0,2.975E1));
-+#943=DIRECTION('',(0.E0,1.E0,0.E0));
-+#944=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#945=AXIS2_PLACEMENT_3D('',#942,#943,#944);
-+#947=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
-+#948=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#949=DIRECTION('',(1.E0,0.E0,0.E0));
-+#950=AXIS2_PLACEMENT_3D('',#947,#948,#949);
-+#952=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
-+#953=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#954=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#955=AXIS2_PLACEMENT_3D('',#952,#953,#954);
-+#957=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
-+#958=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#959=DIRECTION('',(1.E0,0.E0,0.E0));
-+#960=AXIS2_PLACEMENT_3D('',#957,#958,#959);
-+#962=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
-+#963=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#964=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#965=AXIS2_PLACEMENT_3D('',#962,#963,#964);
-+#967=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
-+#968=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#969=DIRECTION('',(1.E0,0.E0,0.E0));
-+#970=AXIS2_PLACEMENT_3D('',#967,#968,#969);
-+#972=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
-+#973=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#974=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#975=AXIS2_PLACEMENT_3D('',#972,#973,#974);
-+#977=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
-+#978=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#979=DIRECTION('',(1.E0,0.E0,0.E0));
-+#980=AXIS2_PLACEMENT_3D('',#977,#978,#979);
-+#982=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
-+#983=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#984=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#985=AXIS2_PLACEMENT_3D('',#982,#983,#984);
-+#987=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
-+#988=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#989=DIRECTION('',(1.E0,0.E0,0.E0));
-+#990=AXIS2_PLACEMENT_3D('',#987,#988,#989);
-+#992=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
-+#993=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#994=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#995=AXIS2_PLACEMENT_3D('',#992,#993,#994);
-+#997=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
-+#998=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#999=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1000=AXIS2_PLACEMENT_3D('',#997,#998,#999);
-+#1002=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
-+#1003=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1004=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1005=AXIS2_PLACEMENT_3D('',#1002,#1003,#1004);
-+#1007=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
-+#1008=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1009=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1010=AXIS2_PLACEMENT_3D('',#1007,#1008,#1009);
-+#1012=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
-+#1013=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1014=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1015=AXIS2_PLACEMENT_3D('',#1012,#1013,#1014);
-+#1017=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
-+#1018=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1019=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1020=AXIS2_PLACEMENT_3D('',#1017,#1018,#1019);
-+#1022=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
-+#1023=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1024=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1025=AXIS2_PLACEMENT_3D('',#1022,#1023,#1024);
-+#1027=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
-+#1028=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1029=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1030=AXIS2_PLACEMENT_3D('',#1027,#1028,#1029);
-+#1032=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
-+#1033=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1034=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1035=AXIS2_PLACEMENT_3D('',#1032,#1033,#1034);
-+#1037=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
-+#1038=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1039=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1040=AXIS2_PLACEMENT_3D('',#1037,#1038,#1039);
-+#1042=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
-+#1043=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1044=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1045=AXIS2_PLACEMENT_3D('',#1042,#1043,#1044);
-+#1047=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
-+#1048=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1049=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1050=AXIS2_PLACEMENT_3D('',#1047,#1048,#1049);
-+#1052=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
-+#1053=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1054=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1055=AXIS2_PLACEMENT_3D('',#1052,#1053,#1054);
-+#1057=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
-+#1058=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1059=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1060=AXIS2_PLACEMENT_3D('',#1057,#1058,#1059);
-+#1062=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
-+#1063=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1064=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1065=AXIS2_PLACEMENT_3D('',#1062,#1063,#1064);
-+#1067=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1068=VECTOR('',#1067,2.5625E0);
-+#1069=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1));
-+#1070=LINE('',#1069,#1068);
-+#1071=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1072=VECTOR('',#1071,1.3E1);
-+#1073=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1));
-+#1074=LINE('',#1073,#1072);
-+#1075=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1076=VECTOR('',#1075,2.5625E0);
-+#1077=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1));
-+#1078=LINE('',#1077,#1076);
-+#1079=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1080=VECTOR('',#1079,9.E0);
-+#1081=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1));
-+#1082=LINE('',#1081,#1080);
-+#1083=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1084=VECTOR('',#1083,1.3E1);
-+#1085=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1));
-+#1086=LINE('',#1085,#1084);
-+#1087=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1088=VECTOR('',#1087,8.125E-1);
-+#1089=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1));
-+#1090=LINE('',#1089,#1088);
-+#1091=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1092=VECTOR('',#1091,1.E0);
-+#1093=CARTESIAN_POINT('',(2.05E1,1.5E0,1.225E1));
-+#1094=LINE('',#1093,#1092);
-+#1095=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1096=VECTOR('',#1095,7.5E-1);
-+#1097=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
-+#1098=LINE('',#1097,#1096);
-+#1099=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1100=VECTOR('',#1099,7.5E-1);
-+#1101=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1));
-+#1102=LINE('',#1101,#1100);
-+#1103=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1104=VECTOR('',#1103,1.E0);
-+#1105=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1));
-+#1106=LINE('',#1105,#1104);
-+#1107=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1108=VECTOR('',#1107,8.125E-1);
-+#1109=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1));
-+#1110=LINE('',#1109,#1108);
-+#1111=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
-+#1112=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1113=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1114=AXIS2_PLACEMENT_3D('',#1111,#1112,#1113);
-+#1116=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
-+#1117=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1118=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1119=AXIS2_PLACEMENT_3D('',#1116,#1117,#1118);
-+#1121=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
-+#1122=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1123=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1124=AXIS2_PLACEMENT_3D('',#1121,#1122,#1123);
-+#1126=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
-+#1127=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1128=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1129=AXIS2_PLACEMENT_3D('',#1126,#1127,#1128);
-+#1131=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
-+#1132=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1133=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1134=AXIS2_PLACEMENT_3D('',#1131,#1132,#1133);
-+#1136=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
-+#1137=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1138=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1139=AXIS2_PLACEMENT_3D('',#1136,#1137,#1138);
-+#1141=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
-+#1142=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1143=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1144=AXIS2_PLACEMENT_3D('',#1141,#1142,#1143);
-+#1146=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
-+#1147=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1148=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1149=AXIS2_PLACEMENT_3D('',#1146,#1147,#1148);
-+#1151=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
-+#1152=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1153=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1154=AXIS2_PLACEMENT_3D('',#1151,#1152,#1153);
-+#1156=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
-+#1157=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1158=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1159=AXIS2_PLACEMENT_3D('',#1156,#1157,#1158);
-+#1161=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
-+#1162=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1163=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1164=AXIS2_PLACEMENT_3D('',#1161,#1162,#1163);
-+#1166=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
-+#1167=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1168=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1169=AXIS2_PLACEMENT_3D('',#1166,#1167,#1168);
-+#1171=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1172=VECTOR('',#1171,2.886751345948E0);
-+#1173=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1));
-+#1174=LINE('',#1173,#1172);
-+#1175=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1176=VECTOR('',#1175,2.25E0);
-+#1177=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1));
-+#1178=LINE('',#1177,#1176);
-+#1179=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1180=VECTOR('',#1179,1.75E0);
-+#1181=CARTESIAN_POINT('',(2.6E1,1.5E0,1.E1));
-+#1182=LINE('',#1181,#1180);
-+#1183=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1184=VECTOR('',#1183,5.E-1);
-+#1185=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
-+#1186=LINE('',#1185,#1184);
-+#1187=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1188=VECTOR('',#1187,1.475E1);
-+#1189=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1));
-+#1190=LINE('',#1189,#1188);
-+#1191=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1192=VECTOR('',#1191,1.6E1);
-+#1193=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1));
-+#1194=LINE('',#1193,#1192);
-+#1195=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1196=VECTOR('',#1195,1.475E1);
-+#1197=CARTESIAN_POINT('',(0.E0,1.5E0,1.325E1));
-+#1198=LINE('',#1197,#1196);
-+#1199=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1200=VECTOR('',#1199,5.E-1);
-+#1201=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1));
-+#1202=LINE('',#1201,#1200);
-+#1203=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1204=VECTOR('',#1203,1.75E0);
-+#1205=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1));
-+#1206=LINE('',#1205,#1204);
-+#1207=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1208=VECTOR('',#1207,2.25E0);
-+#1209=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1));
-+#1210=LINE('',#1209,#1208);
-+#1211=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1212=VECTOR('',#1211,2.886751345948E0);
-+#1213=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1));
-+#1214=LINE('',#1213,#1212);
-+#1215=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1216=VECTOR('',#1215,1.75E0);
-+#1217=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1));
-+#1218=LINE('',#1217,#1216);
-+#1219=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1220=VECTOR('',#1219,2.886751345948E0);
-+#1221=CARTESIAN_POINT('',(2.E0,1.5E0,1.288675134595E1));
-+#1222=LINE('',#1221,#1220);
-+#1223=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1224=VECTOR('',#1223,3.E0);
-+#1225=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1));
-+#1226=LINE('',#1225,#1224);
-+#1227=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1228=VECTOR('',#1227,1.4E1);
-+#1229=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
-+#1230=LINE('',#1229,#1228);
-+#1231=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1232=VECTOR('',#1231,3.E0);
-+#1233=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1));
-+#1234=LINE('',#1233,#1232);
-+#1235=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1236=VECTOR('',#1235,2.886751345948E0);
-+#1237=CARTESIAN_POINT('',(2.2E1,1.5E0,1.288675134595E1));
-+#1238=LINE('',#1237,#1236);
-+#1239=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1240=VECTOR('',#1239,1.75E0);
-+#1241=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1));
-+#1242=LINE('',#1241,#1240);
-+#1243=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1244=VECTOR('',#1243,2.5E-1);
-+#1245=CARTESIAN_POINT('',(6.35E0,1.25E0,2.975E1));
-+#1246=LINE('',#1245,#1244);
-+#1247=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1248=VECTOR('',#1247,2.5E-1);
-+#1249=CARTESIAN_POINT('',(6.55E0,1.25E0,2.975E1));
-+#1250=LINE('',#1249,#1248);
-+#1251=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0));
-+#1252=VECTOR('',#1251,1.154700538379E-1);
-+#1253=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1));
-+#1254=LINE('',#1253,#1252);
-+#1255=CARTESIAN_POINT('',(6.45E0,1.25E0,2.975E1));
-+#1256=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1257=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1258=AXIS2_PLACEMENT_3D('',#1255,#1256,#1257);
-+#1260=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0));
-+#1261=VECTOR('',#1260,1.154700538379E-1);
-+#1262=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1));
-+#1263=LINE('',#1262,#1261);
-+#1264=CARTESIAN_POINT('',(6.45E0,1.25E0,2.975E1));
-+#1265=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1266=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1267=AXIS2_PLACEMENT_3D('',#1264,#1265,#1266);
-+#1269=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1270=VECTOR('',#1269,2.5E-1);
-+#1271=CARTESIAN_POINT('',(7.35E0,1.25E0,2.975E1));
-+#1272=LINE('',#1271,#1270);
-+#1273=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1274=VECTOR('',#1273,2.5E-1);
-+#1275=CARTESIAN_POINT('',(7.55E0,1.25E0,2.975E1));
-+#1276=LINE('',#1275,#1274);
-+#1277=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0));
-+#1278=VECTOR('',#1277,1.154700538379E-1);
-+#1279=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1));
-+#1280=LINE('',#1279,#1278);
-+#1281=CARTESIAN_POINT('',(7.45E0,1.25E0,2.975E1));
-+#1282=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1283=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1284=AXIS2_PLACEMENT_3D('',#1281,#1282,#1283);
-+#1286=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0));
-+#1287=VECTOR('',#1286,1.154700538379E-1);
-+#1288=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1));
-+#1289=LINE('',#1288,#1287);
-+#1290=CARTESIAN_POINT('',(7.45E0,1.25E0,2.975E1));
-+#1291=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1292=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1293=AXIS2_PLACEMENT_3D('',#1290,#1291,#1292);
-+#1295=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1296=VECTOR('',#1295,1.5E0);
-+#1297=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0));
-+#1298=LINE('',#1297,#1296);
-+#1299=CARTESIAN_POINT('',(2.046862696660E1,0.E0,7.E0));
-+#1300=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1301=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1302=AXIS2_PLACEMENT_3D('',#1299,#1300,#1301);
-+#1304=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1305=VECTOR('',#1304,1.5E0);
-+#1306=CARTESIAN_POINT('',(2.146078370825E1,0.E0,6.875E0));
-+#1307=LINE('',#1306,#1305);
-+#1308=CARTESIAN_POINT('',(2.046862696660E1,1.5E0,7.E0));
-+#1309=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1310=DIRECTION('',(9.921567416492E-1,0.E0,-1.25E-1));
-+#1311=AXIS2_PLACEMENT_3D('',#1308,#1309,#1310);
-+#1313=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0));
-+#1314=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1315=DIRECTION('',(9.921567416492E-1,0.E0,-1.25E-1));
-+#1316=AXIS2_PLACEMENT_3D('',#1313,#1314,#1315);
-+#1318=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1319=VECTOR('',#1318,1.5E0);
-+#1320=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0));
-+#1321=LINE('',#1320,#1319);
-+#1322=CARTESIAN_POINT('',(1.65E1,1.5E0,7.5E0));
-+#1323=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1324=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1325=AXIS2_PLACEMENT_3D('',#1322,#1323,#1324);
-+#1327=CARTESIAN_POINT('',(7.5E0,1.5E0,7.5E0));
-+#1328=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1329=DIRECTION('',(-9.921567416492E-1,0.E0,-1.25E-1));
-+#1330=AXIS2_PLACEMENT_3D('',#1327,#1328,#1329);
-+#1332=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1333=VECTOR('',#1332,1.5E0);
-+#1334=CARTESIAN_POINT('',(7.5E0,1.5E0,2.5E0));
-+#1335=LINE('',#1334,#1333);
-+#1336=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0));
-+#1337=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1338=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1339=AXIS2_PLACEMENT_3D('',#1336,#1337,#1338);
-+#1341=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1342=VECTOR('',#1341,1.5E0);
-+#1343=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0));
-+#1344=LINE('',#1343,#1342);
-+#1345=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,7.E0));
-+#1346=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1347=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1348=AXIS2_PLACEMENT_3D('',#1345,#1346,#1347);
-+#1350=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1351=VECTOR('',#1350,1.5E0);
-+#1352=CARTESIAN_POINT('',(2.539216291754E0,1.5E0,6.875E0));
-+#1353=LINE('',#1352,#1351);
-+#1354=CARTESIAN_POINT('',(3.531373033403E0,0.E0,7.E0));
-+#1355=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1356=DIRECTION('',(-9.921567416492E-1,0.E0,-1.25E-1));
-+#1357=AXIS2_PLACEMENT_3D('',#1354,#1355,#1356);
-+#1359=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1360=VECTOR('',#1359,1.5E0);
-+#1361=CARTESIAN_POINT('',(0.E0,1.5E0,7.E0));
-+#1362=LINE('',#1361,#1360);
-+#1363=CARTESIAN_POINT('',(-1.E0,1.5E0,7.E0));
-+#1364=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1365=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1366=AXIS2_PLACEMENT_3D('',#1363,#1364,#1365);
-+#1368=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1369=VECTOR('',#1368,1.5E0);
-+#1370=CARTESIAN_POINT('',(-1.E0,1.5E0,8.E0));
-+#1371=LINE('',#1370,#1369);
-+#1372=CARTESIAN_POINT('',(-1.E0,0.E0,7.E0));
-+#1373=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1374=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1375=AXIS2_PLACEMENT_3D('',#1372,#1373,#1374);
-+#1377=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1378=VECTOR('',#1377,1.5E0);
-+#1379=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1));
-+#1380=LINE('',#1379,#1378);
-+#1381=CARTESIAN_POINT('',(-1.E0,0.E0,1.325E1));
-+#1382=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1383=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1384=AXIS2_PLACEMENT_3D('',#1381,#1382,#1383);
-+#1386=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1387=VECTOR('',#1386,1.5E0);
-+#1388=CARTESIAN_POINT('',(-1.E0,0.E0,1.225E1));
-+#1389=LINE('',#1388,#1387);
-+#1390=CARTESIAN_POINT('',(-1.E0,1.5E0,1.325E1));
-+#1391=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1392=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1393=AXIS2_PLACEMENT_3D('',#1390,#1391,#1392);
-+#1395=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1396=VECTOR('',#1395,1.5E0);
-+#1397=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1));
-+#1398=LINE('',#1397,#1396);
-+#1399=CARTESIAN_POINT('',(3.5E0,1.5E0,1.325E1));
-+#1400=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1401=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1402=AXIS2_PLACEMENT_3D('',#1399,#1400,#1401);
-+#1404=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1405=VECTOR('',#1404,1.5E0);
-+#1406=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1));
-+#1407=LINE('',#1406,#1405);
-+#1408=CARTESIAN_POINT('',(3.5E0,0.E0,1.325E1));
-+#1409=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1410=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1411=AXIS2_PLACEMENT_3D('',#1408,#1409,#1410);
-+#1413=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1414=VECTOR('',#1413,1.5E0);
-+#1415=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1));
-+#1416=LINE('',#1415,#1414);
-+#1417=CARTESIAN_POINT('',(5.5E0,1.5E0,2.19375E1));
-+#1418=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1419=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1420=AXIS2_PLACEMENT_3D('',#1417,#1418,#1419);
-+#1422=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1423=VECTOR('',#1422,1.5E0);
-+#1424=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1));
-+#1425=LINE('',#1424,#1423);
-+#1426=CARTESIAN_POINT('',(5.5E0,0.E0,2.19375E1));
-+#1427=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1428=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1429=AXIS2_PLACEMENT_3D('',#1426,#1427,#1428);
-+#1431=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1432=VECTOR('',#1431,1.5E0);
-+#1433=CARTESIAN_POINT('',(2.15E1,0.E0,2.19375E1));
-+#1434=LINE('',#1433,#1432);
-+#1435=CARTESIAN_POINT('',(1.85E1,0.E0,2.19375E1));
-+#1436=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1437=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1438=AXIS2_PLACEMENT_3D('',#1435,#1436,#1437);
-+#1440=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1441=VECTOR('',#1440,1.5E0);
-+#1442=CARTESIAN_POINT('',(1.85E1,0.E0,1.89375E1));
-+#1443=LINE('',#1442,#1441);
-+#1444=CARTESIAN_POINT('',(1.85E1,1.5E0,2.19375E1));
-+#1445=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1446=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1447=AXIS2_PLACEMENT_3D('',#1444,#1445,#1446);
-+#1449=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1450=VECTOR('',#1449,1.5E0);
-+#1451=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1));
-+#1452=LINE('',#1451,#1450);
-+#1453=CARTESIAN_POINT('',(1.65E1,1.5E0,2.45E1));
-+#1454=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1455=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1456=AXIS2_PLACEMENT_3D('',#1453,#1454,#1455);
-+#1458=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1459=VECTOR('',#1458,1.5E0);
-+#1460=CARTESIAN_POINT('',(1.65E1,1.5E0,2.95E1));
-+#1461=LINE('',#1460,#1459);
-+#1462=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1));
-+#1463=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1464=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1465=AXIS2_PLACEMENT_3D('',#1462,#1463,#1464);
-+#1467=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1468=VECTOR('',#1467,1.5E0);
-+#1469=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1));
-+#1470=LINE('',#1469,#1468);
-+#1471=CARTESIAN_POINT('',(7.5E0,1.5E0,2.45E1));
-+#1472=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1473=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1474=AXIS2_PLACEMENT_3D('',#1471,#1472,#1473);
-+#1476=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1477=VECTOR('',#1476,1.5E0);
-+#1478=CARTESIAN_POINT('',(2.5E0,1.5E0,2.45E1));
-+#1479=LINE('',#1478,#1477);
-+#1480=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1));
-+#1481=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1482=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1483=AXIS2_PLACEMENT_3D('',#1480,#1481,#1482);
-+#1485=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1486=VECTOR('',#1485,1.5E0);
-+#1487=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1));
-+#1488=LINE('',#1487,#1486);
-+#1489=CARTESIAN_POINT('',(1.85E1,1.5E0,1.40625E1));
-+#1490=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1491=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1492=AXIS2_PLACEMENT_3D('',#1489,#1490,#1491);
-+#1494=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1495=VECTOR('',#1494,1.5E0);
-+#1496=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1));
-+#1497=LINE('',#1496,#1495);
-+#1498=CARTESIAN_POINT('',(1.85E1,0.E0,1.40625E1));
-+#1499=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1500=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1501=AXIS2_PLACEMENT_3D('',#1498,#1499,#1500);
-+#1503=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1504=VECTOR('',#1503,1.5E0);
-+#1505=CARTESIAN_POINT('',(2.5E0,0.E0,1.40625E1));
-+#1506=LINE('',#1505,#1504);
-+#1507=CARTESIAN_POINT('',(5.5E0,0.E0,1.40625E1));
-+#1508=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1509=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1510=AXIS2_PLACEMENT_3D('',#1507,#1508,#1509);
-+#1512=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1513=VECTOR('',#1512,1.5E0);
-+#1514=CARTESIAN_POINT('',(5.5E0,0.E0,1.70625E1));
-+#1515=LINE('',#1514,#1513);
-+#1516=CARTESIAN_POINT('',(5.5E0,1.5E0,1.40625E1));
-+#1517=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1518=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1519=AXIS2_PLACEMENT_3D('',#1516,#1517,#1518);
-+#1521=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1522=VECTOR('',#1521,1.5E0);
-+#1523=CARTESIAN_POINT('',(2.15E1,0.E0,1.325E1));
-+#1524=LINE('',#1523,#1522);
-+#1525=CARTESIAN_POINT('',(2.05E1,0.E0,1.325E1));
-+#1526=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1527=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1528=AXIS2_PLACEMENT_3D('',#1525,#1526,#1527);
-+#1530=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1531=VECTOR('',#1530,1.5E0);
-+#1532=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1));
-+#1533=LINE('',#1532,#1531);
-+#1534=CARTESIAN_POINT('',(2.05E1,1.5E0,1.325E1));
-+#1535=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1536=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1537=AXIS2_PLACEMENT_3D('',#1534,#1535,#1536);
-+#1539=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1540=VECTOR('',#1539,1.5E0);
-+#1541=CARTESIAN_POINT('',(2.4E1,1.5E0,1.325E1));
-+#1542=LINE('',#1541,#1540);
-+#1543=CARTESIAN_POINT('',(2.5E1,1.5E0,1.325E1));
-+#1544=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1545=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1546=AXIS2_PLACEMENT_3D('',#1543,#1544,#1545);
-+#1548=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1549=VECTOR('',#1548,1.5E0);
-+#1550=CARTESIAN_POINT('',(2.5E1,1.5E0,1.225E1));
-+#1551=LINE('',#1550,#1549);
-+#1552=CARTESIAN_POINT('',(2.5E1,0.E0,1.325E1));
-+#1553=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1554=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1555=AXIS2_PLACEMENT_3D('',#1552,#1553,#1554);
-+#1557=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1558=VECTOR('',#1557,1.5E0);
-+#1559=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
-+#1560=LINE('',#1559,#1558);
-+#1561=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
-+#1562=VECTOR('',#1561,5.656854249492E0);
-+#1563=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
-+#1564=LINE('',#1563,#1562);
-+#1565=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1566=VECTOR('',#1565,1.5E0);
-+#1567=CARTESIAN_POINT('',(2.E1,0.E0,3.2E1));
-+#1568=LINE('',#1567,#1566);
-+#1569=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
-+#1570=VECTOR('',#1569,5.656854249492E0);
-+#1571=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1));
-+#1572=LINE('',#1571,#1570);
-+#1573=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1574=VECTOR('',#1573,1.5E0);
-+#1575=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
-+#1576=LINE('',#1575,#1574);
-+#1577=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#1578=VECTOR('',#1577,5.656854249492E0);
-+#1579=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
-+#1580=LINE('',#1579,#1578);
-+#1581=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1582=VECTOR('',#1581,1.5E0);
-+#1583=CARTESIAN_POINT('',(0.E0,0.E0,2.8E1));
-+#1584=LINE('',#1583,#1582);
-+#1585=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#1586=VECTOR('',#1585,5.656854249492E0);
-+#1587=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1));
-+#1588=LINE('',#1587,#1586);
-+#1589=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1590=VECTOR('',#1589,1.5E0);
-+#1591=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0));
-+#1592=LINE('',#1591,#1590);
-+#1593=CARTESIAN_POINT('',(2.5E1,0.E0,7.E0));
-+#1594=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1595=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1596=AXIS2_PLACEMENT_3D('',#1593,#1594,#1595);
-+#1598=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1599=VECTOR('',#1598,1.5E0);
-+#1600=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0));
-+#1601=LINE('',#1600,#1599);
-+#1602=CARTESIAN_POINT('',(2.5E1,1.5E0,7.E0));
-+#1603=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1604=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1605=AXIS2_PLACEMENT_3D('',#1602,#1603,#1604);
-+#1607=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1608=VECTOR('',#1607,1.5E0);
-+#1609=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
-+#1610=LINE('',#1609,#1608);
-+#1611=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
-+#1612=VECTOR('',#1611,5.656854249492E0);
-+#1613=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
-+#1614=LINE('',#1613,#1612);
-+#1615=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1616=VECTOR('',#1615,1.5E0);
-+#1617=CARTESIAN_POINT('',(2.4E1,0.E0,4.E0));
-+#1618=LINE('',#1617,#1616);
-+#1619=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
-+#1620=VECTOR('',#1619,5.656854249492E0);
-+#1621=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0));
-+#1622=LINE('',#1621,#1620);
-+#1623=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1624=VECTOR('',#1623,1.5E0);
-+#1625=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
-+#1626=LINE('',#1625,#1624);
-+#1627=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#1628=VECTOR('',#1627,5.656854249492E0);
-+#1629=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
-+#1630=LINE('',#1629,#1628);
-+#1631=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1632=VECTOR('',#1631,1.5E0);
-+#1633=CARTESIAN_POINT('',(4.E0,0.E0,0.E0));
-+#1634=LINE('',#1633,#1632);
-+#1635=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#1636=VECTOR('',#1635,5.656854249492E0);
-+#1637=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0));
-+#1638=LINE('',#1637,#1636);
-+#1639=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1640=VECTOR('',#1639,1.5E0);
-+#1641=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
-+#1642=LINE('',#1641,#1640);
-+#1643=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#1644=VECTOR('',#1643,7.071067811865E-1);
-+#1645=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
-+#1646=LINE('',#1645,#1644);
-+#1647=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1648=VECTOR('',#1647,1.5E0);
-+#1649=CARTESIAN_POINT('',(2.6E1,1.5E0,1.175E1));
-+#1650=LINE('',#1649,#1648);
-+#1651=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#1652=VECTOR('',#1651,7.071067811865E-1);
-+#1653=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1));
-+#1654=LINE('',#1653,#1652);
-+#1655=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1656=VECTOR('',#1655,2.5E0);
-+#1657=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0));
-+#1658=LINE('',#1657,#1656);
-+#1659=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1660=VECTOR('',#1659,2.E0);
-+#1661=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0));
-+#1662=LINE('',#1661,#1660);
-+#1663=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1664=VECTOR('',#1663,2.E0);
-+#1665=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
-+#1666=LINE('',#1665,#1664);
-+#1667=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1668=VECTOR('',#1667,2.E0);
-+#1669=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0));
-+#1670=LINE('',#1669,#1668);
-+#1671=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0));
-+#1672=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1673=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1674=AXIS2_PLACEMENT_3D('',#1671,#1672,#1673);
-+#1676=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0));
-+#1677=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1678=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1679=AXIS2_PLACEMENT_3D('',#1676,#1677,#1678);
-+#1681=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0));
-+#1682=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1683=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1684=AXIS2_PLACEMENT_3D('',#1681,#1682,#1683);
-+#1686=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0));
-+#1687=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1688=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1689=AXIS2_PLACEMENT_3D('',#1686,#1687,#1688);
-+#1691=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1692=VECTOR('',#1691,2.E0);
-+#1693=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
-+#1694=LINE('',#1693,#1692);
-+#1695=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1696=VECTOR('',#1695,1.E1);
-+#1697=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
-+#1698=LINE('',#1697,#1696);
-+#1699=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1700=VECTOR('',#1699,1.5E0);
-+#1701=CARTESIAN_POINT('',(1.9E1,0.E0,1.1E1));
-+#1702=LINE('',#1701,#1700);
-+#1703=CARTESIAN_POINT('',(1.8E1,0.E0,1.1E1));
-+#1704=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1705=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1706=AXIS2_PLACEMENT_3D('',#1703,#1704,#1705);
-+#1708=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1709=VECTOR('',#1708,1.5E0);
-+#1710=CARTESIAN_POINT('',(1.8E1,0.E0,1.E1));
-+#1711=LINE('',#1710,#1709);
-+#1712=CARTESIAN_POINT('',(1.8E1,1.5E0,1.1E1));
-+#1713=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1714=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1715=AXIS2_PLACEMENT_3D('',#1712,#1713,#1714);
-+#1717=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1718=VECTOR('',#1717,1.2E1);
-+#1719=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1));
-+#1720=LINE('',#1719,#1718);
-+#1721=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1722=VECTOR('',#1721,1.5E0);
-+#1723=CARTESIAN_POINT('',(5.E0,1.5E0,1.1E1));
-+#1724=LINE('',#1723,#1722);
-+#1725=CARTESIAN_POINT('',(6.E0,1.5E0,1.1E1));
-+#1726=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1727=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1728=AXIS2_PLACEMENT_3D('',#1725,#1726,#1727);
-+#1730=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1731=VECTOR('',#1730,1.5E0);
-+#1732=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1));
-+#1733=LINE('',#1732,#1731);
-+#1734=CARTESIAN_POINT('',(6.E0,0.E0,1.1E1));
-+#1735=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1736=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#1737=AXIS2_PLACEMENT_3D('',#1734,#1735,#1736);
-+#1739=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1740=VECTOR('',#1739,2.E0);
-+#1741=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
-+#1742=LINE('',#1741,#1740);
-+#1743=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1744=VECTOR('',#1743,1.E1);
-+#1745=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
-+#1746=LINE('',#1745,#1744);
-+#1747=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1748=VECTOR('',#1747,1.5E0);
-+#1749=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
-+#1750=LINE('',#1749,#1748);
-+#1751=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
-+#1752=VECTOR('',#1751,7.071067811865E-1);
-+#1753=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
-+#1754=LINE('',#1753,#1752);
-+#1755=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1756=VECTOR('',#1755,1.5E0);
-+#1757=CARTESIAN_POINT('',(4.5E0,0.E0,1.225E1));
-+#1758=LINE('',#1757,#1756);
-+#1759=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
-+#1760=VECTOR('',#1759,7.071067811865E-1);
-+#1761=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1));
-+#1762=LINE('',#1761,#1760);
-+#1763=CARTESIAN_POINT('',(4.25E0,1.05E1,1.E1));
-+#1764=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1765=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1766=AXIS2_PLACEMENT_3D('',#1763,#1764,#1765);
-+#1768=CARTESIAN_POINT('',(4.25E0,1.05E1,1.E1));
-+#1769=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1770=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1771=AXIS2_PLACEMENT_3D('',#1768,#1769,#1770);
-+#1773=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1774=VECTOR('',#1773,5.E0);
-+#1775=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.E1));
-+#1776=LINE('',#1775,#1774);
-+#1777=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1778=VECTOR('',#1777,1.E0);
-+#1779=CARTESIAN_POINT('',(-2.E0,2.5E0,1.E1));
-+#1780=LINE('',#1779,#1778);
-+#1781=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
-+#1782=VECTOR('',#1781,1.029563014099E1);
-+#1783=CARTESIAN_POINT('',(3.E0,1.15E1,1.E1));
-+#1784=LINE('',#1783,#1782);
-+#1785=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1786=VECTOR('',#1785,2.E0);
-+#1787=CARTESIAN_POINT('',(5.E0,1.15E1,1.E1));
-+#1788=LINE('',#1787,#1786);
-+#1789=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1790=VECTOR('',#1789,1.E1);
-+#1791=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1));
-+#1792=LINE('',#1791,#1790);
-+#1793=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1794=VECTOR('',#1793,5.E0);
-+#1795=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1));
-+#1796=LINE('',#1795,#1794);
-+#1797=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1798=VECTOR('',#1797,1.75E0);
-+#1799=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1));
-+#1800=LINE('',#1799,#1798);
-+#1801=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1802=VECTOR('',#1801,4.3E0);
-+#1803=CARTESIAN_POINT('',(2.5E0,6.65E0,1.E1));
-+#1804=LINE('',#1803,#1802);
-+#1805=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1806=VECTOR('',#1805,1.3E0);
-+#1807=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1));
-+#1808=LINE('',#1807,#1806);
-+#1809=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1810=VECTOR('',#1809,6.8E0);
-+#1811=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1));
-+#1812=LINE('',#1811,#1810);
-+#1813=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1814=VECTOR('',#1813,1.197200760546E0);
-+#1815=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1));
-+#1816=LINE('',#1815,#1814);
-+#1817=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
-+#1818=VECTOR('',#1817,2.059126028197E0);
-+#1819=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1));
-+#1820=LINE('',#1819,#1818);
-+#1821=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1822=VECTOR('',#1821,1.972007605460E-1);
-+#1823=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1));
-+#1824=LINE('',#1823,#1822);
-+#1825=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1826=VECTOR('',#1825,2.E0);
-+#1827=CARTESIAN_POINT('',(4.4125E0,1.05E1,8.E0));
-+#1828=LINE('',#1827,#1826);
-+#1829=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1830=VECTOR('',#1829,2.E0);
-+#1831=CARTESIAN_POINT('',(4.0875E0,1.05E1,8.E0));
-+#1832=LINE('',#1831,#1830);
-+#1833=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
-+#1834=VECTOR('',#1833,5.773502691896E0);
-+#1835=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1));
-+#1836=LINE('',#1835,#1834);
-+#1837=CARTESIAN_POINT('',(8.675E-1,3.035898384862E0,1.2E1));
-+#1838=CARTESIAN_POINT('',(8.675E-1,2.930774450068E0,1.206069333205E1));
-+#1839=CARTESIAN_POINT('',(9.058386382037E-1,2.745461691651E0,1.216768370301E1));
-+#1840=CARTESIAN_POINT('',(1.029862281194E0,2.608885438662E0,1.224653603944E1));
-+#1841=CARTESIAN_POINT('',(1.125E0,2.580400233539E0,1.226298198028E1));
-+#1842=CARTESIAN_POINT('',(1.220137718806E0,2.608885438662E0,1.224653603944E1));
-+#1843=CARTESIAN_POINT('',(1.344161361796E0,2.745461691651E0,1.216768370301E1));
-+#1844=CARTESIAN_POINT('',(1.3825E0,2.930774450068E0,1.206069333205E1));
-+#1845=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1));
-+#1847=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1));
-+#1848=CARTESIAN_POINT('',(1.3825E0,3.141022319657E0,1.193930666795E1));
-+#1849=CARTESIAN_POINT('',(1.344161361796E0,3.326335078073E0,1.183231629699E1));
-+#1850=CARTESIAN_POINT('',(1.220137718806E0,3.462911331062E0,1.175346396056E1));
-+#1851=CARTESIAN_POINT('',(1.125E0,3.491396536186E0,1.173701801972E1));
-+#1852=CARTESIAN_POINT('',(1.029862281194E0,3.462911331062E0,1.175346396056E1));
-+#1853=CARTESIAN_POINT('',(9.058386382037E-1,3.326335078073E0,1.183231629699E1));
-+#1854=CARTESIAN_POINT('',(8.675E-1,3.141022319657E0,1.193930666795E1));
-+#1855=CARTESIAN_POINT('',(8.675E-1,3.035898384862E0,1.2E1));
-+#1857=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
-+#1858=VECTOR('',#1857,5.773502691896E0);
-+#1859=CARTESIAN_POINT('',(2.E0,6.5E0,1.E1));
-+#1860=LINE('',#1859,#1858);
-+#1861=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1862=VECTOR('',#1861,2.035898384862E0);
-+#1863=CARTESIAN_POINT('',(8.675E-1,1.E0,1.2E1));
-+#1864=LINE('',#1863,#1862);
-+#1865=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1866=VECTOR('',#1865,2.035898384862E0);
-+#1867=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1));
-+#1868=LINE('',#1867,#1866);
-+#1869=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
-+#1870=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1871=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1872=AXIS2_PLACEMENT_3D('',#1869,#1870,#1871);
-+#1874=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
-+#1875=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1876=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1877=AXIS2_PLACEMENT_3D('',#1874,#1875,#1876);
-+#1879=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
-+#1880=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1881=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1882=AXIS2_PLACEMENT_3D('',#1879,#1880,#1881);
-+#1884=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
-+#1885=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1886=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1887=AXIS2_PLACEMENT_3D('',#1884,#1885,#1886);
-+#1889=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1890=VECTOR('',#1889,1.E0);
-+#1891=CARTESIAN_POINT('',(1.3175E0,1.E0,1.2E1));
-+#1892=LINE('',#1891,#1890);
-+#1893=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1894=VECTOR('',#1893,1.E0);
-+#1895=CARTESIAN_POINT('',(9.325E-1,1.E0,1.2E1));
-+#1896=LINE('',#1895,#1894);
-+#1897=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1898=VECTOR('',#1897,2.5E0);
-+#1899=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0));
-+#1900=LINE('',#1899,#1898);
-+#1901=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1902=VECTOR('',#1901,2.E0);
-+#1903=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0));
-+#1904=LINE('',#1903,#1902);
-+#1905=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1906=VECTOR('',#1905,1.5E0);
-+#1907=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
-+#1908=LINE('',#1907,#1906);
-+#1909=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#1910=VECTOR('',#1909,7.071067811865E-1);
-+#1911=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
-+#1912=LINE('',#1911,#1910);
-+#1913=DIRECTION('',(0.E0,1.E0,0.E0));
-+#1914=VECTOR('',#1913,1.5E0);
-+#1915=CARTESIAN_POINT('',(-2.E0,0.E0,1.175E1));
-+#1916=LINE('',#1915,#1914);
-+#1917=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#1918=VECTOR('',#1917,7.071067811865E-1);
-+#1919=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1));
-+#1920=LINE('',#1919,#1918);
-+#1921=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1922=VECTOR('',#1921,2.E0);
-+#1923=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0));
-+#1924=LINE('',#1923,#1922);
-+#1925=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1926=VECTOR('',#1925,2.E0);
-+#1927=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
-+#1928=LINE('',#1927,#1926);
-+#1929=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0));
-+#1930=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1931=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1932=AXIS2_PLACEMENT_3D('',#1929,#1930,#1931);
-+#1934=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0));
-+#1935=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1936=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1937=AXIS2_PLACEMENT_3D('',#1934,#1935,#1936);
-+#1939=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0));
-+#1940=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1941=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1942=AXIS2_PLACEMENT_3D('',#1939,#1940,#1941);
-+#1944=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0));
-+#1945=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1946=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1947=AXIS2_PLACEMENT_3D('',#1944,#1945,#1946);
-+#1949=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1950=VECTOR('',#1949,3.75E-1);
-+#1951=CARTESIAN_POINT('',(4.095E0,1.15E1,9.E0));
-+#1952=LINE('',#1951,#1950);
-+#1953=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1954=VECTOR('',#1953,3.75E-1);
-+#1955=CARTESIAN_POINT('',(3.905E0,1.15E1,9.E0));
-+#1956=LINE('',#1955,#1954);
-+#1957=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0));
-+#1958=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1959=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1960=AXIS2_PLACEMENT_3D('',#1957,#1958,#1959);
-+#1962=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0));
-+#1963=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1964=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1965=AXIS2_PLACEMENT_3D('',#1962,#1963,#1964);
-+#1967=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1968=VECTOR('',#1967,2.5E-1);
-+#1969=CARTESIAN_POINT('',(3.929917478528E0,1.15E1,9.132582521472E0));
-+#1970=LINE('',#1969,#1968);
-+#1971=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1972=VECTOR('',#1971,2.5E-1);
-+#1973=CARTESIAN_POINT('',(3.804917478528E0,1.15E1,9.132582521472E0));
-+#1974=LINE('',#1973,#1972);
-+#1975=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0));
-+#1976=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1977=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1978=AXIS2_PLACEMENT_3D('',#1975,#1976,#1977);
-+#1980=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0));
-+#1981=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#1982=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#1983=AXIS2_PLACEMENT_3D('',#1980,#1981,#1982);
-+#1985=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1986=VECTOR('',#1985,5.E-1);
-+#1987=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0));
-+#1988=LINE('',#1987,#1986);
-+#1989=CARTESIAN_POINT('',(2.15E0,6.65E0,1.E1));
-+#1990=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1991=DIRECTION('',(1.E0,0.E0,0.E0));
-+#1992=AXIS2_PLACEMENT_3D('',#1989,#1990,#1991);
-+#1994=DIRECTION('',(0.E0,0.E0,1.E0));
-+#1995=VECTOR('',#1994,5.E-1);
-+#1996=CARTESIAN_POINT('',(2.15E0,7.E0,9.5E0));
-+#1997=LINE('',#1996,#1995);
-+#1998=CARTESIAN_POINT('',(2.15E0,6.65E0,9.5E0));
-+#1999=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2000=DIRECTION('',(0.E0,1.E0,0.E0));
-+#2001=AXIS2_PLACEMENT_3D('',#1998,#1999,#2000);
-+#2003=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2004=VECTOR('',#2003,4.3E0);
-+#2005=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0));
-+#2006=LINE('',#2005,#2004);
-+#2007=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2008=VECTOR('',#2007,1.972007605460E-1);
-+#2009=CARTESIAN_POINT('',(1.952799239454E0,7.E0,9.5E0));
-+#2010=LINE('',#2009,#2008);
-+#2011=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
-+#2012=VECTOR('',#2011,2.059126028197E0);
-+#2013=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,9.5E0));
-+#2014=LINE('',#2013,#2012);
-+#2015=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2016=VECTOR('',#2015,1.197200760546E0);
-+#2017=CARTESIAN_POINT('',(4.15E0,9.5E0,9.5E0));
-+#2018=LINE('',#2017,#2016);
-+#2019=DIRECTION('',(0.E0,1.E0,0.E0));
-+#2020=VECTOR('',#2019,6.8E0);
-+#2021=CARTESIAN_POINT('',(4.5E0,2.35E0,9.5E0));
-+#2022=LINE('',#2021,#2020);
-+#2023=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2024=VECTOR('',#2023,1.3E0);
-+#2025=CARTESIAN_POINT('',(2.85E0,2.E0,9.5E0));
-+#2026=LINE('',#2025,#2024);
-+#2027=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2028=VECTOR('',#2027,5.E-1);
-+#2029=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1));
-+#2030=LINE('',#2029,#2028);
-+#2031=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,1.E1));
-+#2032=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2033=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2034=AXIS2_PLACEMENT_3D('',#2031,#2032,#2033);
-+#2036=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2037=VECTOR('',#2036,5.E-1);
-+#2038=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,1.E1));
-+#2039=LINE('',#2038,#2037);
-+#2040=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,9.5E0));
-+#2041=DIRECTION('',(0.E0,0.E0,1.E0));
-+#2042=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
-+#2043=AXIS2_PLACEMENT_3D('',#2040,#2041,#2042);
-+#2045=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2046=VECTOR('',#2045,5.E-1);
-+#2047=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1));
-+#2048=LINE('',#2047,#2046);
-+#2049=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,1.E1));
-+#2050=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2051=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
-+#2052=AXIS2_PLACEMENT_3D('',#2049,#2050,#2051);
-+#2054=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2055=VECTOR('',#2054,5.E-1);
-+#2056=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,1.E1));
-+#2057=LINE('',#2056,#2055);
-+#2058=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,9.5E0));
-+#2059=DIRECTION('',(0.E0,0.E0,1.E0));
-+#2060=DIRECTION('',(0.E0,1.E0,0.E0));
-+#2061=AXIS2_PLACEMENT_3D('',#2058,#2059,#2060);
-+#2063=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2064=VECTOR('',#2063,5.E-1);
-+#2065=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1));
-+#2066=LINE('',#2065,#2064);
-+#2067=CARTESIAN_POINT('',(4.15E0,9.15E0,1.E1));
-+#2068=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2069=DIRECTION('',(0.E0,1.E0,0.E0));
-+#2070=AXIS2_PLACEMENT_3D('',#2067,#2068,#2069);
-+#2072=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2073=VECTOR('',#2072,5.E-1);
-+#2074=CARTESIAN_POINT('',(4.5E0,9.15E0,1.E1));
-+#2075=LINE('',#2074,#2073);
-+#2076=CARTESIAN_POINT('',(4.15E0,9.15E0,9.5E0));
-+#2077=DIRECTION('',(0.E0,0.E0,1.E0));
-+#2078=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2079=AXIS2_PLACEMENT_3D('',#2076,#2077,#2078);
-+#2081=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2082=VECTOR('',#2081,5.E-1);
-+#2083=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1));
-+#2084=LINE('',#2083,#2082);
-+#2085=CARTESIAN_POINT('',(4.15E0,2.35E0,1.E1));
-+#2086=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2087=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2088=AXIS2_PLACEMENT_3D('',#2085,#2086,#2087);
-+#2090=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2091=VECTOR('',#2090,5.E-1);
-+#2092=CARTESIAN_POINT('',(4.15E0,2.E0,1.E1));
-+#2093=LINE('',#2092,#2091);
-+#2094=CARTESIAN_POINT('',(4.15E0,2.35E0,9.5E0));
-+#2095=DIRECTION('',(0.E0,0.E0,1.E0));
-+#2096=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2097=AXIS2_PLACEMENT_3D('',#2094,#2095,#2096);
-+#2099=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2100=VECTOR('',#2099,5.E-1);
-+#2101=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1));
-+#2102=LINE('',#2101,#2100);
-+#2103=CARTESIAN_POINT('',(2.85E0,2.35E0,1.E1));
-+#2104=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2105=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2106=AXIS2_PLACEMENT_3D('',#2103,#2104,#2105);
-+#2108=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2109=VECTOR('',#2108,5.E-1);
-+#2110=CARTESIAN_POINT('',(2.5E0,2.35E0,1.E1));
-+#2111=LINE('',#2110,#2109);
-+#2112=CARTESIAN_POINT('',(2.85E0,2.35E0,9.5E0));
-+#2113=DIRECTION('',(0.E0,0.E0,1.E0));
-+#2114=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2115=AXIS2_PLACEMENT_3D('',#2112,#2113,#2114);
-+#2117=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2118=VECTOR('',#2117,1.5E0);
-+#2119=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
-+#2120=LINE('',#2119,#2118);
-+#2121=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
-+#2122=VECTOR('',#2121,7.071067811865E-1);
-+#2123=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
-+#2124=LINE('',#2123,#2122);
-+#2125=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2126=VECTOR('',#2125,1.5E0);
-+#2127=CARTESIAN_POINT('',(1.95E1,1.5E0,1.225E1));
-+#2128=LINE('',#2127,#2126);
-+#2129=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
-+#2130=VECTOR('',#2129,7.071067811865E-1);
-+#2131=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1));
-+#2132=LINE('',#2131,#2130);
-+#2133=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2134=VECTOR('',#2133,3.75E-1);
-+#2135=CARTESIAN_POINT('',(1.9905E1,1.15E1,9.E0));
-+#2136=LINE('',#2135,#2134);
-+#2137=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2138=VECTOR('',#2137,3.75E-1);
-+#2139=CARTESIAN_POINT('',(2.0095E1,1.15E1,9.E0));
-+#2140=LINE('',#2139,#2138);
-+#2141=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0));
-+#2142=DIRECTION('',(0.E0,1.E0,0.E0));
-+#2143=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2144=AXIS2_PLACEMENT_3D('',#2141,#2142,#2143);
-+#2146=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0));
-+#2147=DIRECTION('',(0.E0,1.E0,0.E0));
-+#2148=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2149=AXIS2_PLACEMENT_3D('',#2146,#2147,#2148);
-+#2151=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2152=VECTOR('',#2151,2.5E-1);
-+#2153=CARTESIAN_POINT('',(2.007008252147E1,1.15E1,9.132582521472E0));
-+#2154=LINE('',#2153,#2152);
-+#2155=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2156=VECTOR('',#2155,2.5E-1);
-+#2157=CARTESIAN_POINT('',(2.019508252147E1,1.15E1,9.132582521472E0));
-+#2158=LINE('',#2157,#2156);
-+#2159=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0));
-+#2160=DIRECTION('',(0.E0,1.E0,0.E0));
-+#2161=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2162=AXIS2_PLACEMENT_3D('',#2159,#2160,#2161);
-+#2164=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0));
-+#2165=DIRECTION('',(0.E0,1.E0,0.E0));
-+#2166=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2167=AXIS2_PLACEMENT_3D('',#2164,#2165,#2166);
-+#2169=DIRECTION('',(1.421085471520E-14,1.E0,0.E0));
-+#2170=VECTOR('',#2169,2.5E-1);
-+#2171=CARTESIAN_POINT('',(1.745E1,1.25E0,2.975E1));
-+#2172=LINE('',#2171,#2170);
-+#2173=DIRECTION('',(-1.421085471520E-14,1.E0,0.E0));
-+#2174=VECTOR('',#2173,2.5E-1);
-+#2175=CARTESIAN_POINT('',(1.765E1,1.25E0,2.975E1));
-+#2176=LINE('',#2175,#2174);
-+#2177=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0));
-+#2178=VECTOR('',#2177,1.154700538379E-1);
-+#2179=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1));
-+#2180=LINE('',#2179,#2178);
-+#2181=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0));
-+#2182=VECTOR('',#2181,1.154700538379E-1);
-+#2183=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1));
-+#2184=LINE('',#2183,#2182);
-+#2185=CARTESIAN_POINT('',(1.755E1,1.25E0,2.975E1));
-+#2186=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2187=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2188=AXIS2_PLACEMENT_3D('',#2185,#2186,#2187);
-+#2190=CARTESIAN_POINT('',(1.755E1,1.25E0,2.975E1));
-+#2191=DIRECTION('',(0.E0,1.E0,0.E0));
-+#2192=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2193=AXIS2_PLACEMENT_3D('',#2190,#2191,#2192);
-+#2195=DIRECTION('',(1.421085471520E-14,1.E0,0.E0));
-+#2196=VECTOR('',#2195,2.5E-1);
-+#2197=CARTESIAN_POINT('',(1.645E1,1.25E0,2.975E1));
-+#2198=LINE('',#2197,#2196);
-+#2199=DIRECTION('',(-1.421085471520E-14,1.E0,0.E0));
-+#2200=VECTOR('',#2199,2.5E-1);
-+#2201=CARTESIAN_POINT('',(1.665E1,1.25E0,2.975E1));
-+#2202=LINE('',#2201,#2200);
-+#2203=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0));
-+#2204=VECTOR('',#2203,1.154700538379E-1);
-+#2205=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1));
-+#2206=LINE('',#2205,#2204);
-+#2207=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0));
-+#2208=VECTOR('',#2207,1.154700538379E-1);
-+#2209=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1));
-+#2210=LINE('',#2209,#2208);
-+#2211=CARTESIAN_POINT('',(1.655E1,1.25E0,2.975E1));
-+#2212=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2213=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2214=AXIS2_PLACEMENT_3D('',#2211,#2212,#2213);
-+#2216=CARTESIAN_POINT('',(1.655E1,1.25E0,2.975E1));
-+#2217=DIRECTION('',(0.E0,1.E0,0.E0));
-+#2218=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2219=AXIS2_PLACEMENT_3D('',#2216,#2217,#2218);
-+#2221=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2222=VECTOR('',#2221,5.E-1);
-+#2223=CARTESIAN_POINT('',(1.3825E0,1.5E0,6.E0));
-+#2224=LINE('',#2223,#2222);
-+#2225=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2226=VECTOR('',#2225,5.E-1);
-+#2227=CARTESIAN_POINT('',(8.675E-1,1.5E0,6.E0));
-+#2228=LINE('',#2227,#2226);
-+#2229=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
-+#2230=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2231=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2232=AXIS2_PLACEMENT_3D('',#2229,#2230,#2231);
-+#2234=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
-+#2235=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2236=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2237=AXIS2_PLACEMENT_3D('',#2234,#2235,#2236);
-+#2239=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
-+#2240=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2241=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2242=AXIS2_PLACEMENT_3D('',#2239,#2240,#2241);
-+#2244=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
-+#2245=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2246=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2247=AXIS2_PLACEMENT_3D('',#2244,#2245,#2246);
-+#2249=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2250=VECTOR('',#2249,1.E0);
-+#2251=CARTESIAN_POINT('',(1.3175E0,1.E0,6.E0));
-+#2252=LINE('',#2251,#2250);
-+#2253=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2254=VECTOR('',#2253,1.E0);
-+#2255=CARTESIAN_POINT('',(9.325E-1,1.E0,6.E0));
-+#2256=LINE('',#2255,#2254);
-+#2257=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2258=VECTOR('',#2257,5.E-1);
-+#2259=CARTESIAN_POINT('',(1.3825E0,1.5E0,1.8E1));
-+#2260=LINE('',#2259,#2258);
-+#2261=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2262=VECTOR('',#2261,5.E-1);
-+#2263=CARTESIAN_POINT('',(8.675E-1,1.5E0,1.8E1));
-+#2264=LINE('',#2263,#2262);
-+#2265=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
-+#2266=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2267=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2268=AXIS2_PLACEMENT_3D('',#2265,#2266,#2267);
-+#2270=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
-+#2271=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2272=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2273=AXIS2_PLACEMENT_3D('',#2270,#2271,#2272);
-+#2275=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
-+#2276=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2277=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2278=AXIS2_PLACEMENT_3D('',#2275,#2276,#2277);
-+#2280=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
-+#2281=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2282=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2283=AXIS2_PLACEMENT_3D('',#2280,#2281,#2282);
-+#2285=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2286=VECTOR('',#2285,1.E0);
-+#2287=CARTESIAN_POINT('',(1.3175E0,1.E0,1.8E1));
-+#2288=LINE('',#2287,#2286);
-+#2289=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2290=VECTOR('',#2289,1.E0);
-+#2291=CARTESIAN_POINT('',(9.325E-1,1.E0,1.8E1));
-+#2292=LINE('',#2291,#2290);
-+#2293=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2294=VECTOR('',#2293,5.E-1);
-+#2295=CARTESIAN_POINT('',(1.3825E0,1.5E0,2.4E1));
-+#2296=LINE('',#2295,#2294);
-+#2297=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2298=VECTOR('',#2297,5.E-1);
-+#2299=CARTESIAN_POINT('',(8.675E-1,1.5E0,2.4E1));
-+#2300=LINE('',#2299,#2298);
-+#2301=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
-+#2302=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2303=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2304=AXIS2_PLACEMENT_3D('',#2301,#2302,#2303);
-+#2306=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
-+#2307=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2308=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2309=AXIS2_PLACEMENT_3D('',#2306,#2307,#2308);
-+#2311=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
-+#2312=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2313=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2314=AXIS2_PLACEMENT_3D('',#2311,#2312,#2313);
-+#2316=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
-+#2317=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2318=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2319=AXIS2_PLACEMENT_3D('',#2316,#2317,#2318);
-+#2321=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2322=VECTOR('',#2321,1.E0);
-+#2323=CARTESIAN_POINT('',(1.3175E0,1.E0,2.4E1));
-+#2324=LINE('',#2323,#2322);
-+#2325=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2326=VECTOR('',#2325,1.E0);
-+#2327=CARTESIAN_POINT('',(9.325E-1,1.E0,2.4E1));
-+#2328=LINE('',#2327,#2326);
-+#2329=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2330=VECTOR('',#2329,5.E-1);
-+#2331=CARTESIAN_POINT('',(2.31325E1,1.5E0,6.E0));
-+#2332=LINE('',#2331,#2330);
-+#2333=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2334=VECTOR('',#2333,5.E-1);
-+#2335=CARTESIAN_POINT('',(2.26175E1,1.5E0,6.E0));
-+#2336=LINE('',#2335,#2334);
-+#2337=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
-+#2338=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2339=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2340=AXIS2_PLACEMENT_3D('',#2337,#2338,#2339);
-+#2342=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
-+#2343=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2344=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2345=AXIS2_PLACEMENT_3D('',#2342,#2343,#2344);
-+#2347=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
-+#2348=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2349=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2350=AXIS2_PLACEMENT_3D('',#2347,#2348,#2349);
-+#2352=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
-+#2353=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2354=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2355=AXIS2_PLACEMENT_3D('',#2352,#2353,#2354);
-+#2357=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2358=VECTOR('',#2357,1.E0);
-+#2359=CARTESIAN_POINT('',(2.30675E1,1.E0,6.E0));
-+#2360=LINE('',#2359,#2358);
-+#2361=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2362=VECTOR('',#2361,1.E0);
-+#2363=CARTESIAN_POINT('',(2.26825E1,1.E0,6.E0));
-+#2364=LINE('',#2363,#2362);
-+#2365=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2366=VECTOR('',#2365,5.E-1);
-+#2367=CARTESIAN_POINT('',(2.31325E1,1.5E0,1.8E1));
-+#2368=LINE('',#2367,#2366);
-+#2369=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2370=VECTOR('',#2369,5.E-1);
-+#2371=CARTESIAN_POINT('',(2.26175E1,1.5E0,1.8E1));
-+#2372=LINE('',#2371,#2370);
-+#2373=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
-+#2374=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2375=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2376=AXIS2_PLACEMENT_3D('',#2373,#2374,#2375);
-+#2378=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
-+#2379=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2380=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2381=AXIS2_PLACEMENT_3D('',#2378,#2379,#2380);
-+#2383=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
-+#2384=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2385=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2386=AXIS2_PLACEMENT_3D('',#2383,#2384,#2385);
-+#2388=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
-+#2389=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2390=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2391=AXIS2_PLACEMENT_3D('',#2388,#2389,#2390);
-+#2393=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2394=VECTOR('',#2393,1.E0);
-+#2395=CARTESIAN_POINT('',(2.30675E1,1.E0,1.8E1));
-+#2396=LINE('',#2395,#2394);
-+#2397=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2398=VECTOR('',#2397,1.E0);
-+#2399=CARTESIAN_POINT('',(2.26825E1,1.E0,1.8E1));
-+#2400=LINE('',#2399,#2398);
-+#2401=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2402=VECTOR('',#2401,5.E-1);
-+#2403=CARTESIAN_POINT('',(2.31325E1,1.5E0,2.4E1));
-+#2404=LINE('',#2403,#2402);
-+#2405=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2406=VECTOR('',#2405,5.E-1);
-+#2407=CARTESIAN_POINT('',(2.26175E1,1.5E0,2.4E1));
-+#2408=LINE('',#2407,#2406);
-+#2409=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
-+#2410=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2411=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2412=AXIS2_PLACEMENT_3D('',#2409,#2410,#2411);
-+#2414=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
-+#2415=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2416=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2417=AXIS2_PLACEMENT_3D('',#2414,#2415,#2416);
-+#2419=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
-+#2420=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2421=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2422=AXIS2_PLACEMENT_3D('',#2419,#2420,#2421);
-+#2424=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
-+#2425=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2426=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2427=AXIS2_PLACEMENT_3D('',#2424,#2425,#2426);
-+#2429=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2430=VECTOR('',#2429,1.E0);
-+#2431=CARTESIAN_POINT('',(2.30675E1,1.E0,2.4E1));
-+#2432=LINE('',#2431,#2430);
-+#2433=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2434=VECTOR('',#2433,1.E0);
-+#2435=CARTESIAN_POINT('',(2.26825E1,1.E0,2.4E1));
-+#2436=LINE('',#2435,#2434);
-+#2437=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2438=VECTOR('',#2437,5.E-1);
-+#2439=CARTESIAN_POINT('',(6.256E0,1.5E0,1.25E0));
-+#2440=LINE('',#2439,#2438);
-+#2441=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2442=VECTOR('',#2441,5.E-1);
-+#2443=CARTESIAN_POINT('',(5.744E0,1.5E0,1.25E0));
-+#2444=LINE('',#2443,#2442);
-+#2445=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
-+#2446=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2447=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2448=AXIS2_PLACEMENT_3D('',#2445,#2446,#2447);
-+#2450=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
-+#2451=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2452=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2453=AXIS2_PLACEMENT_3D('',#2450,#2451,#2452);
-+#2455=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
-+#2456=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2457=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2458=AXIS2_PLACEMENT_3D('',#2455,#2456,#2457);
-+#2460=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
-+#2461=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2462=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2463=AXIS2_PLACEMENT_3D('',#2460,#2461,#2462);
-+#2465=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2466=VECTOR('',#2465,1.E0);
-+#2467=CARTESIAN_POINT('',(6.1925E0,1.E0,1.25E0));
-+#2468=LINE('',#2467,#2466);
-+#2469=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2470=VECTOR('',#2469,1.E0);
-+#2471=CARTESIAN_POINT('',(5.8075E0,1.E0,1.25E0));
-+#2472=LINE('',#2471,#2470);
-+#2473=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2474=VECTOR('',#2473,5.E-1);
-+#2475=CARTESIAN_POINT('',(1.2256E1,1.5E0,1.25E0));
-+#2476=LINE('',#2475,#2474);
-+#2477=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2478=VECTOR('',#2477,5.E-1);
-+#2479=CARTESIAN_POINT('',(1.1744E1,1.5E0,1.25E0));
-+#2480=LINE('',#2479,#2478);
-+#2481=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
-+#2482=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2483=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2484=AXIS2_PLACEMENT_3D('',#2481,#2482,#2483);
-+#2486=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
-+#2487=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2488=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2489=AXIS2_PLACEMENT_3D('',#2486,#2487,#2488);
-+#2491=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
-+#2492=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2493=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2494=AXIS2_PLACEMENT_3D('',#2491,#2492,#2493);
-+#2496=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
-+#2497=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2498=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2499=AXIS2_PLACEMENT_3D('',#2496,#2497,#2498);
-+#2501=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2502=VECTOR('',#2501,1.E0);
-+#2503=CARTESIAN_POINT('',(1.21925E1,1.E0,1.25E0));
-+#2504=LINE('',#2503,#2502);
-+#2505=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2506=VECTOR('',#2505,1.E0);
-+#2507=CARTESIAN_POINT('',(1.18075E1,1.E0,1.25E0));
-+#2508=LINE('',#2507,#2506);
-+#2509=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2510=VECTOR('',#2509,5.E-1);
-+#2511=CARTESIAN_POINT('',(1.8256E1,1.5E0,1.25E0));
-+#2512=LINE('',#2511,#2510);
-+#2513=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2514=VECTOR('',#2513,5.E-1);
-+#2515=CARTESIAN_POINT('',(1.7744E1,1.5E0,1.25E0));
-+#2516=LINE('',#2515,#2514);
-+#2517=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
-+#2518=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2519=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2520=AXIS2_PLACEMENT_3D('',#2517,#2518,#2519);
-+#2522=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
-+#2523=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2524=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2525=AXIS2_PLACEMENT_3D('',#2522,#2523,#2524);
-+#2527=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
-+#2528=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2529=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2530=AXIS2_PLACEMENT_3D('',#2527,#2528,#2529);
-+#2532=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
-+#2533=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2534=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2535=AXIS2_PLACEMENT_3D('',#2532,#2533,#2534);
-+#2537=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2538=VECTOR('',#2537,1.E0);
-+#2539=CARTESIAN_POINT('',(1.81925E1,1.E0,1.25E0));
-+#2540=LINE('',#2539,#2538);
-+#2541=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2542=VECTOR('',#2541,1.E0);
-+#2543=CARTESIAN_POINT('',(1.78075E1,1.E0,1.25E0));
-+#2544=LINE('',#2543,#2542);
-+#2545=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2546=VECTOR('',#2545,5.E-1);
-+#2547=CARTESIAN_POINT('',(6.256E0,1.5E0,3.075E1));
-+#2548=LINE('',#2547,#2546);
-+#2549=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2550=VECTOR('',#2549,5.E-1);
-+#2551=CARTESIAN_POINT('',(5.744E0,1.5E0,3.075E1));
-+#2552=LINE('',#2551,#2550);
-+#2553=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
-+#2554=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2555=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2556=AXIS2_PLACEMENT_3D('',#2553,#2554,#2555);
-+#2558=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
-+#2559=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2560=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2561=AXIS2_PLACEMENT_3D('',#2558,#2559,#2560);
-+#2563=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
-+#2564=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2565=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2566=AXIS2_PLACEMENT_3D('',#2563,#2564,#2565);
-+#2568=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
-+#2569=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2570=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2571=AXIS2_PLACEMENT_3D('',#2568,#2569,#2570);
-+#2573=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2574=VECTOR('',#2573,1.E0);
-+#2575=CARTESIAN_POINT('',(6.1925E0,1.E0,3.075E1));
-+#2576=LINE('',#2575,#2574);
-+#2577=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2578=VECTOR('',#2577,1.E0);
-+#2579=CARTESIAN_POINT('',(5.8075E0,1.E0,3.075E1));
-+#2580=LINE('',#2579,#2578);
-+#2581=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2582=VECTOR('',#2581,5.E-1);
-+#2583=CARTESIAN_POINT('',(1.2256E1,1.5E0,3.075E1));
-+#2584=LINE('',#2583,#2582);
-+#2585=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2586=VECTOR('',#2585,5.E-1);
-+#2587=CARTESIAN_POINT('',(1.1744E1,1.5E0,3.075E1));
-+#2588=LINE('',#2587,#2586);
-+#2589=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
-+#2590=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2591=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2592=AXIS2_PLACEMENT_3D('',#2589,#2590,#2591);
-+#2594=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
-+#2595=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2596=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2597=AXIS2_PLACEMENT_3D('',#2594,#2595,#2596);
-+#2599=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
-+#2600=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2601=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2602=AXIS2_PLACEMENT_3D('',#2599,#2600,#2601);
-+#2604=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
-+#2605=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2606=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2607=AXIS2_PLACEMENT_3D('',#2604,#2605,#2606);
-+#2609=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2610=VECTOR('',#2609,1.E0);
-+#2611=CARTESIAN_POINT('',(1.21925E1,1.E0,3.075E1));
-+#2612=LINE('',#2611,#2610);
-+#2613=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2614=VECTOR('',#2613,1.E0);
-+#2615=CARTESIAN_POINT('',(1.18075E1,1.E0,3.075E1));
-+#2616=LINE('',#2615,#2614);
-+#2617=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2618=VECTOR('',#2617,5.E-1);
-+#2619=CARTESIAN_POINT('',(1.8256E1,1.5E0,3.075E1));
-+#2620=LINE('',#2619,#2618);
-+#2621=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2622=VECTOR('',#2621,5.E-1);
-+#2623=CARTESIAN_POINT('',(1.7744E1,1.5E0,3.075E1));
-+#2624=LINE('',#2623,#2622);
-+#2625=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
-+#2626=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2627=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2628=AXIS2_PLACEMENT_3D('',#2625,#2626,#2627);
-+#2630=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
-+#2631=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2632=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2633=AXIS2_PLACEMENT_3D('',#2630,#2631,#2632);
-+#2635=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
-+#2636=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2637=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2638=AXIS2_PLACEMENT_3D('',#2635,#2636,#2637);
-+#2640=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
-+#2641=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2642=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2643=AXIS2_PLACEMENT_3D('',#2640,#2641,#2642);
-+#2645=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2646=VECTOR('',#2645,1.E0);
-+#2647=CARTESIAN_POINT('',(1.81925E1,1.E0,3.075E1));
-+#2648=LINE('',#2647,#2646);
-+#2649=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2650=VECTOR('',#2649,1.E0);
-+#2651=CARTESIAN_POINT('',(1.78075E1,1.E0,3.075E1));
-+#2652=LINE('',#2651,#2650);
-+#2653=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2654=VECTOR('',#2653,5.E-1);
-+#2655=CARTESIAN_POINT('',(6.2575E0,1.5E0,9.E0));
-+#2656=LINE('',#2655,#2654);
-+#2657=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2658=VECTOR('',#2657,5.E-1);
-+#2659=CARTESIAN_POINT('',(5.7425E0,1.5E0,9.E0));
-+#2660=LINE('',#2659,#2658);
-+#2661=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
-+#2662=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2663=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2664=AXIS2_PLACEMENT_3D('',#2661,#2662,#2663);
-+#2666=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
-+#2667=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2668=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2669=AXIS2_PLACEMENT_3D('',#2666,#2667,#2668);
-+#2671=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
-+#2672=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2673=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2674=AXIS2_PLACEMENT_3D('',#2671,#2672,#2673);
-+#2676=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
-+#2677=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2678=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2679=AXIS2_PLACEMENT_3D('',#2676,#2677,#2678);
-+#2681=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2682=VECTOR('',#2681,1.E0);
-+#2683=CARTESIAN_POINT('',(6.1925E0,1.E0,9.E0));
-+#2684=LINE('',#2683,#2682);
-+#2685=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2686=VECTOR('',#2685,1.E0);
-+#2687=CARTESIAN_POINT('',(5.8075E0,1.E0,9.E0));
-+#2688=LINE('',#2687,#2686);
-+#2689=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2690=VECTOR('',#2689,5.E-1);
-+#2691=CARTESIAN_POINT('',(1.22575E1,1.5E0,9.E0));
-+#2692=LINE('',#2691,#2690);
-+#2693=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2694=VECTOR('',#2693,5.E-1);
-+#2695=CARTESIAN_POINT('',(1.17425E1,1.5E0,9.E0));
-+#2696=LINE('',#2695,#2694);
-+#2697=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
-+#2698=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2699=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2700=AXIS2_PLACEMENT_3D('',#2697,#2698,#2699);
-+#2702=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
-+#2703=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2704=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2705=AXIS2_PLACEMENT_3D('',#2702,#2703,#2704);
-+#2707=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
-+#2708=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2709=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2710=AXIS2_PLACEMENT_3D('',#2707,#2708,#2709);
-+#2712=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
-+#2713=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2714=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2715=AXIS2_PLACEMENT_3D('',#2712,#2713,#2714);
-+#2717=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2718=VECTOR('',#2717,1.E0);
-+#2719=CARTESIAN_POINT('',(1.21925E1,1.E0,9.E0));
-+#2720=LINE('',#2719,#2718);
-+#2721=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2722=VECTOR('',#2721,1.E0);
-+#2723=CARTESIAN_POINT('',(1.18075E1,1.E0,9.E0));
-+#2724=LINE('',#2723,#2722);
-+#2725=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2726=VECTOR('',#2725,5.E-1);
-+#2727=CARTESIAN_POINT('',(1.82575E1,1.5E0,9.E0));
-+#2728=LINE('',#2727,#2726);
-+#2729=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2730=VECTOR('',#2729,5.E-1);
-+#2731=CARTESIAN_POINT('',(1.77425E1,1.5E0,9.E0));
-+#2732=LINE('',#2731,#2730);
-+#2733=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
-+#2734=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2735=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2736=AXIS2_PLACEMENT_3D('',#2733,#2734,#2735);
-+#2738=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
-+#2739=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2740=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2741=AXIS2_PLACEMENT_3D('',#2738,#2739,#2740);
-+#2743=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
-+#2744=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2745=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2746=AXIS2_PLACEMENT_3D('',#2743,#2744,#2745);
-+#2748=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
-+#2749=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2750=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2751=AXIS2_PLACEMENT_3D('',#2748,#2749,#2750);
-+#2753=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2754=VECTOR('',#2753,1.E0);
-+#2755=CARTESIAN_POINT('',(1.81925E1,1.E0,9.E0));
-+#2756=LINE('',#2755,#2754);
-+#2757=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2758=VECTOR('',#2757,1.E0);
-+#2759=CARTESIAN_POINT('',(1.78075E1,1.E0,9.E0));
-+#2760=LINE('',#2759,#2758);
-+#2761=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2762=VECTOR('',#2761,5.E-1);
-+#2763=CARTESIAN_POINT('',(6.2575E0,1.5E0,1.8E1));
-+#2764=LINE('',#2763,#2762);
-+#2765=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2766=VECTOR('',#2765,5.E-1);
-+#2767=CARTESIAN_POINT('',(5.7425E0,1.5E0,1.8E1));
-+#2768=LINE('',#2767,#2766);
-+#2769=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
-+#2770=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2771=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2772=AXIS2_PLACEMENT_3D('',#2769,#2770,#2771);
-+#2774=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
-+#2775=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2776=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2777=AXIS2_PLACEMENT_3D('',#2774,#2775,#2776);
-+#2779=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
-+#2780=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2781=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2782=AXIS2_PLACEMENT_3D('',#2779,#2780,#2781);
-+#2784=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
-+#2785=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2786=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2787=AXIS2_PLACEMENT_3D('',#2784,#2785,#2786);
-+#2789=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2790=VECTOR('',#2789,1.E0);
-+#2791=CARTESIAN_POINT('',(6.1925E0,1.E0,1.8E1));
-+#2792=LINE('',#2791,#2790);
-+#2793=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2794=VECTOR('',#2793,1.E0);
-+#2795=CARTESIAN_POINT('',(5.8075E0,1.E0,1.8E1));
-+#2796=LINE('',#2795,#2794);
-+#2797=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2798=VECTOR('',#2797,5.E-1);
-+#2799=CARTESIAN_POINT('',(1.22575E1,1.5E0,1.8E1));
-+#2800=LINE('',#2799,#2798);
-+#2801=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2802=VECTOR('',#2801,5.E-1);
-+#2803=CARTESIAN_POINT('',(1.17425E1,1.5E0,1.8E1));
-+#2804=LINE('',#2803,#2802);
-+#2805=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
-+#2806=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2807=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2808=AXIS2_PLACEMENT_3D('',#2805,#2806,#2807);
-+#2810=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
-+#2811=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2812=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2813=AXIS2_PLACEMENT_3D('',#2810,#2811,#2812);
-+#2815=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
-+#2816=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2817=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2818=AXIS2_PLACEMENT_3D('',#2815,#2816,#2817);
-+#2820=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
-+#2821=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2822=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2823=AXIS2_PLACEMENT_3D('',#2820,#2821,#2822);
-+#2825=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2826=VECTOR('',#2825,1.E0);
-+#2827=CARTESIAN_POINT('',(1.21925E1,1.E0,1.8E1));
-+#2828=LINE('',#2827,#2826);
-+#2829=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2830=VECTOR('',#2829,1.E0);
-+#2831=CARTESIAN_POINT('',(1.18075E1,1.E0,1.8E1));
-+#2832=LINE('',#2831,#2830);
-+#2833=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2834=VECTOR('',#2833,5.E-1);
-+#2835=CARTESIAN_POINT('',(1.82575E1,1.5E0,1.8E1));
-+#2836=LINE('',#2835,#2834);
-+#2837=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2838=VECTOR('',#2837,5.E-1);
-+#2839=CARTESIAN_POINT('',(1.77425E1,1.5E0,1.8E1));
-+#2840=LINE('',#2839,#2838);
-+#2841=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
-+#2842=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2843=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2844=AXIS2_PLACEMENT_3D('',#2841,#2842,#2843);
-+#2846=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
-+#2847=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2848=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2849=AXIS2_PLACEMENT_3D('',#2846,#2847,#2848);
-+#2851=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
-+#2852=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2853=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2854=AXIS2_PLACEMENT_3D('',#2851,#2852,#2853);
-+#2856=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
-+#2857=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2858=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2859=AXIS2_PLACEMENT_3D('',#2856,#2857,#2858);
-+#2861=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2862=VECTOR('',#2861,1.E0);
-+#2863=CARTESIAN_POINT('',(1.81925E1,1.E0,1.8E1));
-+#2864=LINE('',#2863,#2862);
-+#2865=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2866=VECTOR('',#2865,1.E0);
-+#2867=CARTESIAN_POINT('',(1.78075E1,1.E0,1.8E1));
-+#2868=LINE('',#2867,#2866);
-+#2869=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
-+#2870=VECTOR('',#2869,5.773502691896E0);
-+#2871=CARTESIAN_POINT('',(2.2E1,6.5E0,1.E1));
-+#2872=LINE('',#2871,#2870);
-+#2873=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1));
-+#2874=CARTESIAN_POINT('',(2.31325E1,2.930774450068E0,1.206069333205E1));
-+#2875=CARTESIAN_POINT('',(2.309416136180E1,2.745461691651E0,1.216768370301E1));
-+#2876=CARTESIAN_POINT('',(2.297013771881E1,2.608885438662E0,1.224653603944E1));
-+#2877=CARTESIAN_POINT('',(2.2875E1,2.580400233539E0,1.226298198028E1));
-+#2878=CARTESIAN_POINT('',(2.277986228119E1,2.608885438662E0,1.224653603944E1));
-+#2879=CARTESIAN_POINT('',(2.265583863820E1,2.745461691651E0,1.216768370301E1));
-+#2880=CARTESIAN_POINT('',(2.26175E1,2.930774450068E0,1.206069333205E1));
-+#2881=CARTESIAN_POINT('',(2.26175E1,3.035898384862E0,1.2E1));
-+#2883=CARTESIAN_POINT('',(2.26175E1,3.035898384862E0,1.2E1));
-+#2884=CARTESIAN_POINT('',(2.26175E1,3.141022319657E0,1.193930666795E1));
-+#2885=CARTESIAN_POINT('',(2.265583863820E1,3.326335078073E0,1.183231629699E1));
-+#2886=CARTESIAN_POINT('',(2.277986228119E1,3.462911331062E0,1.175346396056E1));
-+#2887=CARTESIAN_POINT('',(2.2875E1,3.491396536186E0,1.173701801972E1));
-+#2888=CARTESIAN_POINT('',(2.297013771881E1,3.462911331062E0,1.175346396056E1));
-+#2889=CARTESIAN_POINT('',(2.309416136180E1,3.326335078073E0,1.183231629699E1));
-+#2890=CARTESIAN_POINT('',(2.31325E1,3.141022319657E0,1.193930666795E1));
-+#2891=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1));
-+#2893=DIRECTION('',(0.E0,1.E0,0.E0));
-+#2894=VECTOR('',#2893,2.035898384862E0);
-+#2895=CARTESIAN_POINT('',(2.26175E1,1.E0,1.2E1));
-+#2896=LINE('',#2895,#2894);
-+#2897=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2898=VECTOR('',#2897,2.035898384862E0);
-+#2899=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1));
-+#2900=LINE('',#2899,#2898);
-+#2901=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
-+#2902=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2903=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2904=AXIS2_PLACEMENT_3D('',#2901,#2902,#2903);
-+#2906=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
-+#2907=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2908=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2909=AXIS2_PLACEMENT_3D('',#2906,#2907,#2908);
-+#2911=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
-+#2912=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2913=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2914=AXIS2_PLACEMENT_3D('',#2911,#2912,#2913);
-+#2916=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
-+#2917=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2918=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2919=AXIS2_PLACEMENT_3D('',#2916,#2917,#2918);
-+#2921=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2922=VECTOR('',#2921,1.E0);
-+#2923=CARTESIAN_POINT('',(2.30675E1,1.E0,1.2E1));
-+#2924=LINE('',#2923,#2922);
-+#2925=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2926=VECTOR('',#2925,1.E0);
-+#2927=CARTESIAN_POINT('',(2.26825E1,1.E0,1.2E1));
-+#2928=LINE('',#2927,#2926);
-+#2929=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2930=VECTOR('',#2929,5.E-1);
-+#2931=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1));
-+#2932=LINE('',#2931,#2930);
-+#2933=CARTESIAN_POINT('',(2.185E1,6.65E0,9.5E0));
-+#2934=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2935=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2936=AXIS2_PLACEMENT_3D('',#2933,#2934,#2935);
-+#2938=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2939=VECTOR('',#2938,5.E-1);
-+#2940=CARTESIAN_POINT('',(2.185E1,7.E0,1.E1));
-+#2941=LINE('',#2940,#2939);
-+#2942=CARTESIAN_POINT('',(2.185E1,6.65E0,1.E1));
-+#2943=DIRECTION('',(0.E0,0.E0,1.E0));
-+#2944=DIRECTION('',(1.015061051086E-14,1.E0,0.E0));
-+#2945=AXIS2_PLACEMENT_3D('',#2942,#2943,#2944);
-+#2947=DIRECTION('',(0.E0,0.E0,1.E0));
-+#2948=VECTOR('',#2947,5.E-1);
-+#2949=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0));
-+#2950=LINE('',#2949,#2948);
-+#2951=CARTESIAN_POINT('',(2.115E1,2.35E0,9.5E0));
-+#2952=DIRECTION('',(0.E0,0.E0,1.E0));
-+#2953=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#2954=AXIS2_PLACEMENT_3D('',#2951,#2952,#2953);
-+#2956=DIRECTION('',(0.E0,0.E0,1.E0));
-+#2957=VECTOR('',#2956,5.E-1);
-+#2958=CARTESIAN_POINT('',(2.15E1,2.35E0,9.5E0));
-+#2959=LINE('',#2958,#2957);
-+#2960=CARTESIAN_POINT('',(2.115E1,2.35E0,1.E1));
-+#2961=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2962=DIRECTION('',(1.E0,0.E0,0.E0));
-+#2963=AXIS2_PLACEMENT_3D('',#2960,#2961,#2962);
-+#2965=DIRECTION('',(0.E0,0.E0,1.E0));
-+#2966=VECTOR('',#2965,5.E-1);
-+#2967=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0));
-+#2968=LINE('',#2967,#2966);
-+#2969=CARTESIAN_POINT('',(1.985E1,2.35E0,9.5E0));
-+#2970=DIRECTION('',(0.E0,0.E0,1.E0));
-+#2971=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2972=AXIS2_PLACEMENT_3D('',#2969,#2970,#2971);
-+#2974=DIRECTION('',(0.E0,0.E0,1.E0));
-+#2975=VECTOR('',#2974,5.E-1);
-+#2976=CARTESIAN_POINT('',(1.985E1,2.E0,9.5E0));
-+#2977=LINE('',#2976,#2975);
-+#2978=CARTESIAN_POINT('',(1.985E1,2.35E0,1.E1));
-+#2979=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2980=DIRECTION('',(1.015061051086E-14,-1.E0,0.E0));
-+#2981=AXIS2_PLACEMENT_3D('',#2978,#2979,#2980);
-+#2983=DIRECTION('',(0.E0,0.E0,1.E0));
-+#2984=VECTOR('',#2983,5.E-1);
-+#2985=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0));
-+#2986=LINE('',#2985,#2984);
-+#2987=CARTESIAN_POINT('',(1.985E1,9.15E0,9.5E0));
-+#2988=DIRECTION('',(0.E0,0.E0,1.E0));
-+#2989=DIRECTION('',(1.015061051086E-14,1.E0,0.E0));
-+#2990=AXIS2_PLACEMENT_3D('',#2987,#2988,#2989);
-+#2992=DIRECTION('',(0.E0,0.E0,1.E0));
-+#2993=VECTOR('',#2992,5.E-1);
-+#2994=CARTESIAN_POINT('',(1.95E1,9.15E0,9.5E0));
-+#2995=LINE('',#2994,#2993);
-+#2996=CARTESIAN_POINT('',(1.985E1,9.15E0,1.E1));
-+#2997=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#2998=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#2999=AXIS2_PLACEMENT_3D('',#2996,#2997,#2998);
-+#3001=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3002=VECTOR('',#3001,5.E-1);
-+#3003=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0));
-+#3004=LINE('',#3003,#3002);
-+#3005=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,9.5E0));
-+#3006=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3007=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
-+#3008=AXIS2_PLACEMENT_3D('',#3005,#3006,#3007);
-+#3010=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3011=VECTOR('',#3010,5.E-1);
-+#3012=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,9.5E0));
-+#3013=LINE('',#3012,#3011);
-+#3014=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,1.E1));
-+#3015=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3016=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3017=AXIS2_PLACEMENT_3D('',#3014,#3015,#3016);
-+#3019=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3020=VECTOR('',#3019,5.E-1);
-+#3021=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0));
-+#3022=LINE('',#3021,#3020);
-+#3023=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,9.5E0));
-+#3024=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3025=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3026=AXIS2_PLACEMENT_3D('',#3023,#3024,#3025);
-+#3028=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3029=VECTOR('',#3028,5.E-1);
-+#3030=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,9.5E0));
-+#3031=LINE('',#3030,#3029);
-+#3032=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,1.E1));
-+#3033=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3034=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
-+#3035=AXIS2_PLACEMENT_3D('',#3032,#3033,#3034);
-+#3037=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3038=VECTOR('',#3037,1.972007605460E-1);
-+#3039=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0));
-+#3040=LINE('',#3039,#3038);
-+#3041=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3042=VECTOR('',#3041,4.3E0);
-+#3043=CARTESIAN_POINT('',(2.15E1,6.65E0,9.5E0));
-+#3044=LINE('',#3043,#3042);
-+#3045=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3046=VECTOR('',#3045,1.3E0);
-+#3047=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0));
-+#3048=LINE('',#3047,#3046);
-+#3049=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3050=VECTOR('',#3049,6.8E0);
-+#3051=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0));
-+#3052=LINE('',#3051,#3050);
-+#3053=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3054=VECTOR('',#3053,1.197200760546E0);
-+#3055=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0));
-+#3056=LINE('',#3055,#3054);
-+#3057=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
-+#3058=VECTOR('',#3057,2.059126028197E0);
-+#3059=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0));
-+#3060=LINE('',#3059,#3058);
-+#3061=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3062=VECTOR('',#3061,2.5E-1);
-+#3063=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.E0));
-+#3064=LINE('',#3063,#3062);
-+#3065=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3066=VECTOR('',#3065,2.5E-1);
-+#3067=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.E0));
-+#3068=LINE('',#3067,#3066);
-+#3069=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0));
-+#3070=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3071=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3072=AXIS2_PLACEMENT_3D('',#3069,#3070,#3071);
-+#3074=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0));
-+#3075=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3076=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3077=AXIS2_PLACEMENT_3D('',#3074,#3075,#3076);
-+#3079=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3080=VECTOR('',#3079,2.5E-1);
-+#3081=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.E0));
-+#3082=LINE('',#3081,#3080);
-+#3083=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3084=VECTOR('',#3083,2.5E-1);
-+#3085=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.E0));
-+#3086=LINE('',#3085,#3084);
-+#3087=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0));
-+#3088=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3089=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3090=AXIS2_PLACEMENT_3D('',#3087,#3088,#3089);
-+#3092=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0));
-+#3093=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3094=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3095=AXIS2_PLACEMENT_3D('',#3092,#3093,#3094);
-+#3097=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3098=VECTOR('',#3097,2.5E-1);
-+#3099=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.E0));
-+#3100=LINE('',#3099,#3098);
-+#3101=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3102=VECTOR('',#3101,2.5E-1);
-+#3103=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.E0));
-+#3104=LINE('',#3103,#3102);
-+#3105=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0));
-+#3106=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3107=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3108=AXIS2_PLACEMENT_3D('',#3105,#3106,#3107);
-+#3110=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0));
-+#3111=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3112=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3113=AXIS2_PLACEMENT_3D('',#3110,#3111,#3112);
-+#3115=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3116=VECTOR('',#3115,2.5E-1);
-+#3117=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.E0));
-+#3118=LINE('',#3117,#3116);
-+#3119=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3120=VECTOR('',#3119,2.5E-1);
-+#3121=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.E0));
-+#3122=LINE('',#3121,#3120);
-+#3123=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0));
-+#3124=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3125=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3126=AXIS2_PLACEMENT_3D('',#3123,#3124,#3125);
-+#3128=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0));
-+#3129=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3130=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3131=AXIS2_PLACEMENT_3D('',#3128,#3129,#3130);
-+#3133=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3134=VECTOR('',#3133,2.5E-1);
-+#3135=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.E0));
-+#3136=LINE('',#3135,#3134);
-+#3137=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3138=VECTOR('',#3137,2.5E-1);
-+#3139=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.E0));
-+#3140=LINE('',#3139,#3138);
-+#3141=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0));
-+#3142=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3143=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3144=AXIS2_PLACEMENT_3D('',#3141,#3142,#3143);
-+#3146=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0));
-+#3147=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3148=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3149=AXIS2_PLACEMENT_3D('',#3146,#3147,#3148);
-+#3151=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3152=VECTOR('',#3151,5.E-1);
-+#3153=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0));
-+#3154=LINE('',#3153,#3152);
-+#3155=CARTESIAN_POINT('',(3.75E0,2.75E0,8.E0));
-+#3156=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3157=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3158=AXIS2_PLACEMENT_3D('',#3155,#3156,#3157);
-+#3160=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3161=VECTOR('',#3160,5.E-1);
-+#3162=CARTESIAN_POINT('',(4.5E0,2.75E0,8.E0));
-+#3163=LINE('',#3162,#3161);
-+#3164=CARTESIAN_POINT('',(3.75E0,2.75E0,8.5E0));
-+#3165=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3166=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3167=AXIS2_PLACEMENT_3D('',#3164,#3165,#3166);
-+#3169=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3170=VECTOR('',#3169,5.E-1);
-+#3171=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0));
-+#3172=LINE('',#3171,#3170);
-+#3173=CARTESIAN_POINT('',(3.75E0,8.75E0,8.E0));
-+#3174=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3175=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3176=AXIS2_PLACEMENT_3D('',#3173,#3174,#3175);
-+#3178=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3179=VECTOR('',#3178,5.E-1);
-+#3180=CARTESIAN_POINT('',(3.75E0,9.5E0,8.E0));
-+#3181=LINE('',#3180,#3179);
-+#3182=CARTESIAN_POINT('',(3.75E0,8.75E0,8.5E0));
-+#3183=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3184=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3185=AXIS2_PLACEMENT_3D('',#3182,#3183,#3184);
-+#3187=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3188=VECTOR('',#3187,5.E-1);
-+#3189=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0));
-+#3190=LINE('',#3189,#3188);
-+#3191=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,8.E0));
-+#3192=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3193=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3194=AXIS2_PLACEMENT_3D('',#3191,#3192,#3193);
-+#3196=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3197=VECTOR('',#3196,5.E-1);
-+#3198=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.E0));
-+#3199=LINE('',#3198,#3197);
-+#3200=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,8.5E0));
-+#3201=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3202=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
-+#3203=AXIS2_PLACEMENT_3D('',#3200,#3201,#3202);
-+#3205=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3206=VECTOR('',#3205,5.E-1);
-+#3207=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0));
-+#3208=LINE('',#3207,#3206);
-+#3209=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,8.E0));
-+#3210=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3211=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
-+#3212=AXIS2_PLACEMENT_3D('',#3209,#3210,#3211);
-+#3214=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3215=VECTOR('',#3214,5.E-1);
-+#3216=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.E0));
-+#3217=LINE('',#3216,#3215);
-+#3218=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,8.5E0));
-+#3219=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3220=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3221=AXIS2_PLACEMENT_3D('',#3218,#3219,#3220);
-+#3223=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3224=VECTOR('',#3223,6.E0);
-+#3225=CARTESIAN_POINT('',(4.5E0,8.75E0,8.5E0));
-+#3226=LINE('',#3225,#3224);
-+#3227=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3228=VECTOR('',#3227,5.618394209466E-1);
-+#3229=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.5E0));
-+#3230=LINE('',#3229,#3228);
-+#3231=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0));
-+#3232=VECTOR('',#3231,6.863753427325E0);
-+#3233=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.5E0));
-+#3234=LINE('',#3233,#3232);
-+#3235=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3236=VECTOR('',#3235,3.895172754280E0);
-+#3237=CARTESIAN_POINT('',(3.75E0,2.E0,8.5E0));
-+#3238=LINE('',#3237,#3236);
-+#3239=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3240=VECTOR('',#3239,5.E-1);
-+#3241=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0));
-+#3242=LINE('',#3241,#3240);
-+#3243=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.5E0));
-+#3244=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3245=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
-+#3246=AXIS2_PLACEMENT_3D('',#3243,#3244,#3245);
-+#3248=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3249=VECTOR('',#3248,5.E-1);
-+#3250=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.5E0));
-+#3251=LINE('',#3250,#3249);
-+#3252=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.E0));
-+#3253=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3254=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3255=AXIS2_PLACEMENT_3D('',#3252,#3253,#3254);
-+#3257=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3258=VECTOR('',#3257,3.895172754280E0);
-+#3259=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0));
-+#3260=LINE('',#3259,#3258);
-+#3261=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0));
-+#3262=VECTOR('',#3261,6.863753427325E0);
-+#3263=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0));
-+#3264=LINE('',#3263,#3262);
-+#3265=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3266=VECTOR('',#3265,5.618394209466E-1);
-+#3267=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0));
-+#3268=LINE('',#3267,#3266);
-+#3269=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3270=VECTOR('',#3269,6.E0);
-+#3271=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0));
-+#3272=LINE('',#3271,#3270);
-+#3273=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3274=VECTOR('',#3273,5.E-1);
-+#3275=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0));
-+#3276=LINE('',#3275,#3274);
-+#3277=CARTESIAN_POINT('',(2.025E1,2.75E0,8.5E0));
-+#3278=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3279=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3280=AXIS2_PLACEMENT_3D('',#3277,#3278,#3279);
-+#3282=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3283=VECTOR('',#3282,5.E-1);
-+#3284=CARTESIAN_POINT('',(1.95E1,2.75E0,8.5E0));
-+#3285=LINE('',#3284,#3283);
-+#3286=CARTESIAN_POINT('',(2.025E1,2.75E0,8.E0));
-+#3287=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3288=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3289=AXIS2_PLACEMENT_3D('',#3286,#3287,#3288);
-+#3291=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3292=VECTOR('',#3291,5.E-1);
-+#3293=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0));
-+#3294=LINE('',#3293,#3292);
-+#3295=CARTESIAN_POINT('',(2.025E1,8.75E0,8.5E0));
-+#3296=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3297=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3298=AXIS2_PLACEMENT_3D('',#3295,#3296,#3297);
-+#3300=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3301=VECTOR('',#3300,5.E-1);
-+#3302=CARTESIAN_POINT('',(2.025E1,9.5E0,8.5E0));
-+#3303=LINE('',#3302,#3301);
-+#3304=CARTESIAN_POINT('',(2.025E1,8.75E0,8.E0));
-+#3305=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3306=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3307=AXIS2_PLACEMENT_3D('',#3304,#3305,#3306);
-+#3309=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3310=VECTOR('',#3309,5.E-1);
-+#3311=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0));
-+#3312=LINE('',#3311,#3310);
-+#3313=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.5E0));
-+#3314=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3315=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3316=AXIS2_PLACEMENT_3D('',#3313,#3314,#3315);
-+#3318=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3319=VECTOR('',#3318,5.E-1);
-+#3320=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.5E0));
-+#3321=LINE('',#3320,#3319);
-+#3322=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.E0));
-+#3323=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3324=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
-+#3325=AXIS2_PLACEMENT_3D('',#3322,#3323,#3324);
-+#3327=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3328=VECTOR('',#3327,6.875E-1);
-+#3329=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1));
-+#3330=LINE('',#3329,#3328);
-+#3331=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3332=VECTOR('',#3331,6.875E-1);
-+#3333=CARTESIAN_POINT('',(7.5E0,0.E0,1.8125E0));
-+#3334=LINE('',#3333,#3332);
-+#3335=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3336=VECTOR('',#3335,6.875E-1);
-+#3337=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0));
-+#3338=LINE('',#3337,#3336);
-+#3339=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3340=VECTOR('',#3339,6.875E-1);
-+#3341=CARTESIAN_POINT('',(1.05E1,0.E0,6.875E-1));
-+#3342=LINE('',#3341,#3340);
-+#3343=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3344=VECTOR('',#3343,3.E0);
-+#3345=CARTESIAN_POINT('',(7.5E0,6.875E-1,6.875E-1));
-+#3346=LINE('',#3345,#3344);
-+#3347=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.25E0));
-+#3348=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3349=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3350=AXIS2_PLACEMENT_3D('',#3347,#3348,#3349);
-+#3352=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3353=VECTOR('',#3352,3.E0);
-+#3354=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8125E0));
-+#3355=LINE('',#3354,#3353);
-+#3356=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.25E0));
-+#3357=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3358=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3359=AXIS2_PLACEMENT_3D('',#3356,#3357,#3358);
-+#3361=CARTESIAN_POINT('',(1.61E0,6.875E-1,4.5E0));
-+#3362=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3363=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1));
-+#3364=AXIS2_PLACEMENT_3D('',#3361,#3362,#3363);
-+#3366=CARTESIAN_POINT('',(7.5E0,6.875E-1,7.5E0));
-+#3367=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3368=DIRECTION('',(-4.496088413988E-1,0.E0,-8.932255536739E-1));
-+#3369=AXIS2_PLACEMENT_3D('',#3366,#3367,#3368);
-+#3371=CARTESIAN_POINT('',(4.553039342392E0,6.875E-1,1.645354088550E0));
-+#3372=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3373=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#3374=AXIS2_PLACEMENT_3D('',#3371,#3372,#3373);
-+#3376=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#3377=VECTOR('',#3376,4.263248410977E0);
-+#3378=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,4.046865146430E0));
-+#3379=LINE('',#3378,#3377);
-+#3380=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3381=VECTOR('',#3380,6.875E-1);
-+#3382=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0));
-+#3383=LINE('',#3382,#3381);
-+#3384=CARTESIAN_POINT('',(1.455736763592E0,0.E0,4.577195232320E0));
-+#3385=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3386=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#3387=AXIS2_PLACEMENT_3D('',#3384,#3385,#3386);
-+#3389=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3390=VECTOR('',#3389,6.875E-1);
-+#3391=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,4.912826677187E0));
-+#3392=LINE('',#3391,#3390);
-+#3393=CARTESIAN_POINT('',(1.455736763592E0,6.875E-1,4.577195232320E0));
-+#3394=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3395=DIRECTION('',(-8.942796313519E-1,0.E0,4.475085931567E-1));
-+#3396=AXIS2_PLACEMENT_3D('',#3393,#3394,#3395);
-+#3398=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3399=VECTOR('',#3398,6.875E-1);
-+#3400=CARTESIAN_POINT('',(3.939978538987E0,0.E0,1.032293285145E0));
-+#3401=LINE('',#3400,#3399);
-+#3402=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3403=VECTOR('',#3402,6.875E-1);
-+#3404=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.419779663480E0));
-+#3405=LINE('',#3404,#3403);
-+#3406=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3407=VECTOR('',#3406,6.875E-1);
-+#3408=CARTESIAN_POINT('',(2.432015885023E0,0.E0,4.918683812405E0));
-+#3409=LINE('',#3408,#3407);
-+#3410=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3411=VECTOR('',#3410,6.875E-1);
-+#3412=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0));
-+#3413=LINE('',#3412,#3411);
-+#3414=CARTESIAN_POINT('',(-1.85E-1,0.E0,7.815E0));
-+#3415=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3416=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3417=AXIS2_PLACEMENT_3D('',#3414,#3415,#3416);
-+#3419=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3420=VECTOR('',#3419,6.875E-1);
-+#3421=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,8.69E0));
-+#3422=LINE('',#3421,#3420);
-+#3423=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,7.815E0));
-+#3424=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3425=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3426=AXIS2_PLACEMENT_3D('',#3423,#3424,#3425);
-+#3428=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3429=VECTOR('',#3428,7.5E-1);
-+#3430=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0));
-+#3431=LINE('',#3430,#3429);
-+#3432=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3433=VECTOR('',#3432,3.15E-1);
-+#3434=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.5E0));
-+#3435=LINE('',#3434,#3433);
-+#3436=CARTESIAN_POINT('',(1.25125E0,6.875E-1,7.5E0));
-+#3437=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3438=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3439=AXIS2_PLACEMENT_3D('',#3436,#3437,#3438);
-+#3441=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3442=VECTOR('',#3441,3.15E-1);
-+#3443=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0));
-+#3444=LINE('',#3443,#3442);
-+#3445=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3446=VECTOR('',#3445,2.525E-1);
-+#3447=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,8.69E0));
-+#3448=LINE('',#3447,#3446);
-+#3449=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3450=VECTOR('',#3449,8.1E-1);
-+#3451=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,1.0375E1));
-+#3452=LINE('',#3451,#3450);
-+#3453=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3454=VECTOR('',#3453,3.875E0);
-+#3455=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.125E1));
-+#3456=LINE('',#3455,#3454);
-+#3457=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3458=VECTOR('',#3457,8.1E-1);
-+#3459=CARTESIAN_POINT('',(4.3125E0,6.875E-1,9.565E0));
-+#3460=LINE('',#3459,#3458);
-+#3461=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3462=VECTOR('',#3461,6.875E-1);
-+#3463=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0));
-+#3464=LINE('',#3463,#3462);
-+#3465=CARTESIAN_POINT('',(2.6875E0,0.E0,7.815E0));
-+#3466=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3467=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3468=AXIS2_PLACEMENT_3D('',#3465,#3466,#3467);
-+#3470=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3471=VECTOR('',#3470,6.875E-1);
-+#3472=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.815E0));
-+#3473=LINE('',#3472,#3471);
-+#3474=CARTESIAN_POINT('',(2.6875E0,6.875E-1,7.815E0));
-+#3475=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3476=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3477=AXIS2_PLACEMENT_3D('',#3474,#3475,#3476);
-+#3479=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3480=VECTOR('',#3479,6.875E-1);
-+#3481=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0));
-+#3482=LINE('',#3481,#3480);
-+#3483=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3484=VECTOR('',#3483,6.875E-1);
-+#3485=CARTESIAN_POINT('',(6.9E-1,0.E0,7.5E0));
-+#3486=LINE('',#3485,#3484);
-+#3487=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3488=VECTOR('',#3487,6.875E-1);
-+#3489=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0));
-+#3490=LINE('',#3489,#3488);
-+#3491=CARTESIAN_POINT('',(3.4375E0,0.E0,9.565E0));
-+#3492=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3493=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3494=AXIS2_PLACEMENT_3D('',#3491,#3492,#3493);
-+#3496=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3497=VECTOR('',#3496,6.875E-1);
-+#3498=CARTESIAN_POINT('',(3.4375E0,0.E0,8.69E0));
-+#3499=LINE('',#3498,#3497);
-+#3500=CARTESIAN_POINT('',(3.4375E0,6.875E-1,9.565E0));
-+#3501=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3502=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3503=AXIS2_PLACEMENT_3D('',#3500,#3501,#3502);
-+#3505=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3506=VECTOR('',#3505,6.875E-1);
-+#3507=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1));
-+#3508=LINE('',#3507,#3506);
-+#3509=CARTESIAN_POINT('',(3.4375E0,0.E0,1.0375E1));
-+#3510=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3511=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3512=AXIS2_PLACEMENT_3D('',#3509,#3510,#3511);
-+#3514=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3515=VECTOR('',#3514,6.875E-1);
-+#3516=CARTESIAN_POINT('',(4.3125E0,0.E0,1.0375E1));
-+#3517=LINE('',#3516,#3515);
-+#3518=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.0375E1));
-+#3519=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3520=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3521=AXIS2_PLACEMENT_3D('',#3518,#3519,#3520);
-+#3523=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3524=VECTOR('',#3523,6.875E-1);
-+#3525=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1));
-+#3526=LINE('',#3525,#3524);
-+#3527=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.0375E1));
-+#3528=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3529=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3530=AXIS2_PLACEMENT_3D('',#3527,#3528,#3529);
-+#3532=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3533=VECTOR('',#3532,6.875E-1);
-+#3534=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.125E1));
-+#3535=LINE('',#3534,#3533);
-+#3536=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,1.0375E1));
-+#3537=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3538=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3539=AXIS2_PLACEMENT_3D('',#3536,#3537,#3538);
-+#3541=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3542=VECTOR('',#3541,6.875E-1);
-+#3543=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0));
-+#3544=LINE('',#3543,#3542);
-+#3545=CARTESIAN_POINT('',(-4.375E-1,0.E0,9.565E0));
-+#3546=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3547=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3548=AXIS2_PLACEMENT_3D('',#3545,#3546,#3547);
-+#3550=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3551=VECTOR('',#3550,6.875E-1);
-+#3552=CARTESIAN_POINT('',(-1.3125E0,0.E0,9.565E0));
-+#3553=LINE('',#3552,#3551);
-+#3554=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,9.565E0));
-+#3555=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3556=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3557=AXIS2_PLACEMENT_3D('',#3554,#3555,#3556);
-+#3559=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3560=VECTOR('',#3559,6.875E-1);
-+#3561=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1));
-+#3562=LINE('',#3561,#3560);
-+#3563=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3564=VECTOR('',#3563,6.875E-1);
-+#3565=CARTESIAN_POINT('',(1.8125E0,0.E0,1.65E1));
-+#3566=LINE('',#3565,#3564);
-+#3567=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3568=VECTOR('',#3567,6.875E-1);
-+#3569=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1));
-+#3570=LINE('',#3569,#3568);
-+#3571=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3572=VECTOR('',#3571,6.875E-1);
-+#3573=CARTESIAN_POINT('',(6.875E-1,0.E0,1.35E1));
-+#3574=LINE('',#3573,#3572);
-+#3575=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3576=VECTOR('',#3575,3.E0);
-+#3577=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.65E1));
-+#3578=LINE('',#3577,#3576);
-+#3579=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.65E1));
-+#3580=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3581=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3582=AXIS2_PLACEMENT_3D('',#3579,#3580,#3581);
-+#3584=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3585=VECTOR('',#3584,3.E0);
-+#3586=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.35E1));
-+#3587=LINE('',#3586,#3585);
-+#3588=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.35E1));
-+#3589=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3590=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3591=AXIS2_PLACEMENT_3D('',#3588,#3589,#3590);
-+#3593=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3594=VECTOR('',#3593,6.875E-1);
-+#3595=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1));
-+#3596=LINE('',#3595,#3594);
-+#3597=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3598=VECTOR('',#3597,6.875E-1);
-+#3599=CARTESIAN_POINT('',(1.8125E0,0.E0,2.25E1));
-+#3600=LINE('',#3599,#3598);
-+#3601=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3602=VECTOR('',#3601,6.875E-1);
-+#3603=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1));
-+#3604=LINE('',#3603,#3602);
-+#3605=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3606=VECTOR('',#3605,6.875E-1);
-+#3607=CARTESIAN_POINT('',(6.875E-1,0.E0,1.95E1));
-+#3608=LINE('',#3607,#3606);
-+#3609=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3610=VECTOR('',#3609,3.E0);
-+#3611=CARTESIAN_POINT('',(6.875E-1,6.875E-1,2.25E1));
-+#3612=LINE('',#3611,#3610);
-+#3613=CARTESIAN_POINT('',(1.25E0,6.875E-1,2.25E1));
-+#3614=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3615=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3616=AXIS2_PLACEMENT_3D('',#3613,#3614,#3615);
-+#3618=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3619=VECTOR('',#3618,3.E0);
-+#3620=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.95E1));
-+#3621=LINE('',#3620,#3619);
-+#3622=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.95E1));
-+#3623=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3624=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3625=AXIS2_PLACEMENT_3D('',#3622,#3623,#3624);
-+#3627=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3628=VECTOR('',#3627,6.875E-1);
-+#3629=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0));
-+#3630=LINE('',#3629,#3628);
-+#3631=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3632=VECTOR('',#3631,6.875E-1);
-+#3633=CARTESIAN_POINT('',(7.5E0,0.E0,9.5E0));
-+#3634=LINE('',#3633,#3632);
-+#3635=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3636=VECTOR('',#3635,6.875E-1);
-+#3637=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0));
-+#3638=LINE('',#3637,#3636);
-+#3639=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3640=VECTOR('',#3639,6.875E-1);
-+#3641=CARTESIAN_POINT('',(1.05E1,0.E0,8.5E0));
-+#3642=LINE('',#3641,#3640);
-+#3643=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3644=VECTOR('',#3643,3.E0);
-+#3645=CARTESIAN_POINT('',(7.5E0,6.875E-1,8.5E0));
-+#3646=LINE('',#3645,#3644);
-+#3647=CARTESIAN_POINT('',(7.5E0,6.875E-1,9.E0));
-+#3648=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3649=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3650=AXIS2_PLACEMENT_3D('',#3647,#3648,#3649);
-+#3652=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3653=VECTOR('',#3652,3.E0);
-+#3654=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.5E0));
-+#3655=LINE('',#3654,#3653);
-+#3656=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.E0));
-+#3657=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3658=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3659=AXIS2_PLACEMENT_3D('',#3656,#3657,#3658);
-+#3661=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3662=VECTOR('',#3661,6.875E-1);
-+#3663=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1));
-+#3664=LINE('',#3663,#3662);
-+#3665=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3666=VECTOR('',#3665,6.875E-1);
-+#3667=CARTESIAN_POINT('',(7.5E0,0.E0,1.84375E1));
-+#3668=LINE('',#3667,#3666);
-+#3669=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3670=VECTOR('',#3669,6.875E-1);
-+#3671=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1));
-+#3672=LINE('',#3671,#3670);
-+#3673=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3674=VECTOR('',#3673,6.875E-1);
-+#3675=CARTESIAN_POINT('',(1.05E1,0.E0,1.75625E1));
-+#3676=LINE('',#3675,#3674);
-+#3677=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3678=VECTOR('',#3677,3.E0);
-+#3679=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.75625E1));
-+#3680=LINE('',#3679,#3678);
-+#3681=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.8E1));
-+#3682=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3683=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3684=AXIS2_PLACEMENT_3D('',#3681,#3682,#3683);
-+#3686=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3687=VECTOR('',#3686,3.E0);
-+#3688=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.84375E1));
-+#3689=LINE('',#3688,#3687);
-+#3690=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8E1));
-+#3691=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3692=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3693=AXIS2_PLACEMENT_3D('',#3690,#3691,#3692);
-+#3695=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3696=VECTOR('',#3695,6.875E-1);
-+#3697=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1));
-+#3698=LINE('',#3697,#3696);
-+#3699=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3700=VECTOR('',#3699,6.875E-1);
-+#3701=CARTESIAN_POINT('',(1.05E1,0.E0,3.13125E1));
-+#3702=LINE('',#3701,#3700);
-+#3703=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3704=VECTOR('',#3703,6.875E-1);
-+#3705=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1));
-+#3706=LINE('',#3705,#3704);
-+#3707=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3708=VECTOR('',#3707,6.875E-1);
-+#3709=CARTESIAN_POINT('',(7.5E0,0.E0,3.01875E1));
-+#3710=LINE('',#3709,#3708);
-+#3711=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3712=VECTOR('',#3711,3.E0);
-+#3713=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.13125E1));
-+#3714=LINE('',#3713,#3712);
-+#3715=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.075E1));
-+#3716=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3717=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3718=AXIS2_PLACEMENT_3D('',#3715,#3716,#3717);
-+#3720=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3721=VECTOR('',#3720,3.E0);
-+#3722=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.01875E1));
-+#3723=LINE('',#3722,#3721);
-+#3724=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.075E1));
-+#3725=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3726=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3727=AXIS2_PLACEMENT_3D('',#3724,#3725,#3726);
-+#3729=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
-+#3730=VECTOR('',#3729,4.263248410977E0);
-+#3731=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,2.795313485357E1));
-+#3732=LINE('',#3731,#3730);
-+#3733=CARTESIAN_POINT('',(4.553039342392E0,6.875E-1,3.035464591145E1));
-+#3734=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3735=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
-+#3736=AXIS2_PLACEMENT_3D('',#3733,#3734,#3735);
-+#3738=CARTESIAN_POINT('',(7.5E0,6.875E-1,2.45E1));
-+#3739=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3740=DIRECTION('',(-4.496088413988E-1,0.E0,8.932255536739E-1));
-+#3741=AXIS2_PLACEMENT_3D('',#3738,#3739,#3740);
-+#3743=CARTESIAN_POINT('',(1.61E0,6.875E-1,2.75E1));
-+#3744=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3745=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1));
-+#3746=AXIS2_PLACEMENT_3D('',#3743,#3744,#3745);
-+#3748=DIRECTION('',(0.E0,1.E0,-1.033516706560E-14));
-+#3749=VECTOR('',#3748,6.875E-1);
-+#3750=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,2.708717332281E1));
-+#3751=LINE('',#3750,#3749);
-+#3752=CARTESIAN_POINT('',(1.455736763592E0,0.E0,2.742280476768E1));
-+#3753=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3754=DIRECTION('',(-8.942796313519E-1,0.E0,-4.475085931567E-1));
-+#3755=AXIS2_PLACEMENT_3D('',#3752,#3753,#3754);
-+#3757=DIRECTION('',(0.E0,1.E0,1.033516706560E-14));
-+#3758=VECTOR('',#3757,6.875E-1);
-+#3759=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1));
-+#3760=LINE('',#3759,#3758);
-+#3761=CARTESIAN_POINT('',(1.455736763592E0,6.875E-1,2.742280476768E1));
-+#3762=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3763=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811866E-1));
-+#3764=AXIS2_PLACEMENT_3D('',#3761,#3762,#3763);
-+#3766=DIRECTION('',(0.E0,1.E0,1.033516706560E-14));
-+#3767=VECTOR('',#3766,6.875E-1);
-+#3768=CARTESIAN_POINT('',(2.432015885023E0,0.E0,2.708131618759E1));
-+#3769=LINE('',#3768,#3767);
-+#3770=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3771=VECTOR('',#3770,6.875E-1);
-+#3772=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.958022033652E1));
-+#3773=LINE('',#3772,#3771);
-+#3774=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3775=VECTOR('',#3774,6.875E-1);
-+#3776=CARTESIAN_POINT('',(3.939978538987E0,0.E0,3.096770671486E1));
-+#3777=LINE('',#3776,#3775);
-+#3778=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3779=VECTOR('',#3778,6.875E-1);
-+#3780=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1));
-+#3781=LINE('',#3780,#3779);
-+#3782=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3783=VECTOR('',#3782,6.875E-1);
-+#3784=CARTESIAN_POINT('',(1.35E1,0.E0,6.875E-1));
-+#3785=LINE('',#3784,#3783);
-+#3786=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3787=VECTOR('',#3786,6.875E-1);
-+#3788=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0));
-+#3789=LINE('',#3788,#3787);
-+#3790=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3791=VECTOR('',#3790,6.875E-1);
-+#3792=CARTESIAN_POINT('',(1.65E1,0.E0,1.8125E0));
-+#3793=LINE('',#3792,#3791);
-+#3794=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3795=VECTOR('',#3794,3.E0);
-+#3796=CARTESIAN_POINT('',(1.65E1,6.875E-1,6.875E-1));
-+#3797=LINE('',#3796,#3795);
-+#3798=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.25E0));
-+#3799=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3800=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3801=AXIS2_PLACEMENT_3D('',#3798,#3799,#3800);
-+#3803=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3804=VECTOR('',#3803,3.E0);
-+#3805=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8125E0));
-+#3806=LINE('',#3805,#3804);
-+#3807=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.25E0));
-+#3808=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3809=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3810=AXIS2_PLACEMENT_3D('',#3807,#3808,#3809);
-+#3812=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#3813=VECTOR('',#3812,4.263248410977E0);
-+#3814=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,4.046865146430E0));
-+#3815=LINE('',#3814,#3813);
-+#3816=CARTESIAN_POINT('',(1.944696065761E1,6.875E-1,1.645354088550E0));
-+#3817=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3818=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#3819=AXIS2_PLACEMENT_3D('',#3816,#3817,#3818);
-+#3821=CARTESIAN_POINT('',(1.65E1,6.875E-1,7.5E0));
-+#3822=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3823=DIRECTION('',(4.496088413988E-1,0.E0,-8.932255536739E-1));
-+#3824=AXIS2_PLACEMENT_3D('',#3821,#3822,#3823);
-+#3826=CARTESIAN_POINT('',(2.239E1,6.875E-1,4.5E0));
-+#3827=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3828=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1));
-+#3829=AXIS2_PLACEMENT_3D('',#3826,#3827,#3828);
-+#3831=DIRECTION('',(-1.033516706560E-14,1.E0,2.583791766400E-14));
-+#3832=VECTOR('',#3831,6.875E-1);
-+#3833=CARTESIAN_POINT('',(2.321497295992E1,0.E0,4.912826677187E0));
-+#3834=LINE('',#3833,#3832);
-+#3835=CARTESIAN_POINT('',(2.254426323641E1,0.E0,4.577195232320E0));
-+#3836=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3837=DIRECTION('',(8.942796313519E-1,0.E0,4.475085931567E-1));
-+#3838=AXIS2_PLACEMENT_3D('',#3835,#3836,#3837);
-+#3840=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3841=VECTOR('',#3840,6.875E-1);
-+#3842=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0));
-+#3843=LINE('',#3842,#3841);
-+#3844=CARTESIAN_POINT('',(2.254426323641E1,6.875E-1,4.577195232320E0));
-+#3845=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#3846=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#3847=AXIS2_PLACEMENT_3D('',#3844,#3845,#3846);
-+#3849=DIRECTION('',(-1.550275059840E-14,1.E0,-2.067033413120E-14));
-+#3850=VECTOR('',#3849,6.875E-1);
-+#3851=CARTESIAN_POINT('',(2.156798411498E1,0.E0,4.918683812405E0));
-+#3852=LINE('',#3851,#3850);
-+#3853=DIRECTION('',(1.550275059840E-14,1.E0,0.E0));
-+#3854=VECTOR('',#3853,6.875E-1);
-+#3855=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.419779663480E0));
-+#3856=LINE('',#3855,#3854);
-+#3857=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3858=VECTOR('',#3857,6.875E-1);
-+#3859=CARTESIAN_POINT('',(2.006002146101E1,0.E0,1.032293285145E0));
-+#3860=LINE('',#3859,#3858);
-+#3861=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3862=VECTOR('',#3861,6.875E-1);
-+#3863=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1));
-+#3864=LINE('',#3863,#3862);
-+#3865=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3866=VECTOR('',#3865,6.875E-1);
-+#3867=CARTESIAN_POINT('',(2.33125E1,0.E0,1.35E1));
-+#3868=LINE('',#3867,#3866);
-+#3869=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3870=VECTOR('',#3869,6.875E-1);
-+#3871=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1));
-+#3872=LINE('',#3871,#3870);
-+#3873=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3874=VECTOR('',#3873,6.875E-1);
-+#3875=CARTESIAN_POINT('',(2.21875E1,0.E0,1.65E1));
-+#3876=LINE('',#3875,#3874);
-+#3877=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3878=VECTOR('',#3877,3.E0);
-+#3879=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.65E1));
-+#3880=LINE('',#3879,#3878);
-+#3881=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.35E1));
-+#3882=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3883=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3884=AXIS2_PLACEMENT_3D('',#3881,#3882,#3883);
-+#3886=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3887=VECTOR('',#3886,3.E0);
-+#3888=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.35E1));
-+#3889=LINE('',#3888,#3887);
-+#3890=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.65E1));
-+#3891=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3892=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3893=AXIS2_PLACEMENT_3D('',#3890,#3891,#3892);
-+#3895=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3896=VECTOR('',#3895,6.875E-1);
-+#3897=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1));
-+#3898=LINE('',#3897,#3896);
-+#3899=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3900=VECTOR('',#3899,6.875E-1);
-+#3901=CARTESIAN_POINT('',(2.33125E1,0.E0,1.95E1));
-+#3902=LINE('',#3901,#3900);
-+#3903=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3904=VECTOR('',#3903,6.875E-1);
-+#3905=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1));
-+#3906=LINE('',#3905,#3904);
-+#3907=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3908=VECTOR('',#3907,6.875E-1);
-+#3909=CARTESIAN_POINT('',(2.21875E1,0.E0,2.25E1));
-+#3910=LINE('',#3909,#3908);
-+#3911=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3912=VECTOR('',#3911,3.E0);
-+#3913=CARTESIAN_POINT('',(2.33125E1,6.875E-1,2.25E1));
-+#3914=LINE('',#3913,#3912);
-+#3915=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.95E1));
-+#3916=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3917=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3918=AXIS2_PLACEMENT_3D('',#3915,#3916,#3917);
-+#3920=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3921=VECTOR('',#3920,3.E0);
-+#3922=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.95E1));
-+#3923=LINE('',#3922,#3921);
-+#3924=CARTESIAN_POINT('',(2.275E1,6.875E-1,2.25E1));
-+#3925=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3926=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3927=AXIS2_PLACEMENT_3D('',#3924,#3925,#3926);
-+#3929=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3930=VECTOR('',#3929,6.875E-1);
-+#3931=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0));
-+#3932=LINE('',#3931,#3930);
-+#3933=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3934=VECTOR('',#3933,6.875E-1);
-+#3935=CARTESIAN_POINT('',(1.35E1,0.E0,8.5E0));
-+#3936=LINE('',#3935,#3934);
-+#3937=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3938=VECTOR('',#3937,6.875E-1);
-+#3939=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0));
-+#3940=LINE('',#3939,#3938);
-+#3941=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3942=VECTOR('',#3941,6.875E-1);
-+#3943=CARTESIAN_POINT('',(1.65E1,0.E0,9.5E0));
-+#3944=LINE('',#3943,#3942);
-+#3945=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3946=VECTOR('',#3945,3.E0);
-+#3947=CARTESIAN_POINT('',(1.65E1,6.875E-1,8.5E0));
-+#3948=LINE('',#3947,#3946);
-+#3949=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.E0));
-+#3950=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3951=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3952=AXIS2_PLACEMENT_3D('',#3949,#3950,#3951);
-+#3954=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3955=VECTOR('',#3954,3.E0);
-+#3956=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.5E0));
-+#3957=LINE('',#3956,#3955);
-+#3958=CARTESIAN_POINT('',(1.65E1,6.875E-1,9.E0));
-+#3959=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3960=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3961=AXIS2_PLACEMENT_3D('',#3958,#3959,#3960);
-+#3963=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3964=VECTOR('',#3963,6.875E-1);
-+#3965=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1));
-+#3966=LINE('',#3965,#3964);
-+#3967=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3968=VECTOR('',#3967,6.875E-1);
-+#3969=CARTESIAN_POINT('',(1.35E1,0.E0,1.75625E1));
-+#3970=LINE('',#3969,#3968);
-+#3971=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3972=VECTOR('',#3971,6.875E-1);
-+#3973=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1));
-+#3974=LINE('',#3973,#3972);
-+#3975=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3976=VECTOR('',#3975,6.875E-1);
-+#3977=CARTESIAN_POINT('',(1.65E1,0.E0,1.84375E1));
-+#3978=LINE('',#3977,#3976);
-+#3979=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#3980=VECTOR('',#3979,3.E0);
-+#3981=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.75625E1));
-+#3982=LINE('',#3981,#3980);
-+#3983=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8E1));
-+#3984=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3985=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#3986=AXIS2_PLACEMENT_3D('',#3983,#3984,#3985);
-+#3988=DIRECTION('',(1.E0,0.E0,0.E0));
-+#3989=VECTOR('',#3988,3.E0);
-+#3990=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.84375E1));
-+#3991=LINE('',#3990,#3989);
-+#3992=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.8E1));
-+#3993=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3994=DIRECTION('',(0.E0,0.E0,1.E0));
-+#3995=AXIS2_PLACEMENT_3D('',#3992,#3993,#3994);
-+#3997=DIRECTION('',(0.E0,1.E0,0.E0));
-+#3998=VECTOR('',#3997,6.875E-1);
-+#3999=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1));
-+#4000=LINE('',#3999,#3998);
-+#4001=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4002=VECTOR('',#4001,6.875E-1);
-+#4003=CARTESIAN_POINT('',(1.65E1,0.E0,3.01875E1));
-+#4004=LINE('',#4003,#4002);
-+#4005=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4006=VECTOR('',#4005,6.875E-1);
-+#4007=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1));
-+#4008=LINE('',#4007,#4006);
-+#4009=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4010=VECTOR('',#4009,6.875E-1);
-+#4011=CARTESIAN_POINT('',(1.35E1,0.E0,3.13125E1));
-+#4012=LINE('',#4011,#4010);
-+#4013=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#4014=VECTOR('',#4013,3.E0);
-+#4015=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.13125E1));
-+#4016=LINE('',#4015,#4014);
-+#4017=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.075E1));
-+#4018=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4019=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#4020=AXIS2_PLACEMENT_3D('',#4017,#4018,#4019);
-+#4022=DIRECTION('',(1.E0,0.E0,0.E0));
-+#4023=VECTOR('',#4022,3.E0);
-+#4024=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.01875E1));
-+#4025=LINE('',#4024,#4023);
-+#4026=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.075E1));
-+#4027=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4028=DIRECTION('',(0.E0,0.E0,1.E0));
-+#4029=AXIS2_PLACEMENT_3D('',#4026,#4027,#4028);
-+#4031=CARTESIAN_POINT('',(2.239E1,6.875E-1,2.75E1));
-+#4032=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4033=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1));
-+#4034=AXIS2_PLACEMENT_3D('',#4031,#4032,#4033);
-+#4036=CARTESIAN_POINT('',(1.65E1,6.875E-1,2.45E1));
-+#4037=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4038=DIRECTION('',(4.496088413988E-1,0.E0,8.932255536739E-1));
-+#4039=AXIS2_PLACEMENT_3D('',#4036,#4037,#4038);
-+#4041=CARTESIAN_POINT('',(1.944696065761E1,6.875E-1,3.035464591145E1));
-+#4042=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4043=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
-+#4044=AXIS2_PLACEMENT_3D('',#4041,#4042,#4043);
-+#4046=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
-+#4047=VECTOR('',#4046,4.263248410977E0);
-+#4048=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,2.795313485357E1));
-+#4049=LINE('',#4048,#4047);
-+#4050=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4051=VECTOR('',#4050,6.875E-1);
-+#4052=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1));
-+#4053=LINE('',#4052,#4051);
-+#4054=CARTESIAN_POINT('',(2.254426323641E1,0.E0,2.742280476768E1));
-+#4055=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4056=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
-+#4057=AXIS2_PLACEMENT_3D('',#4054,#4055,#4056);
-+#4059=DIRECTION('',(0.E0,1.E0,2.067033413120E-14));
-+#4060=VECTOR('',#4059,6.875E-1);
-+#4061=CARTESIAN_POINT('',(2.321497295992E1,0.E0,2.708717332281E1));
-+#4062=LINE('',#4061,#4060);
-+#4063=CARTESIAN_POINT('',(2.254426323641E1,6.875E-1,2.742280476768E1));
-+#4064=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4065=DIRECTION('',(8.942796313519E-1,0.E0,-4.475085931567E-1));
-+#4066=AXIS2_PLACEMENT_3D('',#4063,#4064,#4065);
-+#4068=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4069=VECTOR('',#4068,6.875E-1);
-+#4070=CARTESIAN_POINT('',(2.006002146101E1,0.E0,3.096770671486E1));
-+#4071=LINE('',#4070,#4069);
-+#4072=DIRECTION('',(1.033516706560E-14,1.E0,0.E0));
-+#4073=VECTOR('',#4072,6.875E-1);
-+#4074=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.958022033652E1));
-+#4075=LINE('',#4074,#4073);
-+#4076=DIRECTION('',(-2.067033413120E-14,1.E0,3.100550119680E-14));
-+#4077=VECTOR('',#4076,6.875E-1);
-+#4078=CARTESIAN_POINT('',(2.156798411498E1,0.E0,2.708131618759E1));
-+#4079=LINE('',#4078,#4077);
-+#4080=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4081=VECTOR('',#4080,6.875E-1);
-+#4082=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0));
-+#4083=LINE('',#4082,#4081);
-+#4084=CARTESIAN_POINT('',(2.13075E1,6.875E-1,7.81E0));
-+#4085=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4086=DIRECTION('',(0.E0,0.E0,1.E0));
-+#4087=AXIS2_PLACEMENT_3D('',#4084,#4085,#4086);
-+#4089=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4090=VECTOR('',#4089,6.875E-1);
-+#4091=CARTESIAN_POINT('',(2.21875E1,0.E0,7.81E0));
-+#4092=LINE('',#4091,#4090);
-+#4093=CARTESIAN_POINT('',(2.13075E1,0.E0,7.81E0));
-+#4094=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4095=DIRECTION('',(1.E0,0.E0,0.E0));
-+#4096=AXIS2_PLACEMENT_3D('',#4093,#4094,#4095);
-+#4098=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4099=VECTOR('',#4098,6.875E-1);
-+#4100=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0));
-+#4101=LINE('',#4100,#4099);
-+#4102=CARTESIAN_POINT('',(2.05675E1,6.875E-1,9.57E0));
-+#4103=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4104=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#4105=AXIS2_PLACEMENT_3D('',#4102,#4103,#4104);
-+#4107=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4108=VECTOR('',#4107,6.875E-1);
-+#4109=CARTESIAN_POINT('',(2.05675E1,6.875E-1,8.69E0));
-+#4110=LINE('',#4109,#4108);
-+#4111=CARTESIAN_POINT('',(2.05675E1,0.E0,9.57E0));
-+#4112=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4113=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#4114=AXIS2_PLACEMENT_3D('',#4111,#4112,#4113);
-+#4116=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4117=VECTOR('',#4116,6.875E-1);
-+#4118=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1));
-+#4119=LINE('',#4118,#4117);
-+#4120=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.037E1));
-+#4121=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4122=DIRECTION('',(0.E0,0.E0,1.E0));
-+#4123=AXIS2_PLACEMENT_3D('',#4120,#4121,#4122);
-+#4125=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4126=VECTOR('',#4125,6.875E-1);
-+#4127=CARTESIAN_POINT('',(1.96875E1,6.875E-1,1.037E1));
-+#4128=LINE('',#4127,#4126);
-+#4129=CARTESIAN_POINT('',(2.05675E1,0.E0,1.037E1));
-+#4130=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4131=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#4132=AXIS2_PLACEMENT_3D('',#4129,#4130,#4131);
-+#4134=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4135=VECTOR('',#4134,6.875E-1);
-+#4136=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1));
-+#4137=LINE('',#4136,#4135);
-+#4138=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.037E1));
-+#4139=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4140=DIRECTION('',(1.E0,0.E0,0.E0));
-+#4141=AXIS2_PLACEMENT_3D('',#4138,#4139,#4140);
-+#4143=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4144=VECTOR('',#4143,6.875E-1);
-+#4145=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.125E1));
-+#4146=LINE('',#4145,#4144);
-+#4147=CARTESIAN_POINT('',(2.44325E1,0.E0,1.037E1));
-+#4148=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4149=DIRECTION('',(0.E0,0.E0,1.E0));
-+#4150=AXIS2_PLACEMENT_3D('',#4147,#4148,#4149);
-+#4152=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4153=VECTOR('',#4152,6.875E-1);
-+#4154=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0));
-+#4155=LINE('',#4154,#4153);
-+#4156=CARTESIAN_POINT('',(2.44325E1,6.875E-1,9.57E0));
-+#4157=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4158=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#4159=AXIS2_PLACEMENT_3D('',#4156,#4157,#4158);
-+#4161=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4162=VECTOR('',#4161,6.875E-1);
-+#4163=CARTESIAN_POINT('',(2.53125E1,6.875E-1,9.57E0));
-+#4164=LINE('',#4163,#4162);
-+#4165=CARTESIAN_POINT('',(2.44325E1,0.E0,9.57E0));
-+#4166=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4167=DIRECTION('',(1.E0,0.E0,0.E0));
-+#4168=AXIS2_PLACEMENT_3D('',#4165,#4166,#4167);
-+#4170=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4171=VECTOR('',#4170,6.875E-1);
-+#4172=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0));
-+#4173=LINE('',#4172,#4171);
-+#4174=CARTESIAN_POINT('',(2.419E1,6.875E-1,7.81E0));
-+#4175=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4176=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#4177=AXIS2_PLACEMENT_3D('',#4174,#4175,#4176);
-+#4179=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4180=VECTOR('',#4179,6.875E-1);
-+#4181=CARTESIAN_POINT('',(2.419E1,0.E0,8.69E0));
-+#4182=LINE('',#4181,#4180);
-+#4183=CARTESIAN_POINT('',(2.419E1,0.E0,7.81E0));
-+#4184=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#4185=DIRECTION('',(0.E0,0.E0,1.E0));
-+#4186=AXIS2_PLACEMENT_3D('',#4183,#4184,#4185);
-+#4188=DIRECTION('',(0.E0,1.E0,1.033516706560E-14));
-+#4189=VECTOR('',#4188,6.875E-1);
-+#4190=CARTESIAN_POINT('',(2.331E1,0.E0,7.5E0));
-+#4191=LINE('',#4190,#4189);
-+#4192=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4193=VECTOR('',#4192,6.875E-1);
-+#4194=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0));
-+#4195=LINE('',#4194,#4193);
-+#4196=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#4197=VECTOR('',#4196,2.425E-1);
-+#4198=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0));
-+#4199=LINE('',#4198,#4197);
-+#4200=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#4201=VECTOR('',#4200,3.1E-1);
-+#4202=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.81E0));
-+#4203=LINE('',#4202,#4201);
-+#4204=CARTESIAN_POINT('',(2.274875E1,6.875E-1,7.5E0));
-+#4205=DIRECTION('',(0.E0,1.E0,0.E0));
-+#4206=DIRECTION('',(1.E0,0.E0,0.E0));
-+#4207=AXIS2_PLACEMENT_3D('',#4204,#4205,#4206);
-+#4209=DIRECTION('',(0.E0,0.E0,1.E0));
-+#4210=VECTOR('',#4209,3.1E-1);
-+#4211=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.5E0));
-+#4212=LINE('',#4211,#4210);
-+#4213=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#4214=VECTOR('',#4213,7.4E-1);
-+#4215=CARTESIAN_POINT('',(2.13075E1,6.875E-1,8.69E0));
-+#4216=LINE('',#4215,#4214);
-+#4217=DIRECTION('',(0.E0,0.E0,1.E0));
-+#4218=VECTOR('',#4217,8.E-1);
-+#4219=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0));
-+#4220=LINE('',#4219,#4218);
-+#4221=DIRECTION('',(1.E0,0.E0,0.E0));
-+#4222=VECTOR('',#4221,3.865E0);
-+#4223=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1));
-+#4224=LINE('',#4223,#4222);
-+#4225=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#4226=VECTOR('',#4225,8.E-1);
-+#4227=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1));
-+#4228=LINE('',#4227,#4226);
-+#4229=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
-+#4230=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1));
-+#4231=VERTEX_POINT('',#4229);
-+#4232=VERTEX_POINT('',#4230);
-+#4233=CARTESIAN_POINT('',(2.E1,0.E0,3.2E1));
-+#4234=CARTESIAN_POINT('',(2.E1,1.5E0,3.2E1));
-+#4235=VERTEX_POINT('',#4233);
-+#4236=VERTEX_POINT('',#4234);
-+#4237=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
-+#4238=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0));
-+#4239=VERTEX_POINT('',#4237);
-+#4240=VERTEX_POINT('',#4238);
-+#4241=CARTESIAN_POINT('',(2.4E1,0.E0,4.E0));
-+#4242=CARTESIAN_POINT('',(2.4E1,1.5E0,4.E0));
-+#4243=VERTEX_POINT('',#4241);
-+#4244=VERTEX_POINT('',#4242);
-+#4245=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
-+#4246=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1));
-+#4247=VERTEX_POINT('',#4245);
-+#4248=VERTEX_POINT('',#4246);
-+#4249=CARTESIAN_POINT('',(0.E0,0.E0,2.8E1));
-+#4250=CARTESIAN_POINT('',(0.E0,1.5E0,2.8E1));
-+#4251=VERTEX_POINT('',#4249);
-+#4252=VERTEX_POINT('',#4250);
-+#4253=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
-+#4254=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0));
-+#4255=VERTEX_POINT('',#4253);
-+#4256=VERTEX_POINT('',#4254);
-+#4257=CARTESIAN_POINT('',(4.E0,0.E0,0.E0));
-+#4258=CARTESIAN_POINT('',(4.E0,1.5E0,0.E0));
-+#4259=VERTEX_POINT('',#4257);
-+#4260=VERTEX_POINT('',#4258);
-+#4261=CARTESIAN_POINT('',(7.5E0,1.5E0,2.5E0));
-+#4262=CARTESIAN_POINT('',(7.5E0,0.E0,2.5E0));
-+#4263=VERTEX_POINT('',#4261);
-+#4264=VERTEX_POINT('',#4262);
-+#4265=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0));
-+#4266=CARTESIAN_POINT('',(1.65E1,0.E0,2.5E0));
-+#4267=VERTEX_POINT('',#4265);
-+#4268=VERTEX_POINT('',#4266);
-+#4269=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1));
-+#4270=CARTESIAN_POINT('',(7.5E0,0.E0,2.95E1));
-+#4271=VERTEX_POINT('',#4269);
-+#4272=VERTEX_POINT('',#4270);
-+#4273=CARTESIAN_POINT('',(2.5E0,1.5E0,2.45E1));
-+#4274=CARTESIAN_POINT('',(2.5E0,0.E0,2.45E1));
-+#4275=VERTEX_POINT('',#4273);
-+#4276=VERTEX_POINT('',#4274);
-+#4277=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1));
-+#4278=CARTESIAN_POINT('',(2.15E1,0.E0,2.45E1));
-+#4279=VERTEX_POINT('',#4277);
-+#4280=VERTEX_POINT('',#4278);
-+#4281=CARTESIAN_POINT('',(1.65E1,1.5E0,2.95E1));
-+#4282=CARTESIAN_POINT('',(1.65E1,0.E0,2.95E1));
-+#4283=VERTEX_POINT('',#4281);
-+#4284=VERTEX_POINT('',#4282);
-+#4285=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
-+#4286=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0));
-+#4287=VERTEX_POINT('',#4285);
-+#4288=VERTEX_POINT('',#4286);
-+#4289=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0));
-+#4290=VERTEX_POINT('',#4289);
-+#4291=CARTESIAN_POINT('',(5.E0,1.15E1,1.E1));
-+#4292=CARTESIAN_POINT('',(3.E0,1.15E1,1.E1));
-+#4293=VERTEX_POINT('',#4291);
-+#4294=VERTEX_POINT('',#4292);
-+#4295=CARTESIAN_POINT('',(-2.E0,2.5E0,1.E1));
-+#4296=VERTEX_POINT('',#4295);
-+#4297=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1));
-+#4298=VERTEX_POINT('',#4297);
-+#4299=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0));
-+#4300=VERTEX_POINT('',#4299);
-+#4301=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1));
-+#4302=CARTESIAN_POINT('',(2.5E0,0.E0,1.325E1));
-+#4303=VERTEX_POINT('',#4301);
-+#4304=VERTEX_POINT('',#4302);
-+#4305=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1));
-+#4306=CARTESIAN_POINT('',(3.5E0,0.E0,1.225E1));
-+#4307=VERTEX_POINT('',#4305);
-+#4308=VERTEX_POINT('',#4306);
-+#4309=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1));
-+#4310=CARTESIAN_POINT('',(0.E0,1.5E0,1.325E1));
-+#4311=VERTEX_POINT('',#4309);
-+#4312=VERTEX_POINT('',#4310);
-+#4313=CARTESIAN_POINT('',(-1.E0,0.E0,1.225E1));
-+#4314=CARTESIAN_POINT('',(-1.E0,1.5E0,1.225E1));
-+#4315=VERTEX_POINT('',#4313);
-+#4316=VERTEX_POINT('',#4314);
-+#4317=CARTESIAN_POINT('',(0.E0,1.5E0,7.E0));
-+#4318=CARTESIAN_POINT('',(0.E0,0.E0,7.E0));
-+#4319=VERTEX_POINT('',#4317);
-+#4320=VERTEX_POINT('',#4318);
-+#4321=CARTESIAN_POINT('',(-1.E0,1.5E0,8.E0));
-+#4322=CARTESIAN_POINT('',(-1.E0,0.E0,8.E0));
-+#4323=VERTEX_POINT('',#4321);
-+#4324=VERTEX_POINT('',#4322);
-+#4325=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0));
-+#4326=CARTESIAN_POINT('',(3.531373033403E0,0.E0,8.E0));
-+#4327=VERTEX_POINT('',#4325);
-+#4328=VERTEX_POINT('',#4326);
-+#4329=CARTESIAN_POINT('',(2.539216291754E0,1.5E0,6.875E0));
-+#4330=CARTESIAN_POINT('',(2.539216291754E0,0.E0,6.875E0));
-+#4331=VERTEX_POINT('',#4329);
-+#4332=VERTEX_POINT('',#4330);
-+#4333=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
-+#4334=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1));
-+#4335=VERTEX_POINT('',#4333);
-+#4336=VERTEX_POINT('',#4334);
-+#4337=CARTESIAN_POINT('',(4.5E0,0.E0,1.225E1));
-+#4338=CARTESIAN_POINT('',(4.5E0,1.5E0,1.225E1));
-+#4339=VERTEX_POINT('',#4337);
-+#4340=VERTEX_POINT('',#4338);
-+#4341=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
-+#4342=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1));
-+#4343=VERTEX_POINT('',#4341);
-+#4344=VERTEX_POINT('',#4342);
-+#4345=CARTESIAN_POINT('',(-2.E0,0.E0,1.175E1));
-+#4346=CARTESIAN_POINT('',(-2.E0,1.5E0,1.175E1));
-+#4347=VERTEX_POINT('',#4345);
-+#4348=VERTEX_POINT('',#4346);
-+#4349=CARTESIAN_POINT('',(4.095E0,1.1125E1,9.E0));
-+#4350=CARTESIAN_POINT('',(3.905E0,1.1125E1,9.E0));
-+#4351=VERTEX_POINT('',#4349);
-+#4352=VERTEX_POINT('',#4350);
-+#4353=CARTESIAN_POINT('',(4.095E0,1.15E1,9.E0));
-+#4354=CARTESIAN_POINT('',(3.905E0,1.15E1,9.E0));
-+#4355=VERTEX_POINT('',#4353);
-+#4356=VERTEX_POINT('',#4354);
-+#4357=CARTESIAN_POINT('',(3.929917478528E0,1.125E1,9.132582521472E0));
-+#4358=CARTESIAN_POINT('',(3.804917478528E0,1.125E1,9.132582521472E0));
-+#4359=VERTEX_POINT('',#4357);
-+#4360=VERTEX_POINT('',#4358);
-+#4361=CARTESIAN_POINT('',(3.929917478528E0,1.15E1,9.132582521472E0));
-+#4362=CARTESIAN_POINT('',(3.804917478528E0,1.15E1,9.132582521472E0));
-+#4363=VERTEX_POINT('',#4361);
-+#4364=VERTEX_POINT('',#4362);
-+#4365=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1));
-+#4366=CARTESIAN_POINT('',(6.55E0,1.25E0,2.975E1));
-+#4367=VERTEX_POINT('',#4365);
-+#4368=VERTEX_POINT('',#4366);
-+#4369=CARTESIAN_POINT('',(6.35E0,1.25E0,2.975E1));
-+#4370=VERTEX_POINT('',#4369);
-+#4371=CARTESIAN_POINT('',(6.35E0,1.5E0,2.975E1));
-+#4372=CARTESIAN_POINT('',(6.55E0,1.5E0,2.975E1));
-+#4373=VERTEX_POINT('',#4371);
-+#4374=VERTEX_POINT('',#4372);
-+#4375=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1));
-+#4376=CARTESIAN_POINT('',(7.55E0,1.25E0,2.975E1));
-+#4377=VERTEX_POINT('',#4375);
-+#4378=VERTEX_POINT('',#4376);
-+#4379=CARTESIAN_POINT('',(7.35E0,1.25E0,2.975E1));
-+#4380=VERTEX_POINT('',#4379);
-+#4381=CARTESIAN_POINT('',(7.35E0,1.5E0,2.975E1));
-+#4382=CARTESIAN_POINT('',(7.55E0,1.5E0,2.975E1));
-+#4383=VERTEX_POINT('',#4381);
-+#4384=VERTEX_POINT('',#4382);
-+#4385=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
-+#4386=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0));
-+#4387=VERTEX_POINT('',#4385);
-+#4388=VERTEX_POINT('',#4386);
-+#4389=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0));
-+#4390=VERTEX_POINT('',#4389);
-+#4391=CARTESIAN_POINT('',(1.9E1,1.15E1,1.E1));
-+#4392=CARTESIAN_POINT('',(2.1E1,1.15E1,1.E1));
-+#4393=VERTEX_POINT('',#4391);
-+#4394=VERTEX_POINT('',#4392);
-+#4395=CARTESIAN_POINT('',(2.6E1,2.5E0,1.E1));
-+#4396=VERTEX_POINT('',#4395);
-+#4397=CARTESIAN_POINT('',(2.6E1,1.5E0,1.E1));
-+#4398=VERTEX_POINT('',#4397);
-+#4399=CARTESIAN_POINT('',(2.6E1,0.E0,8.E0));
-+#4400=VERTEX_POINT('',#4399);
-+#4401=CARTESIAN_POINT('',(2.4E1,1.5E0,1.325E1));
-+#4402=CARTESIAN_POINT('',(2.4E1,0.E0,1.325E1));
-+#4403=VERTEX_POINT('',#4401);
-+#4404=VERTEX_POINT('',#4402);
-+#4405=CARTESIAN_POINT('',(2.5E1,1.5E0,1.225E1));
-+#4406=CARTESIAN_POINT('',(2.5E1,0.E0,1.225E1));
-+#4407=VERTEX_POINT('',#4405);
-+#4408=VERTEX_POINT('',#4406);
-+#4409=CARTESIAN_POINT('',(2.15E1,0.E0,1.325E1));
-+#4410=CARTESIAN_POINT('',(2.15E1,1.5E0,1.325E1));
-+#4411=VERTEX_POINT('',#4409);
-+#4412=VERTEX_POINT('',#4410);
-+#4413=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1));
-+#4414=CARTESIAN_POINT('',(2.05E1,1.5E0,1.225E1));
-+#4415=VERTEX_POINT('',#4413);
-+#4416=VERTEX_POINT('',#4414);
-+#4417=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0));
-+#4418=CARTESIAN_POINT('',(2.4E1,1.5E0,7.E0));
-+#4419=VERTEX_POINT('',#4417);
-+#4420=VERTEX_POINT('',#4418);
-+#4421=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0));
-+#4422=CARTESIAN_POINT('',(2.5E1,1.5E0,8.E0));
-+#4423=VERTEX_POINT('',#4421);
-+#4424=VERTEX_POINT('',#4422);
-+#4425=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0));
-+#4426=CARTESIAN_POINT('',(2.046862696660E1,1.5E0,8.E0));
-+#4427=VERTEX_POINT('',#4425);
-+#4428=VERTEX_POINT('',#4426);
-+#4429=CARTESIAN_POINT('',(2.146078370825E1,0.E0,6.875E0));
-+#4430=CARTESIAN_POINT('',(2.146078370825E1,1.5E0,6.875E0));
-+#4431=VERTEX_POINT('',#4429);
-+#4432=VERTEX_POINT('',#4430);
-+#4433=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
-+#4434=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1));
-+#4435=VERTEX_POINT('',#4433);
-+#4436=VERTEX_POINT('',#4434);
-+#4437=CARTESIAN_POINT('',(1.95E1,1.5E0,1.225E1));
-+#4438=CARTESIAN_POINT('',(1.95E1,0.E0,1.225E1));
-+#4439=VERTEX_POINT('',#4437);
-+#4440=VERTEX_POINT('',#4438);
-+#4441=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
-+#4442=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1));
-+#4443=VERTEX_POINT('',#4441);
-+#4444=VERTEX_POINT('',#4442);
-+#4445=CARTESIAN_POINT('',(2.6E1,1.5E0,1.175E1));
-+#4446=CARTESIAN_POINT('',(2.6E1,0.E0,1.175E1));
-+#4447=VERTEX_POINT('',#4445);
-+#4448=VERTEX_POINT('',#4446);
-+#4449=CARTESIAN_POINT('',(1.9905E1,1.1125E1,9.E0));
-+#4450=CARTESIAN_POINT('',(2.0095E1,1.1125E1,9.E0));
-+#4451=VERTEX_POINT('',#4449);
-+#4452=VERTEX_POINT('',#4450);
-+#4453=CARTESIAN_POINT('',(1.9905E1,1.15E1,9.E0));
-+#4454=CARTESIAN_POINT('',(2.0095E1,1.15E1,9.E0));
-+#4455=VERTEX_POINT('',#4453);
-+#4456=VERTEX_POINT('',#4454);
-+#4457=CARTESIAN_POINT('',(2.007008252147E1,1.125E1,9.132582521472E0));
-+#4458=CARTESIAN_POINT('',(2.019508252147E1,1.125E1,9.132582521472E0));
-+#4459=VERTEX_POINT('',#4457);
-+#4460=VERTEX_POINT('',#4458);
-+#4461=CARTESIAN_POINT('',(2.007008252147E1,1.15E1,9.132582521472E0));
-+#4462=CARTESIAN_POINT('',(2.019508252147E1,1.15E1,9.132582521472E0));
-+#4463=VERTEX_POINT('',#4461);
-+#4464=VERTEX_POINT('',#4462);
-+#4465=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1));
-+#4466=CARTESIAN_POINT('',(1.745E1,1.25E0,2.975E1));
-+#4467=VERTEX_POINT('',#4465);
-+#4468=VERTEX_POINT('',#4466);
-+#4469=CARTESIAN_POINT('',(1.765E1,1.25E0,2.975E1));
-+#4470=VERTEX_POINT('',#4469);
-+#4471=CARTESIAN_POINT('',(1.765E1,1.5E0,2.975E1));
-+#4472=CARTESIAN_POINT('',(1.745E1,1.5E0,2.975E1));
-+#4473=VERTEX_POINT('',#4471);
-+#4474=VERTEX_POINT('',#4472);
-+#4475=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1));
-+#4476=CARTESIAN_POINT('',(1.645E1,1.25E0,2.975E1));
-+#4477=VERTEX_POINT('',#4475);
-+#4478=VERTEX_POINT('',#4476);
-+#4479=CARTESIAN_POINT('',(1.665E1,1.25E0,2.975E1));
-+#4480=VERTEX_POINT('',#4479);
-+#4481=CARTESIAN_POINT('',(1.665E1,1.5E0,2.975E1));
-+#4482=CARTESIAN_POINT('',(1.645E1,1.5E0,2.975E1));
-+#4483=VERTEX_POINT('',#4481);
-+#4484=VERTEX_POINT('',#4482);
-+#4485=CARTESIAN_POINT('',(1.3175E0,0.E0,6.E0));
-+#4486=CARTESIAN_POINT('',(9.325E-1,0.E0,6.E0));
-+#4487=VERTEX_POINT('',#4485);
-+#4488=VERTEX_POINT('',#4486);
-+#4489=CARTESIAN_POINT('',(1.3825E0,1.E0,6.E0));
-+#4490=CARTESIAN_POINT('',(8.675E-1,1.E0,6.E0));
-+#4491=VERTEX_POINT('',#4489);
-+#4492=VERTEX_POINT('',#4490);
-+#4493=CARTESIAN_POINT('',(1.3825E0,1.5E0,6.E0));
-+#4494=CARTESIAN_POINT('',(8.675E-1,1.5E0,6.E0));
-+#4495=VERTEX_POINT('',#4493);
-+#4496=VERTEX_POINT('',#4494);
-+#4497=CARTESIAN_POINT('',(1.3175E0,1.E0,6.E0));
-+#4498=CARTESIAN_POINT('',(9.325E-1,1.E0,6.E0));
-+#4499=VERTEX_POINT('',#4497);
-+#4500=VERTEX_POINT('',#4498);
-+#4501=CARTESIAN_POINT('',(1.3175E0,0.E0,1.2E1));
-+#4502=CARTESIAN_POINT('',(9.325E-1,0.E0,1.2E1));
-+#4503=VERTEX_POINT('',#4501);
-+#4504=VERTEX_POINT('',#4502);
-+#4505=CARTESIAN_POINT('',(1.3175E0,0.E0,1.8E1));
-+#4506=CARTESIAN_POINT('',(9.325E-1,0.E0,1.8E1));
-+#4507=VERTEX_POINT('',#4505);
-+#4508=VERTEX_POINT('',#4506);
-+#4509=CARTESIAN_POINT('',(1.3175E0,0.E0,2.4E1));
-+#4510=CARTESIAN_POINT('',(9.325E-1,0.E0,2.4E1));
-+#4511=VERTEX_POINT('',#4509);
-+#4512=VERTEX_POINT('',#4510);
-+#4513=CARTESIAN_POINT('',(2.30675E1,0.E0,6.E0));
-+#4514=CARTESIAN_POINT('',(2.26825E1,0.E0,6.E0));
-+#4515=VERTEX_POINT('',#4513);
-+#4516=VERTEX_POINT('',#4514);
-+#4517=CARTESIAN_POINT('',(2.30675E1,0.E0,1.2E1));
-+#4518=CARTESIAN_POINT('',(2.26825E1,0.E0,1.2E1));
-+#4519=VERTEX_POINT('',#4517);
-+#4520=VERTEX_POINT('',#4518);
-+#4521=CARTESIAN_POINT('',(2.30675E1,0.E0,1.8E1));
-+#4522=CARTESIAN_POINT('',(2.26825E1,0.E0,1.8E1));
-+#4523=VERTEX_POINT('',#4521);
-+#4524=VERTEX_POINT('',#4522);
-+#4525=CARTESIAN_POINT('',(2.30675E1,0.E0,2.4E1));
-+#4526=CARTESIAN_POINT('',(2.26825E1,0.E0,2.4E1));
-+#4527=VERTEX_POINT('',#4525);
-+#4528=VERTEX_POINT('',#4526);
-+#4529=CARTESIAN_POINT('',(1.3825E0,1.E0,1.2E1));
-+#4530=CARTESIAN_POINT('',(8.675E-1,1.E0,1.2E1));
-+#4531=VERTEX_POINT('',#4529);
-+#4532=VERTEX_POINT('',#4530);
-+#4533=CARTESIAN_POINT('',(1.3175E0,1.E0,1.2E1));
-+#4534=CARTESIAN_POINT('',(9.325E-1,1.E0,1.2E1));
-+#4535=VERTEX_POINT('',#4533);
-+#4536=VERTEX_POINT('',#4534);
-+#4537=CARTESIAN_POINT('',(1.3825E0,1.E0,1.8E1));
-+#4538=CARTESIAN_POINT('',(8.675E-1,1.E0,1.8E1));
-+#4539=VERTEX_POINT('',#4537);
-+#4540=VERTEX_POINT('',#4538);
-+#4541=CARTESIAN_POINT('',(1.3825E0,1.5E0,1.8E1));
-+#4542=CARTESIAN_POINT('',(8.675E-1,1.5E0,1.8E1));
-+#4543=VERTEX_POINT('',#4541);
-+#4544=VERTEX_POINT('',#4542);
-+#4545=CARTESIAN_POINT('',(1.3175E0,1.E0,1.8E1));
-+#4546=CARTESIAN_POINT('',(9.325E-1,1.E0,1.8E1));
-+#4547=VERTEX_POINT('',#4545);
-+#4548=VERTEX_POINT('',#4546);
-+#4549=CARTESIAN_POINT('',(1.3825E0,1.E0,2.4E1));
-+#4550=CARTESIAN_POINT('',(8.675E-1,1.E0,2.4E1));
-+#4551=VERTEX_POINT('',#4549);
-+#4552=VERTEX_POINT('',#4550);
-+#4553=CARTESIAN_POINT('',(1.3825E0,1.5E0,2.4E1));
-+#4554=CARTESIAN_POINT('',(8.675E-1,1.5E0,2.4E1));
-+#4555=VERTEX_POINT('',#4553);
-+#4556=VERTEX_POINT('',#4554);
-+#4557=CARTESIAN_POINT('',(1.3175E0,1.E0,2.4E1));
-+#4558=CARTESIAN_POINT('',(9.325E-1,1.E0,2.4E1));
-+#4559=VERTEX_POINT('',#4557);
-+#4560=VERTEX_POINT('',#4558);
-+#4561=CARTESIAN_POINT('',(2.31325E1,1.E0,6.E0));
-+#4562=CARTESIAN_POINT('',(2.26175E1,1.E0,6.E0));
-+#4563=VERTEX_POINT('',#4561);
-+#4564=VERTEX_POINT('',#4562);
-+#4565=CARTESIAN_POINT('',(2.31325E1,1.5E0,6.E0));
-+#4566=CARTESIAN_POINT('',(2.26175E1,1.5E0,6.E0));
-+#4567=VERTEX_POINT('',#4565);
-+#4568=VERTEX_POINT('',#4566);
-+#4569=CARTESIAN_POINT('',(2.30675E1,1.E0,6.E0));
-+#4570=CARTESIAN_POINT('',(2.26825E1,1.E0,6.E0));
-+#4571=VERTEX_POINT('',#4569);
-+#4572=VERTEX_POINT('',#4570);
-+#4573=CARTESIAN_POINT('',(2.31325E1,1.E0,1.2E1));
-+#4574=CARTESIAN_POINT('',(2.26175E1,1.E0,1.2E1));
-+#4575=VERTEX_POINT('',#4573);
-+#4576=VERTEX_POINT('',#4574);
-+#4577=CARTESIAN_POINT('',(2.30675E1,1.E0,1.2E1));
-+#4578=CARTESIAN_POINT('',(2.26825E1,1.E0,1.2E1));
-+#4579=VERTEX_POINT('',#4577);
-+#4580=VERTEX_POINT('',#4578);
-+#4581=CARTESIAN_POINT('',(2.31325E1,1.E0,1.8E1));
-+#4582=CARTESIAN_POINT('',(2.26175E1,1.E0,1.8E1));
-+#4583=VERTEX_POINT('',#4581);
-+#4584=VERTEX_POINT('',#4582);
-+#4585=CARTESIAN_POINT('',(2.31325E1,1.5E0,1.8E1));
-+#4586=CARTESIAN_POINT('',(2.26175E1,1.5E0,1.8E1));
-+#4587=VERTEX_POINT('',#4585);
-+#4588=VERTEX_POINT('',#4586);
-+#4589=CARTESIAN_POINT('',(2.30675E1,1.E0,1.8E1));
-+#4590=CARTESIAN_POINT('',(2.26825E1,1.E0,1.8E1));
-+#4591=VERTEX_POINT('',#4589);
-+#4592=VERTEX_POINT('',#4590);
-+#4593=CARTESIAN_POINT('',(2.31325E1,1.E0,2.4E1));
-+#4594=CARTESIAN_POINT('',(2.26175E1,1.E0,2.4E1));
-+#4595=VERTEX_POINT('',#4593);
-+#4596=VERTEX_POINT('',#4594);
-+#4597=CARTESIAN_POINT('',(2.31325E1,1.5E0,2.4E1));
-+#4598=CARTESIAN_POINT('',(2.26175E1,1.5E0,2.4E1));
-+#4599=VERTEX_POINT('',#4597);
-+#4600=VERTEX_POINT('',#4598);
-+#4601=CARTESIAN_POINT('',(2.30675E1,1.E0,2.4E1));
-+#4602=CARTESIAN_POINT('',(2.26825E1,1.E0,2.4E1));
-+#4603=VERTEX_POINT('',#4601);
-+#4604=VERTEX_POINT('',#4602);
-+#4605=CARTESIAN_POINT('',(6.1925E0,0.E0,1.25E0));
-+#4606=CARTESIAN_POINT('',(5.8075E0,0.E0,1.25E0));
-+#4607=VERTEX_POINT('',#4605);
-+#4608=VERTEX_POINT('',#4606);
-+#4609=CARTESIAN_POINT('',(6.256E0,1.E0,1.25E0));
-+#4610=CARTESIAN_POINT('',(5.744E0,1.E0,1.25E0));
-+#4611=VERTEX_POINT('',#4609);
-+#4612=VERTEX_POINT('',#4610);
-+#4613=CARTESIAN_POINT('',(6.256E0,1.5E0,1.25E0));
-+#4614=CARTESIAN_POINT('',(5.744E0,1.5E0,1.25E0));
-+#4615=VERTEX_POINT('',#4613);
-+#4616=VERTEX_POINT('',#4614);
-+#4617=CARTESIAN_POINT('',(6.1925E0,1.E0,1.25E0));
-+#4618=CARTESIAN_POINT('',(5.8075E0,1.E0,1.25E0));
-+#4619=VERTEX_POINT('',#4617);
-+#4620=VERTEX_POINT('',#4618);
-+#4621=CARTESIAN_POINT('',(1.21925E1,0.E0,1.25E0));
-+#4622=CARTESIAN_POINT('',(1.18075E1,0.E0,1.25E0));
-+#4623=VERTEX_POINT('',#4621);
-+#4624=VERTEX_POINT('',#4622);
-+#4625=CARTESIAN_POINT('',(6.1925E0,0.E0,3.075E1));
-+#4626=CARTESIAN_POINT('',(5.8075E0,0.E0,3.075E1));
-+#4627=VERTEX_POINT('',#4625);
-+#4628=VERTEX_POINT('',#4626);
-+#4629=CARTESIAN_POINT('',(1.21925E1,0.E0,3.075E1));
-+#4630=CARTESIAN_POINT('',(1.18075E1,0.E0,3.075E1));
-+#4631=VERTEX_POINT('',#4629);
-+#4632=VERTEX_POINT('',#4630);
-+#4633=CARTESIAN_POINT('',(1.81925E1,0.E0,1.25E0));
-+#4634=CARTESIAN_POINT('',(1.78075E1,0.E0,1.25E0));
-+#4635=VERTEX_POINT('',#4633);
-+#4636=VERTEX_POINT('',#4634);
-+#4637=CARTESIAN_POINT('',(1.81925E1,0.E0,3.075E1));
-+#4638=CARTESIAN_POINT('',(1.78075E1,0.E0,3.075E1));
-+#4639=VERTEX_POINT('',#4637);
-+#4640=VERTEX_POINT('',#4638);
-+#4641=CARTESIAN_POINT('',(1.2256E1,1.E0,1.25E0));
-+#4642=CARTESIAN_POINT('',(1.1744E1,1.E0,1.25E0));
-+#4643=VERTEX_POINT('',#4641);
-+#4644=VERTEX_POINT('',#4642);
-+#4645=CARTESIAN_POINT('',(1.2256E1,1.5E0,1.25E0));
-+#4646=CARTESIAN_POINT('',(1.1744E1,1.5E0,1.25E0));
-+#4647=VERTEX_POINT('',#4645);
-+#4648=VERTEX_POINT('',#4646);
-+#4649=CARTESIAN_POINT('',(1.21925E1,1.E0,1.25E0));
-+#4650=CARTESIAN_POINT('',(1.18075E1,1.E0,1.25E0));
-+#4651=VERTEX_POINT('',#4649);
-+#4652=VERTEX_POINT('',#4650);
-+#4653=CARTESIAN_POINT('',(1.8256E1,1.E0,1.25E0));
-+#4654=CARTESIAN_POINT('',(1.7744E1,1.E0,1.25E0));
-+#4655=VERTEX_POINT('',#4653);
-+#4656=VERTEX_POINT('',#4654);
-+#4657=CARTESIAN_POINT('',(1.8256E1,1.5E0,1.25E0));
-+#4658=CARTESIAN_POINT('',(1.7744E1,1.5E0,1.25E0));
-+#4659=VERTEX_POINT('',#4657);
-+#4660=VERTEX_POINT('',#4658);
-+#4661=CARTESIAN_POINT('',(1.81925E1,1.E0,1.25E0));
-+#4662=CARTESIAN_POINT('',(1.78075E1,1.E0,1.25E0));
-+#4663=VERTEX_POINT('',#4661);
-+#4664=VERTEX_POINT('',#4662);
-+#4665=CARTESIAN_POINT('',(6.256E0,1.E0,3.075E1));
-+#4666=CARTESIAN_POINT('',(5.744E0,1.E0,3.075E1));
-+#4667=VERTEX_POINT('',#4665);
-+#4668=VERTEX_POINT('',#4666);
-+#4669=CARTESIAN_POINT('',(6.256E0,1.5E0,3.075E1));
-+#4670=CARTESIAN_POINT('',(5.744E0,1.5E0,3.075E1));
-+#4671=VERTEX_POINT('',#4669);
-+#4672=VERTEX_POINT('',#4670);
-+#4673=CARTESIAN_POINT('',(6.1925E0,1.E0,3.075E1));
-+#4674=CARTESIAN_POINT('',(5.8075E0,1.E0,3.075E1));
-+#4675=VERTEX_POINT('',#4673);
-+#4676=VERTEX_POINT('',#4674);
-+#4677=CARTESIAN_POINT('',(1.2256E1,1.E0,3.075E1));
-+#4678=CARTESIAN_POINT('',(1.1744E1,1.E0,3.075E1));
-+#4679=VERTEX_POINT('',#4677);
-+#4680=VERTEX_POINT('',#4678);
-+#4681=CARTESIAN_POINT('',(1.2256E1,1.5E0,3.075E1));
-+#4682=CARTESIAN_POINT('',(1.1744E1,1.5E0,3.075E1));
-+#4683=VERTEX_POINT('',#4681);
-+#4684=VERTEX_POINT('',#4682);
-+#4685=CARTESIAN_POINT('',(1.21925E1,1.E0,3.075E1));
-+#4686=CARTESIAN_POINT('',(1.18075E1,1.E0,3.075E1));
-+#4687=VERTEX_POINT('',#4685);
-+#4688=VERTEX_POINT('',#4686);
-+#4689=CARTESIAN_POINT('',(1.8256E1,1.E0,3.075E1));
-+#4690=CARTESIAN_POINT('',(1.7744E1,1.E0,3.075E1));
-+#4691=VERTEX_POINT('',#4689);
-+#4692=VERTEX_POINT('',#4690);
-+#4693=CARTESIAN_POINT('',(1.8256E1,1.5E0,3.075E1));
-+#4694=CARTESIAN_POINT('',(1.7744E1,1.5E0,3.075E1));
-+#4695=VERTEX_POINT('',#4693);
-+#4696=VERTEX_POINT('',#4694);
-+#4697=CARTESIAN_POINT('',(1.81925E1,1.E0,3.075E1));
-+#4698=CARTESIAN_POINT('',(1.78075E1,1.E0,3.075E1));
-+#4699=VERTEX_POINT('',#4697);
-+#4700=VERTEX_POINT('',#4698);
-+#4701=CARTESIAN_POINT('',(4.4125E0,1.05E1,8.E0));
-+#4702=CARTESIAN_POINT('',(4.0875E0,1.05E1,8.E0));
-+#4703=VERTEX_POINT('',#4701);
-+#4704=VERTEX_POINT('',#4702);
-+#4705=CARTESIAN_POINT('',(4.4125E0,1.05E1,1.E1));
-+#4706=CARTESIAN_POINT('',(4.0875E0,1.05E1,1.E1));
-+#4707=VERTEX_POINT('',#4705);
-+#4708=VERTEX_POINT('',#4706);
-+#4709=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.25E0));
-+#4710=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.25E0));
-+#4711=VERTEX_POINT('',#4709);
-+#4712=VERTEX_POINT('',#4710);
-+#4713=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.E0));
-+#4714=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.E0));
-+#4715=VERTEX_POINT('',#4713);
-+#4716=VERTEX_POINT('',#4714);
-+#4717=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.25E0));
-+#4718=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.25E0));
-+#4719=VERTEX_POINT('',#4717);
-+#4720=VERTEX_POINT('',#4718);
-+#4721=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.E0));
-+#4722=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.E0));
-+#4723=VERTEX_POINT('',#4721);
-+#4724=VERTEX_POINT('',#4722);
-+#4725=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.25E0));
-+#4726=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.25E0));
-+#4727=VERTEX_POINT('',#4725);
-+#4728=VERTEX_POINT('',#4726);
-+#4729=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.E0));
-+#4730=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.E0));
-+#4731=VERTEX_POINT('',#4729);
-+#4732=VERTEX_POINT('',#4730);
-+#4733=CARTESIAN_POINT('',(1.95875E1,1.05E1,8.E0));
-+#4734=CARTESIAN_POINT('',(1.99125E1,1.05E1,8.E0));
-+#4735=VERTEX_POINT('',#4733);
-+#4736=VERTEX_POINT('',#4734);
-+#4737=CARTESIAN_POINT('',(1.95875E1,1.05E1,1.E1));
-+#4738=CARTESIAN_POINT('',(1.99125E1,1.05E1,1.E1));
-+#4739=VERTEX_POINT('',#4737);
-+#4740=VERTEX_POINT('',#4738);
-+#4741=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.25E0));
-+#4742=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.25E0));
-+#4743=VERTEX_POINT('',#4741);
-+#4744=VERTEX_POINT('',#4742);
-+#4745=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.E0));
-+#4746=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.E0));
-+#4747=VERTEX_POINT('',#4745);
-+#4748=VERTEX_POINT('',#4746);
-+#4749=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.25E0));
-+#4750=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.25E0));
-+#4751=VERTEX_POINT('',#4749);
-+#4752=VERTEX_POINT('',#4750);
-+#4753=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.E0));
-+#4754=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.E0));
-+#4755=VERTEX_POINT('',#4753);
-+#4756=VERTEX_POINT('',#4754);
-+#4757=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.25E0));
-+#4758=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.25E0));
-+#4759=VERTEX_POINT('',#4757);
-+#4760=VERTEX_POINT('',#4758);
-+#4761=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.E0));
-+#4762=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.E0));
-+#4763=VERTEX_POINT('',#4761);
-+#4764=VERTEX_POINT('',#4762);
-+#4765=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
-+#4766=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
-+#4767=VERTEX_POINT('',#4765);
-+#4768=VERTEX_POINT('',#4766);
-+#4769=CARTESIAN_POINT('',(5.E0,1.5E0,1.1E1));
-+#4770=CARTESIAN_POINT('',(5.E0,0.E0,1.1E1));
-+#4771=VERTEX_POINT('',#4769);
-+#4772=VERTEX_POINT('',#4770);
-+#4773=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1));
-+#4774=CARTESIAN_POINT('',(6.E0,0.E0,1.E1));
-+#4775=VERTEX_POINT('',#4773);
-+#4776=VERTEX_POINT('',#4774);
-+#4777=CARTESIAN_POINT('',(1.9E1,0.E0,1.1E1));
-+#4778=CARTESIAN_POINT('',(1.9E1,1.5E0,1.1E1));
-+#4779=VERTEX_POINT('',#4777);
-+#4780=VERTEX_POINT('',#4778);
-+#4781=CARTESIAN_POINT('',(1.8E1,0.E0,1.E1));
-+#4782=CARTESIAN_POINT('',(1.8E1,1.5E0,1.E1));
-+#4783=VERTEX_POINT('',#4781);
-+#4784=VERTEX_POINT('',#4782);
-+#4785=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1));
-+#4786=VERTEX_POINT('',#4785);
-+#4787=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1));
-+#4788=VERTEX_POINT('',#4787);
-+#4789=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1));
-+#4790=CARTESIAN_POINT('',(2.5E0,0.E0,2.19375E1));
-+#4791=VERTEX_POINT('',#4789);
-+#4792=VERTEX_POINT('',#4790);
-+#4793=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1));
-+#4794=CARTESIAN_POINT('',(5.5E0,0.E0,1.89375E1));
-+#4795=VERTEX_POINT('',#4793);
-+#4796=VERTEX_POINT('',#4794);
-+#4797=CARTESIAN_POINT('',(2.15E1,0.E0,2.19375E1));
-+#4798=CARTESIAN_POINT('',(2.15E1,1.5E0,2.19375E1));
-+#4799=VERTEX_POINT('',#4797);
-+#4800=VERTEX_POINT('',#4798);
-+#4801=CARTESIAN_POINT('',(1.85E1,0.E0,1.89375E1));
-+#4802=CARTESIAN_POINT('',(1.85E1,1.5E0,1.89375E1));
-+#4803=VERTEX_POINT('',#4801);
-+#4804=VERTEX_POINT('',#4802);
-+#4805=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1));
-+#4806=CARTESIAN_POINT('',(2.15E1,0.E0,1.40625E1));
-+#4807=VERTEX_POINT('',#4805);
-+#4808=VERTEX_POINT('',#4806);
-+#4809=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1));
-+#4810=CARTESIAN_POINT('',(1.85E1,0.E0,1.70625E1));
-+#4811=VERTEX_POINT('',#4809);
-+#4812=VERTEX_POINT('',#4810);
-+#4813=CARTESIAN_POINT('',(2.5E0,0.E0,1.40625E1));
-+#4814=CARTESIAN_POINT('',(2.5E0,1.5E0,1.40625E1));
-+#4815=VERTEX_POINT('',#4813);
-+#4816=VERTEX_POINT('',#4814);
-+#4817=CARTESIAN_POINT('',(5.5E0,0.E0,1.70625E1));
-+#4818=CARTESIAN_POINT('',(5.5E0,1.5E0,1.70625E1));
-+#4819=VERTEX_POINT('',#4817);
-+#4820=VERTEX_POINT('',#4818);
-+#4821=CARTESIAN_POINT('',(6.1925E0,0.E0,9.E0));
-+#4822=CARTESIAN_POINT('',(5.8075E0,0.E0,9.E0));
-+#4823=VERTEX_POINT('',#4821);
-+#4824=VERTEX_POINT('',#4822);
-+#4825=CARTESIAN_POINT('',(6.2575E0,1.E0,9.E0));
-+#4826=CARTESIAN_POINT('',(5.7425E0,1.E0,9.E0));
-+#4827=VERTEX_POINT('',#4825);
-+#4828=VERTEX_POINT('',#4826);
-+#4829=CARTESIAN_POINT('',(6.2575E0,1.5E0,9.E0));
-+#4830=CARTESIAN_POINT('',(5.7425E0,1.5E0,9.E0));
-+#4831=VERTEX_POINT('',#4829);
-+#4832=VERTEX_POINT('',#4830);
-+#4833=CARTESIAN_POINT('',(6.1925E0,1.E0,9.E0));
-+#4834=CARTESIAN_POINT('',(5.8075E0,1.E0,9.E0));
-+#4835=VERTEX_POINT('',#4833);
-+#4836=VERTEX_POINT('',#4834);
-+#4837=CARTESIAN_POINT('',(1.21925E1,0.E0,9.E0));
-+#4838=CARTESIAN_POINT('',(1.18075E1,0.E0,9.E0));
-+#4839=VERTEX_POINT('',#4837);
-+#4840=VERTEX_POINT('',#4838);
-+#4841=CARTESIAN_POINT('',(1.81925E1,0.E0,9.E0));
-+#4842=CARTESIAN_POINT('',(1.78075E1,0.E0,9.E0));
-+#4843=VERTEX_POINT('',#4841);
-+#4844=VERTEX_POINT('',#4842);
-+#4845=CARTESIAN_POINT('',(6.1925E0,0.E0,1.8E1));
-+#4846=CARTESIAN_POINT('',(5.8075E0,0.E0,1.8E1));
-+#4847=VERTEX_POINT('',#4845);
-+#4848=VERTEX_POINT('',#4846);
-+#4849=CARTESIAN_POINT('',(1.21925E1,0.E0,1.8E1));
-+#4850=CARTESIAN_POINT('',(1.18075E1,0.E0,1.8E1));
-+#4851=VERTEX_POINT('',#4849);
-+#4852=VERTEX_POINT('',#4850);
-+#4853=CARTESIAN_POINT('',(1.81925E1,0.E0,1.8E1));
-+#4854=CARTESIAN_POINT('',(1.78075E1,0.E0,1.8E1));
-+#4855=VERTEX_POINT('',#4853);
-+#4856=VERTEX_POINT('',#4854);
-+#4857=CARTESIAN_POINT('',(1.22575E1,1.E0,9.E0));
-+#4858=CARTESIAN_POINT('',(1.17425E1,1.E0,9.E0));
-+#4859=VERTEX_POINT('',#4857);
-+#4860=VERTEX_POINT('',#4858);
-+#4861=CARTESIAN_POINT('',(1.22575E1,1.5E0,9.E0));
-+#4862=CARTESIAN_POINT('',(1.17425E1,1.5E0,9.E0));
-+#4863=VERTEX_POINT('',#4861);
-+#4864=VERTEX_POINT('',#4862);
-+#4865=CARTESIAN_POINT('',(1.21925E1,1.E0,9.E0));
-+#4866=CARTESIAN_POINT('',(1.18075E1,1.E0,9.E0));
-+#4867=VERTEX_POINT('',#4865);
-+#4868=VERTEX_POINT('',#4866);
-+#4869=CARTESIAN_POINT('',(1.82575E1,1.E0,9.E0));
-+#4870=CARTESIAN_POINT('',(1.77425E1,1.E0,9.E0));
-+#4871=VERTEX_POINT('',#4869);
-+#4872=VERTEX_POINT('',#4870);
-+#4873=CARTESIAN_POINT('',(1.82575E1,1.5E0,9.E0));
-+#4874=CARTESIAN_POINT('',(1.77425E1,1.5E0,9.E0));
-+#4875=VERTEX_POINT('',#4873);
-+#4876=VERTEX_POINT('',#4874);
-+#4877=CARTESIAN_POINT('',(1.81925E1,1.E0,9.E0));
-+#4878=CARTESIAN_POINT('',(1.78075E1,1.E0,9.E0));
-+#4879=VERTEX_POINT('',#4877);
-+#4880=VERTEX_POINT('',#4878);
-+#4881=CARTESIAN_POINT('',(6.2575E0,1.E0,1.8E1));
-+#4882=CARTESIAN_POINT('',(5.7425E0,1.E0,1.8E1));
-+#4883=VERTEX_POINT('',#4881);
-+#4884=VERTEX_POINT('',#4882);
-+#4885=CARTESIAN_POINT('',(6.2575E0,1.5E0,1.8E1));
-+#4886=CARTESIAN_POINT('',(5.7425E0,1.5E0,1.8E1));
-+#4887=VERTEX_POINT('',#4885);
-+#4888=VERTEX_POINT('',#4886);
-+#4889=CARTESIAN_POINT('',(6.1925E0,1.E0,1.8E1));
-+#4890=CARTESIAN_POINT('',(5.8075E0,1.E0,1.8E1));
-+#4891=VERTEX_POINT('',#4889);
-+#4892=VERTEX_POINT('',#4890);
-+#4893=CARTESIAN_POINT('',(1.22575E1,1.E0,1.8E1));
-+#4894=CARTESIAN_POINT('',(1.17425E1,1.E0,1.8E1));
-+#4895=VERTEX_POINT('',#4893);
-+#4896=VERTEX_POINT('',#4894);
-+#4897=CARTESIAN_POINT('',(1.22575E1,1.5E0,1.8E1));
-+#4898=CARTESIAN_POINT('',(1.17425E1,1.5E0,1.8E1));
-+#4899=VERTEX_POINT('',#4897);
-+#4900=VERTEX_POINT('',#4898);
-+#4901=CARTESIAN_POINT('',(1.21925E1,1.E0,1.8E1));
-+#4902=CARTESIAN_POINT('',(1.18075E1,1.E0,1.8E1));
-+#4903=VERTEX_POINT('',#4901);
-+#4904=VERTEX_POINT('',#4902);
-+#4905=CARTESIAN_POINT('',(1.82575E1,1.E0,1.8E1));
-+#4906=CARTESIAN_POINT('',(1.77425E1,1.E0,1.8E1));
-+#4907=VERTEX_POINT('',#4905);
-+#4908=VERTEX_POINT('',#4906);
-+#4909=CARTESIAN_POINT('',(1.82575E1,1.5E0,1.8E1));
-+#4910=CARTESIAN_POINT('',(1.77425E1,1.5E0,1.8E1));
-+#4911=VERTEX_POINT('',#4909);
-+#4912=VERTEX_POINT('',#4910);
-+#4913=CARTESIAN_POINT('',(1.81925E1,1.E0,1.8E1));
-+#4914=CARTESIAN_POINT('',(1.78075E1,1.E0,1.8E1));
-+#4915=VERTEX_POINT('',#4913);
-+#4916=VERTEX_POINT('',#4914);
-+#4917=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1));
-+#4918=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.E1));
-+#4919=VERTEX_POINT('',#4917);
-+#4920=VERTEX_POINT('',#4918);
-+#4921=CARTESIAN_POINT('',(2.E0,1.5E0,1.288675134595E1));
-+#4922=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1));
-+#4923=VERTEX_POINT('',#4921);
-+#4924=VERTEX_POINT('',#4922);
-+#4925=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1));
-+#4926=VERTEX_POINT('',#4925);
-+#4927=CARTESIAN_POINT('',(2.E0,6.5E0,1.E1));
-+#4928=VERTEX_POINT('',#4927);
-+#4929=VERTEX_POINT('',#1837);
-+#4930=VERTEX_POINT('',#1845);
-+#4931=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1));
-+#4932=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1));
-+#4933=VERTEX_POINT('',#4931);
-+#4934=VERTEX_POINT('',#4932);
-+#4935=CARTESIAN_POINT('',(2.2E1,1.5E0,1.288675134595E1));
-+#4936=CARTESIAN_POINT('',(2.2E1,1.5E0,1.E1));
-+#4937=VERTEX_POINT('',#4935);
-+#4938=VERTEX_POINT('',#4936);
-+#4939=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1));
-+#4940=VERTEX_POINT('',#4939);
-+#4941=CARTESIAN_POINT('',(2.2E1,6.5E0,1.E1));
-+#4942=VERTEX_POINT('',#4941);
-+#4943=VERTEX_POINT('',#2873);
-+#4944=VERTEX_POINT('',#2881);
-+#4945=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0));
-+#4946=CARTESIAN_POINT('',(3.75E0,2.E0,8.5E0));
-+#4947=VERTEX_POINT('',#4945);
-+#4948=VERTEX_POINT('',#4946);
-+#4949=CARTESIAN_POINT('',(4.5E0,2.75E0,8.E0));
-+#4950=CARTESIAN_POINT('',(4.5E0,2.75E0,8.5E0));
-+#4951=VERTEX_POINT('',#4949);
-+#4952=VERTEX_POINT('',#4950);
-+#4953=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0));
-+#4954=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.5E0));
-+#4955=VERTEX_POINT('',#4953);
-+#4956=VERTEX_POINT('',#4954);
-+#4957=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.E0));
-+#4958=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.5E0));
-+#4959=VERTEX_POINT('',#4957);
-+#4960=VERTEX_POINT('',#4958);
-+#4961=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0));
-+#4962=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.5E0));
-+#4963=VERTEX_POINT('',#4961);
-+#4964=VERTEX_POINT('',#4962);
-+#4965=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.E0));
-+#4966=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.5E0));
-+#4967=VERTEX_POINT('',#4965);
-+#4968=VERTEX_POINT('',#4966);
-+#4969=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0));
-+#4970=CARTESIAN_POINT('',(4.5E0,8.75E0,8.5E0));
-+#4971=VERTEX_POINT('',#4969);
-+#4972=VERTEX_POINT('',#4970);
-+#4973=CARTESIAN_POINT('',(3.75E0,9.5E0,8.E0));
-+#4974=CARTESIAN_POINT('',(3.75E0,9.5E0,8.5E0));
-+#4975=VERTEX_POINT('',#4973);
-+#4976=VERTEX_POINT('',#4974);
-+#4977=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1));
-+#4978=CARTESIAN_POINT('',(2.85E0,2.E0,9.5E0));
-+#4979=VERTEX_POINT('',#4977);
-+#4980=VERTEX_POINT('',#4978);
-+#4981=CARTESIAN_POINT('',(2.5E0,2.35E0,1.E1));
-+#4982=CARTESIAN_POINT('',(2.5E0,2.35E0,9.5E0));
-+#4983=VERTEX_POINT('',#4981);
-+#4984=VERTEX_POINT('',#4982);
-+#4985=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1));
-+#4986=CARTESIAN_POINT('',(4.5E0,2.35E0,9.5E0));
-+#4987=VERTEX_POINT('',#4985);
-+#4988=VERTEX_POINT('',#4986);
-+#4989=CARTESIAN_POINT('',(4.15E0,2.E0,1.E1));
-+#4990=CARTESIAN_POINT('',(4.15E0,2.E0,9.5E0));
-+#4991=VERTEX_POINT('',#4989);
-+#4992=VERTEX_POINT('',#4990);
-+#4993=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1));
-+#4994=CARTESIAN_POINT('',(1.952799239454E0,7.E0,9.5E0));
-+#4995=VERTEX_POINT('',#4993);
-+#4996=VERTEX_POINT('',#4994);
-+#4997=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,1.E1));
-+#4998=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,9.5E0));
-+#4999=VERTEX_POINT('',#4997);
-+#5000=VERTEX_POINT('',#4998);
-+#5001=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1));
-+#5002=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,9.5E0));
-+#5003=VERTEX_POINT('',#5001);
-+#5004=VERTEX_POINT('',#5002);
-+#5005=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,1.E1));
-+#5006=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,9.5E0));
-+#5007=VERTEX_POINT('',#5005);
-+#5008=VERTEX_POINT('',#5006);
-+#5009=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1));
-+#5010=CARTESIAN_POINT('',(4.15E0,9.5E0,9.5E0));
-+#5011=VERTEX_POINT('',#5009);
-+#5012=VERTEX_POINT('',#5010);
-+#5013=CARTESIAN_POINT('',(4.5E0,9.15E0,1.E1));
-+#5014=CARTESIAN_POINT('',(4.5E0,9.15E0,9.5E0));
-+#5015=VERTEX_POINT('',#5013);
-+#5016=VERTEX_POINT('',#5014);
-+#5017=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0));
-+#5018=CARTESIAN_POINT('',(2.5E0,6.65E0,1.E1));
-+#5019=VERTEX_POINT('',#5017);
-+#5020=VERTEX_POINT('',#5018);
-+#5021=CARTESIAN_POINT('',(2.15E0,7.E0,1.E1));
-+#5022=VERTEX_POINT('',#5021);
-+#5023=CARTESIAN_POINT('',(2.15E0,7.E0,9.5E0));
-+#5024=VERTEX_POINT('',#5023);
-+#5025=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0));
-+#5026=CARTESIAN_POINT('',(2.025E1,2.E0,8.E0));
-+#5027=VERTEX_POINT('',#5025);
-+#5028=VERTEX_POINT('',#5026);
-+#5029=CARTESIAN_POINT('',(1.95E1,2.75E0,8.5E0));
-+#5030=VERTEX_POINT('',#5029);
-+#5031=CARTESIAN_POINT('',(1.95E1,2.75E0,8.E0));
-+#5032=VERTEX_POINT('',#5031);
-+#5033=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0));
-+#5034=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.E0));
-+#5035=VERTEX_POINT('',#5033);
-+#5036=VERTEX_POINT('',#5034);
-+#5037=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.5E0));
-+#5038=VERTEX_POINT('',#5037);
-+#5039=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.E0));
-+#5040=VERTEX_POINT('',#5039);
-+#5041=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0));
-+#5042=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.E0));
-+#5043=VERTEX_POINT('',#5041);
-+#5044=VERTEX_POINT('',#5042);
-+#5045=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.5E0));
-+#5046=VERTEX_POINT('',#5045);
-+#5047=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.E0));
-+#5048=VERTEX_POINT('',#5047);
-+#5049=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0));
-+#5050=CARTESIAN_POINT('',(1.95E1,8.75E0,8.E0));
-+#5051=VERTEX_POINT('',#5049);
-+#5052=VERTEX_POINT('',#5050);
-+#5053=CARTESIAN_POINT('',(2.025E1,9.5E0,8.5E0));
-+#5054=VERTEX_POINT('',#5053);
-+#5055=CARTESIAN_POINT('',(2.025E1,9.5E0,8.E0));
-+#5056=VERTEX_POINT('',#5055);
-+#5057=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0));
-+#5058=CARTESIAN_POINT('',(2.115E1,2.E0,1.E1));
-+#5059=VERTEX_POINT('',#5057);
-+#5060=VERTEX_POINT('',#5058);
-+#5061=CARTESIAN_POINT('',(2.15E1,2.35E0,9.5E0));
-+#5062=VERTEX_POINT('',#5061);
-+#5063=CARTESIAN_POINT('',(2.15E1,2.35E0,1.E1));
-+#5064=VERTEX_POINT('',#5063);
-+#5065=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0));
-+#5066=CARTESIAN_POINT('',(1.95E1,2.35E0,1.E1));
-+#5067=VERTEX_POINT('',#5065);
-+#5068=VERTEX_POINT('',#5066);
-+#5069=CARTESIAN_POINT('',(1.985E1,2.E0,9.5E0));
-+#5070=VERTEX_POINT('',#5069);
-+#5071=CARTESIAN_POINT('',(1.985E1,2.E0,1.E1));
-+#5072=VERTEX_POINT('',#5071);
-+#5073=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0));
-+#5074=CARTESIAN_POINT('',(2.204720076055E1,7.E0,1.E1));
-+#5075=VERTEX_POINT('',#5073);
-+#5076=VERTEX_POINT('',#5074);
-+#5077=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,9.5E0));
-+#5078=VERTEX_POINT('',#5077);
-+#5079=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,1.E1));
-+#5080=VERTEX_POINT('',#5079);
-+#5081=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0));
-+#5082=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,1.E1));
-+#5083=VERTEX_POINT('',#5081);
-+#5084=VERTEX_POINT('',#5082);
-+#5085=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,9.5E0));
-+#5086=VERTEX_POINT('',#5085);
-+#5087=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,1.E1));
-+#5088=VERTEX_POINT('',#5087);
-+#5089=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0));
-+#5090=CARTESIAN_POINT('',(1.985E1,9.5E0,1.E1));
-+#5091=VERTEX_POINT('',#5089);
-+#5092=VERTEX_POINT('',#5090);
-+#5093=CARTESIAN_POINT('',(1.95E1,9.15E0,9.5E0));
-+#5094=VERTEX_POINT('',#5093);
-+#5095=CARTESIAN_POINT('',(1.95E1,9.15E0,1.E1));
-+#5096=VERTEX_POINT('',#5095);
-+#5097=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1));
-+#5098=CARTESIAN_POINT('',(2.15E1,6.65E0,9.5E0));
-+#5099=VERTEX_POINT('',#5097);
-+#5100=VERTEX_POINT('',#5098);
-+#5101=CARTESIAN_POINT('',(2.185E1,7.E0,1.E1));
-+#5102=CARTESIAN_POINT('',(2.185E1,7.E0,9.5E0));
-+#5103=VERTEX_POINT('',#5101);
-+#5104=VERTEX_POINT('',#5102);
-+#5105=CARTESIAN_POINT('',(7.5E0,6.875E-1,6.875E-1));
-+#5106=CARTESIAN_POINT('',(1.05E1,6.875E-1,6.875E-1));
-+#5107=VERTEX_POINT('',#5105);
-+#5108=VERTEX_POINT('',#5106);
-+#5109=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8125E0));
-+#5110=VERTEX_POINT('',#5109);
-+#5111=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.8125E0));
-+#5112=VERTEX_POINT('',#5111);
-+#5113=CARTESIAN_POINT('',(3.939978538987E0,6.875E-1,1.032293285145E0));
-+#5114=CARTESIAN_POINT('',(4.942849714544E0,6.875E-1,2.419779663480E0));
-+#5115=VERTEX_POINT('',#5113);
-+#5116=VERTEX_POINT('',#5114);
-+#5117=CARTESIAN_POINT('',(2.432015885023E0,6.875E-1,4.918683812405E0));
-+#5118=VERTEX_POINT('',#5117);
-+#5119=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1));
-+#5120=CARTESIAN_POINT('',(1.05E1,0.E0,6.875E-1));
-+#5121=VERTEX_POINT('',#5119);
-+#5122=VERTEX_POINT('',#5120);
-+#5123=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0));
-+#5124=VERTEX_POINT('',#5123);
-+#5125=CARTESIAN_POINT('',(7.5E0,0.E0,1.8125E0));
-+#5126=VERTEX_POINT('',#5125);
-+#5127=CARTESIAN_POINT('',(3.939978538987E0,0.E0,1.032293285145E0));
-+#5128=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.419779663480E0));
-+#5129=VERTEX_POINT('',#5127);
-+#5130=VERTEX_POINT('',#5128);
-+#5131=CARTESIAN_POINT('',(2.432015885023E0,0.E0,4.918683812405E0));
-+#5132=VERTEX_POINT('',#5131);
-+#5133=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0));
-+#5134=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,4.046865146430E0));
-+#5135=VERTEX_POINT('',#5133);
-+#5136=VERTEX_POINT('',#5134);
-+#5137=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,4.912826677187E0));
-+#5138=CARTESIAN_POINT('',(7.850270400779E-1,6.875E-1,4.912826677187E0));
-+#5139=VERTEX_POINT('',#5137);
-+#5140=VERTEX_POINT('',#5138);
-+#5141=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.5E0));
-+#5142=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.5E0));
-+#5143=VERTEX_POINT('',#5141);
-+#5144=VERTEX_POINT('',#5142);
-+#5145=CARTESIAN_POINT('',(6.9E-1,0.E0,7.5E0));
-+#5146=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0));
-+#5147=VERTEX_POINT('',#5145);
-+#5148=VERTEX_POINT('',#5146);
-+#5149=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1));
-+#5150=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,1.0375E1));
-+#5151=VERTEX_POINT('',#5149);
-+#5152=VERTEX_POINT('',#5150);
-+#5153=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.125E1));
-+#5154=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,1.125E1));
-+#5155=VERTEX_POINT('',#5153);
-+#5156=VERTEX_POINT('',#5154);
-+#5157=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0));
-+#5158=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,8.69E0));
-+#5159=VERTEX_POINT('',#5157);
-+#5160=VERTEX_POINT('',#5158);
-+#5161=CARTESIAN_POINT('',(-1.3125E0,0.E0,9.565E0));
-+#5162=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,9.565E0));
-+#5163=VERTEX_POINT('',#5161);
-+#5164=VERTEX_POINT('',#5162);
-+#5165=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0));
-+#5166=CARTESIAN_POINT('',(4.3125E0,6.875E-1,9.565E0));
-+#5167=VERTEX_POINT('',#5165);
-+#5168=VERTEX_POINT('',#5166);
-+#5169=CARTESIAN_POINT('',(3.4375E0,0.E0,8.69E0));
-+#5170=CARTESIAN_POINT('',(3.4375E0,6.875E-1,8.69E0));
-+#5171=VERTEX_POINT('',#5169);
-+#5172=VERTEX_POINT('',#5170);
-+#5173=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1));
-+#5174=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.125E1));
-+#5175=VERTEX_POINT('',#5173);
-+#5176=VERTEX_POINT('',#5174);
-+#5177=CARTESIAN_POINT('',(4.3125E0,0.E0,1.0375E1));
-+#5178=CARTESIAN_POINT('',(4.3125E0,6.875E-1,1.0375E1));
-+#5179=VERTEX_POINT('',#5177);
-+#5180=VERTEX_POINT('',#5178);
-+#5181=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0));
-+#5182=CARTESIAN_POINT('',(6.9E-1,0.E0,7.815E0));
-+#5183=VERTEX_POINT('',#5181);
-+#5184=VERTEX_POINT('',#5182);
-+#5185=CARTESIAN_POINT('',(-1.85E-1,0.E0,8.69E0));
-+#5186=VERTEX_POINT('',#5185);
-+#5187=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,8.69E0));
-+#5188=VERTEX_POINT('',#5187);
-+#5189=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0));
-+#5190=CARTESIAN_POINT('',(2.6875E0,0.E0,8.69E0));
-+#5191=VERTEX_POINT('',#5189);
-+#5192=VERTEX_POINT('',#5190);
-+#5193=CARTESIAN_POINT('',(1.8125E0,0.E0,7.815E0));
-+#5194=VERTEX_POINT('',#5193);
-+#5195=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.815E0));
-+#5196=VERTEX_POINT('',#5195);
-+#5197=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.65E1));
-+#5198=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.35E1));
-+#5199=VERTEX_POINT('',#5197);
-+#5200=VERTEX_POINT('',#5198);
-+#5201=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.35E1));
-+#5202=VERTEX_POINT('',#5201);
-+#5203=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.65E1));
-+#5204=VERTEX_POINT('',#5203);
-+#5205=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1));
-+#5206=CARTESIAN_POINT('',(6.875E-1,0.E0,1.35E1));
-+#5207=VERTEX_POINT('',#5205);
-+#5208=VERTEX_POINT('',#5206);
-+#5209=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1));
-+#5210=VERTEX_POINT('',#5209);
-+#5211=CARTESIAN_POINT('',(1.8125E0,0.E0,1.65E1));
-+#5212=VERTEX_POINT('',#5211);
-+#5213=CARTESIAN_POINT('',(6.875E-1,6.875E-1,2.25E1));
-+#5214=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.95E1));
-+#5215=VERTEX_POINT('',#5213);
-+#5216=VERTEX_POINT('',#5214);
-+#5217=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.95E1));
-+#5218=VERTEX_POINT('',#5217);
-+#5219=CARTESIAN_POINT('',(1.8125E0,6.875E-1,2.25E1));
-+#5220=VERTEX_POINT('',#5219);
-+#5221=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1));
-+#5222=CARTESIAN_POINT('',(6.875E-1,0.E0,1.95E1));
-+#5223=VERTEX_POINT('',#5221);
-+#5224=VERTEX_POINT('',#5222);
-+#5225=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1));
-+#5226=VERTEX_POINT('',#5225);
-+#5227=CARTESIAN_POINT('',(1.8125E0,0.E0,2.25E1));
-+#5228=VERTEX_POINT('',#5227);
-+#5229=CARTESIAN_POINT('',(7.5E0,6.875E-1,8.5E0));
-+#5230=CARTESIAN_POINT('',(1.05E1,6.875E-1,8.5E0));
-+#5231=VERTEX_POINT('',#5229);
-+#5232=VERTEX_POINT('',#5230);
-+#5233=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.5E0));
-+#5234=VERTEX_POINT('',#5233);
-+#5235=CARTESIAN_POINT('',(7.5E0,6.875E-1,9.5E0));
-+#5236=VERTEX_POINT('',#5235);
-+#5237=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0));
-+#5238=CARTESIAN_POINT('',(1.05E1,0.E0,8.5E0));
-+#5239=VERTEX_POINT('',#5237);
-+#5240=VERTEX_POINT('',#5238);
-+#5241=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0));
-+#5242=VERTEX_POINT('',#5241);
-+#5243=CARTESIAN_POINT('',(7.5E0,0.E0,9.5E0));
-+#5244=VERTEX_POINT('',#5243);
-+#5245=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.75625E1));
-+#5246=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.75625E1));
-+#5247=VERTEX_POINT('',#5245);
-+#5248=VERTEX_POINT('',#5246);
-+#5249=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.84375E1));
-+#5250=VERTEX_POINT('',#5249);
-+#5251=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.84375E1));
-+#5252=VERTEX_POINT('',#5251);
-+#5253=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1));
-+#5254=CARTESIAN_POINT('',(1.05E1,0.E0,1.75625E1));
-+#5255=VERTEX_POINT('',#5253);
-+#5256=VERTEX_POINT('',#5254);
-+#5257=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1));
-+#5258=VERTEX_POINT('',#5257);
-+#5259=CARTESIAN_POINT('',(7.5E0,0.E0,1.84375E1));
-+#5260=VERTEX_POINT('',#5259);
-+#5261=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.13125E1));
-+#5262=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.13125E1));
-+#5263=VERTEX_POINT('',#5261);
-+#5264=VERTEX_POINT('',#5262);
-+#5265=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.01875E1));
-+#5266=VERTEX_POINT('',#5265);
-+#5267=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.01875E1));
-+#5268=VERTEX_POINT('',#5267);
-+#5269=CARTESIAN_POINT('',(3.939978538987E0,6.875E-1,3.096770671486E1));
-+#5270=CARTESIAN_POINT('',(4.942849714544E0,6.875E-1,2.958022033652E1));
-+#5271=VERTEX_POINT('',#5269);
-+#5272=VERTEX_POINT('',#5270);
-+#5273=CARTESIAN_POINT('',(2.432015885023E0,6.875E-1,2.708131618759E1));
-+#5274=VERTEX_POINT('',#5273);
-+#5275=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1));
-+#5276=CARTESIAN_POINT('',(1.05E1,0.E0,3.13125E1));
-+#5277=VERTEX_POINT('',#5275);
-+#5278=VERTEX_POINT('',#5276);
-+#5279=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1));
-+#5280=VERTEX_POINT('',#5279);
-+#5281=CARTESIAN_POINT('',(7.5E0,0.E0,3.01875E1));
-+#5282=VERTEX_POINT('',#5281);
-+#5283=CARTESIAN_POINT('',(3.939978538987E0,0.E0,3.096770671486E1));
-+#5284=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.958022033652E1));
-+#5285=VERTEX_POINT('',#5283);
-+#5286=VERTEX_POINT('',#5284);
-+#5287=CARTESIAN_POINT('',(2.432015885023E0,0.E0,2.708131618759E1));
-+#5288=VERTEX_POINT('',#5287);
-+#5289=CARTESIAN_POINT('',(1.65E1,6.875E-1,6.875E-1));
-+#5290=CARTESIAN_POINT('',(1.35E1,6.875E-1,6.875E-1));
-+#5291=VERTEX_POINT('',#5289);
-+#5292=VERTEX_POINT('',#5290);
-+#5293=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8125E0));
-+#5294=VERTEX_POINT('',#5293);
-+#5295=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.8125E0));
-+#5296=VERTEX_POINT('',#5295);
-+#5297=CARTESIAN_POINT('',(2.006002146101E1,6.875E-1,1.032293285145E0));
-+#5298=CARTESIAN_POINT('',(1.905715028546E1,6.875E-1,2.419779663480E0));
-+#5299=VERTEX_POINT('',#5297);
-+#5300=VERTEX_POINT('',#5298);
-+#5301=CARTESIAN_POINT('',(2.156798411498E1,6.875E-1,4.918683812405E0));
-+#5302=VERTEX_POINT('',#5301);
-+#5303=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1));
-+#5304=CARTESIAN_POINT('',(1.35E1,0.E0,6.875E-1));
-+#5305=VERTEX_POINT('',#5303);
-+#5306=VERTEX_POINT('',#5304);
-+#5307=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0));
-+#5308=VERTEX_POINT('',#5307);
-+#5309=CARTESIAN_POINT('',(1.65E1,0.E0,1.8125E0));
-+#5310=VERTEX_POINT('',#5309);
-+#5311=CARTESIAN_POINT('',(2.006002146101E1,0.E0,1.032293285145E0));
-+#5312=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.419779663480E0));
-+#5313=VERTEX_POINT('',#5311);
-+#5314=VERTEX_POINT('',#5312);
-+#5315=CARTESIAN_POINT('',(2.156798411498E1,0.E0,4.918683812405E0));
-+#5316=VERTEX_POINT('',#5315);
-+#5317=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.5E0));
-+#5318=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.5E0));
-+#5319=VERTEX_POINT('',#5317);
-+#5320=VERTEX_POINT('',#5318);
-+#5321=CARTESIAN_POINT('',(2.331E1,0.E0,7.5E0));
-+#5322=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0));
-+#5323=VERTEX_POINT('',#5321);
-+#5324=VERTEX_POINT('',#5322);
-+#5325=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.65E1));
-+#5326=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.35E1));
-+#5327=VERTEX_POINT('',#5325);
-+#5328=VERTEX_POINT('',#5326);
-+#5329=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.35E1));
-+#5330=VERTEX_POINT('',#5329);
-+#5331=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.65E1));
-+#5332=VERTEX_POINT('',#5331);
-+#5333=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1));
-+#5334=CARTESIAN_POINT('',(2.33125E1,0.E0,1.35E1));
-+#5335=VERTEX_POINT('',#5333);
-+#5336=VERTEX_POINT('',#5334);
-+#5337=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1));
-+#5338=VERTEX_POINT('',#5337);
-+#5339=CARTESIAN_POINT('',(2.21875E1,0.E0,1.65E1));
-+#5340=VERTEX_POINT('',#5339);
-+#5341=CARTESIAN_POINT('',(2.33125E1,6.875E-1,2.25E1));
-+#5342=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.95E1));
-+#5343=VERTEX_POINT('',#5341);
-+#5344=VERTEX_POINT('',#5342);
-+#5345=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.95E1));
-+#5346=VERTEX_POINT('',#5345);
-+#5347=CARTESIAN_POINT('',(2.21875E1,6.875E-1,2.25E1));
-+#5348=VERTEX_POINT('',#5347);
-+#5349=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1));
-+#5350=CARTESIAN_POINT('',(2.33125E1,0.E0,1.95E1));
-+#5351=VERTEX_POINT('',#5349);
-+#5352=VERTEX_POINT('',#5350);
-+#5353=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1));
-+#5354=VERTEX_POINT('',#5353);
-+#5355=CARTESIAN_POINT('',(2.21875E1,0.E0,2.25E1));
-+#5356=VERTEX_POINT('',#5355);
-+#5357=CARTESIAN_POINT('',(1.65E1,6.875E-1,8.5E0));
-+#5358=CARTESIAN_POINT('',(1.35E1,6.875E-1,8.5E0));
-+#5359=VERTEX_POINT('',#5357);
-+#5360=VERTEX_POINT('',#5358);
-+#5361=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.5E0));
-+#5362=VERTEX_POINT('',#5361);
-+#5363=CARTESIAN_POINT('',(1.65E1,6.875E-1,9.5E0));
-+#5364=VERTEX_POINT('',#5363);
-+#5365=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0));
-+#5366=CARTESIAN_POINT('',(1.35E1,0.E0,8.5E0));
-+#5367=VERTEX_POINT('',#5365);
-+#5368=VERTEX_POINT('',#5366);
-+#5369=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0));
-+#5370=VERTEX_POINT('',#5369);
-+#5371=CARTESIAN_POINT('',(1.65E1,0.E0,9.5E0));
-+#5372=VERTEX_POINT('',#5371);
-+#5373=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.75625E1));
-+#5374=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.75625E1));
-+#5375=VERTEX_POINT('',#5373);
-+#5376=VERTEX_POINT('',#5374);
-+#5377=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.84375E1));
-+#5378=VERTEX_POINT('',#5377);
-+#5379=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.84375E1));
-+#5380=VERTEX_POINT('',#5379);
-+#5381=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1));
-+#5382=CARTESIAN_POINT('',(1.35E1,0.E0,1.75625E1));
-+#5383=VERTEX_POINT('',#5381);
-+#5384=VERTEX_POINT('',#5382);
-+#5385=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1));
-+#5386=VERTEX_POINT('',#5385);
-+#5387=CARTESIAN_POINT('',(1.65E1,0.E0,1.84375E1));
-+#5388=VERTEX_POINT('',#5387);
-+#5389=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.13125E1));
-+#5390=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.13125E1));
-+#5391=VERTEX_POINT('',#5389);
-+#5392=VERTEX_POINT('',#5390);
-+#5393=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.01875E1));
-+#5394=VERTEX_POINT('',#5393);
-+#5395=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.01875E1));
-+#5396=VERTEX_POINT('',#5395);
-+#5397=CARTESIAN_POINT('',(2.006002146101E1,6.875E-1,3.096770671486E1));
-+#5398=CARTESIAN_POINT('',(1.905715028546E1,6.875E-1,2.958022033652E1));
-+#5399=VERTEX_POINT('',#5397);
-+#5400=VERTEX_POINT('',#5398);
-+#5401=CARTESIAN_POINT('',(2.156798411498E1,6.875E-1,2.708131618759E1));
-+#5402=VERTEX_POINT('',#5401);
-+#5403=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1));
-+#5404=CARTESIAN_POINT('',(1.35E1,0.E0,3.13125E1));
-+#5405=VERTEX_POINT('',#5403);
-+#5406=VERTEX_POINT('',#5404);
-+#5407=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1));
-+#5408=VERTEX_POINT('',#5407);
-+#5409=CARTESIAN_POINT('',(1.65E1,0.E0,3.01875E1));
-+#5410=VERTEX_POINT('',#5409);
-+#5411=CARTESIAN_POINT('',(2.006002146101E1,0.E0,3.096770671486E1));
-+#5412=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.958022033652E1));
-+#5413=VERTEX_POINT('',#5411);
-+#5414=VERTEX_POINT('',#5412);
-+#5415=CARTESIAN_POINT('',(2.156798411498E1,0.E0,2.708131618759E1));
-+#5416=VERTEX_POINT('',#5415);
-+#5417=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0));
-+#5418=CARTESIAN_POINT('',(1.96875E1,0.E0,9.57E0));
-+#5419=VERTEX_POINT('',#5417);
-+#5420=VERTEX_POINT('',#5418);
-+#5421=CARTESIAN_POINT('',(2.05675E1,6.875E-1,8.69E0));
-+#5422=VERTEX_POINT('',#5421);
-+#5423=CARTESIAN_POINT('',(2.05675E1,0.E0,8.69E0));
-+#5424=VERTEX_POINT('',#5423);
-+#5425=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1));
-+#5426=CARTESIAN_POINT('',(2.05675E1,0.E0,1.125E1));
-+#5427=VERTEX_POINT('',#5425);
-+#5428=VERTEX_POINT('',#5426);
-+#5429=CARTESIAN_POINT('',(1.96875E1,6.875E-1,1.037E1));
-+#5430=VERTEX_POINT('',#5429);
-+#5431=CARTESIAN_POINT('',(1.96875E1,0.E0,1.037E1));
-+#5432=VERTEX_POINT('',#5431);
-+#5433=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0));
-+#5434=CARTESIAN_POINT('',(2.44325E1,0.E0,8.69E0));
-+#5435=VERTEX_POINT('',#5433);
-+#5436=VERTEX_POINT('',#5434);
-+#5437=CARTESIAN_POINT('',(2.53125E1,6.875E-1,9.57E0));
-+#5438=VERTEX_POINT('',#5437);
-+#5439=CARTESIAN_POINT('',(2.53125E1,0.E0,9.57E0));
-+#5440=VERTEX_POINT('',#5439);
-+#5441=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1));
-+#5442=CARTESIAN_POINT('',(2.53125E1,0.E0,1.037E1));
-+#5443=VERTEX_POINT('',#5441);
-+#5444=VERTEX_POINT('',#5442);
-+#5445=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.125E1));
-+#5446=VERTEX_POINT('',#5445);
-+#5447=CARTESIAN_POINT('',(2.44325E1,0.E0,1.125E1));
-+#5448=VERTEX_POINT('',#5447);
-+#5449=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0));
-+#5450=CARTESIAN_POINT('',(2.13075E1,6.875E-1,8.69E0));
-+#5451=VERTEX_POINT('',#5449);
-+#5452=VERTEX_POINT('',#5450);
-+#5453=CARTESIAN_POINT('',(2.21875E1,0.E0,7.81E0));
-+#5454=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.81E0));
-+#5455=VERTEX_POINT('',#5453);
-+#5456=VERTEX_POINT('',#5454);
-+#5457=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0));
-+#5458=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.81E0));
-+#5459=VERTEX_POINT('',#5457);
-+#5460=VERTEX_POINT('',#5458);
-+#5461=CARTESIAN_POINT('',(2.419E1,0.E0,8.69E0));
-+#5462=CARTESIAN_POINT('',(2.419E1,6.875E-1,8.69E0));
-+#5463=VERTEX_POINT('',#5461);
-+#5464=VERTEX_POINT('',#5462);
-+#5465=CARTESIAN_POINT('',(2.321497295992E1,0.E0,4.912826677187E0));
-+#5466=CARTESIAN_POINT('',(2.321497295992E1,6.875E-1,4.912826677187E0));
-+#5467=VERTEX_POINT('',#5465);
-+#5468=VERTEX_POINT('',#5466);
-+#5469=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0));
-+#5470=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,4.046865146430E0));
-+#5471=VERTEX_POINT('',#5469);
-+#5472=VERTEX_POINT('',#5470);
-+#5473=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,2.708717332281E1));
-+#5474=CARTESIAN_POINT('',(7.850270400779E-1,6.875E-1,2.708717332281E1));
-+#5475=VERTEX_POINT('',#5473);
-+#5476=VERTEX_POINT('',#5474);
-+#5477=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1));
-+#5478=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,2.795313485357E1));
-+#5479=VERTEX_POINT('',#5477);
-+#5480=VERTEX_POINT('',#5478);
-+#5481=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1));
-+#5482=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,2.795313485357E1));
-+#5483=VERTEX_POINT('',#5481);
-+#5484=VERTEX_POINT('',#5482);
-+#5485=CARTESIAN_POINT('',(2.321497295992E1,0.E0,2.708717332281E1));
-+#5486=CARTESIAN_POINT('',(2.321497295992E1,6.875E-1,2.708717332281E1));
-+#5487=VERTEX_POINT('',#5485);
-+#5488=VERTEX_POINT('',#5486);
-+#5489=CARTESIAN_POINT('',(0.E0,0.E0,0.E0));
-+#5490=DIRECTION('',(0.E0,1.E0,0.E0));
-+#5491=DIRECTION('',(1.E0,0.E0,0.E0));
-+#5492=AXIS2_PLACEMENT_3D('',#5489,#5490,#5491);
-+#5493=PLANE('',#5492);
-+#5495=ORIENTED_EDGE('',*,*,#5494,.F.);
-+#5497=ORIENTED_EDGE('',*,*,#5496,.F.);
-+#5499=ORIENTED_EDGE('',*,*,#5498,.T.);
-+#5501=ORIENTED_EDGE('',*,*,#5500,.F.);
-+#5503=ORIENTED_EDGE('',*,*,#5502,.T.);
-+#5505=ORIENTED_EDGE('',*,*,#5504,.F.);
-+#5507=ORIENTED_EDGE('',*,*,#5506,.T.);
-+#5509=ORIENTED_EDGE('',*,*,#5508,.F.);
-+#5511=ORIENTED_EDGE('',*,*,#5510,.T.);
-+#5513=ORIENTED_EDGE('',*,*,#5512,.T.);
-+#5515=ORIENTED_EDGE('',*,*,#5514,.F.);
-+#5517=ORIENTED_EDGE('',*,*,#5516,.T.);
-+#5519=ORIENTED_EDGE('',*,*,#5518,.F.);
-+#5521=ORIENTED_EDGE('',*,*,#5520,.T.);
-+#5523=ORIENTED_EDGE('',*,*,#5522,.F.);
-+#5525=ORIENTED_EDGE('',*,*,#5524,.T.);
-+#5527=ORIENTED_EDGE('',*,*,#5526,.F.);
-+#5529=ORIENTED_EDGE('',*,*,#5528,.T.);
-+#5531=ORIENTED_EDGE('',*,*,#5530,.F.);
-+#5533=ORIENTED_EDGE('',*,*,#5532,.F.);
-+#5535=ORIENTED_EDGE('',*,*,#5534,.T.);
-+#5537=ORIENTED_EDGE('',*,*,#5536,.F.);
-+#5538=EDGE_LOOP('',(#5495,#5497,#5499,#5501,#5503,#5505,#5507,#5509,#5511,#5513,
-+#5515,#5517,#5519,#5521,#5523,#5525,#5527,#5529,#5531,#5533,#5535,#5537));
-+#5539=FACE_OUTER_BOUND('',#5538,.F.);
-+#5541=ORIENTED_EDGE('',*,*,#5540,.T.);
-+#5543=ORIENTED_EDGE('',*,*,#5542,.F.);
-+#5545=ORIENTED_EDGE('',*,*,#5544,.F.);
-+#5547=ORIENTED_EDGE('',*,*,#5546,.F.);
-+#5549=ORIENTED_EDGE('',*,*,#5548,.F.);
-+#5551=ORIENTED_EDGE('',*,*,#5550,.F.);
-+#5552=EDGE_LOOP('',(#5541,#5543,#5545,#5547,#5549,#5551));
-+#5553=FACE_BOUND('',#5552,.F.);
-+#5555=ORIENTED_EDGE('',*,*,#5554,.T.);
-+#5557=ORIENTED_EDGE('',*,*,#5556,.T.);
-+#5558=EDGE_LOOP('',(#5555,#5557));
-+#5559=FACE_BOUND('',#5558,.F.);
-+#5561=ORIENTED_EDGE('',*,*,#5560,.T.);
-+#5563=ORIENTED_EDGE('',*,*,#5562,.T.);
-+#5564=EDGE_LOOP('',(#5561,#5563));
-+#5565=FACE_BOUND('',#5564,.F.);
-+#5567=ORIENTED_EDGE('',*,*,#5566,.T.);
-+#5569=ORIENTED_EDGE('',*,*,#5568,.T.);
-+#5570=EDGE_LOOP('',(#5567,#5569));
-+#5571=FACE_BOUND('',#5570,.F.);
-+#5573=ORIENTED_EDGE('',*,*,#5572,.T.);
-+#5575=ORIENTED_EDGE('',*,*,#5574,.T.);
-+#5576=EDGE_LOOP('',(#5573,#5575));
-+#5577=FACE_BOUND('',#5576,.F.);
-+#5579=ORIENTED_EDGE('',*,*,#5578,.T.);
-+#5581=ORIENTED_EDGE('',*,*,#5580,.T.);
-+#5582=EDGE_LOOP('',(#5579,#5581));
-+#5583=FACE_BOUND('',#5582,.F.);
-+#5585=ORIENTED_EDGE('',*,*,#5584,.T.);
-+#5587=ORIENTED_EDGE('',*,*,#5586,.T.);
-+#5588=EDGE_LOOP('',(#5585,#5587));
-+#5589=FACE_BOUND('',#5588,.F.);
-+#5591=ORIENTED_EDGE('',*,*,#5590,.T.);
-+#5593=ORIENTED_EDGE('',*,*,#5592,.T.);
-+#5594=EDGE_LOOP('',(#5591,#5593));
-+#5595=FACE_BOUND('',#5594,.F.);
-+#5597=ORIENTED_EDGE('',*,*,#5596,.T.);
-+#5599=ORIENTED_EDGE('',*,*,#5598,.T.);
-+#5600=EDGE_LOOP('',(#5597,#5599));
-+#5601=FACE_BOUND('',#5600,.F.);
-+#5603=ORIENTED_EDGE('',*,*,#5602,.T.);
-+#5605=ORIENTED_EDGE('',*,*,#5604,.T.);
-+#5606=EDGE_LOOP('',(#5603,#5605));
-+#5607=FACE_BOUND('',#5606,.F.);
-+#5609=ORIENTED_EDGE('',*,*,#5608,.T.);
-+#5611=ORIENTED_EDGE('',*,*,#5610,.T.);
-+#5612=EDGE_LOOP('',(#5609,#5611));
-+#5613=FACE_BOUND('',#5612,.F.);
-+#5615=ORIENTED_EDGE('',*,*,#5614,.T.);
-+#5617=ORIENTED_EDGE('',*,*,#5616,.T.);
-+#5618=EDGE_LOOP('',(#5615,#5617));
-+#5619=FACE_BOUND('',#5618,.F.);
-+#5621=ORIENTED_EDGE('',*,*,#5620,.T.);
-+#5623=ORIENTED_EDGE('',*,*,#5622,.T.);
-+#5624=EDGE_LOOP('',(#5621,#5623));
-+#5625=FACE_BOUND('',#5624,.F.);
-+#5627=ORIENTED_EDGE('',*,*,#5626,.T.);
-+#5629=ORIENTED_EDGE('',*,*,#5628,.T.);
-+#5630=EDGE_LOOP('',(#5627,#5629));
-+#5631=FACE_BOUND('',#5630,.F.);
-+#5633=ORIENTED_EDGE('',*,*,#5632,.T.);
-+#5635=ORIENTED_EDGE('',*,*,#5634,.T.);
-+#5636=EDGE_LOOP('',(#5633,#5635));
-+#5637=FACE_BOUND('',#5636,.F.);
-+#5639=ORIENTED_EDGE('',*,*,#5638,.T.);
-+#5641=ORIENTED_EDGE('',*,*,#5640,.F.);
-+#5643=ORIENTED_EDGE('',*,*,#5642,.F.);
-+#5645=ORIENTED_EDGE('',*,*,#5644,.F.);
-+#5647=ORIENTED_EDGE('',*,*,#5646,.F.);
-+#5649=ORIENTED_EDGE('',*,*,#5648,.F.);
-+#5651=ORIENTED_EDGE('',*,*,#5650,.F.);
-+#5653=ORIENTED_EDGE('',*,*,#5652,.F.);
-+#5654=EDGE_LOOP('',(#5639,#5641,#5643,#5645,#5647,#5649,#5651,#5653));
-+#5655=FACE_BOUND('',#5654,.F.);
-+#5657=ORIENTED_EDGE('',*,*,#5656,.F.);
-+#5659=ORIENTED_EDGE('',*,*,#5658,.F.);
-+#5661=ORIENTED_EDGE('',*,*,#5660,.T.);
-+#5663=ORIENTED_EDGE('',*,*,#5662,.F.);
-+#5665=ORIENTED_EDGE('',*,*,#5664,.F.);
-+#5667=ORIENTED_EDGE('',*,*,#5666,.F.);
-+#5669=ORIENTED_EDGE('',*,*,#5668,.T.);
-+#5671=ORIENTED_EDGE('',*,*,#5670,.F.);
-+#5673=ORIENTED_EDGE('',*,*,#5672,.T.);
-+#5675=ORIENTED_EDGE('',*,*,#5674,.F.);
-+#5677=ORIENTED_EDGE('',*,*,#5676,.T.);
-+#5679=ORIENTED_EDGE('',*,*,#5678,.F.);
-+#5681=ORIENTED_EDGE('',*,*,#5680,.F.);
-+#5683=ORIENTED_EDGE('',*,*,#5682,.T.);
-+#5685=ORIENTED_EDGE('',*,*,#5684,.F.);
-+#5687=ORIENTED_EDGE('',*,*,#5686,.F.);
-+#5688=EDGE_LOOP('',(#5657,#5659,#5661,#5663,#5665,#5667,#5669,#5671,#5673,#5675,
-+#5677,#5679,#5681,#5683,#5685,#5687));
-+#5689=FACE_BOUND('',#5688,.F.);
-+#5691=ORIENTED_EDGE('',*,*,#5690,.T.);
-+#5693=ORIENTED_EDGE('',*,*,#5692,.T.);
-+#5694=EDGE_LOOP('',(#5691,#5693));
-+#5695=FACE_BOUND('',#5694,.F.);
-+#5697=ORIENTED_EDGE('',*,*,#5696,.T.);
-+#5699=ORIENTED_EDGE('',*,*,#5698,.T.);
-+#5700=EDGE_LOOP('',(#5697,#5699));
-+#5701=FACE_BOUND('',#5700,.F.);
-+#5703=ORIENTED_EDGE('',*,*,#5702,.T.);
-+#5705=ORIENTED_EDGE('',*,*,#5704,.T.);
-+#5706=EDGE_LOOP('',(#5703,#5705));
-+#5707=FACE_BOUND('',#5706,.F.);
-+#5709=ORIENTED_EDGE('',*,*,#5708,.T.);
-+#5711=ORIENTED_EDGE('',*,*,#5710,.T.);
-+#5712=EDGE_LOOP('',(#5709,#5711));
-+#5713=FACE_BOUND('',#5712,.F.);
-+#5715=ORIENTED_EDGE('',*,*,#5714,.T.);
-+#5717=ORIENTED_EDGE('',*,*,#5716,.T.);
-+#5718=EDGE_LOOP('',(#5715,#5717));
-+#5719=FACE_BOUND('',#5718,.F.);
-+#5721=ORIENTED_EDGE('',*,*,#5720,.T.);
-+#5723=ORIENTED_EDGE('',*,*,#5722,.T.);
-+#5724=EDGE_LOOP('',(#5721,#5723));
-+#5725=FACE_BOUND('',#5724,.F.);
-+#5727=ORIENTED_EDGE('',*,*,#5726,.T.);
-+#5729=ORIENTED_EDGE('',*,*,#5728,.T.);
-+#5731=ORIENTED_EDGE('',*,*,#5730,.T.);
-+#5733=ORIENTED_EDGE('',*,*,#5732,.T.);
-+#5734=EDGE_LOOP('',(#5727,#5729,#5731,#5733));
-+#5735=FACE_BOUND('',#5734,.F.);
-+#5737=ORIENTED_EDGE('',*,*,#5736,.T.);
-+#5739=ORIENTED_EDGE('',*,*,#5738,.F.);
-+#5741=ORIENTED_EDGE('',*,*,#5740,.T.);
-+#5743=ORIENTED_EDGE('',*,*,#5742,.T.);
-+#5745=ORIENTED_EDGE('',*,*,#5744,.F.);
-+#5746=EDGE_LOOP('',(#5737,#5739,#5741,#5743,#5745));
-+#5747=FACE_BOUND('',#5746,.F.);
-+#5749=ORIENTED_EDGE('',*,*,#5748,.F.);
-+#5751=ORIENTED_EDGE('',*,*,#5750,.T.);
-+#5753=ORIENTED_EDGE('',*,*,#5752,.T.);
-+#5755=ORIENTED_EDGE('',*,*,#5754,.T.);
-+#5757=ORIENTED_EDGE('',*,*,#5756,.F.);
-+#5759=ORIENTED_EDGE('',*,*,#5758,.T.);
-+#5761=ORIENTED_EDGE('',*,*,#5760,.F.);
-+#5763=ORIENTED_EDGE('',*,*,#5762,.T.);
-+#5765=ORIENTED_EDGE('',*,*,#5764,.F.);
-+#5767=ORIENTED_EDGE('',*,*,#5766,.T.);
-+#5769=ORIENTED_EDGE('',*,*,#5768,.F.);
-+#5771=ORIENTED_EDGE('',*,*,#5770,.T.);
-+#5773=ORIENTED_EDGE('',*,*,#5772,.F.);
-+#5775=ORIENTED_EDGE('',*,*,#5774,.T.);
-+#5776=EDGE_LOOP('',(#5749,#5751,#5753,#5755,#5757,#5759,#5761,#5763,#5765,#5767,
-+#5769,#5771,#5773,#5775));
-+#5777=FACE_BOUND('',#5776,.F.);
-+#5779=ORIENTED_EDGE('',*,*,#5778,.T.);
-+#5781=ORIENTED_EDGE('',*,*,#5780,.T.);
-+#5783=ORIENTED_EDGE('',*,*,#5782,.T.);
-+#5785=ORIENTED_EDGE('',*,*,#5784,.T.);
-+#5786=EDGE_LOOP('',(#5779,#5781,#5783,#5785));
-+#5787=FACE_BOUND('',#5786,.F.);
-+#5789=ORIENTED_EDGE('',*,*,#5788,.T.);
-+#5791=ORIENTED_EDGE('',*,*,#5790,.T.);
-+#5793=ORIENTED_EDGE('',*,*,#5792,.T.);
-+#5795=ORIENTED_EDGE('',*,*,#5794,.T.);
-+#5796=EDGE_LOOP('',(#5789,#5791,#5793,#5795));
-+#5797=FACE_BOUND('',#5796,.F.);
-+#5799=ORIENTED_EDGE('',*,*,#5798,.T.);
-+#5801=ORIENTED_EDGE('',*,*,#5800,.T.);
-+#5803=ORIENTED_EDGE('',*,*,#5802,.T.);
-+#5805=ORIENTED_EDGE('',*,*,#5804,.T.);
-+#5806=EDGE_LOOP('',(#5799,#5801,#5803,#5805));
-+#5807=FACE_BOUND('',#5806,.F.);
-+#5809=ORIENTED_EDGE('',*,*,#5808,.T.);
-+#5811=ORIENTED_EDGE('',*,*,#5810,.T.);
-+#5813=ORIENTED_EDGE('',*,*,#5812,.T.);
-+#5815=ORIENTED_EDGE('',*,*,#5814,.T.);
-+#5816=EDGE_LOOP('',(#5809,#5811,#5813,#5815));
-+#5817=FACE_BOUND('',#5816,.F.);
-+#5819=ORIENTED_EDGE('',*,*,#5818,.F.);
-+#5821=ORIENTED_EDGE('',*,*,#5820,.F.);
-+#5823=ORIENTED_EDGE('',*,*,#5822,.F.);
-+#5825=ORIENTED_EDGE('',*,*,#5824,.F.);
-+#5826=EDGE_LOOP('',(#5819,#5821,#5823,#5825));
-+#5827=FACE_BOUND('',#5826,.F.);
-+#5829=ORIENTED_EDGE('',*,*,#5828,.F.);
-+#5831=ORIENTED_EDGE('',*,*,#5830,.F.);
-+#5833=ORIENTED_EDGE('',*,*,#5832,.F.);
-+#5835=ORIENTED_EDGE('',*,*,#5834,.F.);
-+#5836=EDGE_LOOP('',(#5829,#5831,#5833,#5835));
-+#5837=FACE_BOUND('',#5836,.F.);
-+#5839=ORIENTED_EDGE('',*,*,#5838,.F.);
-+#5841=ORIENTED_EDGE('',*,*,#5840,.F.);
-+#5843=ORIENTED_EDGE('',*,*,#5842,.F.);
-+#5845=ORIENTED_EDGE('',*,*,#5844,.F.);
-+#5846=EDGE_LOOP('',(#5839,#5841,#5843,#5845));
-+#5847=FACE_BOUND('',#5846,.F.);
-+#5849=ORIENTED_EDGE('',*,*,#5848,.F.);
-+#5851=ORIENTED_EDGE('',*,*,#5850,.F.);
-+#5853=ORIENTED_EDGE('',*,*,#5852,.F.);
-+#5855=ORIENTED_EDGE('',*,*,#5854,.F.);
-+#5856=EDGE_LOOP('',(#5849,#5851,#5853,#5855));
-+#5857=FACE_BOUND('',#5856,.F.);
-+#5859=ORIENTED_EDGE('',*,*,#5858,.F.);
-+#5861=ORIENTED_EDGE('',*,*,#5860,.F.);
-+#5863=ORIENTED_EDGE('',*,*,#5862,.F.);
-+#5865=ORIENTED_EDGE('',*,*,#5864,.F.);
-+#5866=EDGE_LOOP('',(#5859,#5861,#5863,#5865));
-+#5867=FACE_BOUND('',#5866,.F.);
-+#5869=ORIENTED_EDGE('',*,*,#5868,.F.);
-+#5871=ORIENTED_EDGE('',*,*,#5870,.F.);
-+#5873=ORIENTED_EDGE('',*,*,#5872,.F.);
-+#5875=ORIENTED_EDGE('',*,*,#5874,.F.);
-+#5876=EDGE_LOOP('',(#5869,#5871,#5873,#5875));
-+#5877=FACE_BOUND('',#5876,.F.);
-+#5879=ORIENTED_EDGE('',*,*,#5878,.T.);
-+#5881=ORIENTED_EDGE('',*,*,#5880,.T.);
-+#5883=ORIENTED_EDGE('',*,*,#5882,.T.);
-+#5885=ORIENTED_EDGE('',*,*,#5884,.T.);
-+#5886=EDGE_LOOP('',(#5879,#5881,#5883,#5885));
-+#5887=FACE_BOUND('',#5886,.F.);
-+#5889=ORIENTED_EDGE('',*,*,#5888,.F.);
-+#5891=ORIENTED_EDGE('',*,*,#5890,.F.);
-+#5893=ORIENTED_EDGE('',*,*,#5892,.F.);
-+#5895=ORIENTED_EDGE('',*,*,#5894,.F.);
-+#5897=ORIENTED_EDGE('',*,*,#5896,.F.);
-+#5899=ORIENTED_EDGE('',*,*,#5898,.F.);
-+#5901=ORIENTED_EDGE('',*,*,#5900,.F.);
-+#5903=ORIENTED_EDGE('',*,*,#5902,.F.);
-+#5905=ORIENTED_EDGE('',*,*,#5904,.F.);
-+#5907=ORIENTED_EDGE('',*,*,#5906,.F.);
-+#5909=ORIENTED_EDGE('',*,*,#5908,.F.);
-+#5911=ORIENTED_EDGE('',*,*,#5910,.F.);
-+#5913=ORIENTED_EDGE('',*,*,#5912,.F.);
-+#5915=ORIENTED_EDGE('',*,*,#5914,.F.);
-+#5916=EDGE_LOOP('',(#5889,#5891,#5893,#5895,#5897,#5899,#5901,#5903,#5905,#5907,
-+#5909,#5911,#5913,#5915));
-+#5917=FACE_BOUND('',#5916,.F.);
-+#5919=ORIENTED_EDGE('',*,*,#5918,.F.);
-+#5921=ORIENTED_EDGE('',*,*,#5920,.F.);
-+#5923=ORIENTED_EDGE('',*,*,#5922,.F.);
-+#5925=ORIENTED_EDGE('',*,*,#5924,.T.);
-+#5927=ORIENTED_EDGE('',*,*,#5926,.F.);
-+#5928=EDGE_LOOP('',(#5919,#5921,#5923,#5925,#5927));
-+#5929=FACE_BOUND('',#5928,.F.);
-+#5931=ORIENTED_EDGE('',*,*,#5930,.F.);
-+#5933=ORIENTED_EDGE('',*,*,#5932,.F.);
-+#5935=ORIENTED_EDGE('',*,*,#5934,.F.);
-+#5937=ORIENTED_EDGE('',*,*,#5936,.T.);
-+#5939=ORIENTED_EDGE('',*,*,#5938,.F.);
-+#5940=EDGE_LOOP('',(#5931,#5933,#5935,#5937,#5939));
-+#5941=FACE_BOUND('',#5940,.F.);
-+#5943=ORIENTED_EDGE('',*,*,#5942,.T.);
-+#5945=ORIENTED_EDGE('',*,*,#5944,.F.);
-+#5947=ORIENTED_EDGE('',*,*,#5946,.T.);
-+#5949=ORIENTED_EDGE('',*,*,#5948,.T.);
-+#5951=ORIENTED_EDGE('',*,*,#5950,.F.);
-+#5952=EDGE_LOOP('',(#5943,#5945,#5947,#5949,#5951));
-+#5953=FACE_BOUND('',#5952,.F.);
-+#5954=ADVANCED_FACE('',(#5539,#5553,#5559,#5565,#5571,#5577,#5583,#5589,#5595,
-+#5601,#5607,#5613,#5619,#5625,#5631,#5637,#5655,#5689,#5695,#5701,#5707,#5713,
-+#5719,#5725,#5735,#5747,#5777,#5787,#5797,#5807,#5817,#5827,#5837,#5847,#5857,
-+#5867,#5877,#5887,#5917,#5929,#5941,#5953),#5493,.F.);
-+#5955=CARTESIAN_POINT('',(0.E0,0.E0,8.E0));
-+#5956=DIRECTION('',(0.E0,0.E0,1.E0));
-+#5957=DIRECTION('',(1.E0,0.E0,0.E0));
-+#5958=AXIS2_PLACEMENT_3D('',#5955,#5956,#5957);
-+#5959=PLANE('',#5958);
-+#5960=ORIENTED_EDGE('',*,*,#5540,.F.);
-+#5962=ORIENTED_EDGE('',*,*,#5961,.T.);
-+#5964=ORIENTED_EDGE('',*,*,#5963,.F.);
-+#5966=ORIENTED_EDGE('',*,*,#5965,.F.);
-+#5967=ORIENTED_EDGE('',*,*,#5494,.T.);
-+#5969=ORIENTED_EDGE('',*,*,#5968,.F.);
-+#5971=ORIENTED_EDGE('',*,*,#5970,.F.);
-+#5973=ORIENTED_EDGE('',*,*,#5972,.T.);
-+#5975=ORIENTED_EDGE('',*,*,#5974,.F.);
-+#5977=ORIENTED_EDGE('',*,*,#5976,.F.);
-+#5979=ORIENTED_EDGE('',*,*,#5978,.F.);
-+#5981=ORIENTED_EDGE('',*,*,#5980,.T.);
-+#5983=ORIENTED_EDGE('',*,*,#5982,.T.);
-+#5985=ORIENTED_EDGE('',*,*,#5984,.F.);
-+#5986=ORIENTED_EDGE('',*,*,#5510,.F.);
-+#5988=ORIENTED_EDGE('',*,*,#5987,.F.);
-+#5990=ORIENTED_EDGE('',*,*,#5989,.F.);
-+#5992=ORIENTED_EDGE('',*,*,#5991,.T.);
-+#5993=EDGE_LOOP('',(#5960,#5962,#5964,#5966,#5967,#5969,#5971,#5973,#5975,#5977,
-+#5979,#5981,#5983,#5985,#5986,#5988,#5990,#5992));
-+#5994=FACE_OUTER_BOUND('',#5993,.F.);
-+#5996=ORIENTED_EDGE('',*,*,#5995,.T.);
-+#5998=ORIENTED_EDGE('',*,*,#5997,.T.);
-+#5999=EDGE_LOOP('',(#5996,#5998));
-+#6000=FACE_BOUND('',#5999,.F.);
-+#6002=ORIENTED_EDGE('',*,*,#6001,.T.);
-+#6004=ORIENTED_EDGE('',*,*,#6003,.T.);
-+#6005=EDGE_LOOP('',(#6002,#6004));
-+#6006=FACE_BOUND('',#6005,.F.);
-+#6008=ORIENTED_EDGE('',*,*,#6007,.T.);
-+#6010=ORIENTED_EDGE('',*,*,#6009,.T.);
-+#6011=EDGE_LOOP('',(#6008,#6010));
-+#6012=FACE_BOUND('',#6011,.F.);
-+#6014=ORIENTED_EDGE('',*,*,#6013,.T.);
-+#6016=ORIENTED_EDGE('',*,*,#6015,.T.);
-+#6017=EDGE_LOOP('',(#6014,#6016));
-+#6018=FACE_BOUND('',#6017,.F.);
-+#6020=ORIENTED_EDGE('',*,*,#6019,.F.);
-+#6022=ORIENTED_EDGE('',*,*,#6021,.F.);
-+#6023=EDGE_LOOP('',(#6020,#6022));
-+#6024=FACE_BOUND('',#6023,.F.);
-+#6026=ORIENTED_EDGE('',*,*,#6025,.F.);
-+#6028=ORIENTED_EDGE('',*,*,#6027,.F.);
-+#6029=EDGE_LOOP('',(#6026,#6028));
-+#6030=FACE_BOUND('',#6029,.F.);
-+#6032=ORIENTED_EDGE('',*,*,#6031,.F.);
-+#6034=ORIENTED_EDGE('',*,*,#6033,.F.);
-+#6035=EDGE_LOOP('',(#6032,#6034));
-+#6036=FACE_BOUND('',#6035,.F.);
-+#6038=ORIENTED_EDGE('',*,*,#6037,.F.);
-+#6040=ORIENTED_EDGE('',*,*,#6039,.F.);
-+#6041=EDGE_LOOP('',(#6038,#6040));
-+#6042=FACE_BOUND('',#6041,.F.);
-+#6044=ORIENTED_EDGE('',*,*,#6043,.T.);
-+#6046=ORIENTED_EDGE('',*,*,#6045,.F.);
-+#6048=ORIENTED_EDGE('',*,*,#6047,.T.);
-+#6050=ORIENTED_EDGE('',*,*,#6049,.F.);
-+#6052=ORIENTED_EDGE('',*,*,#6051,.T.);
-+#6054=ORIENTED_EDGE('',*,*,#6053,.F.);
-+#6056=ORIENTED_EDGE('',*,*,#6055,.T.);
-+#6058=ORIENTED_EDGE('',*,*,#6057,.F.);
-+#6059=EDGE_LOOP('',(#6044,#6046,#6048,#6050,#6052,#6054,#6056,#6058));
-+#6060=FACE_BOUND('',#6059,.F.);
-+#6062=ORIENTED_EDGE('',*,*,#6061,.F.);
-+#6064=ORIENTED_EDGE('',*,*,#6063,.F.);
-+#6066=ORIENTED_EDGE('',*,*,#6065,.F.);
-+#6068=ORIENTED_EDGE('',*,*,#6067,.F.);
-+#6070=ORIENTED_EDGE('',*,*,#6069,.F.);
-+#6072=ORIENTED_EDGE('',*,*,#6071,.F.);
-+#6074=ORIENTED_EDGE('',*,*,#6073,.F.);
-+#6076=ORIENTED_EDGE('',*,*,#6075,.F.);
-+#6077=EDGE_LOOP('',(#6062,#6064,#6066,#6068,#6070,#6072,#6074,#6076));
-+#6078=FACE_BOUND('',#6077,.F.);
-+#6079=ADVANCED_FACE('',(#5994,#6000,#6006,#6012,#6018,#6024,#6030,#6036,#6042,
-+#6060,#6078),#5959,.F.);
-+#6080=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0));
-+#6081=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#6082=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6083=AXIS2_PLACEMENT_3D('',#6080,#6081,#6082);
-+#6084=CYLINDRICAL_SURFACE('',#6083,9.5E-2);
-+#6085=ORIENTED_EDGE('',*,*,#5995,.F.);
-+#6087=ORIENTED_EDGE('',*,*,#6086,.T.);
-+#6089=ORIENTED_EDGE('',*,*,#6088,.T.);
-+#6091=ORIENTED_EDGE('',*,*,#6090,.F.);
-+#6092=EDGE_LOOP('',(#6085,#6087,#6089,#6091));
-+#6093=FACE_OUTER_BOUND('',#6092,.F.);
-+#6094=ADVANCED_FACE('',(#6093),#6084,.F.);
-+#6095=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0));
-+#6096=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#6097=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6098=AXIS2_PLACEMENT_3D('',#6095,#6096,#6097);
-+#6099=CYLINDRICAL_SURFACE('',#6098,9.5E-2);
-+#6100=ORIENTED_EDGE('',*,*,#5997,.F.);
-+#6101=ORIENTED_EDGE('',*,*,#6090,.T.);
-+#6103=ORIENTED_EDGE('',*,*,#6102,.T.);
-+#6104=ORIENTED_EDGE('',*,*,#6086,.F.);
-+#6105=EDGE_LOOP('',(#6100,#6101,#6103,#6104));
-+#6106=FACE_OUTER_BOUND('',#6105,.F.);
-+#6107=ADVANCED_FACE('',(#6106),#6099,.F.);
-+#6108=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0));
-+#6109=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#6110=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6111=AXIS2_PLACEMENT_3D('',#6108,#6109,#6110);
-+#6112=PLANE('',#6111);
-+#6113=ORIENTED_EDGE('',*,*,#6088,.F.);
-+#6114=ORIENTED_EDGE('',*,*,#6102,.F.);
-+#6115=EDGE_LOOP('',(#6113,#6114));
-+#6116=FACE_OUTER_BOUND('',#6115,.F.);
-+#6117=ADVANCED_FACE('',(#6116),#6112,.T.);
-+#6118=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0));
-+#6119=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#6120=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6121=AXIS2_PLACEMENT_3D('',#6118,#6119,#6120);
-+#6122=CYLINDRICAL_SURFACE('',#6121,1.625E-1);
-+#6123=ORIENTED_EDGE('',*,*,#6001,.F.);
-+#6125=ORIENTED_EDGE('',*,*,#6124,.T.);
-+#6127=ORIENTED_EDGE('',*,*,#6126,.T.);
-+#6129=ORIENTED_EDGE('',*,*,#6128,.F.);
-+#6130=EDGE_LOOP('',(#6123,#6125,#6127,#6129));
-+#6131=FACE_OUTER_BOUND('',#6130,.F.);
-+#6132=ADVANCED_FACE('',(#6131),#6122,.F.);
-+#6133=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0));
-+#6134=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#6135=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6136=AXIS2_PLACEMENT_3D('',#6133,#6134,#6135);
-+#6137=CYLINDRICAL_SURFACE('',#6136,1.625E-1);
-+#6138=ORIENTED_EDGE('',*,*,#6003,.F.);
-+#6139=ORIENTED_EDGE('',*,*,#6128,.T.);
-+#6141=ORIENTED_EDGE('',*,*,#6140,.T.);
-+#6142=ORIENTED_EDGE('',*,*,#6124,.F.);
-+#6143=EDGE_LOOP('',(#6138,#6139,#6141,#6142));
-+#6144=FACE_OUTER_BOUND('',#6143,.F.);
-+#6145=ADVANCED_FACE('',(#6144),#6137,.F.);
-+#6146=CARTESIAN_POINT('',(2.4E1,0.E0,1.E1));
-+#6147=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#6148=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6149=AXIS2_PLACEMENT_3D('',#6146,#6147,#6148);
-+#6150=PLANE('',#6149);
-+#6152=ORIENTED_EDGE('',*,*,#6151,.T.);
-+#6154=ORIENTED_EDGE('',*,*,#6153,.T.);
-+#6156=ORIENTED_EDGE('',*,*,#6155,.F.);
-+#6158=ORIENTED_EDGE('',*,*,#6157,.F.);
-+#6160=ORIENTED_EDGE('',*,*,#6159,.T.);
-+#6162=ORIENTED_EDGE('',*,*,#6161,.T.);
-+#6164=ORIENTED_EDGE('',*,*,#6163,.T.);
-+#6166=ORIENTED_EDGE('',*,*,#6165,.T.);
-+#6168=ORIENTED_EDGE('',*,*,#6167,.F.);
-+#6169=EDGE_LOOP('',(#6152,#6154,#6156,#6158,#6160,#6162,#6164,#6166,#6168));
-+#6170=FACE_OUTER_BOUND('',#6169,.F.);
-+#6171=ORIENTED_EDGE('',*,*,#6126,.F.);
-+#6172=ORIENTED_EDGE('',*,*,#6140,.F.);
-+#6173=EDGE_LOOP('',(#6171,#6172));
-+#6174=FACE_BOUND('',#6173,.F.);
-+#6176=ORIENTED_EDGE('',*,*,#6175,.F.);
-+#6178=ORIENTED_EDGE('',*,*,#6177,.F.);
-+#6180=ORIENTED_EDGE('',*,*,#6179,.F.);
-+#6182=ORIENTED_EDGE('',*,*,#6181,.F.);
-+#6184=ORIENTED_EDGE('',*,*,#6183,.F.);
-+#6186=ORIENTED_EDGE('',*,*,#6185,.F.);
-+#6188=ORIENTED_EDGE('',*,*,#6187,.F.);
-+#6190=ORIENTED_EDGE('',*,*,#6189,.F.);
-+#6192=ORIENTED_EDGE('',*,*,#6191,.F.);
-+#6194=ORIENTED_EDGE('',*,*,#6193,.F.);
-+#6196=ORIENTED_EDGE('',*,*,#6195,.F.);
-+#6198=ORIENTED_EDGE('',*,*,#6197,.F.);
-+#6199=EDGE_LOOP('',(#6176,#6178,#6180,#6182,#6184,#6186,#6188,#6190,#6192,#6194,
-+#6196,#6198));
-+#6200=FACE_BOUND('',#6199,.F.);
-+#6201=ADVANCED_FACE('',(#6170,#6174,#6200),#6150,.F.);
-+#6202=CARTESIAN_POINT('',(2.375E1,1.5E0,1.2E1));
-+#6203=DIRECTION('',(1.E0,0.E0,0.E0));
-+#6204=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#6205=AXIS2_PLACEMENT_3D('',#6202,#6203,#6204);
-+#6206=PLANE('',#6205);
-+#6208=ORIENTED_EDGE('',*,*,#6207,.F.);
-+#6210=ORIENTED_EDGE('',*,*,#6209,.F.);
-+#6211=ORIENTED_EDGE('',*,*,#6151,.F.);
-+#6212=EDGE_LOOP('',(#6208,#6210,#6211));
-+#6213=FACE_OUTER_BOUND('',#6212,.F.);
-+#6214=ADVANCED_FACE('',(#6213),#6206,.T.);
-+#6215=CARTESIAN_POINT('',(0.E0,1.5E0,0.E0));
-+#6216=DIRECTION('',(0.E0,1.E0,0.E0));
-+#6217=DIRECTION('',(1.E0,0.E0,0.E0));
-+#6218=AXIS2_PLACEMENT_3D('',#6215,#6216,#6217);
-+#6219=PLANE('',#6218);
-+#6220=ORIENTED_EDGE('',*,*,#5963,.T.);
-+#6222=ORIENTED_EDGE('',*,*,#6221,.F.);
-+#6224=ORIENTED_EDGE('',*,*,#6223,.F.);
-+#6226=ORIENTED_EDGE('',*,*,#6225,.T.);
-+#6228=ORIENTED_EDGE('',*,*,#6227,.F.);
-+#6230=ORIENTED_EDGE('',*,*,#6229,.F.);
-+#6231=ORIENTED_EDGE('',*,*,#5989,.T.);
-+#6233=ORIENTED_EDGE('',*,*,#6232,.F.);
-+#6235=ORIENTED_EDGE('',*,*,#6234,.F.);
-+#6237=ORIENTED_EDGE('',*,*,#6236,.T.);
-+#6239=ORIENTED_EDGE('',*,*,#6238,.F.);
-+#6241=ORIENTED_EDGE('',*,*,#6240,.T.);
-+#6243=ORIENTED_EDGE('',*,*,#6242,.F.);
-+#6245=ORIENTED_EDGE('',*,*,#6244,.F.);
-+#6246=EDGE_LOOP('',(#6220,#6222,#6224,#6226,#6228,#6230,#6231,#6233,#6235,#6237,
-+#6239,#6241,#6243,#6245));
-+#6247=FACE_OUTER_BOUND('',#6246,.F.);
-+#6249=ORIENTED_EDGE('',*,*,#6248,.F.);
-+#6251=ORIENTED_EDGE('',*,*,#6250,.F.);
-+#6252=EDGE_LOOP('',(#6249,#6251));
-+#6253=FACE_BOUND('',#6252,.F.);
-+#6255=ORIENTED_EDGE('',*,*,#6254,.F.);
-+#6257=ORIENTED_EDGE('',*,*,#6256,.F.);
-+#6258=EDGE_LOOP('',(#6255,#6257));
-+#6259=FACE_BOUND('',#6258,.F.);
-+#6261=ORIENTED_EDGE('',*,*,#6260,.F.);
-+#6263=ORIENTED_EDGE('',*,*,#6262,.F.);
-+#6264=EDGE_LOOP('',(#6261,#6263));
-+#6265=FACE_BOUND('',#6264,.F.);
-+#6267=ORIENTED_EDGE('',*,*,#6266,.F.);
-+#6269=ORIENTED_EDGE('',*,*,#6268,.F.);
-+#6270=EDGE_LOOP('',(#6267,#6269));
-+#6271=FACE_BOUND('',#6270,.F.);
-+#6273=ORIENTED_EDGE('',*,*,#6272,.F.);
-+#6275=ORIENTED_EDGE('',*,*,#6274,.F.);
-+#6276=EDGE_LOOP('',(#6273,#6275));
-+#6277=FACE_BOUND('',#6276,.F.);
-+#6278=ADVANCED_FACE('',(#6247,#6253,#6259,#6265,#6271,#6277),#6219,.T.);
-+#6279=CARTESIAN_POINT('',(0.E0,1.5E0,0.E0));
-+#6280=DIRECTION('',(0.E0,1.E0,0.E0));
-+#6281=DIRECTION('',(1.E0,0.E0,0.E0));
-+#6282=AXIS2_PLACEMENT_3D('',#6279,#6280,#6281);
-+#6283=PLANE('',#6282);
-+#6284=ORIENTED_EDGE('',*,*,#6207,.T.);
-+#6285=ORIENTED_EDGE('',*,*,#6167,.T.);
-+#6287=ORIENTED_EDGE('',*,*,#6286,.T.);
-+#6289=ORIENTED_EDGE('',*,*,#6288,.F.);
-+#6291=ORIENTED_EDGE('',*,*,#6290,.T.);
-+#6293=ORIENTED_EDGE('',*,*,#6292,.F.);
-+#6295=ORIENTED_EDGE('',*,*,#6294,.F.);
-+#6297=ORIENTED_EDGE('',*,*,#6296,.T.);
-+#6299=ORIENTED_EDGE('',*,*,#6298,.F.);
-+#6301=ORIENTED_EDGE('',*,*,#6300,.T.);
-+#6303=ORIENTED_EDGE('',*,*,#6302,.F.);
-+#6305=ORIENTED_EDGE('',*,*,#6304,.F.);
-+#6307=ORIENTED_EDGE('',*,*,#6306,.F.);
-+#6309=ORIENTED_EDGE('',*,*,#6308,.T.);
-+#6311=ORIENTED_EDGE('',*,*,#6310,.F.);
-+#6313=ORIENTED_EDGE('',*,*,#6312,.T.);
-+#6315=ORIENTED_EDGE('',*,*,#6314,.F.);
-+#6317=ORIENTED_EDGE('',*,*,#6316,.T.);
-+#6319=ORIENTED_EDGE('',*,*,#6318,.T.);
-+#6321=ORIENTED_EDGE('',*,*,#6320,.T.);
-+#6323=ORIENTED_EDGE('',*,*,#6322,.F.);
-+#6324=ORIENTED_EDGE('',*,*,#5976,.T.);
-+#6326=ORIENTED_EDGE('',*,*,#6325,.T.);
-+#6327=ORIENTED_EDGE('',*,*,#6157,.T.);
-+#6329=ORIENTED_EDGE('',*,*,#6328,.F.);
-+#6331=ORIENTED_EDGE('',*,*,#6330,.F.);
-+#6332=EDGE_LOOP('',(#6284,#6285,#6287,#6289,#6291,#6293,#6295,#6297,#6299,#6301,
-+#6303,#6305,#6307,#6309,#6311,#6313,#6315,#6317,#6319,#6321,#6323,#6324,#6326,
-+#6327,#6329,#6331));
-+#6333=FACE_OUTER_BOUND('',#6332,.F.);
-+#6335=ORIENTED_EDGE('',*,*,#6334,.F.);
-+#6337=ORIENTED_EDGE('',*,*,#6336,.F.);
-+#6338=EDGE_LOOP('',(#6335,#6337));
-+#6339=FACE_BOUND('',#6338,.F.);
-+#6341=ORIENTED_EDGE('',*,*,#6340,.F.);
-+#6343=ORIENTED_EDGE('',*,*,#6342,.F.);
-+#6344=EDGE_LOOP('',(#6341,#6343));
-+#6345=FACE_BOUND('',#6344,.F.);
-+#6347=ORIENTED_EDGE('',*,*,#6346,.T.);
-+#6349=ORIENTED_EDGE('',*,*,#6348,.T.);
-+#6350=EDGE_LOOP('',(#6347,#6349));
-+#6351=FACE_BOUND('',#6350,.F.);
-+#6353=ORIENTED_EDGE('',*,*,#6352,.T.);
-+#6355=ORIENTED_EDGE('',*,*,#6354,.T.);
-+#6356=EDGE_LOOP('',(#6353,#6355));
-+#6357=FACE_BOUND('',#6356,.F.);
-+#6359=ORIENTED_EDGE('',*,*,#6358,.F.);
-+#6361=ORIENTED_EDGE('',*,*,#6360,.F.);
-+#6362=EDGE_LOOP('',(#6359,#6361));
-+#6363=FACE_BOUND('',#6362,.F.);
-+#6365=ORIENTED_EDGE('',*,*,#6364,.F.);
-+#6367=ORIENTED_EDGE('',*,*,#6366,.F.);
-+#6368=EDGE_LOOP('',(#6365,#6367));
-+#6369=FACE_BOUND('',#6368,.F.);
-+#6371=ORIENTED_EDGE('',*,*,#6370,.F.);
-+#6373=ORIENTED_EDGE('',*,*,#6372,.F.);
-+#6374=EDGE_LOOP('',(#6371,#6373));
-+#6375=FACE_BOUND('',#6374,.F.);
-+#6377=ORIENTED_EDGE('',*,*,#6376,.F.);
-+#6379=ORIENTED_EDGE('',*,*,#6378,.F.);
-+#6380=EDGE_LOOP('',(#6377,#6379));
-+#6381=FACE_BOUND('',#6380,.F.);
-+#6383=ORIENTED_EDGE('',*,*,#6382,.F.);
-+#6385=ORIENTED_EDGE('',*,*,#6384,.F.);
-+#6386=EDGE_LOOP('',(#6383,#6385));
-+#6387=FACE_BOUND('',#6386,.F.);
-+#6389=ORIENTED_EDGE('',*,*,#6388,.F.);
-+#6391=ORIENTED_EDGE('',*,*,#6390,.F.);
-+#6392=EDGE_LOOP('',(#6389,#6391));
-+#6393=FACE_BOUND('',#6392,.F.);
-+#6395=ORIENTED_EDGE('',*,*,#6394,.F.);
-+#6397=ORIENTED_EDGE('',*,*,#6396,.F.);
-+#6398=EDGE_LOOP('',(#6395,#6397));
-+#6399=FACE_BOUND('',#6398,.F.);
-+#6401=ORIENTED_EDGE('',*,*,#6400,.T.);
-+#6403=ORIENTED_EDGE('',*,*,#6402,.F.);
-+#6405=ORIENTED_EDGE('',*,*,#6404,.F.);
-+#6407=ORIENTED_EDGE('',*,*,#6406,.F.);
-+#6409=ORIENTED_EDGE('',*,*,#6408,.T.);
-+#6411=ORIENTED_EDGE('',*,*,#6410,.F.);
-+#6413=ORIENTED_EDGE('',*,*,#6412,.T.);
-+#6415=ORIENTED_EDGE('',*,*,#6414,.F.);
-+#6416=EDGE_LOOP('',(#6401,#6403,#6405,#6407,#6409,#6411,#6413,#6415));
-+#6417=FACE_BOUND('',#6416,.F.);
-+#6419=ORIENTED_EDGE('',*,*,#6418,.F.);
-+#6421=ORIENTED_EDGE('',*,*,#6420,.F.);
-+#6423=ORIENTED_EDGE('',*,*,#6422,.T.);
-+#6425=ORIENTED_EDGE('',*,*,#6424,.F.);
-+#6427=ORIENTED_EDGE('',*,*,#6426,.T.);
-+#6429=ORIENTED_EDGE('',*,*,#6428,.F.);
-+#6431=ORIENTED_EDGE('',*,*,#6430,.T.);
-+#6433=ORIENTED_EDGE('',*,*,#6432,.F.);
-+#6435=ORIENTED_EDGE('',*,*,#6434,.F.);
-+#6437=ORIENTED_EDGE('',*,*,#6436,.F.);
-+#6439=ORIENTED_EDGE('',*,*,#6438,.F.);
-+#6441=ORIENTED_EDGE('',*,*,#6440,.T.);
-+#6443=ORIENTED_EDGE('',*,*,#6442,.F.);
-+#6445=ORIENTED_EDGE('',*,*,#6444,.F.);
-+#6447=ORIENTED_EDGE('',*,*,#6446,.T.);
-+#6449=ORIENTED_EDGE('',*,*,#6448,.F.);
-+#6450=EDGE_LOOP('',(#6419,#6421,#6423,#6425,#6427,#6429,#6431,#6433,#6435,#6437,
-+#6439,#6441,#6443,#6445,#6447,#6449));
-+#6451=FACE_BOUND('',#6450,.F.);
-+#6453=ORIENTED_EDGE('',*,*,#6452,.F.);
-+#6455=ORIENTED_EDGE('',*,*,#6454,.F.);
-+#6456=EDGE_LOOP('',(#6453,#6455));
-+#6457=FACE_BOUND('',#6456,.F.);
-+#6459=ORIENTED_EDGE('',*,*,#6458,.F.);
-+#6461=ORIENTED_EDGE('',*,*,#6460,.F.);
-+#6462=EDGE_LOOP('',(#6459,#6461));
-+#6463=FACE_BOUND('',#6462,.F.);
-+#6465=ORIENTED_EDGE('',*,*,#6464,.F.);
-+#6467=ORIENTED_EDGE('',*,*,#6466,.F.);
-+#6468=EDGE_LOOP('',(#6465,#6467));
-+#6469=FACE_BOUND('',#6468,.F.);
-+#6471=ORIENTED_EDGE('',*,*,#6470,.F.);
-+#6473=ORIENTED_EDGE('',*,*,#6472,.F.);
-+#6474=EDGE_LOOP('',(#6471,#6473));
-+#6475=FACE_BOUND('',#6474,.F.);
-+#6477=ORIENTED_EDGE('',*,*,#6476,.F.);
-+#6479=ORIENTED_EDGE('',*,*,#6478,.F.);
-+#6480=EDGE_LOOP('',(#6477,#6479));
-+#6481=FACE_BOUND('',#6480,.F.);
-+#6483=ORIENTED_EDGE('',*,*,#6482,.F.);
-+#6485=ORIENTED_EDGE('',*,*,#6484,.F.);
-+#6486=EDGE_LOOP('',(#6483,#6485));
-+#6487=FACE_BOUND('',#6486,.F.);
-+#6488=ADVANCED_FACE('',(#6333,#6339,#6345,#6351,#6357,#6363,#6369,#6375,#6381,
-+#6387,#6393,#6399,#6417,#6451,#6457,#6463,#6469,#6475,#6481,#6487),#6283,.T.);
-+#6489=CARTESIAN_POINT('',(6.45E0,1.176878221735E0,2.975E1));
-+#6490=DIRECTION('',(0.E0,1.E0,0.E0));
-+#6491=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6492=AXIS2_PLACEMENT_3D('',#6489,#6490,#6491);
-+#6493=CYLINDRICAL_SURFACE('',#6492,1.E-1);
-+#6494=ORIENTED_EDGE('',*,*,#6334,.T.);
-+#6496=ORIENTED_EDGE('',*,*,#6495,.F.);
-+#6498=ORIENTED_EDGE('',*,*,#6497,.F.);
-+#6500=ORIENTED_EDGE('',*,*,#6499,.T.);
-+#6501=EDGE_LOOP('',(#6494,#6496,#6498,#6500));
-+#6502=FACE_OUTER_BOUND('',#6501,.F.);
-+#6503=ADVANCED_FACE('',(#6502),#6493,.F.);
-+#6504=CARTESIAN_POINT('',(6.45E0,1.176878221735E0,2.975E1));
-+#6505=DIRECTION('',(0.E0,1.E0,0.E0));
-+#6506=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6507=AXIS2_PLACEMENT_3D('',#6504,#6505,#6506);
-+#6508=CYLINDRICAL_SURFACE('',#6507,1.E-1);
-+#6509=ORIENTED_EDGE('',*,*,#6336,.T.);
-+#6510=ORIENTED_EDGE('',*,*,#6499,.F.);
-+#6512=ORIENTED_EDGE('',*,*,#6511,.T.);
-+#6513=ORIENTED_EDGE('',*,*,#6495,.T.);
-+#6514=EDGE_LOOP('',(#6509,#6510,#6512,#6513));
-+#6515=FACE_OUTER_BOUND('',#6514,.F.);
-+#6516=ADVANCED_FACE('',(#6515),#6508,.F.);
-+#6517=CARTESIAN_POINT('',(6.45E0,1.234346967234E0,2.975E1));
-+#6518=DIRECTION('',(0.E0,1.E0,0.E0));
-+#6519=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6520=AXIS2_PLACEMENT_3D('',#6517,#6518,#6519);
-+#6521=CONICAL_SURFACE('',#6520,7.288815195685E-2,6.E1);
-+#6523=ORIENTED_EDGE('',*,*,#6522,.T.);
-+#6524=ORIENTED_EDGE('',*,*,#6511,.F.);
-+#6526=ORIENTED_EDGE('',*,*,#6525,.F.);
-+#6527=EDGE_LOOP('',(#6523,#6524,#6526));
-+#6528=FACE_OUTER_BOUND('',#6527,.F.);
-+#6529=ADVANCED_FACE('',(#6528),#6521,.F.);
-+#6530=CARTESIAN_POINT('',(6.45E0,1.234346967234E0,2.975E1));
-+#6531=DIRECTION('',(0.E0,1.E0,0.E0));
-+#6532=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6533=AXIS2_PLACEMENT_3D('',#6530,#6531,#6532);
-+#6534=CONICAL_SURFACE('',#6533,7.288815195685E-2,6.E1);
-+#6535=ORIENTED_EDGE('',*,*,#6522,.F.);
-+#6536=ORIENTED_EDGE('',*,*,#6525,.T.);
-+#6537=ORIENTED_EDGE('',*,*,#6497,.T.);
-+#6538=EDGE_LOOP('',(#6535,#6536,#6537));
-+#6539=FACE_OUTER_BOUND('',#6538,.F.);
-+#6540=ADVANCED_FACE('',(#6539),#6534,.F.);
-+#6541=CARTESIAN_POINT('',(7.45E0,1.176878221735E0,2.975E1));
-+#6542=DIRECTION('',(0.E0,1.E0,0.E0));
-+#6543=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6544=AXIS2_PLACEMENT_3D('',#6541,#6542,#6543);
-+#6545=CYLINDRICAL_SURFACE('',#6544,1.E-1);
-+#6546=ORIENTED_EDGE('',*,*,#6340,.T.);
-+#6548=ORIENTED_EDGE('',*,*,#6547,.F.);
-+#6550=ORIENTED_EDGE('',*,*,#6549,.F.);
-+#6552=ORIENTED_EDGE('',*,*,#6551,.T.);
-+#6553=EDGE_LOOP('',(#6546,#6548,#6550,#6552));
-+#6554=FACE_OUTER_BOUND('',#6553,.F.);
-+#6555=ADVANCED_FACE('',(#6554),#6545,.F.);
-+#6556=CARTESIAN_POINT('',(7.45E0,1.176878221735E0,2.975E1));
-+#6557=DIRECTION('',(0.E0,1.E0,0.E0));
-+#6558=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6559=AXIS2_PLACEMENT_3D('',#6556,#6557,#6558);
-+#6560=CYLINDRICAL_SURFACE('',#6559,1.E-1);
-+#6561=ORIENTED_EDGE('',*,*,#6342,.T.);
-+#6562=ORIENTED_EDGE('',*,*,#6551,.F.);
-+#6564=ORIENTED_EDGE('',*,*,#6563,.T.);
-+#6565=ORIENTED_EDGE('',*,*,#6547,.T.);
-+#6566=EDGE_LOOP('',(#6561,#6562,#6564,#6565));
-+#6567=FACE_OUTER_BOUND('',#6566,.F.);
-+#6568=ADVANCED_FACE('',(#6567),#6560,.F.);
-+#6569=CARTESIAN_POINT('',(7.45E0,1.234346967234E0,2.975E1));
-+#6570=DIRECTION('',(0.E0,1.E0,0.E0));
-+#6571=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6572=AXIS2_PLACEMENT_3D('',#6569,#6570,#6571);
-+#6573=CONICAL_SURFACE('',#6572,7.288815195685E-2,6.E1);
-+#6575=ORIENTED_EDGE('',*,*,#6574,.T.);
-+#6576=ORIENTED_EDGE('',*,*,#6563,.F.);
-+#6578=ORIENTED_EDGE('',*,*,#6577,.F.);
-+#6579=EDGE_LOOP('',(#6575,#6576,#6578));
-+#6580=FACE_OUTER_BOUND('',#6579,.F.);
-+#6581=ADVANCED_FACE('',(#6580),#6573,.F.);
-+#6582=CARTESIAN_POINT('',(7.45E0,1.234346967234E0,2.975E1));
-+#6583=DIRECTION('',(0.E0,1.E0,0.E0));
-+#6584=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6585=AXIS2_PLACEMENT_3D('',#6582,#6583,#6584);
-+#6586=CONICAL_SURFACE('',#6585,7.288815195685E-2,6.E1);
-+#6587=ORIENTED_EDGE('',*,*,#6574,.F.);
-+#6588=ORIENTED_EDGE('',*,*,#6577,.T.);
-+#6589=ORIENTED_EDGE('',*,*,#6549,.T.);
-+#6590=EDGE_LOOP('',(#6587,#6588,#6589));
-+#6591=FACE_OUTER_BOUND('',#6590,.F.);
-+#6592=ADVANCED_FACE('',(#6591),#6586,.F.);
-+#6593=CARTESIAN_POINT('',(2.046862696660E1,-7.805924235695E-2,7.E0));
-+#6594=DIRECTION('',(0.E0,1.E0,0.E0));
-+#6595=DIRECTION('',(0.E0,0.E0,1.E0));
-+#6596=AXIS2_PLACEMENT_3D('',#6593,#6594,#6595);
-+#6597=CYLINDRICAL_SURFACE('',#6596,1.E0);
-+#6598=ORIENTED_EDGE('',*,*,#5961,.F.);
-+#6599=ORIENTED_EDGE('',*,*,#5550,.T.);
-+#6601=ORIENTED_EDGE('',*,*,#6600,.T.);
-+#6602=ORIENTED_EDGE('',*,*,#6221,.T.);
-+#6603=EDGE_LOOP('',(#6598,#6599,#6601,#6602));
-+#6604=FACE_OUTER_BOUND('',#6603,.F.);
-+#6605=ADVANCED_FACE('',(#6604),#6597,.F.);
-+#6606=CARTESIAN_POINT('',(1.65E1,1.562633489099E0,7.5E0));
-+#6607=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#6608=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#6609=AXIS2_PLACEMENT_3D('',#6606,#6607,#6608);
-+#6610=CYLINDRICAL_SURFACE('',#6609,5.E0);
-+#6611=ORIENTED_EDGE('',*,*,#6600,.F.);
-+#6612=ORIENTED_EDGE('',*,*,#5548,.T.);
-+#6614=ORIENTED_EDGE('',*,*,#6613,.F.);
-+#6615=ORIENTED_EDGE('',*,*,#6223,.T.);
-+#6616=EDGE_LOOP('',(#6611,#6612,#6614,#6615));
-+#6617=FACE_OUTER_BOUND('',#6616,.F.);
-+#6618=ADVANCED_FACE('',(#6617),#6610,.F.);
-+#6619=CARTESIAN_POINT('',(2.15E1,1.5E0,2.5E0));
-+#6620=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#6621=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6622=AXIS2_PLACEMENT_3D('',#6619,#6620,#6621);
-+#6623=PLANE('',#6622);
-+#6625=ORIENTED_EDGE('',*,*,#6624,.F.);
-+#6626=ORIENTED_EDGE('',*,*,#6225,.F.);
-+#6627=ORIENTED_EDGE('',*,*,#6613,.T.);
-+#6628=ORIENTED_EDGE('',*,*,#5546,.T.);
-+#6629=EDGE_LOOP('',(#6625,#6626,#6627,#6628));
-+#6630=FACE_OUTER_BOUND('',#6629,.F.);
-+#6631=ADVANCED_FACE('',(#6630),#6623,.F.);
-+#6632=CARTESIAN_POINT('',(7.5E0,1.562633489099E0,7.5E0));
-+#6633=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#6634=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6635=AXIS2_PLACEMENT_3D('',#6632,#6633,#6634);
-+#6636=CYLINDRICAL_SURFACE('',#6635,5.E0);
-+#6638=ORIENTED_EDGE('',*,*,#6637,.F.);
-+#6639=ORIENTED_EDGE('',*,*,#6227,.T.);
-+#6640=ORIENTED_EDGE('',*,*,#6624,.T.);
-+#6641=ORIENTED_EDGE('',*,*,#5544,.T.);
-+#6642=EDGE_LOOP('',(#6638,#6639,#6640,#6641));
-+#6643=FACE_OUTER_BOUND('',#6642,.F.);
-+#6644=ADVANCED_FACE('',(#6643),#6636,.F.);
-+#6645=CARTESIAN_POINT('',(3.531373033403E0,1.157860978230E1,7.E0));
-+#6646=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#6647=DIRECTION('',(0.E0,0.E0,1.E0));
-+#6648=AXIS2_PLACEMENT_3D('',#6645,#6646,#6647);
-+#6649=CYLINDRICAL_SURFACE('',#6648,1.E0);
-+#6650=ORIENTED_EDGE('',*,*,#5991,.F.);
-+#6651=ORIENTED_EDGE('',*,*,#6229,.T.);
-+#6652=ORIENTED_EDGE('',*,*,#6637,.T.);
-+#6653=ORIENTED_EDGE('',*,*,#5542,.T.);
-+#6654=EDGE_LOOP('',(#6650,#6651,#6652,#6653));
-+#6655=FACE_OUTER_BOUND('',#6654,.F.);
-+#6656=ADVANCED_FACE('',(#6655),#6649,.F.);
-+#6657=CARTESIAN_POINT('',(-1.E0,1.161044894892E1,7.E0));
-+#6658=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#6659=DIRECTION('',(1.E0,0.E0,0.E0));
-+#6660=AXIS2_PLACEMENT_3D('',#6657,#6658,#6659);
-+#6661=CYLINDRICAL_SURFACE('',#6660,1.E0);
-+#6663=ORIENTED_EDGE('',*,*,#6662,.F.);
-+#6664=ORIENTED_EDGE('',*,*,#6232,.T.);
-+#6665=ORIENTED_EDGE('',*,*,#5987,.T.);
-+#6666=ORIENTED_EDGE('',*,*,#5508,.T.);
-+#6667=EDGE_LOOP('',(#6663,#6664,#6665,#6666));
-+#6668=FACE_OUTER_BOUND('',#6667,.F.);
-+#6669=ADVANCED_FACE('',(#6668),#6661,.F.);
-+#6670=CARTESIAN_POINT('',(0.E0,0.E0,0.E0));
-+#6671=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6672=DIRECTION('',(0.E0,0.E0,1.E0));
-+#6673=AXIS2_PLACEMENT_3D('',#6670,#6671,#6672);
-+#6674=PLANE('',#6673);
-+#6676=ORIENTED_EDGE('',*,*,#6675,.T.);
-+#6677=ORIENTED_EDGE('',*,*,#6302,.T.);
-+#6679=ORIENTED_EDGE('',*,*,#6678,.F.);
-+#6680=ORIENTED_EDGE('',*,*,#5520,.F.);
-+#6681=EDGE_LOOP('',(#6676,#6677,#6679,#6680));
-+#6682=FACE_OUTER_BOUND('',#6681,.F.);
-+#6683=ADVANCED_FACE('',(#6682),#6674,.T.);
-+#6684=CARTESIAN_POINT('',(0.E0,0.E0,0.E0));
-+#6685=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6686=DIRECTION('',(0.E0,0.E0,1.E0));
-+#6687=AXIS2_PLACEMENT_3D('',#6684,#6685,#6686);
-+#6688=PLANE('',#6687);
-+#6689=ORIENTED_EDGE('',*,*,#6662,.T.);
-+#6690=ORIENTED_EDGE('',*,*,#5506,.F.);
-+#6692=ORIENTED_EDGE('',*,*,#6691,.T.);
-+#6693=ORIENTED_EDGE('',*,*,#6234,.T.);
-+#6694=EDGE_LOOP('',(#6689,#6690,#6692,#6693));
-+#6695=FACE_OUTER_BOUND('',#6694,.F.);
-+#6696=ADVANCED_FACE('',(#6695),#6688,.T.);
-+#6697=CARTESIAN_POINT('',(-1.E0,-5.722942641981E-2,1.325E1));
-+#6698=DIRECTION('',(0.E0,1.E0,0.E0));
-+#6699=DIRECTION('',(1.E0,0.E0,0.E0));
-+#6700=AXIS2_PLACEMENT_3D('',#6697,#6698,#6699);
-+#6701=CYLINDRICAL_SURFACE('',#6700,1.E0);
-+#6702=ORIENTED_EDGE('',*,*,#6675,.F.);
-+#6703=ORIENTED_EDGE('',*,*,#5518,.T.);
-+#6705=ORIENTED_EDGE('',*,*,#6704,.T.);
-+#6706=ORIENTED_EDGE('',*,*,#6304,.T.);
-+#6707=EDGE_LOOP('',(#6702,#6703,#6705,#6706));
-+#6708=FACE_OUTER_BOUND('',#6707,.F.);
-+#6709=ADVANCED_FACE('',(#6708),#6701,.F.);
-+#6710=CARTESIAN_POINT('',(-2.E0,0.E0,1.225E1));
-+#6711=DIRECTION('',(0.E0,0.E0,1.E0));
-+#6712=DIRECTION('',(1.E0,0.E0,0.E0));
-+#6713=AXIS2_PLACEMENT_3D('',#6710,#6711,#6712);
-+#6714=PLANE('',#6713);
-+#6716=ORIENTED_EDGE('',*,*,#6715,.F.);
-+#6717=ORIENTED_EDGE('',*,*,#6442,.T.);
-+#6719=ORIENTED_EDGE('',*,*,#6718,.F.);
-+#6720=ORIENTED_EDGE('',*,*,#5668,.F.);
-+#6721=EDGE_LOOP('',(#6716,#6717,#6719,#6720));
-+#6722=FACE_OUTER_BOUND('',#6721,.F.);
-+#6723=ADVANCED_FACE('',(#6722),#6714,.T.);
-+#6724=CARTESIAN_POINT('',(-2.E0,0.E0,1.225E1));
-+#6725=DIRECTION('',(0.E0,0.E0,1.E0));
-+#6726=DIRECTION('',(1.E0,0.E0,0.E0));
-+#6727=AXIS2_PLACEMENT_3D('',#6724,#6725,#6726);
-+#6728=PLANE('',#6727);
-+#6729=ORIENTED_EDGE('',*,*,#6704,.F.);
-+#6730=ORIENTED_EDGE('',*,*,#5516,.F.);
-+#6732=ORIENTED_EDGE('',*,*,#6731,.T.);
-+#6733=ORIENTED_EDGE('',*,*,#6306,.T.);
-+#6734=EDGE_LOOP('',(#6729,#6730,#6732,#6733));
-+#6735=FACE_OUTER_BOUND('',#6734,.F.);
-+#6736=ADVANCED_FACE('',(#6735),#6728,.T.);
-+#6737=CARTESIAN_POINT('',(3.5E0,1.566978255297E0,1.325E1));
-+#6738=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#6739=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6740=AXIS2_PLACEMENT_3D('',#6737,#6738,#6739);
-+#6741=CYLINDRICAL_SURFACE('',#6740,1.E0);
-+#6743=ORIENTED_EDGE('',*,*,#6742,.F.);
-+#6744=ORIENTED_EDGE('',*,*,#6444,.T.);
-+#6745=ORIENTED_EDGE('',*,*,#6715,.T.);
-+#6746=ORIENTED_EDGE('',*,*,#5666,.T.);
-+#6747=EDGE_LOOP('',(#6743,#6744,#6745,#6746));
-+#6748=FACE_OUTER_BOUND('',#6747,.F.);
-+#6749=ADVANCED_FACE('',(#6748),#6741,.F.);
-+#6750=CARTESIAN_POINT('',(2.5E0,1.5E0,2.5E0));
-+#6751=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6752=DIRECTION('',(0.E0,0.E0,1.E0));
-+#6753=AXIS2_PLACEMENT_3D('',#6750,#6751,#6752);
-+#6754=PLANE('',#6753);
-+#6756=ORIENTED_EDGE('',*,*,#6755,.T.);
-+#6757=ORIENTED_EDGE('',*,*,#5650,.T.);
-+#6759=ORIENTED_EDGE('',*,*,#6758,.F.);
-+#6760=ORIENTED_EDGE('',*,*,#6408,.F.);
-+#6761=EDGE_LOOP('',(#6756,#6757,#6759,#6760));
-+#6762=FACE_OUTER_BOUND('',#6761,.F.);
-+#6763=ADVANCED_FACE('',(#6762),#6754,.F.);
-+#6764=CARTESIAN_POINT('',(2.5E0,1.5E0,2.5E0));
-+#6765=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6766=DIRECTION('',(0.E0,0.E0,1.E0));
-+#6767=AXIS2_PLACEMENT_3D('',#6764,#6765,#6766);
-+#6768=PLANE('',#6767);
-+#6770=ORIENTED_EDGE('',*,*,#6769,.T.);
-+#6771=ORIENTED_EDGE('',*,*,#6446,.F.);
-+#6772=ORIENTED_EDGE('',*,*,#6742,.T.);
-+#6773=ORIENTED_EDGE('',*,*,#5664,.T.);
-+#6774=EDGE_LOOP('',(#6770,#6771,#6772,#6773));
-+#6775=FACE_OUTER_BOUND('',#6774,.F.);
-+#6776=ADVANCED_FACE('',(#6775),#6768,.F.);
-+#6777=CARTESIAN_POINT('',(5.5E0,1.568923974228E0,2.19375E1));
-+#6778=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#6779=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6780=AXIS2_PLACEMENT_3D('',#6777,#6778,#6779);
-+#6781=CYLINDRICAL_SURFACE('',#6780,3.E0);
-+#6782=ORIENTED_EDGE('',*,*,#6755,.F.);
-+#6783=ORIENTED_EDGE('',*,*,#6406,.T.);
-+#6785=ORIENTED_EDGE('',*,*,#6784,.T.);
-+#6786=ORIENTED_EDGE('',*,*,#5652,.T.);
-+#6787=EDGE_LOOP('',(#6782,#6783,#6785,#6786));
-+#6788=FACE_OUTER_BOUND('',#6787,.F.);
-+#6789=ADVANCED_FACE('',(#6788),#6781,.F.);
-+#6790=CARTESIAN_POINT('',(2.5E0,0.E0,1.89375E1));
-+#6791=DIRECTION('',(0.E0,0.E0,1.E0));
-+#6792=DIRECTION('',(1.E0,0.E0,0.E0));
-+#6793=AXIS2_PLACEMENT_3D('',#6790,#6791,#6792);
-+#6794=PLANE('',#6793);
-+#6795=ORIENTED_EDGE('',*,*,#6784,.F.);
-+#6796=ORIENTED_EDGE('',*,*,#6404,.T.);
-+#6798=ORIENTED_EDGE('',*,*,#6797,.F.);
-+#6799=ORIENTED_EDGE('',*,*,#5638,.F.);
-+#6800=EDGE_LOOP('',(#6795,#6796,#6798,#6799));
-+#6801=FACE_OUTER_BOUND('',#6800,.F.);
-+#6802=ADVANCED_FACE('',(#6801),#6794,.T.);
-+#6803=CARTESIAN_POINT('',(1.85E1,-5.889194178308E-2,2.19375E1));
-+#6804=DIRECTION('',(0.E0,1.E0,0.E0));
-+#6805=DIRECTION('',(1.E0,0.E0,0.E0));
-+#6806=AXIS2_PLACEMENT_3D('',#6803,#6804,#6805);
-+#6807=CYLINDRICAL_SURFACE('',#6806,3.E0);
-+#6809=ORIENTED_EDGE('',*,*,#6808,.F.);
-+#6810=ORIENTED_EDGE('',*,*,#5640,.T.);
-+#6811=ORIENTED_EDGE('',*,*,#6797,.T.);
-+#6812=ORIENTED_EDGE('',*,*,#6402,.T.);
-+#6813=EDGE_LOOP('',(#6809,#6810,#6811,#6812));
-+#6814=FACE_OUTER_BOUND('',#6813,.F.);
-+#6815=ADVANCED_FACE('',(#6814),#6807,.F.);
-+#6816=CARTESIAN_POINT('',(2.15E1,1.5E0,2.95E1));
-+#6817=DIRECTION('',(1.E0,0.E0,0.E0));
-+#6818=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#6819=AXIS2_PLACEMENT_3D('',#6816,#6817,#6818);
-+#6820=PLANE('',#6819);
-+#6821=ORIENTED_EDGE('',*,*,#6808,.T.);
-+#6822=ORIENTED_EDGE('',*,*,#6400,.F.);
-+#6824=ORIENTED_EDGE('',*,*,#6823,.T.);
-+#6825=ORIENTED_EDGE('',*,*,#5642,.T.);
-+#6826=EDGE_LOOP('',(#6821,#6822,#6824,#6825));
-+#6827=FACE_OUTER_BOUND('',#6826,.F.);
-+#6828=ADVANCED_FACE('',(#6827),#6820,.F.);
-+#6829=CARTESIAN_POINT('',(2.15E1,1.5E0,2.95E1));
-+#6830=DIRECTION('',(1.E0,0.E0,0.E0));
-+#6831=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#6832=AXIS2_PLACEMENT_3D('',#6829,#6830,#6831);
-+#6833=PLANE('',#6832);
-+#6835=ORIENTED_EDGE('',*,*,#6834,.T.);
-+#6836=ORIENTED_EDGE('',*,*,#5656,.T.);
-+#6838=ORIENTED_EDGE('',*,*,#6837,.T.);
-+#6839=ORIENTED_EDGE('',*,*,#6422,.F.);
-+#6840=EDGE_LOOP('',(#6835,#6836,#6838,#6839));
-+#6841=FACE_OUTER_BOUND('',#6840,.F.);
-+#6842=ADVANCED_FACE('',(#6841),#6833,.F.);
-+#6843=CARTESIAN_POINT('',(1.65E1,1.562633489099E0,2.45E1));
-+#6844=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#6845=DIRECTION('',(1.E0,0.E0,0.E0));
-+#6846=AXIS2_PLACEMENT_3D('',#6843,#6844,#6845);
-+#6847=CYLINDRICAL_SURFACE('',#6846,5.E0);
-+#6848=ORIENTED_EDGE('',*,*,#6823,.F.);
-+#6849=ORIENTED_EDGE('',*,*,#6414,.T.);
-+#6851=ORIENTED_EDGE('',*,*,#6850,.T.);
-+#6852=ORIENTED_EDGE('',*,*,#5644,.T.);
-+#6853=EDGE_LOOP('',(#6848,#6849,#6851,#6852));
-+#6854=FACE_OUTER_BOUND('',#6853,.F.);
-+#6855=ADVANCED_FACE('',(#6854),#6847,.F.);
-+#6856=CARTESIAN_POINT('',(2.5E0,1.5E0,2.95E1));
-+#6857=DIRECTION('',(0.E0,0.E0,1.E0));
-+#6858=DIRECTION('',(1.E0,0.E0,0.E0));
-+#6859=AXIS2_PLACEMENT_3D('',#6856,#6857,#6858);
-+#6860=PLANE('',#6859);
-+#6862=ORIENTED_EDGE('',*,*,#6861,.T.);
-+#6863=ORIENTED_EDGE('',*,*,#5646,.T.);
-+#6864=ORIENTED_EDGE('',*,*,#6850,.F.);
-+#6865=ORIENTED_EDGE('',*,*,#6412,.F.);
-+#6866=EDGE_LOOP('',(#6862,#6863,#6864,#6865));
-+#6867=FACE_OUTER_BOUND('',#6866,.F.);
-+#6868=ADVANCED_FACE('',(#6867),#6860,.F.);
-+#6869=CARTESIAN_POINT('',(7.5E0,1.562633489099E0,2.45E1));
-+#6870=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#6871=DIRECTION('',(0.E0,0.E0,1.E0));
-+#6872=AXIS2_PLACEMENT_3D('',#6869,#6870,#6871);
-+#6873=CYLINDRICAL_SURFACE('',#6872,5.E0);
-+#6874=ORIENTED_EDGE('',*,*,#6861,.F.);
-+#6875=ORIENTED_EDGE('',*,*,#6410,.T.);
-+#6876=ORIENTED_EDGE('',*,*,#6758,.T.);
-+#6877=ORIENTED_EDGE('',*,*,#5648,.T.);
-+#6878=EDGE_LOOP('',(#6874,#6875,#6876,#6877));
-+#6879=FACE_OUTER_BOUND('',#6878,.F.);
-+#6880=ADVANCED_FACE('',(#6879),#6873,.F.);
-+#6881=CARTESIAN_POINT('',(1.85E1,1.568923974228E0,1.40625E1));
-+#6882=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#6883=DIRECTION('',(1.E0,0.E0,0.E0));
-+#6884=AXIS2_PLACEMENT_3D('',#6881,#6882,#6883);
-+#6885=CYLINDRICAL_SURFACE('',#6884,3.E0);
-+#6886=ORIENTED_EDGE('',*,*,#6834,.F.);
-+#6887=ORIENTED_EDGE('',*,*,#6420,.T.);
-+#6889=ORIENTED_EDGE('',*,*,#6888,.T.);
-+#6890=ORIENTED_EDGE('',*,*,#5658,.T.);
-+#6891=EDGE_LOOP('',(#6886,#6887,#6889,#6890));
-+#6892=FACE_OUTER_BOUND('',#6891,.F.);
-+#6893=ADVANCED_FACE('',(#6892),#6885,.F.);
-+#6894=CARTESIAN_POINT('',(2.15E1,0.E0,1.70625E1));
-+#6895=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#6896=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6897=AXIS2_PLACEMENT_3D('',#6894,#6895,#6896);
-+#6898=PLANE('',#6897);
-+#6899=ORIENTED_EDGE('',*,*,#6888,.F.);
-+#6900=ORIENTED_EDGE('',*,*,#6418,.T.);
-+#6902=ORIENTED_EDGE('',*,*,#6901,.F.);
-+#6903=ORIENTED_EDGE('',*,*,#5660,.F.);
-+#6904=EDGE_LOOP('',(#6899,#6900,#6902,#6903));
-+#6905=FACE_OUTER_BOUND('',#6904,.F.);
-+#6906=ADVANCED_FACE('',(#6905),#6898,.T.);
-+#6907=CARTESIAN_POINT('',(5.5E0,-5.889194178308E-2,1.40625E1));
-+#6908=DIRECTION('',(0.E0,1.E0,0.E0));
-+#6909=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6910=AXIS2_PLACEMENT_3D('',#6907,#6908,#6909);
-+#6911=CYLINDRICAL_SURFACE('',#6910,3.E0);
-+#6912=ORIENTED_EDGE('',*,*,#6769,.F.);
-+#6913=ORIENTED_EDGE('',*,*,#5662,.T.);
-+#6914=ORIENTED_EDGE('',*,*,#6901,.T.);
-+#6915=ORIENTED_EDGE('',*,*,#6448,.T.);
-+#6916=EDGE_LOOP('',(#6912,#6913,#6914,#6915));
-+#6917=FACE_OUTER_BOUND('',#6916,.F.);
-+#6918=ADVANCED_FACE('',(#6917),#6911,.F.);
-+#6919=CARTESIAN_POINT('',(2.05E1,-5.889194178308E-2,1.325E1));
-+#6920=DIRECTION('',(0.E0,1.E0,0.E0));
-+#6921=DIRECTION('',(1.E0,0.E0,0.E0));
-+#6922=AXIS2_PLACEMENT_3D('',#6919,#6920,#6921);
-+#6923=CYLINDRICAL_SURFACE('',#6922,1.E0);
-+#6924=ORIENTED_EDGE('',*,*,#6837,.F.);
-+#6925=ORIENTED_EDGE('',*,*,#5686,.T.);
-+#6927=ORIENTED_EDGE('',*,*,#6926,.T.);
-+#6928=ORIENTED_EDGE('',*,*,#6424,.T.);
-+#6929=EDGE_LOOP('',(#6924,#6925,#6927,#6928));
-+#6930=FACE_OUTER_BOUND('',#6929,.F.);
-+#6931=ADVANCED_FACE('',(#6930),#6923,.F.);
-+#6932=CARTESIAN_POINT('',(2.6E1,0.E0,1.225E1));
-+#6933=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#6934=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6935=AXIS2_PLACEMENT_3D('',#6932,#6933,#6934);
-+#6936=PLANE('',#6935);
-+#6938=ORIENTED_EDGE('',*,*,#6937,.F.);
-+#6939=ORIENTED_EDGE('',*,*,#6290,.F.);
-+#6941=ORIENTED_EDGE('',*,*,#6940,.T.);
-+#6942=ORIENTED_EDGE('',*,*,#5532,.T.);
-+#6943=EDGE_LOOP('',(#6938,#6939,#6941,#6942));
-+#6944=FACE_OUTER_BOUND('',#6943,.F.);
-+#6945=ADVANCED_FACE('',(#6944),#6936,.F.);
-+#6946=CARTESIAN_POINT('',(2.6E1,0.E0,1.225E1));
-+#6947=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#6948=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6949=AXIS2_PLACEMENT_3D('',#6946,#6947,#6948);
-+#6950=PLANE('',#6949);
-+#6951=ORIENTED_EDGE('',*,*,#6926,.F.);
-+#6952=ORIENTED_EDGE('',*,*,#5684,.T.);
-+#6954=ORIENTED_EDGE('',*,*,#6953,.F.);
-+#6955=ORIENTED_EDGE('',*,*,#6426,.F.);
-+#6956=EDGE_LOOP('',(#6951,#6952,#6954,#6955));
-+#6957=FACE_OUTER_BOUND('',#6956,.F.);
-+#6958=ADVANCED_FACE('',(#6957),#6950,.F.);
-+#6959=CARTESIAN_POINT('',(2.5E1,1.568923974228E0,1.325E1));
-+#6960=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#6961=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#6962=AXIS2_PLACEMENT_3D('',#6959,#6960,#6961);
-+#6963=CYLINDRICAL_SURFACE('',#6962,1.E0);
-+#6965=ORIENTED_EDGE('',*,*,#6964,.F.);
-+#6966=ORIENTED_EDGE('',*,*,#6292,.T.);
-+#6967=ORIENTED_EDGE('',*,*,#6937,.T.);
-+#6968=ORIENTED_EDGE('',*,*,#5530,.T.);
-+#6969=EDGE_LOOP('',(#6965,#6966,#6967,#6968));
-+#6970=FACE_OUTER_BOUND('',#6969,.F.);
-+#6971=ADVANCED_FACE('',(#6970),#6963,.F.);
-+#6972=CARTESIAN_POINT('',(2.4E1,0.E0,3.2E1));
-+#6973=DIRECTION('',(1.E0,0.E0,0.E0));
-+#6974=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#6975=AXIS2_PLACEMENT_3D('',#6972,#6973,#6974);
-+#6976=PLANE('',#6975);
-+#6977=ORIENTED_EDGE('',*,*,#6964,.T.);
-+#6978=ORIENTED_EDGE('',*,*,#5528,.F.);
-+#6980=ORIENTED_EDGE('',*,*,#6979,.T.);
-+#6981=ORIENTED_EDGE('',*,*,#6294,.T.);
-+#6982=EDGE_LOOP('',(#6977,#6978,#6980,#6981));
-+#6983=FACE_OUTER_BOUND('',#6982,.F.);
-+#6984=ADVANCED_FACE('',(#6983),#6976,.T.);
-+#6985=CARTESIAN_POINT('',(2.4E1,0.E0,3.2E1));
-+#6986=DIRECTION('',(1.E0,0.E0,0.E0));
-+#6987=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#6988=AXIS2_PLACEMENT_3D('',#6985,#6986,#6987);
-+#6989=PLANE('',#6988);
-+#6991=ORIENTED_EDGE('',*,*,#6990,.T.);
-+#6992=ORIENTED_EDGE('',*,*,#6242,.T.);
-+#6994=ORIENTED_EDGE('',*,*,#6993,.F.);
-+#6995=ORIENTED_EDGE('',*,*,#5498,.F.);
-+#6996=EDGE_LOOP('',(#6991,#6992,#6994,#6995));
-+#6997=FACE_OUTER_BOUND('',#6996,.F.);
-+#6998=ADVANCED_FACE('',(#6997),#6989,.T.);
-+#6999=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1));
-+#7000=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
-+#7001=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7002=AXIS2_PLACEMENT_3D('',#6999,#7000,#7001);
-+#7003=PLANE('',#7002);
-+#7004=ORIENTED_EDGE('',*,*,#6979,.F.);
-+#7005=ORIENTED_EDGE('',*,*,#5526,.T.);
-+#7007=ORIENTED_EDGE('',*,*,#7006,.T.);
-+#7008=ORIENTED_EDGE('',*,*,#6296,.F.);
-+#7009=EDGE_LOOP('',(#7004,#7005,#7007,#7008));
-+#7010=FACE_OUTER_BOUND('',#7009,.F.);
-+#7011=ADVANCED_FACE('',(#7010),#7003,.T.);
-+#7012=CARTESIAN_POINT('',(0.E0,0.E0,3.2E1));
-+#7013=DIRECTION('',(0.E0,0.E0,1.E0));
-+#7014=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7015=AXIS2_PLACEMENT_3D('',#7012,#7013,#7014);
-+#7016=PLANE('',#7015);
-+#7017=ORIENTED_EDGE('',*,*,#5524,.F.);
-+#7019=ORIENTED_EDGE('',*,*,#7018,.T.);
-+#7020=ORIENTED_EDGE('',*,*,#6298,.T.);
-+#7021=ORIENTED_EDGE('',*,*,#7006,.F.);
-+#7022=EDGE_LOOP('',(#7017,#7019,#7020,#7021));
-+#7023=FACE_OUTER_BOUND('',#7022,.F.);
-+#7024=ADVANCED_FACE('',(#7023),#7016,.T.);
-+#7025=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1));
-+#7026=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
-+#7027=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7028=AXIS2_PLACEMENT_3D('',#7025,#7026,#7027);
-+#7029=PLANE('',#7028);
-+#7030=ORIENTED_EDGE('',*,*,#7018,.F.);
-+#7031=ORIENTED_EDGE('',*,*,#5522,.T.);
-+#7032=ORIENTED_EDGE('',*,*,#6678,.T.);
-+#7033=ORIENTED_EDGE('',*,*,#6300,.F.);
-+#7034=EDGE_LOOP('',(#7030,#7031,#7032,#7033));
-+#7035=FACE_OUTER_BOUND('',#7034,.F.);
-+#7036=ADVANCED_FACE('',(#7035),#7029,.T.);
-+#7037=CARTESIAN_POINT('',(2.5E1,-7.055249658685E-2,7.E0));
-+#7038=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7039=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7040=AXIS2_PLACEMENT_3D('',#7037,#7038,#7039);
-+#7041=CYLINDRICAL_SURFACE('',#7040,1.E0);
-+#7042=ORIENTED_EDGE('',*,*,#6990,.F.);
-+#7043=ORIENTED_EDGE('',*,*,#5496,.T.);
-+#7044=ORIENTED_EDGE('',*,*,#5965,.T.);
-+#7045=ORIENTED_EDGE('',*,*,#6244,.T.);
-+#7046=EDGE_LOOP('',(#7042,#7043,#7044,#7045));
-+#7047=FACE_OUTER_BOUND('',#7046,.F.);
-+#7048=ADVANCED_FACE('',(#7047),#7041,.F.);
-+#7049=CARTESIAN_POINT('',(2.E1,0.E0,0.E0));
-+#7050=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#7051=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7052=AXIS2_PLACEMENT_3D('',#7049,#7050,#7051);
-+#7053=PLANE('',#7052);
-+#7055=ORIENTED_EDGE('',*,*,#7054,.F.);
-+#7056=ORIENTED_EDGE('',*,*,#5500,.T.);
-+#7057=ORIENTED_EDGE('',*,*,#6993,.T.);
-+#7058=ORIENTED_EDGE('',*,*,#6240,.F.);
-+#7059=EDGE_LOOP('',(#7055,#7056,#7057,#7058));
-+#7060=FACE_OUTER_BOUND('',#7059,.F.);
-+#7061=ADVANCED_FACE('',(#7060),#7053,.T.);
-+#7062=CARTESIAN_POINT('',(2.4E1,0.E0,0.E0));
-+#7063=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#7064=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7065=AXIS2_PLACEMENT_3D('',#7062,#7063,#7064);
-+#7066=PLANE('',#7065);
-+#7067=ORIENTED_EDGE('',*,*,#5502,.F.);
-+#7068=ORIENTED_EDGE('',*,*,#7054,.T.);
-+#7069=ORIENTED_EDGE('',*,*,#6238,.T.);
-+#7071=ORIENTED_EDGE('',*,*,#7070,.F.);
-+#7072=EDGE_LOOP('',(#7067,#7068,#7069,#7071));
-+#7073=FACE_OUTER_BOUND('',#7072,.F.);
-+#7074=ADVANCED_FACE('',(#7073),#7066,.T.);
-+#7075=CARTESIAN_POINT('',(0.E0,0.E0,4.E0));
-+#7076=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#7077=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7078=AXIS2_PLACEMENT_3D('',#7075,#7076,#7077);
-+#7079=PLANE('',#7078);
-+#7080=ORIENTED_EDGE('',*,*,#6691,.F.);
-+#7081=ORIENTED_EDGE('',*,*,#5504,.T.);
-+#7082=ORIENTED_EDGE('',*,*,#7070,.T.);
-+#7083=ORIENTED_EDGE('',*,*,#6236,.F.);
-+#7084=EDGE_LOOP('',(#7080,#7081,#7082,#7083));
-+#7085=FACE_OUTER_BOUND('',#7084,.F.);
-+#7086=ADVANCED_FACE('',(#7085),#7079,.T.);
-+#7087=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1));
-+#7088=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
-+#7089=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7090=AXIS2_PLACEMENT_3D('',#7087,#7088,#7089);
-+#7091=PLANE('',#7090);
-+#7092=ORIENTED_EDGE('',*,*,#6940,.F.);
-+#7093=ORIENTED_EDGE('',*,*,#6288,.T.);
-+#7095=ORIENTED_EDGE('',*,*,#7094,.T.);
-+#7096=ORIENTED_EDGE('',*,*,#5534,.F.);
-+#7097=EDGE_LOOP('',(#7092,#7093,#7095,#7096));
-+#7098=FACE_OUTER_BOUND('',#7097,.F.);
-+#7099=ADVANCED_FACE('',(#7098),#7091,.T.);
-+#7100=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0));
-+#7101=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7102=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7103=AXIS2_PLACEMENT_3D('',#7100,#7101,#7102);
-+#7104=PLANE('',#7103);
-+#7105=ORIENTED_EDGE('',*,*,#5968,.T.);
-+#7106=ORIENTED_EDGE('',*,*,#5536,.T.);
-+#7107=ORIENTED_EDGE('',*,*,#7094,.F.);
-+#7108=ORIENTED_EDGE('',*,*,#6286,.F.);
-+#7109=ORIENTED_EDGE('',*,*,#6165,.F.);
-+#7111=ORIENTED_EDGE('',*,*,#7110,.F.);
-+#7112=EDGE_LOOP('',(#7105,#7106,#7107,#7108,#7109,#7111));
-+#7113=FACE_OUTER_BOUND('',#7112,.F.);
-+#7114=ADVANCED_FACE('',(#7113),#7104,.F.);
-+#7115=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0));
-+#7116=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0));
-+#7117=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
-+#7118=AXIS2_PLACEMENT_3D('',#7115,#7116,#7117);
-+#7119=PLANE('',#7118);
-+#7120=ORIENTED_EDGE('',*,*,#5970,.T.);
-+#7121=ORIENTED_EDGE('',*,*,#7110,.T.);
-+#7122=ORIENTED_EDGE('',*,*,#6163,.F.);
-+#7124=ORIENTED_EDGE('',*,*,#7123,.F.);
-+#7125=EDGE_LOOP('',(#7120,#7121,#7122,#7124));
-+#7126=FACE_OUTER_BOUND('',#7125,.F.);
-+#7127=ADVANCED_FACE('',(#7126),#7119,.F.);
-+#7128=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0));
-+#7129=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7130=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7131=AXIS2_PLACEMENT_3D('',#7128,#7129,#7130);
-+#7132=PLANE('',#7131);
-+#7133=ORIENTED_EDGE('',*,*,#5972,.F.);
-+#7134=ORIENTED_EDGE('',*,*,#7123,.T.);
-+#7135=ORIENTED_EDGE('',*,*,#6161,.F.);
-+#7137=ORIENTED_EDGE('',*,*,#7136,.F.);
-+#7138=EDGE_LOOP('',(#7133,#7134,#7135,#7137));
-+#7139=FACE_OUTER_BOUND('',#7138,.F.);
-+#7141=ORIENTED_EDGE('',*,*,#7140,.T.);
-+#7143=ORIENTED_EDGE('',*,*,#7142,.T.);
-+#7144=EDGE_LOOP('',(#7141,#7143));
-+#7145=FACE_BOUND('',#7144,.F.);
-+#7147=ORIENTED_EDGE('',*,*,#7146,.T.);
-+#7149=ORIENTED_EDGE('',*,*,#7148,.T.);
-+#7150=EDGE_LOOP('',(#7147,#7149));
-+#7151=FACE_BOUND('',#7150,.F.);
-+#7152=ADVANCED_FACE('',(#7139,#7145,#7151),#7132,.F.);
-+#7153=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
-+#7154=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7155=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7156=AXIS2_PLACEMENT_3D('',#7153,#7154,#7155);
-+#7157=PLANE('',#7156);
-+#7159=ORIENTED_EDGE('',*,*,#7158,.T.);
-+#7160=ORIENTED_EDGE('',*,*,#6430,.F.);
-+#7162=ORIENTED_EDGE('',*,*,#7161,.T.);
-+#7163=ORIENTED_EDGE('',*,*,#5680,.T.);
-+#7164=EDGE_LOOP('',(#7159,#7160,#7162,#7163));
-+#7165=FACE_OUTER_BOUND('',#7164,.F.);
-+#7166=ADVANCED_FACE('',(#7165),#7157,.F.);
-+#7167=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0));
-+#7168=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7169=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7170=AXIS2_PLACEMENT_3D('',#7167,#7168,#7169);
-+#7171=PLANE('',#7170);
-+#7172=ORIENTED_EDGE('',*,*,#6325,.F.);
-+#7173=ORIENTED_EDGE('',*,*,#5974,.T.);
-+#7174=ORIENTED_EDGE('',*,*,#7136,.T.);
-+#7175=ORIENTED_EDGE('',*,*,#6159,.F.);
-+#7176=EDGE_LOOP('',(#7172,#7173,#7174,#7175));
-+#7177=FACE_OUTER_BOUND('',#7176,.F.);
-+#7178=ADVANCED_FACE('',(#7177),#7171,.F.);
-+#7179=CARTESIAN_POINT('',(1.8E1,-7.099592191979E-2,1.1E1));
-+#7180=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7181=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7182=AXIS2_PLACEMENT_3D('',#7179,#7180,#7181);
-+#7183=CYLINDRICAL_SURFACE('',#7182,1.E0);
-+#7184=ORIENTED_EDGE('',*,*,#7158,.F.);
-+#7185=ORIENTED_EDGE('',*,*,#5678,.T.);
-+#7187=ORIENTED_EDGE('',*,*,#7186,.T.);
-+#7188=ORIENTED_EDGE('',*,*,#6432,.T.);
-+#7189=EDGE_LOOP('',(#7184,#7185,#7187,#7188));
-+#7190=FACE_OUTER_BOUND('',#7189,.F.);
-+#7191=ADVANCED_FACE('',(#7190),#7183,.F.);
-+#7192=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1));
-+#7193=DIRECTION('',(0.E0,0.E0,1.E0));
-+#7194=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7195=AXIS2_PLACEMENT_3D('',#7192,#7193,#7194);
-+#7196=PLANE('',#7195);
-+#7198=ORIENTED_EDGE('',*,*,#7197,.F.);
-+#7199=ORIENTED_EDGE('',*,*,#6434,.T.);
-+#7200=ORIENTED_EDGE('',*,*,#7186,.F.);
-+#7201=ORIENTED_EDGE('',*,*,#5676,.F.);
-+#7202=EDGE_LOOP('',(#7198,#7199,#7200,#7201));
-+#7203=FACE_OUTER_BOUND('',#7202,.F.);
-+#7204=ADVANCED_FACE('',(#7203),#7196,.T.);
-+#7205=CARTESIAN_POINT('',(6.E0,1.567729432957E0,1.1E1));
-+#7206=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7207=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7208=AXIS2_PLACEMENT_3D('',#7205,#7206,#7207);
-+#7209=CYLINDRICAL_SURFACE('',#7208,1.E0);
-+#7211=ORIENTED_EDGE('',*,*,#7210,.F.);
-+#7212=ORIENTED_EDGE('',*,*,#6436,.T.);
-+#7213=ORIENTED_EDGE('',*,*,#7197,.T.);
-+#7214=ORIENTED_EDGE('',*,*,#5674,.T.);
-+#7215=EDGE_LOOP('',(#7211,#7212,#7213,#7214));
-+#7216=FACE_OUTER_BOUND('',#7215,.F.);
-+#7217=ADVANCED_FACE('',(#7216),#7209,.F.);
-+#7218=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
-+#7219=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7220=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7221=AXIS2_PLACEMENT_3D('',#7218,#7219,#7220);
-+#7222=PLANE('',#7221);
-+#7223=ORIENTED_EDGE('',*,*,#7210,.T.);
-+#7224=ORIENTED_EDGE('',*,*,#5672,.F.);
-+#7226=ORIENTED_EDGE('',*,*,#7225,.T.);
-+#7227=ORIENTED_EDGE('',*,*,#6438,.T.);
-+#7228=EDGE_LOOP('',(#7223,#7224,#7226,#7227));
-+#7229=FACE_OUTER_BOUND('',#7228,.F.);
-+#7230=ADVANCED_FACE('',(#7229),#7222,.T.);
-+#7231=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0));
-+#7232=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7233=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7234=AXIS2_PLACEMENT_3D('',#7231,#7232,#7233);
-+#7235=PLANE('',#7234);
-+#7236=ORIENTED_EDGE('',*,*,#6322,.T.);
-+#7238=ORIENTED_EDGE('',*,*,#7237,.T.);
-+#7240=ORIENTED_EDGE('',*,*,#7239,.F.);
-+#7241=ORIENTED_EDGE('',*,*,#5978,.T.);
-+#7242=EDGE_LOOP('',(#7236,#7238,#7240,#7241));
-+#7243=FACE_OUTER_BOUND('',#7242,.F.);
-+#7244=ADVANCED_FACE('',(#7243),#7235,.T.);
-+#7245=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1));
-+#7246=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
-+#7247=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7248=AXIS2_PLACEMENT_3D('',#7245,#7246,#7247);
-+#7249=PLANE('',#7248);
-+#7250=ORIENTED_EDGE('',*,*,#7225,.F.);
-+#7251=ORIENTED_EDGE('',*,*,#5670,.T.);
-+#7252=ORIENTED_EDGE('',*,*,#6718,.T.);
-+#7253=ORIENTED_EDGE('',*,*,#6440,.F.);
-+#7254=EDGE_LOOP('',(#7250,#7251,#7252,#7253));
-+#7255=FACE_OUTER_BOUND('',#7254,.F.);
-+#7256=ADVANCED_FACE('',(#7255),#7249,.T.);
-+#7257=CARTESIAN_POINT('',(0.E0,0.E0,1.E1));
-+#7258=DIRECTION('',(0.E0,0.E0,1.E0));
-+#7259=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7260=AXIS2_PLACEMENT_3D('',#7257,#7258,#7259);
-+#7261=PLANE('',#7260);
-+#7263=ORIENTED_EDGE('',*,*,#7262,.F.);
-+#7264=ORIENTED_EDGE('',*,*,#6312,.F.);
-+#7266=ORIENTED_EDGE('',*,*,#7265,.F.);
-+#7268=ORIENTED_EDGE('',*,*,#7267,.F.);
-+#7270=ORIENTED_EDGE('',*,*,#7269,.F.);
-+#7271=ORIENTED_EDGE('',*,*,#7237,.F.);
-+#7272=ORIENTED_EDGE('',*,*,#6320,.F.);
-+#7274=ORIENTED_EDGE('',*,*,#7273,.T.);
-+#7276=ORIENTED_EDGE('',*,*,#7275,.F.);
-+#7277=EDGE_LOOP('',(#7263,#7264,#7266,#7268,#7270,#7271,#7272,#7274,#7276));
-+#7278=FACE_OUTER_BOUND('',#7277,.F.);
-+#7280=ORIENTED_EDGE('',*,*,#7279,.T.);
-+#7282=ORIENTED_EDGE('',*,*,#7281,.T.);
-+#7283=EDGE_LOOP('',(#7280,#7282));
-+#7284=FACE_BOUND('',#7283,.F.);
-+#7286=ORIENTED_EDGE('',*,*,#7285,.F.);
-+#7288=ORIENTED_EDGE('',*,*,#7287,.T.);
-+#7290=ORIENTED_EDGE('',*,*,#7289,.F.);
-+#7292=ORIENTED_EDGE('',*,*,#7291,.T.);
-+#7294=ORIENTED_EDGE('',*,*,#7293,.F.);
-+#7296=ORIENTED_EDGE('',*,*,#7295,.T.);
-+#7298=ORIENTED_EDGE('',*,*,#7297,.F.);
-+#7300=ORIENTED_EDGE('',*,*,#7299,.T.);
-+#7302=ORIENTED_EDGE('',*,*,#7301,.F.);
-+#7304=ORIENTED_EDGE('',*,*,#7303,.T.);
-+#7306=ORIENTED_EDGE('',*,*,#7305,.F.);
-+#7308=ORIENTED_EDGE('',*,*,#7307,.T.);
-+#7309=EDGE_LOOP('',(#7286,#7288,#7290,#7292,#7294,#7296,#7298,#7300,#7302,#7304,
-+#7306,#7308));
-+#7310=FACE_BOUND('',#7309,.F.);
-+#7311=ADVANCED_FACE('',(#7278,#7284,#7310),#7261,.T.);
-+#7312=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0));
-+#7313=DIRECTION('',(0.E0,0.E0,1.E0));
-+#7314=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7315=AXIS2_PLACEMENT_3D('',#7312,#7313,#7314);
-+#7316=CYLINDRICAL_SURFACE('',#7315,1.625E-1);
-+#7317=ORIENTED_EDGE('',*,*,#6031,.T.);
-+#7319=ORIENTED_EDGE('',*,*,#7318,.T.);
-+#7320=ORIENTED_EDGE('',*,*,#7279,.F.);
-+#7322=ORIENTED_EDGE('',*,*,#7321,.F.);
-+#7323=EDGE_LOOP('',(#7317,#7319,#7320,#7322));
-+#7324=FACE_OUTER_BOUND('',#7323,.F.);
-+#7325=ADVANCED_FACE('',(#7324),#7316,.F.);
-+#7326=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0));
-+#7327=DIRECTION('',(0.E0,0.E0,1.E0));
-+#7328=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7329=AXIS2_PLACEMENT_3D('',#7326,#7327,#7328);
-+#7330=CYLINDRICAL_SURFACE('',#7329,1.625E-1);
-+#7331=ORIENTED_EDGE('',*,*,#6033,.T.);
-+#7332=ORIENTED_EDGE('',*,*,#7321,.T.);
-+#7333=ORIENTED_EDGE('',*,*,#7281,.F.);
-+#7334=ORIENTED_EDGE('',*,*,#7318,.F.);
-+#7335=EDGE_LOOP('',(#7331,#7332,#7333,#7334));
-+#7336=FACE_OUTER_BOUND('',#7335,.F.);
-+#7337=ADVANCED_FACE('',(#7336),#7330,.F.);
-+#7338=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.2E1));
-+#7339=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7340=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7341=AXIS2_PLACEMENT_3D('',#7338,#7339,#7340);
-+#7342=PLANE('',#7341);
-+#7343=ORIENTED_EDGE('',*,*,#6314,.T.);
-+#7344=ORIENTED_EDGE('',*,*,#7262,.T.);
-+#7346=ORIENTED_EDGE('',*,*,#7345,.T.);
-+#7347=EDGE_LOOP('',(#7343,#7344,#7346));
-+#7348=FACE_OUTER_BOUND('',#7347,.F.);
-+#7349=ADVANCED_FACE('',(#7348),#7342,.F.);
-+#7350=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1));
-+#7351=DIRECTION('',(0.E0,5.E-1,8.660254037844E-1));
-+#7352=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
-+#7353=AXIS2_PLACEMENT_3D('',#7350,#7351,#7352);
-+#7354=PLANE('',#7353);
-+#7355=ORIENTED_EDGE('',*,*,#6316,.F.);
-+#7356=ORIENTED_EDGE('',*,*,#7345,.F.);
-+#7357=ORIENTED_EDGE('',*,*,#7275,.T.);
-+#7359=ORIENTED_EDGE('',*,*,#7358,.T.);
-+#7360=EDGE_LOOP('',(#7355,#7356,#7357,#7359));
-+#7361=FACE_OUTER_BOUND('',#7360,.F.);
-+#7363=ORIENTED_EDGE('',*,*,#7362,.T.);
-+#7365=ORIENTED_EDGE('',*,*,#7364,.T.);
-+#7366=EDGE_LOOP('',(#7363,#7365));
-+#7367=FACE_BOUND('',#7366,.F.);
-+#7368=ADVANCED_FACE('',(#7361,#7367),#7354,.T.);
-+#7369=CARTESIAN_POINT('',(2.E0,1.5E0,1.2E1));
-+#7370=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7371=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7372=AXIS2_PLACEMENT_3D('',#7369,#7370,#7371);
-+#7373=PLANE('',#7372);
-+#7374=ORIENTED_EDGE('',*,*,#6318,.F.);
-+#7375=ORIENTED_EDGE('',*,*,#7358,.F.);
-+#7376=ORIENTED_EDGE('',*,*,#7273,.F.);
-+#7377=EDGE_LOOP('',(#7374,#7375,#7376));
-+#7378=FACE_OUTER_BOUND('',#7377,.F.);
-+#7379=ADVANCED_FACE('',(#7378),#7373,.T.);
-+#7380=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1));
-+#7381=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7382=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7383=AXIS2_PLACEMENT_3D('',#7380,#7381,#7382);
-+#7384=CYLINDRICAL_SURFACE('',#7383,2.575E-1);
-+#7386=ORIENTED_EDGE('',*,*,#7385,.F.);
-+#7387=ORIENTED_EDGE('',*,*,#7362,.F.);
-+#7389=ORIENTED_EDGE('',*,*,#7388,.F.);
-+#7391=ORIENTED_EDGE('',*,*,#7390,.F.);
-+#7392=EDGE_LOOP('',(#7386,#7387,#7389,#7391));
-+#7393=FACE_OUTER_BOUND('',#7392,.F.);
-+#7394=ADVANCED_FACE('',(#7393),#7384,.F.);
-+#7395=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1));
-+#7396=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7397=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7398=AXIS2_PLACEMENT_3D('',#7395,#7396,#7397);
-+#7399=CYLINDRICAL_SURFACE('',#7398,2.575E-1);
-+#7400=ORIENTED_EDGE('',*,*,#7388,.T.);
-+#7401=ORIENTED_EDGE('',*,*,#7364,.F.);
-+#7402=ORIENTED_EDGE('',*,*,#7385,.T.);
-+#7404=ORIENTED_EDGE('',*,*,#7403,.F.);
-+#7405=EDGE_LOOP('',(#7400,#7401,#7402,#7404));
-+#7406=FACE_OUTER_BOUND('',#7405,.F.);
-+#7407=ADVANCED_FACE('',(#7406),#7399,.F.);
-+#7408=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1));
-+#7409=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7410=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7411=AXIS2_PLACEMENT_3D('',#7408,#7409,#7410);
-+#7412=PLANE('',#7411);
-+#7413=ORIENTED_EDGE('',*,*,#7390,.T.);
-+#7414=ORIENTED_EDGE('',*,*,#7403,.T.);
-+#7415=EDGE_LOOP('',(#7413,#7414));
-+#7416=FACE_OUTER_BOUND('',#7415,.F.);
-+#7418=ORIENTED_EDGE('',*,*,#7417,.F.);
-+#7420=ORIENTED_EDGE('',*,*,#7419,.F.);
-+#7421=EDGE_LOOP('',(#7418,#7420));
-+#7422=FACE_BOUND('',#7421,.F.);
-+#7423=ADVANCED_FACE('',(#7416,#7422),#7412,.F.);
-+#7424=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1));
-+#7425=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7426=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7427=AXIS2_PLACEMENT_3D('',#7424,#7425,#7426);
-+#7428=CYLINDRICAL_SURFACE('',#7427,1.925E-1);
-+#7429=ORIENTED_EDGE('',*,*,#7417,.T.);
-+#7431=ORIENTED_EDGE('',*,*,#7430,.T.);
-+#7432=ORIENTED_EDGE('',*,*,#5620,.F.);
-+#7434=ORIENTED_EDGE('',*,*,#7433,.F.);
-+#7435=EDGE_LOOP('',(#7429,#7431,#7432,#7434));
-+#7436=FACE_OUTER_BOUND('',#7435,.F.);
-+#7437=ADVANCED_FACE('',(#7436),#7428,.F.);
-+#7438=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1));
-+#7439=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7440=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7441=AXIS2_PLACEMENT_3D('',#7438,#7439,#7440);
-+#7442=CYLINDRICAL_SURFACE('',#7441,1.925E-1);
-+#7443=ORIENTED_EDGE('',*,*,#7419,.T.);
-+#7444=ORIENTED_EDGE('',*,*,#7433,.T.);
-+#7445=ORIENTED_EDGE('',*,*,#5622,.F.);
-+#7446=ORIENTED_EDGE('',*,*,#7430,.F.);
-+#7447=EDGE_LOOP('',(#7443,#7444,#7445,#7446));
-+#7448=FACE_OUTER_BOUND('',#7447,.F.);
-+#7449=ADVANCED_FACE('',(#7448),#7442,.F.);
-+#7450=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0));
-+#7451=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7452=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7453=AXIS2_PLACEMENT_3D('',#7450,#7451,#7452);
-+#7454=PLANE('',#7453);
-+#7455=ORIENTED_EDGE('',*,*,#7265,.T.);
-+#7456=ORIENTED_EDGE('',*,*,#6310,.T.);
-+#7458=ORIENTED_EDGE('',*,*,#7457,.F.);
-+#7459=ORIENTED_EDGE('',*,*,#5512,.F.);
-+#7460=ORIENTED_EDGE('',*,*,#5984,.T.);
-+#7462=ORIENTED_EDGE('',*,*,#7461,.T.);
-+#7463=EDGE_LOOP('',(#7455,#7456,#7458,#7459,#7460,#7462));
-+#7464=FACE_OUTER_BOUND('',#7463,.F.);
-+#7465=ADVANCED_FACE('',(#7464),#7454,.T.);
-+#7466=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1));
-+#7467=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
-+#7468=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7469=AXIS2_PLACEMENT_3D('',#7466,#7467,#7468);
-+#7470=PLANE('',#7469);
-+#7471=ORIENTED_EDGE('',*,*,#6731,.F.);
-+#7472=ORIENTED_EDGE('',*,*,#5514,.T.);
-+#7473=ORIENTED_EDGE('',*,*,#7457,.T.);
-+#7474=ORIENTED_EDGE('',*,*,#6308,.F.);
-+#7475=EDGE_LOOP('',(#7471,#7472,#7473,#7474));
-+#7476=FACE_OUTER_BOUND('',#7475,.F.);
-+#7477=ADVANCED_FACE('',(#7476),#7470,.T.);
-+#7478=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0));
-+#7479=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
-+#7480=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
-+#7481=AXIS2_PLACEMENT_3D('',#7478,#7479,#7480);
-+#7482=PLANE('',#7481);
-+#7483=ORIENTED_EDGE('',*,*,#5982,.F.);
-+#7485=ORIENTED_EDGE('',*,*,#7484,.T.);
-+#7486=ORIENTED_EDGE('',*,*,#7267,.T.);
-+#7487=ORIENTED_EDGE('',*,*,#7461,.F.);
-+#7488=EDGE_LOOP('',(#7483,#7485,#7486,#7487));
-+#7489=FACE_OUTER_BOUND('',#7488,.F.);
-+#7490=ADVANCED_FACE('',(#7489),#7482,.T.);
-+#7491=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0));
-+#7492=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7493=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7494=AXIS2_PLACEMENT_3D('',#7491,#7492,#7493);
-+#7495=PLANE('',#7494);
-+#7496=ORIENTED_EDGE('',*,*,#5980,.F.);
-+#7497=ORIENTED_EDGE('',*,*,#7239,.T.);
-+#7498=ORIENTED_EDGE('',*,*,#7269,.T.);
-+#7499=ORIENTED_EDGE('',*,*,#7484,.F.);
-+#7500=EDGE_LOOP('',(#7496,#7497,#7498,#7499));
-+#7501=FACE_OUTER_BOUND('',#7500,.F.);
-+#7503=ORIENTED_EDGE('',*,*,#7502,.F.);
-+#7505=ORIENTED_EDGE('',*,*,#7504,.F.);
-+#7506=EDGE_LOOP('',(#7503,#7505));
-+#7507=FACE_BOUND('',#7506,.F.);
-+#7509=ORIENTED_EDGE('',*,*,#7508,.F.);
-+#7511=ORIENTED_EDGE('',*,*,#7510,.F.);
-+#7512=EDGE_LOOP('',(#7509,#7511));
-+#7513=FACE_BOUND('',#7512,.F.);
-+#7514=ADVANCED_FACE('',(#7501,#7507,#7513),#7495,.T.);
-+#7515=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0));
-+#7516=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7517=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7518=AXIS2_PLACEMENT_3D('',#7515,#7516,#7517);
-+#7519=CYLINDRICAL_SURFACE('',#7518,9.5E-2);
-+#7520=ORIENTED_EDGE('',*,*,#7502,.T.);
-+#7522=ORIENTED_EDGE('',*,*,#7521,.T.);
-+#7524=ORIENTED_EDGE('',*,*,#7523,.F.);
-+#7526=ORIENTED_EDGE('',*,*,#7525,.F.);
-+#7527=EDGE_LOOP('',(#7520,#7522,#7524,#7526));
-+#7528=FACE_OUTER_BOUND('',#7527,.F.);
-+#7529=ADVANCED_FACE('',(#7528),#7519,.F.);
-+#7530=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0));
-+#7531=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7532=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7533=AXIS2_PLACEMENT_3D('',#7530,#7531,#7532);
-+#7534=CYLINDRICAL_SURFACE('',#7533,9.5E-2);
-+#7535=ORIENTED_EDGE('',*,*,#7504,.T.);
-+#7536=ORIENTED_EDGE('',*,*,#7525,.T.);
-+#7538=ORIENTED_EDGE('',*,*,#7537,.F.);
-+#7539=ORIENTED_EDGE('',*,*,#7521,.F.);
-+#7540=EDGE_LOOP('',(#7535,#7536,#7538,#7539));
-+#7541=FACE_OUTER_BOUND('',#7540,.F.);
-+#7542=ADVANCED_FACE('',(#7541),#7534,.F.);
-+#7543=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0));
-+#7544=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7545=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7546=AXIS2_PLACEMENT_3D('',#7543,#7544,#7545);
-+#7547=PLANE('',#7546);
-+#7548=ORIENTED_EDGE('',*,*,#7523,.T.);
-+#7549=ORIENTED_EDGE('',*,*,#7537,.T.);
-+#7550=EDGE_LOOP('',(#7548,#7549));
-+#7551=FACE_OUTER_BOUND('',#7550,.F.);
-+#7552=ADVANCED_FACE('',(#7551),#7547,.F.);
-+#7553=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0));
-+#7554=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7555=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7556=AXIS2_PLACEMENT_3D('',#7553,#7554,#7555);
-+#7557=CYLINDRICAL_SURFACE('',#7556,6.25E-2);
-+#7558=ORIENTED_EDGE('',*,*,#7508,.T.);
-+#7560=ORIENTED_EDGE('',*,*,#7559,.T.);
-+#7562=ORIENTED_EDGE('',*,*,#7561,.F.);
-+#7564=ORIENTED_EDGE('',*,*,#7563,.F.);
-+#7565=EDGE_LOOP('',(#7558,#7560,#7562,#7564));
-+#7566=FACE_OUTER_BOUND('',#7565,.F.);
-+#7567=ADVANCED_FACE('',(#7566),#7557,.F.);
-+#7568=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0));
-+#7569=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7570=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7571=AXIS2_PLACEMENT_3D('',#7568,#7569,#7570);
-+#7572=CYLINDRICAL_SURFACE('',#7571,6.25E-2);
-+#7573=ORIENTED_EDGE('',*,*,#7510,.T.);
-+#7574=ORIENTED_EDGE('',*,*,#7563,.T.);
-+#7576=ORIENTED_EDGE('',*,*,#7575,.F.);
-+#7577=ORIENTED_EDGE('',*,*,#7559,.F.);
-+#7578=EDGE_LOOP('',(#7573,#7574,#7576,#7577));
-+#7579=FACE_OUTER_BOUND('',#7578,.F.);
-+#7580=ADVANCED_FACE('',(#7579),#7572,.F.);
-+#7581=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0));
-+#7582=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7583=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7584=AXIS2_PLACEMENT_3D('',#7581,#7582,#7583);
-+#7585=PLANE('',#7584);
-+#7586=ORIENTED_EDGE('',*,*,#7561,.T.);
-+#7587=ORIENTED_EDGE('',*,*,#7575,.T.);
-+#7588=EDGE_LOOP('',(#7586,#7587));
-+#7589=FACE_OUTER_BOUND('',#7588,.F.);
-+#7590=ADVANCED_FACE('',(#7589),#7585,.F.);
-+#7591=CARTESIAN_POINT('',(2.15E0,6.65E0,9.441108058217E0));
-+#7592=DIRECTION('',(0.E0,0.E0,1.E0));
-+#7593=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7594=AXIS2_PLACEMENT_3D('',#7591,#7592,#7593);
-+#7595=CYLINDRICAL_SURFACE('',#7594,3.5E-1);
-+#7597=ORIENTED_EDGE('',*,*,#7596,.T.);
-+#7598=ORIENTED_EDGE('',*,*,#7285,.T.);
-+#7600=ORIENTED_EDGE('',*,*,#7599,.F.);
-+#7602=ORIENTED_EDGE('',*,*,#7601,.T.);
-+#7603=EDGE_LOOP('',(#7597,#7598,#7600,#7602));
-+#7604=FACE_OUTER_BOUND('',#7603,.F.);
-+#7605=ADVANCED_FACE('',(#7604),#7595,.T.);
-+#7606=CARTESIAN_POINT('',(2.5E0,7.E0,1.E1));
-+#7607=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7608=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7609=AXIS2_PLACEMENT_3D('',#7606,#7607,#7608);
-+#7610=PLANE('',#7609);
-+#7611=ORIENTED_EDGE('',*,*,#7596,.F.);
-+#7613=ORIENTED_EDGE('',*,*,#7612,.T.);
-+#7615=ORIENTED_EDGE('',*,*,#7614,.F.);
-+#7616=ORIENTED_EDGE('',*,*,#7287,.F.);
-+#7617=EDGE_LOOP('',(#7611,#7613,#7615,#7616));
-+#7618=FACE_OUTER_BOUND('',#7617,.F.);
-+#7619=ADVANCED_FACE('',(#7618),#7610,.F.);
-+#7620=CARTESIAN_POINT('',(0.E0,0.E0,9.5E0));
-+#7621=DIRECTION('',(0.E0,0.E0,1.E0));
-+#7622=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7623=AXIS2_PLACEMENT_3D('',#7620,#7621,#7622);
-+#7624=PLANE('',#7623);
-+#7625=ORIENTED_EDGE('',*,*,#7612,.F.);
-+#7626=ORIENTED_EDGE('',*,*,#7601,.F.);
-+#7628=ORIENTED_EDGE('',*,*,#7627,.F.);
-+#7630=ORIENTED_EDGE('',*,*,#7629,.F.);
-+#7632=ORIENTED_EDGE('',*,*,#7631,.F.);
-+#7634=ORIENTED_EDGE('',*,*,#7633,.F.);
-+#7636=ORIENTED_EDGE('',*,*,#7635,.F.);
-+#7638=ORIENTED_EDGE('',*,*,#7637,.F.);
-+#7640=ORIENTED_EDGE('',*,*,#7639,.F.);
-+#7642=ORIENTED_EDGE('',*,*,#7641,.F.);
-+#7644=ORIENTED_EDGE('',*,*,#7643,.F.);
-+#7646=ORIENTED_EDGE('',*,*,#7645,.F.);
-+#7647=EDGE_LOOP('',(#7625,#7626,#7628,#7630,#7632,#7634,#7636,#7638,#7640,#7642,
-+#7644,#7646));
-+#7648=FACE_OUTER_BOUND('',#7647,.F.);
-+#7649=ADVANCED_FACE('',(#7648),#7624,.T.);
-+#7650=CARTESIAN_POINT('',(1.357969178416E0,7.E0,1.E1));
-+#7651=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7652=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7653=AXIS2_PLACEMENT_3D('',#7650,#7651,#7652);
-+#7654=PLANE('',#7653);
-+#7655=ORIENTED_EDGE('',*,*,#7599,.T.);
-+#7656=ORIENTED_EDGE('',*,*,#7307,.F.);
-+#7658=ORIENTED_EDGE('',*,*,#7657,.T.);
-+#7659=ORIENTED_EDGE('',*,*,#7627,.T.);
-+#7660=EDGE_LOOP('',(#7655,#7656,#7658,#7659));
-+#7661=FACE_OUTER_BOUND('',#7660,.F.);
-+#7662=ADVANCED_FACE('',(#7661),#7654,.F.);
-+#7663=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,1.006892397423E1));
-+#7664=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#7665=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7666=AXIS2_PLACEMENT_3D('',#7663,#7664,#7665);
-+#7667=CYLINDRICAL_SURFACE('',#7666,3.5E-1);
-+#7668=ORIENTED_EDGE('',*,*,#7657,.F.);
-+#7669=ORIENTED_EDGE('',*,*,#7305,.T.);
-+#7671=ORIENTED_EDGE('',*,*,#7670,.T.);
-+#7672=ORIENTED_EDGE('',*,*,#7629,.T.);
-+#7673=EDGE_LOOP('',(#7668,#7669,#7671,#7672));
-+#7674=FACE_OUTER_BOUND('',#7673,.F.);
-+#7675=ADVANCED_FACE('',(#7674),#7667,.F.);
-+#7676=CARTESIAN_POINT('',(2.746858067304E0,9.5E0,1.E1));
-+#7677=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
-+#7678=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0));
-+#7679=AXIS2_PLACEMENT_3D('',#7676,#7677,#7678);
-+#7680=PLANE('',#7679);
-+#7681=ORIENTED_EDGE('',*,*,#7670,.F.);
-+#7682=ORIENTED_EDGE('',*,*,#7303,.F.);
-+#7684=ORIENTED_EDGE('',*,*,#7683,.T.);
-+#7685=ORIENTED_EDGE('',*,*,#7631,.T.);
-+#7686=EDGE_LOOP('',(#7681,#7682,#7684,#7685));
-+#7687=FACE_OUTER_BOUND('',#7686,.F.);
-+#7688=ADVANCED_FACE('',(#7687),#7680,.F.);
-+#7689=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,1.006892397423E1));
-+#7690=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#7691=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
-+#7692=AXIS2_PLACEMENT_3D('',#7689,#7690,#7691);
-+#7693=CYLINDRICAL_SURFACE('',#7692,3.5E-1);
-+#7694=ORIENTED_EDGE('',*,*,#7683,.F.);
-+#7695=ORIENTED_EDGE('',*,*,#7301,.T.);
-+#7697=ORIENTED_EDGE('',*,*,#7696,.T.);
-+#7698=ORIENTED_EDGE('',*,*,#7633,.T.);
-+#7699=EDGE_LOOP('',(#7694,#7695,#7697,#7698));
-+#7700=FACE_OUTER_BOUND('',#7699,.F.);
-+#7701=ADVANCED_FACE('',(#7700),#7693,.F.);
-+#7702=CARTESIAN_POINT('',(4.5E0,9.5E0,1.E1));
-+#7703=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7704=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7705=AXIS2_PLACEMENT_3D('',#7702,#7703,#7704);
-+#7706=PLANE('',#7705);
-+#7707=ORIENTED_EDGE('',*,*,#7696,.F.);
-+#7708=ORIENTED_EDGE('',*,*,#7299,.F.);
-+#7710=ORIENTED_EDGE('',*,*,#7709,.T.);
-+#7711=ORIENTED_EDGE('',*,*,#7635,.T.);
-+#7712=EDGE_LOOP('',(#7707,#7708,#7710,#7711));
-+#7713=FACE_OUTER_BOUND('',#7712,.F.);
-+#7714=ADVANCED_FACE('',(#7713),#7706,.F.);
-+#7715=CARTESIAN_POINT('',(4.15E0,9.15E0,1.006892397423E1));
-+#7716=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#7717=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7718=AXIS2_PLACEMENT_3D('',#7715,#7716,#7717);
-+#7719=CYLINDRICAL_SURFACE('',#7718,3.5E-1);
-+#7720=ORIENTED_EDGE('',*,*,#7709,.F.);
-+#7721=ORIENTED_EDGE('',*,*,#7297,.T.);
-+#7723=ORIENTED_EDGE('',*,*,#7722,.T.);
-+#7724=ORIENTED_EDGE('',*,*,#7637,.T.);
-+#7725=EDGE_LOOP('',(#7720,#7721,#7723,#7724));
-+#7726=FACE_OUTER_BOUND('',#7725,.F.);
-+#7727=ADVANCED_FACE('',(#7726),#7719,.F.);
-+#7728=CARTESIAN_POINT('',(4.5E0,2.E0,1.E1));
-+#7729=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7730=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7731=AXIS2_PLACEMENT_3D('',#7728,#7729,#7730);
-+#7732=PLANE('',#7731);
-+#7734=ORIENTED_EDGE('',*,*,#7733,.T.);
-+#7735=ORIENTED_EDGE('',*,*,#7639,.T.);
-+#7736=ORIENTED_EDGE('',*,*,#7722,.F.);
-+#7737=ORIENTED_EDGE('',*,*,#7295,.F.);
-+#7738=EDGE_LOOP('',(#7734,#7735,#7736,#7737));
-+#7739=FACE_OUTER_BOUND('',#7738,.F.);
-+#7740=ADVANCED_FACE('',(#7739),#7732,.F.);
-+#7741=CARTESIAN_POINT('',(4.15E0,2.35E0,1.006892397423E1));
-+#7742=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#7743=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7744=AXIS2_PLACEMENT_3D('',#7741,#7742,#7743);
-+#7745=CYLINDRICAL_SURFACE('',#7744,3.5E-1);
-+#7746=ORIENTED_EDGE('',*,*,#7733,.F.);
-+#7747=ORIENTED_EDGE('',*,*,#7293,.T.);
-+#7749=ORIENTED_EDGE('',*,*,#7748,.T.);
-+#7750=ORIENTED_EDGE('',*,*,#7641,.T.);
-+#7751=EDGE_LOOP('',(#7746,#7747,#7749,#7750));
-+#7752=FACE_OUTER_BOUND('',#7751,.F.);
-+#7753=ADVANCED_FACE('',(#7752),#7745,.F.);
-+#7754=CARTESIAN_POINT('',(2.5E0,2.E0,1.E1));
-+#7755=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7756=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7757=AXIS2_PLACEMENT_3D('',#7754,#7755,#7756);
-+#7758=PLANE('',#7757);
-+#7760=ORIENTED_EDGE('',*,*,#7759,.T.);
-+#7761=ORIENTED_EDGE('',*,*,#7643,.T.);
-+#7762=ORIENTED_EDGE('',*,*,#7748,.F.);
-+#7763=ORIENTED_EDGE('',*,*,#7291,.F.);
-+#7764=EDGE_LOOP('',(#7760,#7761,#7762,#7763));
-+#7765=FACE_OUTER_BOUND('',#7764,.F.);
-+#7766=ADVANCED_FACE('',(#7765),#7758,.F.);
-+#7767=CARTESIAN_POINT('',(2.85E0,2.35E0,1.006892397423E1));
-+#7768=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#7769=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7770=AXIS2_PLACEMENT_3D('',#7767,#7768,#7769);
-+#7771=CYLINDRICAL_SURFACE('',#7770,3.5E-1);
-+#7772=ORIENTED_EDGE('',*,*,#7759,.F.);
-+#7773=ORIENTED_EDGE('',*,*,#7289,.T.);
-+#7774=ORIENTED_EDGE('',*,*,#7614,.T.);
-+#7775=ORIENTED_EDGE('',*,*,#7645,.T.);
-+#7776=EDGE_LOOP('',(#7772,#7773,#7774,#7775));
-+#7777=FACE_OUTER_BOUND('',#7776,.F.);
-+#7778=ADVANCED_FACE('',(#7777),#7771,.F.);
-+#7779=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1));
-+#7780=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
-+#7781=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7782=AXIS2_PLACEMENT_3D('',#7779,#7780,#7781);
-+#7783=PLANE('',#7782);
-+#7784=ORIENTED_EDGE('',*,*,#7161,.F.);
-+#7785=ORIENTED_EDGE('',*,*,#6428,.T.);
-+#7786=ORIENTED_EDGE('',*,*,#6953,.T.);
-+#7787=ORIENTED_EDGE('',*,*,#5682,.F.);
-+#7788=EDGE_LOOP('',(#7784,#7785,#7786,#7787));
-+#7789=FACE_OUTER_BOUND('',#7788,.F.);
-+#7790=ADVANCED_FACE('',(#7789),#7783,.T.);
-+#7791=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0));
-+#7792=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7793=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7794=AXIS2_PLACEMENT_3D('',#7791,#7792,#7793);
-+#7795=CYLINDRICAL_SURFACE('',#7794,9.5E-2);
-+#7796=ORIENTED_EDGE('',*,*,#7140,.F.);
-+#7798=ORIENTED_EDGE('',*,*,#7797,.T.);
-+#7800=ORIENTED_EDGE('',*,*,#7799,.T.);
-+#7802=ORIENTED_EDGE('',*,*,#7801,.F.);
-+#7803=EDGE_LOOP('',(#7796,#7798,#7800,#7802));
-+#7804=FACE_OUTER_BOUND('',#7803,.F.);
-+#7805=ADVANCED_FACE('',(#7804),#7795,.F.);
-+#7806=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0));
-+#7807=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7808=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7809=AXIS2_PLACEMENT_3D('',#7806,#7807,#7808);
-+#7810=CYLINDRICAL_SURFACE('',#7809,9.5E-2);
-+#7811=ORIENTED_EDGE('',*,*,#7142,.F.);
-+#7812=ORIENTED_EDGE('',*,*,#7801,.T.);
-+#7814=ORIENTED_EDGE('',*,*,#7813,.T.);
-+#7815=ORIENTED_EDGE('',*,*,#7797,.F.);
-+#7816=EDGE_LOOP('',(#7811,#7812,#7814,#7815));
-+#7817=FACE_OUTER_BOUND('',#7816,.F.);
-+#7818=ADVANCED_FACE('',(#7817),#7810,.F.);
-+#7819=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0));
-+#7820=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7821=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7822=AXIS2_PLACEMENT_3D('',#7819,#7820,#7821);
-+#7823=PLANE('',#7822);
-+#7824=ORIENTED_EDGE('',*,*,#7799,.F.);
-+#7825=ORIENTED_EDGE('',*,*,#7813,.F.);
-+#7826=EDGE_LOOP('',(#7824,#7825));
-+#7827=FACE_OUTER_BOUND('',#7826,.F.);
-+#7828=ADVANCED_FACE('',(#7827),#7823,.T.);
-+#7829=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0));
-+#7830=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7831=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7832=AXIS2_PLACEMENT_3D('',#7829,#7830,#7831);
-+#7833=CYLINDRICAL_SURFACE('',#7832,6.25E-2);
-+#7834=ORIENTED_EDGE('',*,*,#7146,.F.);
-+#7836=ORIENTED_EDGE('',*,*,#7835,.T.);
-+#7838=ORIENTED_EDGE('',*,*,#7837,.T.);
-+#7840=ORIENTED_EDGE('',*,*,#7839,.F.);
-+#7841=EDGE_LOOP('',(#7834,#7836,#7838,#7840));
-+#7842=FACE_OUTER_BOUND('',#7841,.F.);
-+#7843=ADVANCED_FACE('',(#7842),#7833,.F.);
-+#7844=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0));
-+#7845=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7846=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7847=AXIS2_PLACEMENT_3D('',#7844,#7845,#7846);
-+#7848=CYLINDRICAL_SURFACE('',#7847,6.25E-2);
-+#7849=ORIENTED_EDGE('',*,*,#7148,.F.);
-+#7850=ORIENTED_EDGE('',*,*,#7839,.T.);
-+#7852=ORIENTED_EDGE('',*,*,#7851,.T.);
-+#7853=ORIENTED_EDGE('',*,*,#7835,.F.);
-+#7854=EDGE_LOOP('',(#7849,#7850,#7852,#7853));
-+#7855=FACE_OUTER_BOUND('',#7854,.F.);
-+#7856=ADVANCED_FACE('',(#7855),#7848,.F.);
-+#7857=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0));
-+#7858=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7859=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7860=AXIS2_PLACEMENT_3D('',#7857,#7858,#7859);
-+#7861=PLANE('',#7860);
-+#7862=ORIENTED_EDGE('',*,*,#7837,.F.);
-+#7863=ORIENTED_EDGE('',*,*,#7851,.F.);
-+#7864=EDGE_LOOP('',(#7862,#7863));
-+#7865=FACE_OUTER_BOUND('',#7864,.F.);
-+#7866=ADVANCED_FACE('',(#7865),#7861,.T.);
-+#7867=CARTESIAN_POINT('',(1.755E1,1.176878221735E0,2.975E1));
-+#7868=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7869=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7870=AXIS2_PLACEMENT_3D('',#7867,#7868,#7869);
-+#7871=CYLINDRICAL_SURFACE('',#7870,1.E-1);
-+#7872=ORIENTED_EDGE('',*,*,#6346,.F.);
-+#7874=ORIENTED_EDGE('',*,*,#7873,.F.);
-+#7876=ORIENTED_EDGE('',*,*,#7875,.T.);
-+#7878=ORIENTED_EDGE('',*,*,#7877,.T.);
-+#7879=EDGE_LOOP('',(#7872,#7874,#7876,#7878));
-+#7880=FACE_OUTER_BOUND('',#7879,.F.);
-+#7881=ADVANCED_FACE('',(#7880),#7871,.F.);
-+#7882=CARTESIAN_POINT('',(1.755E1,1.176878221735E0,2.975E1));
-+#7883=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7884=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7885=AXIS2_PLACEMENT_3D('',#7882,#7883,#7884);
-+#7886=CYLINDRICAL_SURFACE('',#7885,1.E-1);
-+#7887=ORIENTED_EDGE('',*,*,#6348,.F.);
-+#7888=ORIENTED_EDGE('',*,*,#7877,.F.);
-+#7890=ORIENTED_EDGE('',*,*,#7889,.F.);
-+#7891=ORIENTED_EDGE('',*,*,#7873,.T.);
-+#7892=EDGE_LOOP('',(#7887,#7888,#7890,#7891));
-+#7893=FACE_OUTER_BOUND('',#7892,.F.);
-+#7894=ADVANCED_FACE('',(#7893),#7886,.F.);
-+#7895=CARTESIAN_POINT('',(1.755E1,1.234346967234E0,2.975E1));
-+#7896=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7897=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7898=AXIS2_PLACEMENT_3D('',#7895,#7896,#7897);
-+#7899=CONICAL_SURFACE('',#7898,7.288815195685E-2,6.E1);
-+#7901=ORIENTED_EDGE('',*,*,#7900,.F.);
-+#7903=ORIENTED_EDGE('',*,*,#7902,.T.);
-+#7904=ORIENTED_EDGE('',*,*,#7889,.T.);
-+#7905=EDGE_LOOP('',(#7901,#7903,#7904));
-+#7906=FACE_OUTER_BOUND('',#7905,.F.);
-+#7907=ADVANCED_FACE('',(#7906),#7899,.F.);
-+#7908=CARTESIAN_POINT('',(1.755E1,1.234346967234E0,2.975E1));
-+#7909=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7910=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7911=AXIS2_PLACEMENT_3D('',#7908,#7909,#7910);
-+#7912=CONICAL_SURFACE('',#7911,7.288815195685E-2,6.E1);
-+#7913=ORIENTED_EDGE('',*,*,#7900,.T.);
-+#7914=ORIENTED_EDGE('',*,*,#7875,.F.);
-+#7915=ORIENTED_EDGE('',*,*,#7902,.F.);
-+#7916=EDGE_LOOP('',(#7913,#7914,#7915));
-+#7917=FACE_OUTER_BOUND('',#7916,.F.);
-+#7918=ADVANCED_FACE('',(#7917),#7912,.F.);
-+#7919=CARTESIAN_POINT('',(1.655E1,1.176878221735E0,2.975E1));
-+#7920=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7921=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7922=AXIS2_PLACEMENT_3D('',#7919,#7920,#7921);
-+#7923=CYLINDRICAL_SURFACE('',#7922,1.E-1);
-+#7924=ORIENTED_EDGE('',*,*,#6352,.F.);
-+#7926=ORIENTED_EDGE('',*,*,#7925,.F.);
-+#7928=ORIENTED_EDGE('',*,*,#7927,.T.);
-+#7930=ORIENTED_EDGE('',*,*,#7929,.T.);
-+#7931=EDGE_LOOP('',(#7924,#7926,#7928,#7930));
-+#7932=FACE_OUTER_BOUND('',#7931,.F.);
-+#7933=ADVANCED_FACE('',(#7932),#7923,.F.);
-+#7934=CARTESIAN_POINT('',(1.655E1,1.176878221735E0,2.975E1));
-+#7935=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7936=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7937=AXIS2_PLACEMENT_3D('',#7934,#7935,#7936);
-+#7938=CYLINDRICAL_SURFACE('',#7937,1.E-1);
-+#7939=ORIENTED_EDGE('',*,*,#6354,.F.);
-+#7940=ORIENTED_EDGE('',*,*,#7929,.F.);
-+#7942=ORIENTED_EDGE('',*,*,#7941,.F.);
-+#7943=ORIENTED_EDGE('',*,*,#7925,.T.);
-+#7944=EDGE_LOOP('',(#7939,#7940,#7942,#7943));
-+#7945=FACE_OUTER_BOUND('',#7944,.F.);
-+#7946=ADVANCED_FACE('',(#7945),#7938,.F.);
-+#7947=CARTESIAN_POINT('',(1.655E1,1.234346967234E0,2.975E1));
-+#7948=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7949=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7950=AXIS2_PLACEMENT_3D('',#7947,#7948,#7949);
-+#7951=CONICAL_SURFACE('',#7950,7.288815195685E-2,6.E1);
-+#7953=ORIENTED_EDGE('',*,*,#7952,.F.);
-+#7955=ORIENTED_EDGE('',*,*,#7954,.T.);
-+#7956=ORIENTED_EDGE('',*,*,#7941,.T.);
-+#7957=EDGE_LOOP('',(#7953,#7955,#7956));
-+#7958=FACE_OUTER_BOUND('',#7957,.F.);
-+#7959=ADVANCED_FACE('',(#7958),#7951,.F.);
-+#7960=CARTESIAN_POINT('',(1.655E1,1.234346967234E0,2.975E1));
-+#7961=DIRECTION('',(0.E0,1.E0,0.E0));
-+#7962=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#7963=AXIS2_PLACEMENT_3D('',#7960,#7961,#7962);
-+#7964=CONICAL_SURFACE('',#7963,7.288815195685E-2,6.E1);
-+#7965=ORIENTED_EDGE('',*,*,#7952,.T.);
-+#7966=ORIENTED_EDGE('',*,*,#7927,.F.);
-+#7967=ORIENTED_EDGE('',*,*,#7954,.F.);
-+#7968=EDGE_LOOP('',(#7965,#7966,#7967));
-+#7969=FACE_OUTER_BOUND('',#7968,.F.);
-+#7970=ADVANCED_FACE('',(#7969),#7964,.F.);
-+#7971=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
-+#7972=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7973=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7974=AXIS2_PLACEMENT_3D('',#7971,#7972,#7973);
-+#7975=CYLINDRICAL_SURFACE('',#7974,2.575E-1);
-+#7976=ORIENTED_EDGE('',*,*,#6248,.T.);
-+#7978=ORIENTED_EDGE('',*,*,#7977,.T.);
-+#7980=ORIENTED_EDGE('',*,*,#7979,.F.);
-+#7982=ORIENTED_EDGE('',*,*,#7981,.F.);
-+#7983=EDGE_LOOP('',(#7976,#7978,#7980,#7982));
-+#7984=FACE_OUTER_BOUND('',#7983,.F.);
-+#7985=ADVANCED_FACE('',(#7984),#7975,.F.);
-+#7986=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
-+#7987=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#7988=DIRECTION('',(1.E0,0.E0,0.E0));
-+#7989=AXIS2_PLACEMENT_3D('',#7986,#7987,#7988);
-+#7990=CYLINDRICAL_SURFACE('',#7989,2.575E-1);
-+#7991=ORIENTED_EDGE('',*,*,#6250,.T.);
-+#7992=ORIENTED_EDGE('',*,*,#7981,.T.);
-+#7994=ORIENTED_EDGE('',*,*,#7993,.F.);
-+#7995=ORIENTED_EDGE('',*,*,#7977,.F.);
-+#7996=EDGE_LOOP('',(#7991,#7992,#7994,#7995));
-+#7997=FACE_OUTER_BOUND('',#7996,.F.);
-+#7998=ADVANCED_FACE('',(#7997),#7990,.F.);
-+#7999=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0));
-+#8000=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8001=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8002=AXIS2_PLACEMENT_3D('',#7999,#8000,#8001);
-+#8003=PLANE('',#8002);
-+#8004=ORIENTED_EDGE('',*,*,#7979,.T.);
-+#8005=ORIENTED_EDGE('',*,*,#7993,.T.);
-+#8006=EDGE_LOOP('',(#8004,#8005));
-+#8007=FACE_OUTER_BOUND('',#8006,.F.);
-+#8009=ORIENTED_EDGE('',*,*,#8008,.F.);
-+#8011=ORIENTED_EDGE('',*,*,#8010,.F.);
-+#8012=EDGE_LOOP('',(#8009,#8011));
-+#8013=FACE_BOUND('',#8012,.F.);
-+#8014=ADVANCED_FACE('',(#8007,#8013),#8003,.F.);
-+#8015=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
-+#8016=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8017=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8018=AXIS2_PLACEMENT_3D('',#8015,#8016,#8017);
-+#8019=CYLINDRICAL_SURFACE('',#8018,1.925E-1);
-+#8020=ORIENTED_EDGE('',*,*,#8008,.T.);
-+#8022=ORIENTED_EDGE('',*,*,#8021,.T.);
-+#8023=ORIENTED_EDGE('',*,*,#5626,.F.);
-+#8025=ORIENTED_EDGE('',*,*,#8024,.F.);
-+#8026=EDGE_LOOP('',(#8020,#8022,#8023,#8025));
-+#8027=FACE_OUTER_BOUND('',#8026,.F.);
-+#8028=ADVANCED_FACE('',(#8027),#8019,.F.);
-+#8029=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0));
-+#8030=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8031=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8032=AXIS2_PLACEMENT_3D('',#8029,#8030,#8031);
-+#8033=CYLINDRICAL_SURFACE('',#8032,1.925E-1);
-+#8034=ORIENTED_EDGE('',*,*,#8010,.T.);
-+#8035=ORIENTED_EDGE('',*,*,#8024,.T.);
-+#8036=ORIENTED_EDGE('',*,*,#5628,.F.);
-+#8037=ORIENTED_EDGE('',*,*,#8021,.F.);
-+#8038=EDGE_LOOP('',(#8034,#8035,#8036,#8037));
-+#8039=FACE_OUTER_BOUND('',#8038,.F.);
-+#8040=ADVANCED_FACE('',(#8039),#8033,.F.);
-+#8041=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
-+#8042=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8043=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8044=AXIS2_PLACEMENT_3D('',#8041,#8042,#8043);
-+#8045=CYLINDRICAL_SURFACE('',#8044,2.575E-1);
-+#8046=ORIENTED_EDGE('',*,*,#6358,.T.);
-+#8048=ORIENTED_EDGE('',*,*,#8047,.T.);
-+#8050=ORIENTED_EDGE('',*,*,#8049,.F.);
-+#8052=ORIENTED_EDGE('',*,*,#8051,.F.);
-+#8053=EDGE_LOOP('',(#8046,#8048,#8050,#8052));
-+#8054=FACE_OUTER_BOUND('',#8053,.F.);
-+#8055=ADVANCED_FACE('',(#8054),#8045,.F.);
-+#8056=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
-+#8057=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8058=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8059=AXIS2_PLACEMENT_3D('',#8056,#8057,#8058);
-+#8060=CYLINDRICAL_SURFACE('',#8059,2.575E-1);
-+#8061=ORIENTED_EDGE('',*,*,#6360,.T.);
-+#8062=ORIENTED_EDGE('',*,*,#8051,.T.);
-+#8064=ORIENTED_EDGE('',*,*,#8063,.F.);
-+#8065=ORIENTED_EDGE('',*,*,#8047,.F.);
-+#8066=EDGE_LOOP('',(#8061,#8062,#8064,#8065));
-+#8067=FACE_OUTER_BOUND('',#8066,.F.);
-+#8068=ADVANCED_FACE('',(#8067),#8060,.F.);
-+#8069=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1));
-+#8070=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8071=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8072=AXIS2_PLACEMENT_3D('',#8069,#8070,#8071);
-+#8073=PLANE('',#8072);
-+#8074=ORIENTED_EDGE('',*,*,#8049,.T.);
-+#8075=ORIENTED_EDGE('',*,*,#8063,.T.);
-+#8076=EDGE_LOOP('',(#8074,#8075));
-+#8077=FACE_OUTER_BOUND('',#8076,.F.);
-+#8079=ORIENTED_EDGE('',*,*,#8078,.F.);
-+#8081=ORIENTED_EDGE('',*,*,#8080,.F.);
-+#8082=EDGE_LOOP('',(#8079,#8081));
-+#8083=FACE_BOUND('',#8082,.F.);
-+#8084=ADVANCED_FACE('',(#8077,#8083),#8073,.F.);
-+#8085=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
-+#8086=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8087=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8088=AXIS2_PLACEMENT_3D('',#8085,#8086,#8087);
-+#8089=CYLINDRICAL_SURFACE('',#8088,1.925E-1);
-+#8090=ORIENTED_EDGE('',*,*,#8078,.T.);
-+#8092=ORIENTED_EDGE('',*,*,#8091,.T.);
-+#8093=ORIENTED_EDGE('',*,*,#5614,.F.);
-+#8095=ORIENTED_EDGE('',*,*,#8094,.F.);
-+#8096=EDGE_LOOP('',(#8090,#8092,#8093,#8095));
-+#8097=FACE_OUTER_BOUND('',#8096,.F.);
-+#8098=ADVANCED_FACE('',(#8097),#8089,.F.);
-+#8099=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1));
-+#8100=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8101=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8102=AXIS2_PLACEMENT_3D('',#8099,#8100,#8101);
-+#8103=CYLINDRICAL_SURFACE('',#8102,1.925E-1);
-+#8104=ORIENTED_EDGE('',*,*,#8080,.T.);
-+#8105=ORIENTED_EDGE('',*,*,#8094,.T.);
-+#8106=ORIENTED_EDGE('',*,*,#5616,.F.);
-+#8107=ORIENTED_EDGE('',*,*,#8091,.F.);
-+#8108=EDGE_LOOP('',(#8104,#8105,#8106,#8107));
-+#8109=FACE_OUTER_BOUND('',#8108,.F.);
-+#8110=ADVANCED_FACE('',(#8109),#8103,.F.);
-+#8111=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
-+#8112=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8113=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8114=AXIS2_PLACEMENT_3D('',#8111,#8112,#8113);
-+#8115=CYLINDRICAL_SURFACE('',#8114,2.575E-1);
-+#8116=ORIENTED_EDGE('',*,*,#6364,.T.);
-+#8118=ORIENTED_EDGE('',*,*,#8117,.T.);
-+#8120=ORIENTED_EDGE('',*,*,#8119,.F.);
-+#8122=ORIENTED_EDGE('',*,*,#8121,.F.);
-+#8123=EDGE_LOOP('',(#8116,#8118,#8120,#8122));
-+#8124=FACE_OUTER_BOUND('',#8123,.F.);
-+#8125=ADVANCED_FACE('',(#8124),#8115,.F.);
-+#8126=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
-+#8127=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8128=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8129=AXIS2_PLACEMENT_3D('',#8126,#8127,#8128);
-+#8130=CYLINDRICAL_SURFACE('',#8129,2.575E-1);
-+#8131=ORIENTED_EDGE('',*,*,#6366,.T.);
-+#8132=ORIENTED_EDGE('',*,*,#8121,.T.);
-+#8134=ORIENTED_EDGE('',*,*,#8133,.F.);
-+#8135=ORIENTED_EDGE('',*,*,#8117,.F.);
-+#8136=EDGE_LOOP('',(#8131,#8132,#8134,#8135));
-+#8137=FACE_OUTER_BOUND('',#8136,.F.);
-+#8138=ADVANCED_FACE('',(#8137),#8130,.F.);
-+#8139=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1));
-+#8140=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8141=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8142=AXIS2_PLACEMENT_3D('',#8139,#8140,#8141);
-+#8143=PLANE('',#8142);
-+#8144=ORIENTED_EDGE('',*,*,#8119,.T.);
-+#8145=ORIENTED_EDGE('',*,*,#8133,.T.);
-+#8146=EDGE_LOOP('',(#8144,#8145));
-+#8147=FACE_OUTER_BOUND('',#8146,.F.);
-+#8149=ORIENTED_EDGE('',*,*,#8148,.F.);
-+#8151=ORIENTED_EDGE('',*,*,#8150,.F.);
-+#8152=EDGE_LOOP('',(#8149,#8151));
-+#8153=FACE_BOUND('',#8152,.F.);
-+#8154=ADVANCED_FACE('',(#8147,#8153),#8143,.F.);
-+#8155=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
-+#8156=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8157=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8158=AXIS2_PLACEMENT_3D('',#8155,#8156,#8157);
-+#8159=CYLINDRICAL_SURFACE('',#8158,1.925E-1);
-+#8160=ORIENTED_EDGE('',*,*,#8148,.T.);
-+#8162=ORIENTED_EDGE('',*,*,#8161,.T.);
-+#8163=ORIENTED_EDGE('',*,*,#5608,.F.);
-+#8165=ORIENTED_EDGE('',*,*,#8164,.F.);
-+#8166=EDGE_LOOP('',(#8160,#8162,#8163,#8165));
-+#8167=FACE_OUTER_BOUND('',#8166,.F.);
-+#8168=ADVANCED_FACE('',(#8167),#8159,.F.);
-+#8169=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1));
-+#8170=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8171=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8172=AXIS2_PLACEMENT_3D('',#8169,#8170,#8171);
-+#8173=CYLINDRICAL_SURFACE('',#8172,1.925E-1);
-+#8174=ORIENTED_EDGE('',*,*,#8150,.T.);
-+#8175=ORIENTED_EDGE('',*,*,#8164,.T.);
-+#8176=ORIENTED_EDGE('',*,*,#5610,.F.);
-+#8177=ORIENTED_EDGE('',*,*,#8161,.F.);
-+#8178=EDGE_LOOP('',(#8174,#8175,#8176,#8177));
-+#8179=FACE_OUTER_BOUND('',#8178,.F.);
-+#8180=ADVANCED_FACE('',(#8179),#8173,.F.);
-+#8181=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
-+#8182=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8183=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8184=AXIS2_PLACEMENT_3D('',#8181,#8182,#8183);
-+#8185=CYLINDRICAL_SURFACE('',#8184,2.575E-1);
-+#8186=ORIENTED_EDGE('',*,*,#6254,.T.);
-+#8188=ORIENTED_EDGE('',*,*,#8187,.T.);
-+#8190=ORIENTED_EDGE('',*,*,#8189,.F.);
-+#8192=ORIENTED_EDGE('',*,*,#8191,.F.);
-+#8193=EDGE_LOOP('',(#8186,#8188,#8190,#8192));
-+#8194=FACE_OUTER_BOUND('',#8193,.F.);
-+#8195=ADVANCED_FACE('',(#8194),#8185,.F.);
-+#8196=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
-+#8197=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8198=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8199=AXIS2_PLACEMENT_3D('',#8196,#8197,#8198);
-+#8200=CYLINDRICAL_SURFACE('',#8199,2.575E-1);
-+#8201=ORIENTED_EDGE('',*,*,#6256,.T.);
-+#8202=ORIENTED_EDGE('',*,*,#8191,.T.);
-+#8204=ORIENTED_EDGE('',*,*,#8203,.F.);
-+#8205=ORIENTED_EDGE('',*,*,#8187,.F.);
-+#8206=EDGE_LOOP('',(#8201,#8202,#8204,#8205));
-+#8207=FACE_OUTER_BOUND('',#8206,.F.);
-+#8208=ADVANCED_FACE('',(#8207),#8200,.F.);
-+#8209=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0));
-+#8210=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8211=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8212=AXIS2_PLACEMENT_3D('',#8209,#8210,#8211);
-+#8213=PLANE('',#8212);
-+#8214=ORIENTED_EDGE('',*,*,#8189,.T.);
-+#8215=ORIENTED_EDGE('',*,*,#8203,.T.);
-+#8216=EDGE_LOOP('',(#8214,#8215));
-+#8217=FACE_OUTER_BOUND('',#8216,.F.);
-+#8219=ORIENTED_EDGE('',*,*,#8218,.F.);
-+#8221=ORIENTED_EDGE('',*,*,#8220,.F.);
-+#8222=EDGE_LOOP('',(#8219,#8221));
-+#8223=FACE_BOUND('',#8222,.F.);
-+#8224=ADVANCED_FACE('',(#8217,#8223),#8213,.F.);
-+#8225=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
-+#8226=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8227=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8228=AXIS2_PLACEMENT_3D('',#8225,#8226,#8227);
-+#8229=CYLINDRICAL_SURFACE('',#8228,1.925E-1);
-+#8230=ORIENTED_EDGE('',*,*,#8218,.T.);
-+#8232=ORIENTED_EDGE('',*,*,#8231,.T.);
-+#8233=ORIENTED_EDGE('',*,*,#5602,.F.);
-+#8235=ORIENTED_EDGE('',*,*,#8234,.F.);
-+#8236=EDGE_LOOP('',(#8230,#8232,#8233,#8235));
-+#8237=FACE_OUTER_BOUND('',#8236,.F.);
-+#8238=ADVANCED_FACE('',(#8237),#8229,.F.);
-+#8239=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0));
-+#8240=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8241=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8242=AXIS2_PLACEMENT_3D('',#8239,#8240,#8241);
-+#8243=CYLINDRICAL_SURFACE('',#8242,1.925E-1);
-+#8244=ORIENTED_EDGE('',*,*,#8220,.T.);
-+#8245=ORIENTED_EDGE('',*,*,#8234,.T.);
-+#8246=ORIENTED_EDGE('',*,*,#5604,.F.);
-+#8247=ORIENTED_EDGE('',*,*,#8231,.F.);
-+#8248=EDGE_LOOP('',(#8244,#8245,#8246,#8247));
-+#8249=FACE_OUTER_BOUND('',#8248,.F.);
-+#8250=ADVANCED_FACE('',(#8249),#8243,.F.);
-+#8251=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
-+#8252=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8253=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8254=AXIS2_PLACEMENT_3D('',#8251,#8252,#8253);
-+#8255=CYLINDRICAL_SURFACE('',#8254,2.575E-1);
-+#8256=ORIENTED_EDGE('',*,*,#6370,.T.);
-+#8258=ORIENTED_EDGE('',*,*,#8257,.T.);
-+#8260=ORIENTED_EDGE('',*,*,#8259,.F.);
-+#8262=ORIENTED_EDGE('',*,*,#8261,.F.);
-+#8263=EDGE_LOOP('',(#8256,#8258,#8260,#8262));
-+#8264=FACE_OUTER_BOUND('',#8263,.F.);
-+#8265=ADVANCED_FACE('',(#8264),#8255,.F.);
-+#8266=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
-+#8267=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8268=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8269=AXIS2_PLACEMENT_3D('',#8266,#8267,#8268);
-+#8270=CYLINDRICAL_SURFACE('',#8269,2.575E-1);
-+#8271=ORIENTED_EDGE('',*,*,#6372,.T.);
-+#8272=ORIENTED_EDGE('',*,*,#8261,.T.);
-+#8274=ORIENTED_EDGE('',*,*,#8273,.F.);
-+#8275=ORIENTED_EDGE('',*,*,#8257,.F.);
-+#8276=EDGE_LOOP('',(#8271,#8272,#8274,#8275));
-+#8277=FACE_OUTER_BOUND('',#8276,.F.);
-+#8278=ADVANCED_FACE('',(#8277),#8270,.F.);
-+#8279=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1));
-+#8280=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8281=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8282=AXIS2_PLACEMENT_3D('',#8279,#8280,#8281);
-+#8283=PLANE('',#8282);
-+#8284=ORIENTED_EDGE('',*,*,#8259,.T.);
-+#8285=ORIENTED_EDGE('',*,*,#8273,.T.);
-+#8286=EDGE_LOOP('',(#8284,#8285));
-+#8287=FACE_OUTER_BOUND('',#8286,.F.);
-+#8289=ORIENTED_EDGE('',*,*,#8288,.F.);
-+#8291=ORIENTED_EDGE('',*,*,#8290,.F.);
-+#8292=EDGE_LOOP('',(#8289,#8291));
-+#8293=FACE_BOUND('',#8292,.F.);
-+#8294=ADVANCED_FACE('',(#8287,#8293),#8283,.F.);
-+#8295=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
-+#8296=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8297=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8298=AXIS2_PLACEMENT_3D('',#8295,#8296,#8297);
-+#8299=CYLINDRICAL_SURFACE('',#8298,1.925E-1);
-+#8300=ORIENTED_EDGE('',*,*,#8288,.T.);
-+#8302=ORIENTED_EDGE('',*,*,#8301,.T.);
-+#8303=ORIENTED_EDGE('',*,*,#5590,.F.);
-+#8305=ORIENTED_EDGE('',*,*,#8304,.F.);
-+#8306=EDGE_LOOP('',(#8300,#8302,#8303,#8305));
-+#8307=FACE_OUTER_BOUND('',#8306,.F.);
-+#8308=ADVANCED_FACE('',(#8307),#8299,.F.);
-+#8309=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1));
-+#8310=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8311=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8312=AXIS2_PLACEMENT_3D('',#8309,#8310,#8311);
-+#8313=CYLINDRICAL_SURFACE('',#8312,1.925E-1);
-+#8314=ORIENTED_EDGE('',*,*,#8290,.T.);
-+#8315=ORIENTED_EDGE('',*,*,#8304,.T.);
-+#8316=ORIENTED_EDGE('',*,*,#5592,.F.);
-+#8317=ORIENTED_EDGE('',*,*,#8301,.F.);
-+#8318=EDGE_LOOP('',(#8314,#8315,#8316,#8317));
-+#8319=FACE_OUTER_BOUND('',#8318,.F.);
-+#8320=ADVANCED_FACE('',(#8319),#8313,.F.);
-+#8321=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
-+#8322=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8323=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8324=AXIS2_PLACEMENT_3D('',#8321,#8322,#8323);
-+#8325=CYLINDRICAL_SURFACE('',#8324,2.575E-1);
-+#8326=ORIENTED_EDGE('',*,*,#6376,.T.);
-+#8328=ORIENTED_EDGE('',*,*,#8327,.T.);
-+#8330=ORIENTED_EDGE('',*,*,#8329,.F.);
-+#8332=ORIENTED_EDGE('',*,*,#8331,.F.);
-+#8333=EDGE_LOOP('',(#8326,#8328,#8330,#8332));
-+#8334=FACE_OUTER_BOUND('',#8333,.F.);
-+#8335=ADVANCED_FACE('',(#8334),#8325,.F.);
-+#8336=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
-+#8337=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8338=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8339=AXIS2_PLACEMENT_3D('',#8336,#8337,#8338);
-+#8340=CYLINDRICAL_SURFACE('',#8339,2.575E-1);
-+#8341=ORIENTED_EDGE('',*,*,#6378,.T.);
-+#8342=ORIENTED_EDGE('',*,*,#8331,.T.);
-+#8344=ORIENTED_EDGE('',*,*,#8343,.F.);
-+#8345=ORIENTED_EDGE('',*,*,#8327,.F.);
-+#8346=EDGE_LOOP('',(#8341,#8342,#8344,#8345));
-+#8347=FACE_OUTER_BOUND('',#8346,.F.);
-+#8348=ADVANCED_FACE('',(#8347),#8340,.F.);
-+#8349=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1));
-+#8350=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8351=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8352=AXIS2_PLACEMENT_3D('',#8349,#8350,#8351);
-+#8353=PLANE('',#8352);
-+#8354=ORIENTED_EDGE('',*,*,#8329,.T.);
-+#8355=ORIENTED_EDGE('',*,*,#8343,.T.);
-+#8356=EDGE_LOOP('',(#8354,#8355));
-+#8357=FACE_OUTER_BOUND('',#8356,.F.);
-+#8359=ORIENTED_EDGE('',*,*,#8358,.F.);
-+#8361=ORIENTED_EDGE('',*,*,#8360,.F.);
-+#8362=EDGE_LOOP('',(#8359,#8361));
-+#8363=FACE_BOUND('',#8362,.F.);
-+#8364=ADVANCED_FACE('',(#8357,#8363),#8353,.F.);
-+#8365=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
-+#8366=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8367=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8368=AXIS2_PLACEMENT_3D('',#8365,#8366,#8367);
-+#8369=CYLINDRICAL_SURFACE('',#8368,1.925E-1);
-+#8370=ORIENTED_EDGE('',*,*,#8358,.T.);
-+#8372=ORIENTED_EDGE('',*,*,#8371,.T.);
-+#8373=ORIENTED_EDGE('',*,*,#5584,.F.);
-+#8375=ORIENTED_EDGE('',*,*,#8374,.F.);
-+#8376=EDGE_LOOP('',(#8370,#8372,#8373,#8375));
-+#8377=FACE_OUTER_BOUND('',#8376,.F.);
-+#8378=ADVANCED_FACE('',(#8377),#8369,.F.);
-+#8379=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1));
-+#8380=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8381=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8382=AXIS2_PLACEMENT_3D('',#8379,#8380,#8381);
-+#8383=CYLINDRICAL_SURFACE('',#8382,1.925E-1);
-+#8384=ORIENTED_EDGE('',*,*,#8360,.T.);
-+#8385=ORIENTED_EDGE('',*,*,#8374,.T.);
-+#8386=ORIENTED_EDGE('',*,*,#5586,.F.);
-+#8387=ORIENTED_EDGE('',*,*,#8371,.F.);
-+#8388=EDGE_LOOP('',(#8384,#8385,#8386,#8387));
-+#8389=FACE_OUTER_BOUND('',#8388,.F.);
-+#8390=ADVANCED_FACE('',(#8389),#8383,.F.);
-+#8391=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
-+#8392=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8393=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8394=AXIS2_PLACEMENT_3D('',#8391,#8392,#8393);
-+#8395=CYLINDRICAL_SURFACE('',#8394,2.56E-1);
-+#8396=ORIENTED_EDGE('',*,*,#6260,.T.);
-+#8398=ORIENTED_EDGE('',*,*,#8397,.T.);
-+#8400=ORIENTED_EDGE('',*,*,#8399,.F.);
-+#8402=ORIENTED_EDGE('',*,*,#8401,.F.);
-+#8403=EDGE_LOOP('',(#8396,#8398,#8400,#8402));
-+#8404=FACE_OUTER_BOUND('',#8403,.F.);
-+#8405=ADVANCED_FACE('',(#8404),#8395,.F.);
-+#8406=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
-+#8407=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8408=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8409=AXIS2_PLACEMENT_3D('',#8406,#8407,#8408);
-+#8410=CYLINDRICAL_SURFACE('',#8409,2.56E-1);
-+#8411=ORIENTED_EDGE('',*,*,#6262,.T.);
-+#8412=ORIENTED_EDGE('',*,*,#8401,.T.);
-+#8414=ORIENTED_EDGE('',*,*,#8413,.F.);
-+#8415=ORIENTED_EDGE('',*,*,#8397,.F.);
-+#8416=EDGE_LOOP('',(#8411,#8412,#8414,#8415));
-+#8417=FACE_OUTER_BOUND('',#8416,.F.);
-+#8418=ADVANCED_FACE('',(#8417),#8410,.F.);
-+#8419=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0));
-+#8420=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8421=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8422=AXIS2_PLACEMENT_3D('',#8419,#8420,#8421);
-+#8423=PLANE('',#8422);
-+#8424=ORIENTED_EDGE('',*,*,#8399,.T.);
-+#8425=ORIENTED_EDGE('',*,*,#8413,.T.);
-+#8426=EDGE_LOOP('',(#8424,#8425));
-+#8427=FACE_OUTER_BOUND('',#8426,.F.);
-+#8429=ORIENTED_EDGE('',*,*,#8428,.F.);
-+#8431=ORIENTED_EDGE('',*,*,#8430,.F.);
-+#8432=EDGE_LOOP('',(#8429,#8431));
-+#8433=FACE_BOUND('',#8432,.F.);
-+#8434=ADVANCED_FACE('',(#8427,#8433),#8423,.F.);
-+#8435=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
-+#8436=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8437=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8438=AXIS2_PLACEMENT_3D('',#8435,#8436,#8437);
-+#8439=CYLINDRICAL_SURFACE('',#8438,1.925E-1);
-+#8440=ORIENTED_EDGE('',*,*,#8428,.T.);
-+#8442=ORIENTED_EDGE('',*,*,#8441,.T.);
-+#8443=ORIENTED_EDGE('',*,*,#5632,.F.);
-+#8445=ORIENTED_EDGE('',*,*,#8444,.F.);
-+#8446=EDGE_LOOP('',(#8440,#8442,#8443,#8445));
-+#8447=FACE_OUTER_BOUND('',#8446,.F.);
-+#8448=ADVANCED_FACE('',(#8447),#8439,.F.);
-+#8449=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0));
-+#8450=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8451=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8452=AXIS2_PLACEMENT_3D('',#8449,#8450,#8451);
-+#8453=CYLINDRICAL_SURFACE('',#8452,1.925E-1);
-+#8454=ORIENTED_EDGE('',*,*,#8430,.T.);
-+#8455=ORIENTED_EDGE('',*,*,#8444,.T.);
-+#8456=ORIENTED_EDGE('',*,*,#5634,.F.);
-+#8457=ORIENTED_EDGE('',*,*,#8441,.F.);
-+#8458=EDGE_LOOP('',(#8454,#8455,#8456,#8457));
-+#8459=FACE_OUTER_BOUND('',#8458,.F.);
-+#8460=ADVANCED_FACE('',(#8459),#8453,.F.);
-+#8461=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
-+#8462=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8463=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8464=AXIS2_PLACEMENT_3D('',#8461,#8462,#8463);
-+#8465=CYLINDRICAL_SURFACE('',#8464,2.56E-1);
-+#8466=ORIENTED_EDGE('',*,*,#6266,.T.);
-+#8468=ORIENTED_EDGE('',*,*,#8467,.T.);
-+#8470=ORIENTED_EDGE('',*,*,#8469,.F.);
-+#8472=ORIENTED_EDGE('',*,*,#8471,.F.);
-+#8473=EDGE_LOOP('',(#8466,#8468,#8470,#8472));
-+#8474=FACE_OUTER_BOUND('',#8473,.F.);
-+#8475=ADVANCED_FACE('',(#8474),#8465,.F.);
-+#8476=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
-+#8477=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8478=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8479=AXIS2_PLACEMENT_3D('',#8476,#8477,#8478);
-+#8480=CYLINDRICAL_SURFACE('',#8479,2.56E-1);
-+#8481=ORIENTED_EDGE('',*,*,#6268,.T.);
-+#8482=ORIENTED_EDGE('',*,*,#8471,.T.);
-+#8484=ORIENTED_EDGE('',*,*,#8483,.F.);
-+#8485=ORIENTED_EDGE('',*,*,#8467,.F.);
-+#8486=EDGE_LOOP('',(#8481,#8482,#8484,#8485));
-+#8487=FACE_OUTER_BOUND('',#8486,.F.);
-+#8488=ADVANCED_FACE('',(#8487),#8480,.F.);
-+#8489=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0));
-+#8490=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8491=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8492=AXIS2_PLACEMENT_3D('',#8489,#8490,#8491);
-+#8493=PLANE('',#8492);
-+#8494=ORIENTED_EDGE('',*,*,#8469,.T.);
-+#8495=ORIENTED_EDGE('',*,*,#8483,.T.);
-+#8496=EDGE_LOOP('',(#8494,#8495));
-+#8497=FACE_OUTER_BOUND('',#8496,.F.);
-+#8499=ORIENTED_EDGE('',*,*,#8498,.F.);
-+#8501=ORIENTED_EDGE('',*,*,#8500,.F.);
-+#8502=EDGE_LOOP('',(#8499,#8501));
-+#8503=FACE_BOUND('',#8502,.F.);
-+#8504=ADVANCED_FACE('',(#8497,#8503),#8493,.F.);
-+#8505=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
-+#8506=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8507=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8508=AXIS2_PLACEMENT_3D('',#8505,#8506,#8507);
-+#8509=CYLINDRICAL_SURFACE('',#8508,1.925E-1);
-+#8510=ORIENTED_EDGE('',*,*,#8498,.T.);
-+#8512=ORIENTED_EDGE('',*,*,#8511,.T.);
-+#8513=ORIENTED_EDGE('',*,*,#5578,.F.);
-+#8515=ORIENTED_EDGE('',*,*,#8514,.F.);
-+#8516=EDGE_LOOP('',(#8510,#8512,#8513,#8515));
-+#8517=FACE_OUTER_BOUND('',#8516,.F.);
-+#8518=ADVANCED_FACE('',(#8517),#8509,.F.);
-+#8519=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0));
-+#8520=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8521=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8522=AXIS2_PLACEMENT_3D('',#8519,#8520,#8521);
-+#8523=CYLINDRICAL_SURFACE('',#8522,1.925E-1);
-+#8524=ORIENTED_EDGE('',*,*,#8500,.T.);
-+#8525=ORIENTED_EDGE('',*,*,#8514,.T.);
-+#8526=ORIENTED_EDGE('',*,*,#5580,.F.);
-+#8527=ORIENTED_EDGE('',*,*,#8511,.F.);
-+#8528=EDGE_LOOP('',(#8524,#8525,#8526,#8527));
-+#8529=FACE_OUTER_BOUND('',#8528,.F.);
-+#8530=ADVANCED_FACE('',(#8529),#8523,.F.);
-+#8531=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
-+#8532=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8533=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8534=AXIS2_PLACEMENT_3D('',#8531,#8532,#8533);
-+#8535=CYLINDRICAL_SURFACE('',#8534,2.56E-1);
-+#8536=ORIENTED_EDGE('',*,*,#6272,.T.);
-+#8538=ORIENTED_EDGE('',*,*,#8537,.T.);
-+#8540=ORIENTED_EDGE('',*,*,#8539,.F.);
-+#8542=ORIENTED_EDGE('',*,*,#8541,.F.);
-+#8543=EDGE_LOOP('',(#8536,#8538,#8540,#8542));
-+#8544=FACE_OUTER_BOUND('',#8543,.F.);
-+#8545=ADVANCED_FACE('',(#8544),#8535,.F.);
-+#8546=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
-+#8547=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8548=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8549=AXIS2_PLACEMENT_3D('',#8546,#8547,#8548);
-+#8550=CYLINDRICAL_SURFACE('',#8549,2.56E-1);
-+#8551=ORIENTED_EDGE('',*,*,#6274,.T.);
-+#8552=ORIENTED_EDGE('',*,*,#8541,.T.);
-+#8554=ORIENTED_EDGE('',*,*,#8553,.F.);
-+#8555=ORIENTED_EDGE('',*,*,#8537,.F.);
-+#8556=EDGE_LOOP('',(#8551,#8552,#8554,#8555));
-+#8557=FACE_OUTER_BOUND('',#8556,.F.);
-+#8558=ADVANCED_FACE('',(#8557),#8550,.F.);
-+#8559=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0));
-+#8560=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8561=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8562=AXIS2_PLACEMENT_3D('',#8559,#8560,#8561);
-+#8563=PLANE('',#8562);
-+#8564=ORIENTED_EDGE('',*,*,#8539,.T.);
-+#8565=ORIENTED_EDGE('',*,*,#8553,.T.);
-+#8566=EDGE_LOOP('',(#8564,#8565));
-+#8567=FACE_OUTER_BOUND('',#8566,.F.);
-+#8569=ORIENTED_EDGE('',*,*,#8568,.F.);
-+#8571=ORIENTED_EDGE('',*,*,#8570,.F.);
-+#8572=EDGE_LOOP('',(#8569,#8571));
-+#8573=FACE_BOUND('',#8572,.F.);
-+#8574=ADVANCED_FACE('',(#8567,#8573),#8563,.F.);
-+#8575=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
-+#8576=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8577=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8578=AXIS2_PLACEMENT_3D('',#8575,#8576,#8577);
-+#8579=CYLINDRICAL_SURFACE('',#8578,1.925E-1);
-+#8580=ORIENTED_EDGE('',*,*,#8568,.T.);
-+#8582=ORIENTED_EDGE('',*,*,#8581,.T.);
-+#8583=ORIENTED_EDGE('',*,*,#5560,.F.);
-+#8585=ORIENTED_EDGE('',*,*,#8584,.F.);
-+#8586=EDGE_LOOP('',(#8580,#8582,#8583,#8585));
-+#8587=FACE_OUTER_BOUND('',#8586,.F.);
-+#8588=ADVANCED_FACE('',(#8587),#8579,.F.);
-+#8589=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0));
-+#8590=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8591=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8592=AXIS2_PLACEMENT_3D('',#8589,#8590,#8591);
-+#8593=CYLINDRICAL_SURFACE('',#8592,1.925E-1);
-+#8594=ORIENTED_EDGE('',*,*,#8570,.T.);
-+#8595=ORIENTED_EDGE('',*,*,#8584,.T.);
-+#8596=ORIENTED_EDGE('',*,*,#5562,.F.);
-+#8597=ORIENTED_EDGE('',*,*,#8581,.F.);
-+#8598=EDGE_LOOP('',(#8594,#8595,#8596,#8597));
-+#8599=FACE_OUTER_BOUND('',#8598,.F.);
-+#8600=ADVANCED_FACE('',(#8599),#8593,.F.);
-+#8601=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
-+#8602=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8603=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8604=AXIS2_PLACEMENT_3D('',#8601,#8602,#8603);
-+#8605=CYLINDRICAL_SURFACE('',#8604,2.56E-1);
-+#8606=ORIENTED_EDGE('',*,*,#6382,.T.);
-+#8608=ORIENTED_EDGE('',*,*,#8607,.T.);
-+#8610=ORIENTED_EDGE('',*,*,#8609,.F.);
-+#8612=ORIENTED_EDGE('',*,*,#8611,.F.);
-+#8613=EDGE_LOOP('',(#8606,#8608,#8610,#8612));
-+#8614=FACE_OUTER_BOUND('',#8613,.F.);
-+#8615=ADVANCED_FACE('',(#8614),#8605,.F.);
-+#8616=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
-+#8617=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8618=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8619=AXIS2_PLACEMENT_3D('',#8616,#8617,#8618);
-+#8620=CYLINDRICAL_SURFACE('',#8619,2.56E-1);
-+#8621=ORIENTED_EDGE('',*,*,#6384,.T.);
-+#8622=ORIENTED_EDGE('',*,*,#8611,.T.);
-+#8624=ORIENTED_EDGE('',*,*,#8623,.F.);
-+#8625=ORIENTED_EDGE('',*,*,#8607,.F.);
-+#8626=EDGE_LOOP('',(#8621,#8622,#8624,#8625));
-+#8627=FACE_OUTER_BOUND('',#8626,.F.);
-+#8628=ADVANCED_FACE('',(#8627),#8620,.F.);
-+#8629=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1));
-+#8630=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8631=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8632=AXIS2_PLACEMENT_3D('',#8629,#8630,#8631);
-+#8633=PLANE('',#8632);
-+#8634=ORIENTED_EDGE('',*,*,#8609,.T.);
-+#8635=ORIENTED_EDGE('',*,*,#8623,.T.);
-+#8636=EDGE_LOOP('',(#8634,#8635));
-+#8637=FACE_OUTER_BOUND('',#8636,.F.);
-+#8639=ORIENTED_EDGE('',*,*,#8638,.F.);
-+#8641=ORIENTED_EDGE('',*,*,#8640,.F.);
-+#8642=EDGE_LOOP('',(#8639,#8641));
-+#8643=FACE_BOUND('',#8642,.F.);
-+#8644=ADVANCED_FACE('',(#8637,#8643),#8633,.F.);
-+#8645=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
-+#8646=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8647=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8648=AXIS2_PLACEMENT_3D('',#8645,#8646,#8647);
-+#8649=CYLINDRICAL_SURFACE('',#8648,1.925E-1);
-+#8650=ORIENTED_EDGE('',*,*,#8638,.T.);
-+#8652=ORIENTED_EDGE('',*,*,#8651,.T.);
-+#8653=ORIENTED_EDGE('',*,*,#5572,.F.);
-+#8655=ORIENTED_EDGE('',*,*,#8654,.F.);
-+#8656=EDGE_LOOP('',(#8650,#8652,#8653,#8655));
-+#8657=FACE_OUTER_BOUND('',#8656,.F.);
-+#8658=ADVANCED_FACE('',(#8657),#8649,.F.);
-+#8659=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1));
-+#8660=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8661=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8662=AXIS2_PLACEMENT_3D('',#8659,#8660,#8661);
-+#8663=CYLINDRICAL_SURFACE('',#8662,1.925E-1);
-+#8664=ORIENTED_EDGE('',*,*,#8640,.T.);
-+#8665=ORIENTED_EDGE('',*,*,#8654,.T.);
-+#8666=ORIENTED_EDGE('',*,*,#5574,.F.);
-+#8667=ORIENTED_EDGE('',*,*,#8651,.F.);
-+#8668=EDGE_LOOP('',(#8664,#8665,#8666,#8667));
-+#8669=FACE_OUTER_BOUND('',#8668,.F.);
-+#8670=ADVANCED_FACE('',(#8669),#8663,.F.);
-+#8671=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
-+#8672=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8673=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8674=AXIS2_PLACEMENT_3D('',#8671,#8672,#8673);
-+#8675=CYLINDRICAL_SURFACE('',#8674,2.56E-1);
-+#8676=ORIENTED_EDGE('',*,*,#6388,.T.);
-+#8678=ORIENTED_EDGE('',*,*,#8677,.T.);
-+#8680=ORIENTED_EDGE('',*,*,#8679,.F.);
-+#8682=ORIENTED_EDGE('',*,*,#8681,.F.);
-+#8683=EDGE_LOOP('',(#8676,#8678,#8680,#8682));
-+#8684=FACE_OUTER_BOUND('',#8683,.F.);
-+#8685=ADVANCED_FACE('',(#8684),#8675,.F.);
-+#8686=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
-+#8687=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8688=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8689=AXIS2_PLACEMENT_3D('',#8686,#8687,#8688);
-+#8690=CYLINDRICAL_SURFACE('',#8689,2.56E-1);
-+#8691=ORIENTED_EDGE('',*,*,#6390,.T.);
-+#8692=ORIENTED_EDGE('',*,*,#8681,.T.);
-+#8694=ORIENTED_EDGE('',*,*,#8693,.F.);
-+#8695=ORIENTED_EDGE('',*,*,#8677,.F.);
-+#8696=EDGE_LOOP('',(#8691,#8692,#8694,#8695));
-+#8697=FACE_OUTER_BOUND('',#8696,.F.);
-+#8698=ADVANCED_FACE('',(#8697),#8690,.F.);
-+#8699=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1));
-+#8700=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8701=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8702=AXIS2_PLACEMENT_3D('',#8699,#8700,#8701);
-+#8703=PLANE('',#8702);
-+#8704=ORIENTED_EDGE('',*,*,#8679,.T.);
-+#8705=ORIENTED_EDGE('',*,*,#8693,.T.);
-+#8706=EDGE_LOOP('',(#8704,#8705));
-+#8707=FACE_OUTER_BOUND('',#8706,.F.);
-+#8709=ORIENTED_EDGE('',*,*,#8708,.F.);
-+#8711=ORIENTED_EDGE('',*,*,#8710,.F.);
-+#8712=EDGE_LOOP('',(#8709,#8711));
-+#8713=FACE_BOUND('',#8712,.F.);
-+#8714=ADVANCED_FACE('',(#8707,#8713),#8703,.F.);
-+#8715=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
-+#8716=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8717=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8718=AXIS2_PLACEMENT_3D('',#8715,#8716,#8717);
-+#8719=CYLINDRICAL_SURFACE('',#8718,1.925E-1);
-+#8720=ORIENTED_EDGE('',*,*,#8708,.T.);
-+#8722=ORIENTED_EDGE('',*,*,#8721,.T.);
-+#8723=ORIENTED_EDGE('',*,*,#5566,.F.);
-+#8725=ORIENTED_EDGE('',*,*,#8724,.F.);
-+#8726=EDGE_LOOP('',(#8720,#8722,#8723,#8725));
-+#8727=FACE_OUTER_BOUND('',#8726,.F.);
-+#8728=ADVANCED_FACE('',(#8727),#8719,.F.);
-+#8729=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1));
-+#8730=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8731=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8732=AXIS2_PLACEMENT_3D('',#8729,#8730,#8731);
-+#8733=CYLINDRICAL_SURFACE('',#8732,1.925E-1);
-+#8734=ORIENTED_EDGE('',*,*,#8710,.T.);
-+#8735=ORIENTED_EDGE('',*,*,#8724,.T.);
-+#8736=ORIENTED_EDGE('',*,*,#5568,.F.);
-+#8737=ORIENTED_EDGE('',*,*,#8721,.F.);
-+#8738=EDGE_LOOP('',(#8734,#8735,#8736,#8737));
-+#8739=FACE_OUTER_BOUND('',#8738,.F.);
-+#8740=ADVANCED_FACE('',(#8739),#8733,.F.);
-+#8741=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
-+#8742=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8743=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8744=AXIS2_PLACEMENT_3D('',#8741,#8742,#8743);
-+#8745=CYLINDRICAL_SURFACE('',#8744,2.56E-1);
-+#8746=ORIENTED_EDGE('',*,*,#6394,.T.);
-+#8748=ORIENTED_EDGE('',*,*,#8747,.T.);
-+#8750=ORIENTED_EDGE('',*,*,#8749,.F.);
-+#8752=ORIENTED_EDGE('',*,*,#8751,.F.);
-+#8753=EDGE_LOOP('',(#8746,#8748,#8750,#8752));
-+#8754=FACE_OUTER_BOUND('',#8753,.F.);
-+#8755=ADVANCED_FACE('',(#8754),#8745,.F.);
-+#8756=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
-+#8757=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8758=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8759=AXIS2_PLACEMENT_3D('',#8756,#8757,#8758);
-+#8760=CYLINDRICAL_SURFACE('',#8759,2.56E-1);
-+#8761=ORIENTED_EDGE('',*,*,#6396,.T.);
-+#8762=ORIENTED_EDGE('',*,*,#8751,.T.);
-+#8764=ORIENTED_EDGE('',*,*,#8763,.F.);
-+#8765=ORIENTED_EDGE('',*,*,#8747,.F.);
-+#8766=EDGE_LOOP('',(#8761,#8762,#8764,#8765));
-+#8767=FACE_OUTER_BOUND('',#8766,.F.);
-+#8768=ADVANCED_FACE('',(#8767),#8760,.F.);
-+#8769=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1));
-+#8770=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8771=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8772=AXIS2_PLACEMENT_3D('',#8769,#8770,#8771);
-+#8773=PLANE('',#8772);
-+#8774=ORIENTED_EDGE('',*,*,#8749,.T.);
-+#8775=ORIENTED_EDGE('',*,*,#8763,.T.);
-+#8776=EDGE_LOOP('',(#8774,#8775));
-+#8777=FACE_OUTER_BOUND('',#8776,.F.);
-+#8779=ORIENTED_EDGE('',*,*,#8778,.F.);
-+#8781=ORIENTED_EDGE('',*,*,#8780,.F.);
-+#8782=EDGE_LOOP('',(#8779,#8781));
-+#8783=FACE_BOUND('',#8782,.F.);
-+#8784=ADVANCED_FACE('',(#8777,#8783),#8773,.F.);
-+#8785=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
-+#8786=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8787=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8788=AXIS2_PLACEMENT_3D('',#8785,#8786,#8787);
-+#8789=CYLINDRICAL_SURFACE('',#8788,1.925E-1);
-+#8790=ORIENTED_EDGE('',*,*,#8778,.T.);
-+#8792=ORIENTED_EDGE('',*,*,#8791,.T.);
-+#8793=ORIENTED_EDGE('',*,*,#5554,.F.);
-+#8795=ORIENTED_EDGE('',*,*,#8794,.F.);
-+#8796=EDGE_LOOP('',(#8790,#8792,#8793,#8795));
-+#8797=FACE_OUTER_BOUND('',#8796,.F.);
-+#8798=ADVANCED_FACE('',(#8797),#8789,.F.);
-+#8799=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1));
-+#8800=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8801=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8802=AXIS2_PLACEMENT_3D('',#8799,#8800,#8801);
-+#8803=CYLINDRICAL_SURFACE('',#8802,1.925E-1);
-+#8804=ORIENTED_EDGE('',*,*,#8780,.T.);
-+#8805=ORIENTED_EDGE('',*,*,#8794,.T.);
-+#8806=ORIENTED_EDGE('',*,*,#5556,.F.);
-+#8807=ORIENTED_EDGE('',*,*,#8791,.F.);
-+#8808=EDGE_LOOP('',(#8804,#8805,#8806,#8807));
-+#8809=FACE_OUTER_BOUND('',#8808,.F.);
-+#8810=ADVANCED_FACE('',(#8809),#8803,.F.);
-+#8811=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
-+#8812=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8813=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8814=AXIS2_PLACEMENT_3D('',#8811,#8812,#8813);
-+#8815=CYLINDRICAL_SURFACE('',#8814,2.575E-1);
-+#8816=ORIENTED_EDGE('',*,*,#6452,.T.);
-+#8818=ORIENTED_EDGE('',*,*,#8817,.T.);
-+#8820=ORIENTED_EDGE('',*,*,#8819,.F.);
-+#8822=ORIENTED_EDGE('',*,*,#8821,.F.);
-+#8823=EDGE_LOOP('',(#8816,#8818,#8820,#8822));
-+#8824=FACE_OUTER_BOUND('',#8823,.F.);
-+#8825=ADVANCED_FACE('',(#8824),#8815,.F.);
-+#8826=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
-+#8827=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8828=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8829=AXIS2_PLACEMENT_3D('',#8826,#8827,#8828);
-+#8830=CYLINDRICAL_SURFACE('',#8829,2.575E-1);
-+#8831=ORIENTED_EDGE('',*,*,#6454,.T.);
-+#8832=ORIENTED_EDGE('',*,*,#8821,.T.);
-+#8834=ORIENTED_EDGE('',*,*,#8833,.F.);
-+#8835=ORIENTED_EDGE('',*,*,#8817,.F.);
-+#8836=EDGE_LOOP('',(#8831,#8832,#8834,#8835));
-+#8837=FACE_OUTER_BOUND('',#8836,.F.);
-+#8838=ADVANCED_FACE('',(#8837),#8830,.F.);
-+#8839=CARTESIAN_POINT('',(6.E0,1.E0,9.E0));
-+#8840=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8841=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8842=AXIS2_PLACEMENT_3D('',#8839,#8840,#8841);
-+#8843=PLANE('',#8842);
-+#8844=ORIENTED_EDGE('',*,*,#8819,.T.);
-+#8845=ORIENTED_EDGE('',*,*,#8833,.T.);
-+#8846=EDGE_LOOP('',(#8844,#8845));
-+#8847=FACE_OUTER_BOUND('',#8846,.F.);
-+#8849=ORIENTED_EDGE('',*,*,#8848,.F.);
-+#8851=ORIENTED_EDGE('',*,*,#8850,.F.);
-+#8852=EDGE_LOOP('',(#8849,#8851));
-+#8853=FACE_BOUND('',#8852,.F.);
-+#8854=ADVANCED_FACE('',(#8847,#8853),#8843,.F.);
-+#8855=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
-+#8856=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8857=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8858=AXIS2_PLACEMENT_3D('',#8855,#8856,#8857);
-+#8859=CYLINDRICAL_SURFACE('',#8858,1.925E-1);
-+#8860=ORIENTED_EDGE('',*,*,#8848,.T.);
-+#8862=ORIENTED_EDGE('',*,*,#8861,.T.);
-+#8863=ORIENTED_EDGE('',*,*,#5690,.F.);
-+#8865=ORIENTED_EDGE('',*,*,#8864,.F.);
-+#8866=EDGE_LOOP('',(#8860,#8862,#8863,#8865));
-+#8867=FACE_OUTER_BOUND('',#8866,.F.);
-+#8868=ADVANCED_FACE('',(#8867),#8859,.F.);
-+#8869=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0));
-+#8870=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8871=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8872=AXIS2_PLACEMENT_3D('',#8869,#8870,#8871);
-+#8873=CYLINDRICAL_SURFACE('',#8872,1.925E-1);
-+#8874=ORIENTED_EDGE('',*,*,#8850,.T.);
-+#8875=ORIENTED_EDGE('',*,*,#8864,.T.);
-+#8876=ORIENTED_EDGE('',*,*,#5692,.F.);
-+#8877=ORIENTED_EDGE('',*,*,#8861,.F.);
-+#8878=EDGE_LOOP('',(#8874,#8875,#8876,#8877));
-+#8879=FACE_OUTER_BOUND('',#8878,.F.);
-+#8880=ADVANCED_FACE('',(#8879),#8873,.F.);
-+#8881=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
-+#8882=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8883=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8884=AXIS2_PLACEMENT_3D('',#8881,#8882,#8883);
-+#8885=CYLINDRICAL_SURFACE('',#8884,2.575E-1);
-+#8886=ORIENTED_EDGE('',*,*,#6458,.T.);
-+#8888=ORIENTED_EDGE('',*,*,#8887,.T.);
-+#8890=ORIENTED_EDGE('',*,*,#8889,.F.);
-+#8892=ORIENTED_EDGE('',*,*,#8891,.F.);
-+#8893=EDGE_LOOP('',(#8886,#8888,#8890,#8892));
-+#8894=FACE_OUTER_BOUND('',#8893,.F.);
-+#8895=ADVANCED_FACE('',(#8894),#8885,.F.);
-+#8896=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
-+#8897=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8898=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8899=AXIS2_PLACEMENT_3D('',#8896,#8897,#8898);
-+#8900=CYLINDRICAL_SURFACE('',#8899,2.575E-1);
-+#8901=ORIENTED_EDGE('',*,*,#6460,.T.);
-+#8902=ORIENTED_EDGE('',*,*,#8891,.T.);
-+#8904=ORIENTED_EDGE('',*,*,#8903,.F.);
-+#8905=ORIENTED_EDGE('',*,*,#8887,.F.);
-+#8906=EDGE_LOOP('',(#8901,#8902,#8904,#8905));
-+#8907=FACE_OUTER_BOUND('',#8906,.F.);
-+#8908=ADVANCED_FACE('',(#8907),#8900,.F.);
-+#8909=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0));
-+#8910=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8911=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8912=AXIS2_PLACEMENT_3D('',#8909,#8910,#8911);
-+#8913=PLANE('',#8912);
-+#8914=ORIENTED_EDGE('',*,*,#8889,.T.);
-+#8915=ORIENTED_EDGE('',*,*,#8903,.T.);
-+#8916=EDGE_LOOP('',(#8914,#8915));
-+#8917=FACE_OUTER_BOUND('',#8916,.F.);
-+#8919=ORIENTED_EDGE('',*,*,#8918,.F.);
-+#8921=ORIENTED_EDGE('',*,*,#8920,.F.);
-+#8922=EDGE_LOOP('',(#8919,#8921));
-+#8923=FACE_BOUND('',#8922,.F.);
-+#8924=ADVANCED_FACE('',(#8917,#8923),#8913,.F.);
-+#8925=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
-+#8926=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8927=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8928=AXIS2_PLACEMENT_3D('',#8925,#8926,#8927);
-+#8929=CYLINDRICAL_SURFACE('',#8928,1.925E-1);
-+#8930=ORIENTED_EDGE('',*,*,#8918,.T.);
-+#8932=ORIENTED_EDGE('',*,*,#8931,.T.);
-+#8933=ORIENTED_EDGE('',*,*,#5696,.F.);
-+#8935=ORIENTED_EDGE('',*,*,#8934,.F.);
-+#8936=EDGE_LOOP('',(#8930,#8932,#8933,#8935));
-+#8937=FACE_OUTER_BOUND('',#8936,.F.);
-+#8938=ADVANCED_FACE('',(#8937),#8929,.F.);
-+#8939=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0));
-+#8940=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8941=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8942=AXIS2_PLACEMENT_3D('',#8939,#8940,#8941);
-+#8943=CYLINDRICAL_SURFACE('',#8942,1.925E-1);
-+#8944=ORIENTED_EDGE('',*,*,#8920,.T.);
-+#8945=ORIENTED_EDGE('',*,*,#8934,.T.);
-+#8946=ORIENTED_EDGE('',*,*,#5698,.F.);
-+#8947=ORIENTED_EDGE('',*,*,#8931,.F.);
-+#8948=EDGE_LOOP('',(#8944,#8945,#8946,#8947));
-+#8949=FACE_OUTER_BOUND('',#8948,.F.);
-+#8950=ADVANCED_FACE('',(#8949),#8943,.F.);
-+#8951=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
-+#8952=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8953=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8954=AXIS2_PLACEMENT_3D('',#8951,#8952,#8953);
-+#8955=CYLINDRICAL_SURFACE('',#8954,2.575E-1);
-+#8956=ORIENTED_EDGE('',*,*,#6464,.T.);
-+#8958=ORIENTED_EDGE('',*,*,#8957,.T.);
-+#8960=ORIENTED_EDGE('',*,*,#8959,.F.);
-+#8962=ORIENTED_EDGE('',*,*,#8961,.F.);
-+#8963=EDGE_LOOP('',(#8956,#8958,#8960,#8962));
-+#8964=FACE_OUTER_BOUND('',#8963,.F.);
-+#8965=ADVANCED_FACE('',(#8964),#8955,.F.);
-+#8966=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
-+#8967=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8968=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8969=AXIS2_PLACEMENT_3D('',#8966,#8967,#8968);
-+#8970=CYLINDRICAL_SURFACE('',#8969,2.575E-1);
-+#8971=ORIENTED_EDGE('',*,*,#6466,.T.);
-+#8972=ORIENTED_EDGE('',*,*,#8961,.T.);
-+#8974=ORIENTED_EDGE('',*,*,#8973,.F.);
-+#8975=ORIENTED_EDGE('',*,*,#8957,.F.);
-+#8976=EDGE_LOOP('',(#8971,#8972,#8974,#8975));
-+#8977=FACE_OUTER_BOUND('',#8976,.F.);
-+#8978=ADVANCED_FACE('',(#8977),#8970,.F.);
-+#8979=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0));
-+#8980=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8981=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8982=AXIS2_PLACEMENT_3D('',#8979,#8980,#8981);
-+#8983=PLANE('',#8982);
-+#8984=ORIENTED_EDGE('',*,*,#8959,.T.);
-+#8985=ORIENTED_EDGE('',*,*,#8973,.T.);
-+#8986=EDGE_LOOP('',(#8984,#8985));
-+#8987=FACE_OUTER_BOUND('',#8986,.F.);
-+#8989=ORIENTED_EDGE('',*,*,#8988,.F.);
-+#8991=ORIENTED_EDGE('',*,*,#8990,.F.);
-+#8992=EDGE_LOOP('',(#8989,#8991));
-+#8993=FACE_BOUND('',#8992,.F.);
-+#8994=ADVANCED_FACE('',(#8987,#8993),#8983,.F.);
-+#8995=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
-+#8996=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#8997=DIRECTION('',(1.E0,0.E0,0.E0));
-+#8998=AXIS2_PLACEMENT_3D('',#8995,#8996,#8997);
-+#8999=CYLINDRICAL_SURFACE('',#8998,1.925E-1);
-+#9000=ORIENTED_EDGE('',*,*,#8988,.T.);
-+#9002=ORIENTED_EDGE('',*,*,#9001,.T.);
-+#9003=ORIENTED_EDGE('',*,*,#5702,.F.);
-+#9005=ORIENTED_EDGE('',*,*,#9004,.F.);
-+#9006=EDGE_LOOP('',(#9000,#9002,#9003,#9005));
-+#9007=FACE_OUTER_BOUND('',#9006,.F.);
-+#9008=ADVANCED_FACE('',(#9007),#8999,.F.);
-+#9009=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0));
-+#9010=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9011=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9012=AXIS2_PLACEMENT_3D('',#9009,#9010,#9011);
-+#9013=CYLINDRICAL_SURFACE('',#9012,1.925E-1);
-+#9014=ORIENTED_EDGE('',*,*,#8990,.T.);
-+#9015=ORIENTED_EDGE('',*,*,#9004,.T.);
-+#9016=ORIENTED_EDGE('',*,*,#5704,.F.);
-+#9017=ORIENTED_EDGE('',*,*,#9001,.F.);
-+#9018=EDGE_LOOP('',(#9014,#9015,#9016,#9017));
-+#9019=FACE_OUTER_BOUND('',#9018,.F.);
-+#9020=ADVANCED_FACE('',(#9019),#9013,.F.);
-+#9021=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
-+#9022=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9023=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9024=AXIS2_PLACEMENT_3D('',#9021,#9022,#9023);
-+#9025=CYLINDRICAL_SURFACE('',#9024,2.575E-1);
-+#9026=ORIENTED_EDGE('',*,*,#6470,.T.);
-+#9028=ORIENTED_EDGE('',*,*,#9027,.T.);
-+#9030=ORIENTED_EDGE('',*,*,#9029,.F.);
-+#9032=ORIENTED_EDGE('',*,*,#9031,.F.);
-+#9033=EDGE_LOOP('',(#9026,#9028,#9030,#9032));
-+#9034=FACE_OUTER_BOUND('',#9033,.F.);
-+#9035=ADVANCED_FACE('',(#9034),#9025,.F.);
-+#9036=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
-+#9037=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9038=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9039=AXIS2_PLACEMENT_3D('',#9036,#9037,#9038);
-+#9040=CYLINDRICAL_SURFACE('',#9039,2.575E-1);
-+#9041=ORIENTED_EDGE('',*,*,#6472,.T.);
-+#9042=ORIENTED_EDGE('',*,*,#9031,.T.);
-+#9044=ORIENTED_EDGE('',*,*,#9043,.F.);
-+#9045=ORIENTED_EDGE('',*,*,#9027,.F.);
-+#9046=EDGE_LOOP('',(#9041,#9042,#9044,#9045));
-+#9047=FACE_OUTER_BOUND('',#9046,.F.);
-+#9048=ADVANCED_FACE('',(#9047),#9040,.F.);
-+#9049=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1));
-+#9050=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9051=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9052=AXIS2_PLACEMENT_3D('',#9049,#9050,#9051);
-+#9053=PLANE('',#9052);
-+#9054=ORIENTED_EDGE('',*,*,#9029,.T.);
-+#9055=ORIENTED_EDGE('',*,*,#9043,.T.);
-+#9056=EDGE_LOOP('',(#9054,#9055));
-+#9057=FACE_OUTER_BOUND('',#9056,.F.);
-+#9059=ORIENTED_EDGE('',*,*,#9058,.F.);
-+#9061=ORIENTED_EDGE('',*,*,#9060,.F.);
-+#9062=EDGE_LOOP('',(#9059,#9061));
-+#9063=FACE_BOUND('',#9062,.F.);
-+#9064=ADVANCED_FACE('',(#9057,#9063),#9053,.F.);
-+#9065=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
-+#9066=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9067=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9068=AXIS2_PLACEMENT_3D('',#9065,#9066,#9067);
-+#9069=CYLINDRICAL_SURFACE('',#9068,1.925E-1);
-+#9070=ORIENTED_EDGE('',*,*,#9058,.T.);
-+#9072=ORIENTED_EDGE('',*,*,#9071,.T.);
-+#9073=ORIENTED_EDGE('',*,*,#5708,.F.);
-+#9075=ORIENTED_EDGE('',*,*,#9074,.F.);
-+#9076=EDGE_LOOP('',(#9070,#9072,#9073,#9075));
-+#9077=FACE_OUTER_BOUND('',#9076,.F.);
-+#9078=ADVANCED_FACE('',(#9077),#9069,.F.);
-+#9079=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1));
-+#9080=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9081=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9082=AXIS2_PLACEMENT_3D('',#9079,#9080,#9081);
-+#9083=CYLINDRICAL_SURFACE('',#9082,1.925E-1);
-+#9084=ORIENTED_EDGE('',*,*,#9060,.T.);
-+#9085=ORIENTED_EDGE('',*,*,#9074,.T.);
-+#9086=ORIENTED_EDGE('',*,*,#5710,.F.);
-+#9087=ORIENTED_EDGE('',*,*,#9071,.F.);
-+#9088=EDGE_LOOP('',(#9084,#9085,#9086,#9087));
-+#9089=FACE_OUTER_BOUND('',#9088,.F.);
-+#9090=ADVANCED_FACE('',(#9089),#9083,.F.);
-+#9091=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
-+#9092=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9093=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9094=AXIS2_PLACEMENT_3D('',#9091,#9092,#9093);
-+#9095=CYLINDRICAL_SURFACE('',#9094,2.575E-1);
-+#9096=ORIENTED_EDGE('',*,*,#6476,.T.);
-+#9098=ORIENTED_EDGE('',*,*,#9097,.T.);
-+#9100=ORIENTED_EDGE('',*,*,#9099,.F.);
-+#9102=ORIENTED_EDGE('',*,*,#9101,.F.);
-+#9103=EDGE_LOOP('',(#9096,#9098,#9100,#9102));
-+#9104=FACE_OUTER_BOUND('',#9103,.F.);
-+#9105=ADVANCED_FACE('',(#9104),#9095,.F.);
-+#9106=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
-+#9107=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9108=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9109=AXIS2_PLACEMENT_3D('',#9106,#9107,#9108);
-+#9110=CYLINDRICAL_SURFACE('',#9109,2.575E-1);
-+#9111=ORIENTED_EDGE('',*,*,#6478,.T.);
-+#9112=ORIENTED_EDGE('',*,*,#9101,.T.);
-+#9114=ORIENTED_EDGE('',*,*,#9113,.F.);
-+#9115=ORIENTED_EDGE('',*,*,#9097,.F.);
-+#9116=EDGE_LOOP('',(#9111,#9112,#9114,#9115));
-+#9117=FACE_OUTER_BOUND('',#9116,.F.);
-+#9118=ADVANCED_FACE('',(#9117),#9110,.F.);
-+#9119=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1));
-+#9120=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9121=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9122=AXIS2_PLACEMENT_3D('',#9119,#9120,#9121);
-+#9123=PLANE('',#9122);
-+#9124=ORIENTED_EDGE('',*,*,#9099,.T.);
-+#9125=ORIENTED_EDGE('',*,*,#9113,.T.);
-+#9126=EDGE_LOOP('',(#9124,#9125));
-+#9127=FACE_OUTER_BOUND('',#9126,.F.);
-+#9129=ORIENTED_EDGE('',*,*,#9128,.F.);
-+#9131=ORIENTED_EDGE('',*,*,#9130,.F.);
-+#9132=EDGE_LOOP('',(#9129,#9131));
-+#9133=FACE_BOUND('',#9132,.F.);
-+#9134=ADVANCED_FACE('',(#9127,#9133),#9123,.F.);
-+#9135=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
-+#9136=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9137=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9138=AXIS2_PLACEMENT_3D('',#9135,#9136,#9137);
-+#9139=CYLINDRICAL_SURFACE('',#9138,1.925E-1);
-+#9140=ORIENTED_EDGE('',*,*,#9128,.T.);
-+#9142=ORIENTED_EDGE('',*,*,#9141,.T.);
-+#9143=ORIENTED_EDGE('',*,*,#5714,.F.);
-+#9145=ORIENTED_EDGE('',*,*,#9144,.F.);
-+#9146=EDGE_LOOP('',(#9140,#9142,#9143,#9145));
-+#9147=FACE_OUTER_BOUND('',#9146,.F.);
-+#9148=ADVANCED_FACE('',(#9147),#9139,.F.);
-+#9149=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1));
-+#9150=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9151=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9152=AXIS2_PLACEMENT_3D('',#9149,#9150,#9151);
-+#9153=CYLINDRICAL_SURFACE('',#9152,1.925E-1);
-+#9154=ORIENTED_EDGE('',*,*,#9130,.T.);
-+#9155=ORIENTED_EDGE('',*,*,#9144,.T.);
-+#9156=ORIENTED_EDGE('',*,*,#5716,.F.);
-+#9157=ORIENTED_EDGE('',*,*,#9141,.F.);
-+#9158=EDGE_LOOP('',(#9154,#9155,#9156,#9157));
-+#9159=FACE_OUTER_BOUND('',#9158,.F.);
-+#9160=ADVANCED_FACE('',(#9159),#9153,.F.);
-+#9161=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
-+#9162=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9163=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9164=AXIS2_PLACEMENT_3D('',#9161,#9162,#9163);
-+#9165=CYLINDRICAL_SURFACE('',#9164,2.575E-1);
-+#9166=ORIENTED_EDGE('',*,*,#6482,.T.);
-+#9168=ORIENTED_EDGE('',*,*,#9167,.T.);
-+#9170=ORIENTED_EDGE('',*,*,#9169,.F.);
-+#9172=ORIENTED_EDGE('',*,*,#9171,.F.);
-+#9173=EDGE_LOOP('',(#9166,#9168,#9170,#9172));
-+#9174=FACE_OUTER_BOUND('',#9173,.F.);
-+#9175=ADVANCED_FACE('',(#9174),#9165,.F.);
-+#9176=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
-+#9177=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9178=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9179=AXIS2_PLACEMENT_3D('',#9176,#9177,#9178);
-+#9180=CYLINDRICAL_SURFACE('',#9179,2.575E-1);
-+#9181=ORIENTED_EDGE('',*,*,#6484,.T.);
-+#9182=ORIENTED_EDGE('',*,*,#9171,.T.);
-+#9184=ORIENTED_EDGE('',*,*,#9183,.F.);
-+#9185=ORIENTED_EDGE('',*,*,#9167,.F.);
-+#9186=EDGE_LOOP('',(#9181,#9182,#9184,#9185));
-+#9187=FACE_OUTER_BOUND('',#9186,.F.);
-+#9188=ADVANCED_FACE('',(#9187),#9180,.F.);
-+#9189=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1));
-+#9190=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9191=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9192=AXIS2_PLACEMENT_3D('',#9189,#9190,#9191);
-+#9193=PLANE('',#9192);
-+#9194=ORIENTED_EDGE('',*,*,#9169,.T.);
-+#9195=ORIENTED_EDGE('',*,*,#9183,.T.);
-+#9196=EDGE_LOOP('',(#9194,#9195));
-+#9197=FACE_OUTER_BOUND('',#9196,.F.);
-+#9199=ORIENTED_EDGE('',*,*,#9198,.F.);
-+#9201=ORIENTED_EDGE('',*,*,#9200,.F.);
-+#9202=EDGE_LOOP('',(#9199,#9201));
-+#9203=FACE_BOUND('',#9202,.F.);
-+#9204=ADVANCED_FACE('',(#9197,#9203),#9193,.F.);
-+#9205=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
-+#9206=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9207=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9208=AXIS2_PLACEMENT_3D('',#9205,#9206,#9207);
-+#9209=CYLINDRICAL_SURFACE('',#9208,1.925E-1);
-+#9210=ORIENTED_EDGE('',*,*,#9198,.T.);
-+#9212=ORIENTED_EDGE('',*,*,#9211,.T.);
-+#9213=ORIENTED_EDGE('',*,*,#5720,.F.);
-+#9215=ORIENTED_EDGE('',*,*,#9214,.F.);
-+#9216=EDGE_LOOP('',(#9210,#9212,#9213,#9215));
-+#9217=FACE_OUTER_BOUND('',#9216,.F.);
-+#9218=ADVANCED_FACE('',(#9217),#9209,.F.);
-+#9219=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1));
-+#9220=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9221=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9222=AXIS2_PLACEMENT_3D('',#9219,#9220,#9221);
-+#9223=CYLINDRICAL_SURFACE('',#9222,1.925E-1);
-+#9224=ORIENTED_EDGE('',*,*,#9200,.T.);
-+#9225=ORIENTED_EDGE('',*,*,#9214,.T.);
-+#9226=ORIENTED_EDGE('',*,*,#5722,.F.);
-+#9227=ORIENTED_EDGE('',*,*,#9211,.F.);
-+#9228=EDGE_LOOP('',(#9224,#9225,#9226,#9227));
-+#9229=FACE_OUTER_BOUND('',#9228,.F.);
-+#9230=ADVANCED_FACE('',(#9229),#9223,.F.);
-+#9231=CARTESIAN_POINT('',(2.2E1,1.5E0,1.2E1));
-+#9232=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9233=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9234=AXIS2_PLACEMENT_3D('',#9231,#9232,#9233);
-+#9235=PLANE('',#9234);
-+#9236=ORIENTED_EDGE('',*,*,#6328,.T.);
-+#9237=ORIENTED_EDGE('',*,*,#6155,.T.);
-+#9239=ORIENTED_EDGE('',*,*,#9238,.T.);
-+#9240=EDGE_LOOP('',(#9236,#9237,#9239));
-+#9241=FACE_OUTER_BOUND('',#9240,.F.);
-+#9242=ADVANCED_FACE('',(#9241),#9235,.F.);
-+#9243=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1));
-+#9244=DIRECTION('',(0.E0,-5.E-1,-8.660254037844E-1));
-+#9245=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1));
-+#9246=AXIS2_PLACEMENT_3D('',#9243,#9244,#9245);
-+#9247=PLANE('',#9246);
-+#9248=ORIENTED_EDGE('',*,*,#6330,.T.);
-+#9249=ORIENTED_EDGE('',*,*,#9238,.F.);
-+#9250=ORIENTED_EDGE('',*,*,#6153,.F.);
-+#9251=ORIENTED_EDGE('',*,*,#6209,.T.);
-+#9252=EDGE_LOOP('',(#9248,#9249,#9250,#9251));
-+#9253=FACE_OUTER_BOUND('',#9252,.F.);
-+#9255=ORIENTED_EDGE('',*,*,#9254,.F.);
-+#9257=ORIENTED_EDGE('',*,*,#9256,.F.);
-+#9258=EDGE_LOOP('',(#9255,#9257));
-+#9259=FACE_BOUND('',#9258,.F.);
-+#9260=ADVANCED_FACE('',(#9253,#9259),#9247,.F.);
-+#9261=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1));
-+#9262=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9263=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9264=AXIS2_PLACEMENT_3D('',#9261,#9262,#9263);
-+#9265=CYLINDRICAL_SURFACE('',#9264,2.575E-1);
-+#9267=ORIENTED_EDGE('',*,*,#9266,.F.);
-+#9268=ORIENTED_EDGE('',*,*,#9254,.T.);
-+#9270=ORIENTED_EDGE('',*,*,#9269,.F.);
-+#9272=ORIENTED_EDGE('',*,*,#9271,.F.);
-+#9273=EDGE_LOOP('',(#9267,#9268,#9270,#9272));
-+#9274=FACE_OUTER_BOUND('',#9273,.F.);
-+#9275=ADVANCED_FACE('',(#9274),#9265,.F.);
-+#9276=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1));
-+#9277=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9278=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9279=AXIS2_PLACEMENT_3D('',#9276,#9277,#9278);
-+#9280=CYLINDRICAL_SURFACE('',#9279,2.575E-1);
-+#9281=ORIENTED_EDGE('',*,*,#9269,.T.);
-+#9282=ORIENTED_EDGE('',*,*,#9256,.T.);
-+#9283=ORIENTED_EDGE('',*,*,#9266,.T.);
-+#9285=ORIENTED_EDGE('',*,*,#9284,.F.);
-+#9286=EDGE_LOOP('',(#9281,#9282,#9283,#9285));
-+#9287=FACE_OUTER_BOUND('',#9286,.F.);
-+#9288=ADVANCED_FACE('',(#9287),#9280,.F.);
-+#9289=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1));
-+#9290=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9291=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9292=AXIS2_PLACEMENT_3D('',#9289,#9290,#9291);
-+#9293=PLANE('',#9292);
-+#9294=ORIENTED_EDGE('',*,*,#9271,.T.);
-+#9295=ORIENTED_EDGE('',*,*,#9284,.T.);
-+#9296=EDGE_LOOP('',(#9294,#9295));
-+#9297=FACE_OUTER_BOUND('',#9296,.F.);
-+#9299=ORIENTED_EDGE('',*,*,#9298,.F.);
-+#9301=ORIENTED_EDGE('',*,*,#9300,.F.);
-+#9302=EDGE_LOOP('',(#9299,#9301));
-+#9303=FACE_BOUND('',#9302,.F.);
-+#9304=ADVANCED_FACE('',(#9297,#9303),#9293,.F.);
-+#9305=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1));
-+#9306=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9307=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9308=AXIS2_PLACEMENT_3D('',#9305,#9306,#9307);
-+#9309=CYLINDRICAL_SURFACE('',#9308,1.925E-1);
-+#9310=ORIENTED_EDGE('',*,*,#9298,.T.);
-+#9312=ORIENTED_EDGE('',*,*,#9311,.T.);
-+#9313=ORIENTED_EDGE('',*,*,#5596,.F.);
-+#9315=ORIENTED_EDGE('',*,*,#9314,.F.);
-+#9316=EDGE_LOOP('',(#9310,#9312,#9313,#9315));
-+#9317=FACE_OUTER_BOUND('',#9316,.F.);
-+#9318=ADVANCED_FACE('',(#9317),#9309,.F.);
-+#9319=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1));
-+#9320=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9321=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9322=AXIS2_PLACEMENT_3D('',#9319,#9320,#9321);
-+#9323=CYLINDRICAL_SURFACE('',#9322,1.925E-1);
-+#9324=ORIENTED_EDGE('',*,*,#9300,.T.);
-+#9325=ORIENTED_EDGE('',*,*,#9314,.T.);
-+#9326=ORIENTED_EDGE('',*,*,#5598,.F.);
-+#9327=ORIENTED_EDGE('',*,*,#9311,.F.);
-+#9328=EDGE_LOOP('',(#9324,#9325,#9326,#9327));
-+#9329=FACE_OUTER_BOUND('',#9328,.F.);
-+#9330=ADVANCED_FACE('',(#9329),#9323,.F.);
-+#9331=CARTESIAN_POINT('',(2.185E1,6.65E0,1.006892397423E1));
-+#9332=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#9333=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#9334=AXIS2_PLACEMENT_3D('',#9331,#9332,#9333);
-+#9335=CYLINDRICAL_SURFACE('',#9334,3.5E-1);
-+#9337=ORIENTED_EDGE('',*,*,#9336,.T.);
-+#9339=ORIENTED_EDGE('',*,*,#9338,.T.);
-+#9341=ORIENTED_EDGE('',*,*,#9340,.F.);
-+#9342=ORIENTED_EDGE('',*,*,#6175,.T.);
-+#9343=EDGE_LOOP('',(#9337,#9339,#9341,#9342));
-+#9344=FACE_OUTER_BOUND('',#9343,.F.);
-+#9345=ADVANCED_FACE('',(#9344),#9335,.T.);
-+#9346=CARTESIAN_POINT('',(2.15E1,7.E0,1.E1));
-+#9347=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#9348=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9349=AXIS2_PLACEMENT_3D('',#9346,#9347,#9348);
-+#9350=PLANE('',#9349);
-+#9351=ORIENTED_EDGE('',*,*,#9336,.F.);
-+#9352=ORIENTED_EDGE('',*,*,#6197,.T.);
-+#9354=ORIENTED_EDGE('',*,*,#9353,.F.);
-+#9356=ORIENTED_EDGE('',*,*,#9355,.F.);
-+#9357=EDGE_LOOP('',(#9351,#9352,#9354,#9356));
-+#9358=FACE_OUTER_BOUND('',#9357,.F.);
-+#9359=ADVANCED_FACE('',(#9358),#9350,.T.);
-+#9360=CARTESIAN_POINT('',(2.115E1,2.35E0,9.441108058217E0));
-+#9361=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9362=DIRECTION('',(1.015061051086E-14,-1.E0,0.E0));
-+#9363=AXIS2_PLACEMENT_3D('',#9360,#9361,#9362);
-+#9364=CYLINDRICAL_SURFACE('',#9363,3.5E-1);
-+#9366=ORIENTED_EDGE('',*,*,#9365,.F.);
-+#9368=ORIENTED_EDGE('',*,*,#9367,.T.);
-+#9369=ORIENTED_EDGE('',*,*,#9353,.T.);
-+#9370=ORIENTED_EDGE('',*,*,#6195,.T.);
-+#9371=EDGE_LOOP('',(#9366,#9368,#9369,#9370));
-+#9372=FACE_OUTER_BOUND('',#9371,.F.);
-+#9373=ADVANCED_FACE('',(#9372),#9364,.F.);
-+#9374=CARTESIAN_POINT('',(2.15E1,2.E0,1.E1));
-+#9375=DIRECTION('',(0.E0,1.E0,0.E0));
-+#9376=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#9377=AXIS2_PLACEMENT_3D('',#9374,#9375,#9376);
-+#9378=PLANE('',#9377);
-+#9379=ORIENTED_EDGE('',*,*,#9365,.T.);
-+#9380=ORIENTED_EDGE('',*,*,#6193,.T.);
-+#9382=ORIENTED_EDGE('',*,*,#9381,.F.);
-+#9384=ORIENTED_EDGE('',*,*,#9383,.F.);
-+#9385=EDGE_LOOP('',(#9379,#9380,#9382,#9384));
-+#9386=FACE_OUTER_BOUND('',#9385,.F.);
-+#9387=ADVANCED_FACE('',(#9386),#9378,.T.);
-+#9388=CARTESIAN_POINT('',(1.985E1,2.35E0,9.441108058217E0));
-+#9389=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9390=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#9391=AXIS2_PLACEMENT_3D('',#9388,#9389,#9390);
-+#9392=CYLINDRICAL_SURFACE('',#9391,3.5E-1);
-+#9394=ORIENTED_EDGE('',*,*,#9393,.F.);
-+#9396=ORIENTED_EDGE('',*,*,#9395,.T.);
-+#9397=ORIENTED_EDGE('',*,*,#9381,.T.);
-+#9398=ORIENTED_EDGE('',*,*,#6191,.T.);
-+#9399=EDGE_LOOP('',(#9394,#9396,#9397,#9398));
-+#9400=FACE_OUTER_BOUND('',#9399,.F.);
-+#9401=ADVANCED_FACE('',(#9400),#9392,.F.);
-+#9402=CARTESIAN_POINT('',(1.95E1,2.E0,1.E1));
-+#9403=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9404=DIRECTION('',(0.E0,1.E0,0.E0));
-+#9405=AXIS2_PLACEMENT_3D('',#9402,#9403,#9404);
-+#9406=PLANE('',#9405);
-+#9407=ORIENTED_EDGE('',*,*,#9393,.T.);
-+#9408=ORIENTED_EDGE('',*,*,#6189,.T.);
-+#9410=ORIENTED_EDGE('',*,*,#9409,.F.);
-+#9412=ORIENTED_EDGE('',*,*,#9411,.F.);
-+#9413=EDGE_LOOP('',(#9407,#9408,#9410,#9412));
-+#9414=FACE_OUTER_BOUND('',#9413,.F.);
-+#9415=ADVANCED_FACE('',(#9414),#9406,.T.);
-+#9416=CARTESIAN_POINT('',(1.985E1,9.15E0,9.441108058217E0));
-+#9417=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9418=DIRECTION('',(-1.015061051086E-14,1.E0,0.E0));
-+#9419=AXIS2_PLACEMENT_3D('',#9416,#9417,#9418);
-+#9420=CYLINDRICAL_SURFACE('',#9419,3.5E-1);
-+#9422=ORIENTED_EDGE('',*,*,#9421,.F.);
-+#9424=ORIENTED_EDGE('',*,*,#9423,.T.);
-+#9425=ORIENTED_EDGE('',*,*,#9409,.T.);
-+#9426=ORIENTED_EDGE('',*,*,#6187,.T.);
-+#9427=EDGE_LOOP('',(#9422,#9424,#9425,#9426));
-+#9428=FACE_OUTER_BOUND('',#9427,.F.);
-+#9429=ADVANCED_FACE('',(#9428),#9420,.F.);
-+#9430=CARTESIAN_POINT('',(1.95E1,9.5E0,1.E1));
-+#9431=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9432=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9433=AXIS2_PLACEMENT_3D('',#9430,#9431,#9432);
-+#9434=PLANE('',#9433);
-+#9436=ORIENTED_EDGE('',*,*,#9435,.F.);
-+#9438=ORIENTED_EDGE('',*,*,#9437,.F.);
-+#9439=ORIENTED_EDGE('',*,*,#9421,.T.);
-+#9440=ORIENTED_EDGE('',*,*,#6185,.T.);
-+#9441=EDGE_LOOP('',(#9436,#9438,#9439,#9440));
-+#9442=FACE_OUTER_BOUND('',#9441,.F.);
-+#9443=ADVANCED_FACE('',(#9442),#9434,.T.);
-+#9444=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,9.441108058217E0));
-+#9445=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9446=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
-+#9447=AXIS2_PLACEMENT_3D('',#9444,#9445,#9446);
-+#9448=CYLINDRICAL_SURFACE('',#9447,3.5E-1);
-+#9450=ORIENTED_EDGE('',*,*,#9449,.F.);
-+#9452=ORIENTED_EDGE('',*,*,#9451,.T.);
-+#9453=ORIENTED_EDGE('',*,*,#9435,.T.);
-+#9454=ORIENTED_EDGE('',*,*,#6183,.T.);
-+#9455=EDGE_LOOP('',(#9450,#9452,#9453,#9454));
-+#9456=FACE_OUTER_BOUND('',#9455,.F.);
-+#9457=ADVANCED_FACE('',(#9456),#9448,.F.);
-+#9458=CARTESIAN_POINT('',(2.125314193270E1,9.5E0,1.E1));
-+#9459=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0));
-+#9460=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0));
-+#9461=AXIS2_PLACEMENT_3D('',#9458,#9459,#9460);
-+#9462=PLANE('',#9461);
-+#9464=ORIENTED_EDGE('',*,*,#9463,.F.);
-+#9466=ORIENTED_EDGE('',*,*,#9465,.F.);
-+#9467=ORIENTED_EDGE('',*,*,#9449,.T.);
-+#9468=ORIENTED_EDGE('',*,*,#6181,.T.);
-+#9469=EDGE_LOOP('',(#9464,#9466,#9467,#9468));
-+#9470=FACE_OUTER_BOUND('',#9469,.F.);
-+#9471=ADVANCED_FACE('',(#9470),#9462,.T.);
-+#9472=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,9.441108058217E0));
-+#9473=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9474=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9475=AXIS2_PLACEMENT_3D('',#9472,#9473,#9474);
-+#9476=CYLINDRICAL_SURFACE('',#9475,3.5E-1);
-+#9478=ORIENTED_EDGE('',*,*,#9477,.F.);
-+#9480=ORIENTED_EDGE('',*,*,#9479,.T.);
-+#9481=ORIENTED_EDGE('',*,*,#9463,.T.);
-+#9482=ORIENTED_EDGE('',*,*,#6179,.T.);
-+#9483=EDGE_LOOP('',(#9478,#9480,#9481,#9482));
-+#9484=FACE_OUTER_BOUND('',#9483,.F.);
-+#9485=ADVANCED_FACE('',(#9484),#9476,.F.);
-+#9486=CARTESIAN_POINT('',(2.264203082158E1,7.E0,1.E1));
-+#9487=DIRECTION('',(0.E0,1.E0,0.E0));
-+#9488=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#9489=AXIS2_PLACEMENT_3D('',#9486,#9487,#9488);
-+#9490=PLANE('',#9489);
-+#9491=ORIENTED_EDGE('',*,*,#9340,.T.);
-+#9493=ORIENTED_EDGE('',*,*,#9492,.F.);
-+#9494=ORIENTED_EDGE('',*,*,#9477,.T.);
-+#9495=ORIENTED_EDGE('',*,*,#6177,.T.);
-+#9496=EDGE_LOOP('',(#9491,#9493,#9494,#9495));
-+#9497=FACE_OUTER_BOUND('',#9496,.F.);
-+#9498=ADVANCED_FACE('',(#9497),#9490,.T.);
-+#9499=CARTESIAN_POINT('',(2.4E1,0.E0,9.5E0));
-+#9500=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#9501=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#9502=AXIS2_PLACEMENT_3D('',#9499,#9500,#9501);
-+#9503=PLANE('',#9502);
-+#9504=ORIENTED_EDGE('',*,*,#9492,.T.);
-+#9505=ORIENTED_EDGE('',*,*,#9338,.F.);
-+#9506=ORIENTED_EDGE('',*,*,#9355,.T.);
-+#9507=ORIENTED_EDGE('',*,*,#9367,.F.);
-+#9508=ORIENTED_EDGE('',*,*,#9383,.T.);
-+#9509=ORIENTED_EDGE('',*,*,#9395,.F.);
-+#9510=ORIENTED_EDGE('',*,*,#9411,.T.);
-+#9511=ORIENTED_EDGE('',*,*,#9423,.F.);
-+#9512=ORIENTED_EDGE('',*,*,#9437,.T.);
-+#9513=ORIENTED_EDGE('',*,*,#9451,.F.);
-+#9514=ORIENTED_EDGE('',*,*,#9465,.T.);
-+#9515=ORIENTED_EDGE('',*,*,#9479,.F.);
-+#9516=EDGE_LOOP('',(#9504,#9505,#9506,#9507,#9508,#9509,#9510,#9511,#9512,#9513,
-+#9514,#9515));
-+#9517=FACE_OUTER_BOUND('',#9516,.F.);
-+#9518=ADVANCED_FACE('',(#9517),#9503,.F.);
-+#9519=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0));
-+#9520=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#9521=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#9522=AXIS2_PLACEMENT_3D('',#9519,#9520,#9521);
-+#9523=CYLINDRICAL_SURFACE('',#9522,9.5E-2);
-+#9524=ORIENTED_EDGE('',*,*,#6007,.F.);
-+#9526=ORIENTED_EDGE('',*,*,#9525,.T.);
-+#9528=ORIENTED_EDGE('',*,*,#9527,.T.);
-+#9530=ORIENTED_EDGE('',*,*,#9529,.F.);
-+#9531=EDGE_LOOP('',(#9524,#9526,#9528,#9530));
-+#9532=FACE_OUTER_BOUND('',#9531,.F.);
-+#9533=ADVANCED_FACE('',(#9532),#9523,.F.);
-+#9534=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0));
-+#9535=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#9536=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#9537=AXIS2_PLACEMENT_3D('',#9534,#9535,#9536);
-+#9538=CYLINDRICAL_SURFACE('',#9537,9.5E-2);
-+#9539=ORIENTED_EDGE('',*,*,#6009,.F.);
-+#9540=ORIENTED_EDGE('',*,*,#9529,.T.);
-+#9542=ORIENTED_EDGE('',*,*,#9541,.T.);
-+#9543=ORIENTED_EDGE('',*,*,#9525,.F.);
-+#9544=EDGE_LOOP('',(#9539,#9540,#9542,#9543));
-+#9545=FACE_OUTER_BOUND('',#9544,.F.);
-+#9546=ADVANCED_FACE('',(#9545),#9538,.F.);
-+#9547=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0));
-+#9548=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#9549=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#9550=AXIS2_PLACEMENT_3D('',#9547,#9548,#9549);
-+#9551=PLANE('',#9550);
-+#9552=ORIENTED_EDGE('',*,*,#9527,.F.);
-+#9553=ORIENTED_EDGE('',*,*,#9541,.F.);
-+#9554=EDGE_LOOP('',(#9552,#9553));
-+#9555=FACE_OUTER_BOUND('',#9554,.F.);
-+#9556=ADVANCED_FACE('',(#9555),#9551,.T.);
-+#9557=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0));
-+#9558=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#9559=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#9560=AXIS2_PLACEMENT_3D('',#9557,#9558,#9559);
-+#9561=CYLINDRICAL_SURFACE('',#9560,9.5E-2);
-+#9562=ORIENTED_EDGE('',*,*,#6013,.F.);
-+#9564=ORIENTED_EDGE('',*,*,#9563,.T.);
-+#9566=ORIENTED_EDGE('',*,*,#9565,.T.);
-+#9568=ORIENTED_EDGE('',*,*,#9567,.F.);
-+#9569=EDGE_LOOP('',(#9562,#9564,#9566,#9568));
-+#9570=FACE_OUTER_BOUND('',#9569,.F.);
-+#9571=ADVANCED_FACE('',(#9570),#9561,.F.);
-+#9572=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0));
-+#9573=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#9574=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#9575=AXIS2_PLACEMENT_3D('',#9572,#9573,#9574);
-+#9576=CYLINDRICAL_SURFACE('',#9575,9.5E-2);
-+#9577=ORIENTED_EDGE('',*,*,#6015,.F.);
-+#9578=ORIENTED_EDGE('',*,*,#9567,.T.);
-+#9580=ORIENTED_EDGE('',*,*,#9579,.T.);
-+#9581=ORIENTED_EDGE('',*,*,#9563,.F.);
-+#9582=EDGE_LOOP('',(#9577,#9578,#9580,#9581));
-+#9583=FACE_OUTER_BOUND('',#9582,.F.);
-+#9584=ADVANCED_FACE('',(#9583),#9576,.F.);
-+#9585=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0));
-+#9586=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#9587=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#9588=AXIS2_PLACEMENT_3D('',#9585,#9586,#9587);
-+#9589=PLANE('',#9588);
-+#9590=ORIENTED_EDGE('',*,*,#9565,.F.);
-+#9591=ORIENTED_EDGE('',*,*,#9579,.F.);
-+#9592=EDGE_LOOP('',(#9590,#9591));
-+#9593=FACE_OUTER_BOUND('',#9592,.F.);
-+#9594=ADVANCED_FACE('',(#9593),#9589,.T.);
-+#9595=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0));
-+#9596=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9597=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9598=AXIS2_PLACEMENT_3D('',#9595,#9596,#9597);
-+#9599=CYLINDRICAL_SURFACE('',#9598,9.5E-2);
-+#9600=ORIENTED_EDGE('',*,*,#6019,.T.);
-+#9602=ORIENTED_EDGE('',*,*,#9601,.T.);
-+#9604=ORIENTED_EDGE('',*,*,#9603,.F.);
-+#9606=ORIENTED_EDGE('',*,*,#9605,.F.);
-+#9607=EDGE_LOOP('',(#9600,#9602,#9604,#9606));
-+#9608=FACE_OUTER_BOUND('',#9607,.F.);
-+#9609=ADVANCED_FACE('',(#9608),#9599,.F.);
-+#9610=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0));
-+#9611=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9612=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9613=AXIS2_PLACEMENT_3D('',#9610,#9611,#9612);
-+#9614=CYLINDRICAL_SURFACE('',#9613,9.5E-2);
-+#9615=ORIENTED_EDGE('',*,*,#6021,.T.);
-+#9616=ORIENTED_EDGE('',*,*,#9605,.T.);
-+#9618=ORIENTED_EDGE('',*,*,#9617,.F.);
-+#9619=ORIENTED_EDGE('',*,*,#9601,.F.);
-+#9620=EDGE_LOOP('',(#9615,#9616,#9618,#9619));
-+#9621=FACE_OUTER_BOUND('',#9620,.F.);
-+#9622=ADVANCED_FACE('',(#9621),#9614,.F.);
-+#9623=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0));
-+#9624=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9625=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9626=AXIS2_PLACEMENT_3D('',#9623,#9624,#9625);
-+#9627=PLANE('',#9626);
-+#9628=ORIENTED_EDGE('',*,*,#9603,.T.);
-+#9629=ORIENTED_EDGE('',*,*,#9617,.T.);
-+#9630=EDGE_LOOP('',(#9628,#9629));
-+#9631=FACE_OUTER_BOUND('',#9630,.F.);
-+#9632=ADVANCED_FACE('',(#9631),#9627,.F.);
-+#9633=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0));
-+#9634=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9635=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9636=AXIS2_PLACEMENT_3D('',#9633,#9634,#9635);
-+#9637=CYLINDRICAL_SURFACE('',#9636,9.5E-2);
-+#9638=ORIENTED_EDGE('',*,*,#6025,.T.);
-+#9640=ORIENTED_EDGE('',*,*,#9639,.T.);
-+#9642=ORIENTED_EDGE('',*,*,#9641,.F.);
-+#9644=ORIENTED_EDGE('',*,*,#9643,.F.);
-+#9645=EDGE_LOOP('',(#9638,#9640,#9642,#9644));
-+#9646=FACE_OUTER_BOUND('',#9645,.F.);
-+#9647=ADVANCED_FACE('',(#9646),#9637,.F.);
-+#9648=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0));
-+#9649=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9650=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9651=AXIS2_PLACEMENT_3D('',#9648,#9649,#9650);
-+#9652=CYLINDRICAL_SURFACE('',#9651,9.5E-2);
-+#9653=ORIENTED_EDGE('',*,*,#6027,.T.);
-+#9654=ORIENTED_EDGE('',*,*,#9643,.T.);
-+#9656=ORIENTED_EDGE('',*,*,#9655,.F.);
-+#9657=ORIENTED_EDGE('',*,*,#9639,.F.);
-+#9658=EDGE_LOOP('',(#9653,#9654,#9656,#9657));
-+#9659=FACE_OUTER_BOUND('',#9658,.F.);
-+#9660=ADVANCED_FACE('',(#9659),#9652,.F.);
-+#9661=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0));
-+#9662=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9663=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9664=AXIS2_PLACEMENT_3D('',#9661,#9662,#9663);
-+#9665=PLANE('',#9664);
-+#9666=ORIENTED_EDGE('',*,*,#9641,.T.);
-+#9667=ORIENTED_EDGE('',*,*,#9655,.T.);
-+#9668=EDGE_LOOP('',(#9666,#9667));
-+#9669=FACE_OUTER_BOUND('',#9668,.F.);
-+#9670=ADVANCED_FACE('',(#9669),#9665,.F.);
-+#9671=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0));
-+#9672=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9673=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9674=AXIS2_PLACEMENT_3D('',#9671,#9672,#9673);
-+#9675=CYLINDRICAL_SURFACE('',#9674,9.5E-2);
-+#9676=ORIENTED_EDGE('',*,*,#6037,.T.);
-+#9678=ORIENTED_EDGE('',*,*,#9677,.T.);
-+#9680=ORIENTED_EDGE('',*,*,#9679,.F.);
-+#9682=ORIENTED_EDGE('',*,*,#9681,.F.);
-+#9683=EDGE_LOOP('',(#9676,#9678,#9680,#9682));
-+#9684=FACE_OUTER_BOUND('',#9683,.F.);
-+#9685=ADVANCED_FACE('',(#9684),#9675,.F.);
-+#9686=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0));
-+#9687=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9688=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9689=AXIS2_PLACEMENT_3D('',#9686,#9687,#9688);
-+#9690=CYLINDRICAL_SURFACE('',#9689,9.5E-2);
-+#9691=ORIENTED_EDGE('',*,*,#6039,.T.);
-+#9692=ORIENTED_EDGE('',*,*,#9681,.T.);
-+#9694=ORIENTED_EDGE('',*,*,#9693,.F.);
-+#9695=ORIENTED_EDGE('',*,*,#9677,.F.);
-+#9696=EDGE_LOOP('',(#9691,#9692,#9694,#9695));
-+#9697=FACE_OUTER_BOUND('',#9696,.F.);
-+#9698=ADVANCED_FACE('',(#9697),#9690,.F.);
-+#9699=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0));
-+#9700=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9701=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9702=AXIS2_PLACEMENT_3D('',#9699,#9700,#9701);
-+#9703=PLANE('',#9702);
-+#9704=ORIENTED_EDGE('',*,*,#9679,.T.);
-+#9705=ORIENTED_EDGE('',*,*,#9693,.T.);
-+#9706=EDGE_LOOP('',(#9704,#9705));
-+#9707=FACE_OUTER_BOUND('',#9706,.F.);
-+#9708=ADVANCED_FACE('',(#9707),#9703,.F.);
-+#9709=CARTESIAN_POINT('',(4.5E0,2.E0,8.E0));
-+#9710=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9711=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#9712=AXIS2_PLACEMENT_3D('',#9709,#9710,#9711);
-+#9713=PLANE('',#9712);
-+#9715=ORIENTED_EDGE('',*,*,#9714,.T.);
-+#9717=ORIENTED_EDGE('',*,*,#9716,.T.);
-+#9719=ORIENTED_EDGE('',*,*,#9718,.F.);
-+#9720=ORIENTED_EDGE('',*,*,#6043,.F.);
-+#9721=EDGE_LOOP('',(#9715,#9717,#9719,#9720));
-+#9722=FACE_OUTER_BOUND('',#9721,.F.);
-+#9723=ADVANCED_FACE('',(#9722),#9713,.F.);
-+#9724=CARTESIAN_POINT('',(3.75E0,2.75E0,7.931076025772E0));
-+#9725=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9726=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9727=AXIS2_PLACEMENT_3D('',#9724,#9725,#9726);
-+#9728=CYLINDRICAL_SURFACE('',#9727,7.5E-1);
-+#9729=ORIENTED_EDGE('',*,*,#9714,.F.);
-+#9730=ORIENTED_EDGE('',*,*,#6057,.T.);
-+#9732=ORIENTED_EDGE('',*,*,#9731,.T.);
-+#9734=ORIENTED_EDGE('',*,*,#9733,.T.);
-+#9735=EDGE_LOOP('',(#9729,#9730,#9732,#9734));
-+#9736=FACE_OUTER_BOUND('',#9735,.F.);
-+#9737=ADVANCED_FACE('',(#9736),#9728,.F.);
-+#9738=CARTESIAN_POINT('',(4.5E0,9.5E0,8.E0));
-+#9739=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9740=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9741=AXIS2_PLACEMENT_3D('',#9738,#9739,#9740);
-+#9742=PLANE('',#9741);
-+#9743=ORIENTED_EDGE('',*,*,#9731,.F.);
-+#9744=ORIENTED_EDGE('',*,*,#6055,.F.);
-+#9746=ORIENTED_EDGE('',*,*,#9745,.T.);
-+#9748=ORIENTED_EDGE('',*,*,#9747,.T.);
-+#9749=EDGE_LOOP('',(#9743,#9744,#9746,#9748));
-+#9750=FACE_OUTER_BOUND('',#9749,.F.);
-+#9751=ADVANCED_FACE('',(#9750),#9742,.F.);
-+#9752=CARTESIAN_POINT('',(3.75E0,8.75E0,7.931076025772E0));
-+#9753=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9754=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9755=AXIS2_PLACEMENT_3D('',#9752,#9753,#9754);
-+#9756=CYLINDRICAL_SURFACE('',#9755,7.5E-1);
-+#9757=ORIENTED_EDGE('',*,*,#9745,.F.);
-+#9758=ORIENTED_EDGE('',*,*,#6053,.T.);
-+#9760=ORIENTED_EDGE('',*,*,#9759,.T.);
-+#9762=ORIENTED_EDGE('',*,*,#9761,.T.);
-+#9763=EDGE_LOOP('',(#9757,#9758,#9760,#9762));
-+#9764=FACE_OUTER_BOUND('',#9763,.F.);
-+#9765=ADVANCED_FACE('',(#9764),#9756,.F.);
-+#9766=CARTESIAN_POINT('',(2.746858067304E0,9.5E0,8.E0));
-+#9767=DIRECTION('',(0.E0,1.E0,0.E0));
-+#9768=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9769=AXIS2_PLACEMENT_3D('',#9766,#9767,#9768);
-+#9770=PLANE('',#9769);
-+#9772=ORIENTED_EDGE('',*,*,#9771,.T.);
-+#9774=ORIENTED_EDGE('',*,*,#9773,.T.);
-+#9775=ORIENTED_EDGE('',*,*,#9759,.F.);
-+#9776=ORIENTED_EDGE('',*,*,#6051,.F.);
-+#9777=EDGE_LOOP('',(#9772,#9774,#9775,#9776));
-+#9778=FACE_OUTER_BOUND('',#9777,.F.);
-+#9779=ADVANCED_FACE('',(#9778),#9770,.F.);
-+#9780=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,7.931076025772E0));
-+#9781=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9782=DIRECTION('',(0.E0,1.E0,0.E0));
-+#9783=AXIS2_PLACEMENT_3D('',#9780,#9781,#9782);
-+#9784=CYLINDRICAL_SURFACE('',#9783,7.5E-1);
-+#9785=ORIENTED_EDGE('',*,*,#9771,.F.);
-+#9786=ORIENTED_EDGE('',*,*,#6049,.T.);
-+#9788=ORIENTED_EDGE('',*,*,#9787,.T.);
-+#9790=ORIENTED_EDGE('',*,*,#9789,.T.);
-+#9791=EDGE_LOOP('',(#9785,#9786,#9788,#9790));
-+#9792=FACE_OUTER_BOUND('',#9791,.F.);
-+#9793=ADVANCED_FACE('',(#9792),#9784,.F.);
-+#9794=CARTESIAN_POINT('',(-1.419808599362E0,2.E0,8.E0));
-+#9795=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
-+#9796=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0));
-+#9797=AXIS2_PLACEMENT_3D('',#9794,#9795,#9796);
-+#9798=PLANE('',#9797);
-+#9800=ORIENTED_EDGE('',*,*,#9799,.T.);
-+#9802=ORIENTED_EDGE('',*,*,#9801,.T.);
-+#9803=ORIENTED_EDGE('',*,*,#9787,.F.);
-+#9804=ORIENTED_EDGE('',*,*,#6047,.F.);
-+#9805=EDGE_LOOP('',(#9800,#9802,#9803,#9804));
-+#9806=FACE_OUTER_BOUND('',#9805,.F.);
-+#9807=ADVANCED_FACE('',(#9806),#9798,.F.);
-+#9808=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,7.931076025772E0));
-+#9809=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9810=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0));
-+#9811=AXIS2_PLACEMENT_3D('',#9808,#9809,#9810);
-+#9812=CYLINDRICAL_SURFACE('',#9811,7.5E-1);
-+#9813=ORIENTED_EDGE('',*,*,#9799,.F.);
-+#9814=ORIENTED_EDGE('',*,*,#6045,.T.);
-+#9815=ORIENTED_EDGE('',*,*,#9718,.T.);
-+#9817=ORIENTED_EDGE('',*,*,#9816,.T.);
-+#9818=EDGE_LOOP('',(#9813,#9814,#9815,#9817));
-+#9819=FACE_OUTER_BOUND('',#9818,.F.);
-+#9820=ADVANCED_FACE('',(#9819),#9812,.F.);
-+#9821=CARTESIAN_POINT('',(0.E0,0.E0,8.5E0));
-+#9822=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#9823=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9824=AXIS2_PLACEMENT_3D('',#9821,#9822,#9823);
-+#9825=PLANE('',#9824);
-+#9826=ORIENTED_EDGE('',*,*,#9733,.F.);
-+#9827=ORIENTED_EDGE('',*,*,#9747,.F.);
-+#9828=ORIENTED_EDGE('',*,*,#9761,.F.);
-+#9829=ORIENTED_EDGE('',*,*,#9773,.F.);
-+#9830=ORIENTED_EDGE('',*,*,#9789,.F.);
-+#9831=ORIENTED_EDGE('',*,*,#9801,.F.);
-+#9832=ORIENTED_EDGE('',*,*,#9816,.F.);
-+#9833=ORIENTED_EDGE('',*,*,#9716,.F.);
-+#9834=EDGE_LOOP('',(#9826,#9827,#9828,#9829,#9830,#9831,#9832,#9833));
-+#9835=FACE_OUTER_BOUND('',#9834,.F.);
-+#9836=ADVANCED_FACE('',(#9835),#9825,.T.);
-+#9837=CARTESIAN_POINT('',(2.541980859936E1,2.E0,8.E0));
-+#9838=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0));
-+#9839=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0));
-+#9840=AXIS2_PLACEMENT_3D('',#9837,#9838,#9839);
-+#9841=PLANE('',#9840);
-+#9843=ORIENTED_EDGE('',*,*,#9842,.T.);
-+#9844=ORIENTED_EDGE('',*,*,#6061,.T.);
-+#9846=ORIENTED_EDGE('',*,*,#9845,.F.);
-+#9848=ORIENTED_EDGE('',*,*,#9847,.F.);
-+#9849=EDGE_LOOP('',(#9843,#9844,#9846,#9848));
-+#9850=FACE_OUTER_BOUND('',#9849,.F.);
-+#9851=ADVANCED_FACE('',(#9850),#9841,.T.);
-+#9852=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.558891941783E0));
-+#9853=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#9854=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0));
-+#9855=AXIS2_PLACEMENT_3D('',#9852,#9853,#9854);
-+#9856=CYLINDRICAL_SURFACE('',#9855,7.5E-1);
-+#9857=ORIENTED_EDGE('',*,*,#9842,.F.);
-+#9859=ORIENTED_EDGE('',*,*,#9858,.T.);
-+#9861=ORIENTED_EDGE('',*,*,#9860,.T.);
-+#9862=ORIENTED_EDGE('',*,*,#6063,.T.);
-+#9863=EDGE_LOOP('',(#9857,#9859,#9861,#9862));
-+#9864=FACE_OUTER_BOUND('',#9863,.F.);
-+#9865=ADVANCED_FACE('',(#9864),#9856,.F.);
-+#9866=CARTESIAN_POINT('',(2.4E1,0.E0,8.5E0));
-+#9867=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9868=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9869=AXIS2_PLACEMENT_3D('',#9866,#9867,#9868);
-+#9870=PLANE('',#9869);
-+#9872=ORIENTED_EDGE('',*,*,#9871,.F.);
-+#9874=ORIENTED_EDGE('',*,*,#9873,.T.);
-+#9875=ORIENTED_EDGE('',*,*,#9858,.F.);
-+#9876=ORIENTED_EDGE('',*,*,#9847,.T.);
-+#9878=ORIENTED_EDGE('',*,*,#9877,.F.);
-+#9880=ORIENTED_EDGE('',*,*,#9879,.T.);
-+#9882=ORIENTED_EDGE('',*,*,#9881,.F.);
-+#9884=ORIENTED_EDGE('',*,*,#9883,.T.);
-+#9885=EDGE_LOOP('',(#9872,#9874,#9875,#9876,#9878,#9880,#9882,#9884));
-+#9886=FACE_OUTER_BOUND('',#9885,.F.);
-+#9887=ADVANCED_FACE('',(#9886),#9870,.F.);
-+#9888=CARTESIAN_POINT('',(2.025E1,2.75E0,8.558891941783E0));
-+#9889=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#9890=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9891=AXIS2_PLACEMENT_3D('',#9888,#9889,#9890);
-+#9892=CYLINDRICAL_SURFACE('',#9891,7.5E-1);
-+#9894=ORIENTED_EDGE('',*,*,#9893,.F.);
-+#9895=ORIENTED_EDGE('',*,*,#9871,.T.);
-+#9897=ORIENTED_EDGE('',*,*,#9896,.T.);
-+#9898=ORIENTED_EDGE('',*,*,#6067,.T.);
-+#9899=EDGE_LOOP('',(#9894,#9895,#9897,#9898));
-+#9900=FACE_OUTER_BOUND('',#9899,.F.);
-+#9901=ADVANCED_FACE('',(#9900),#9892,.F.);
-+#9902=CARTESIAN_POINT('',(1.95E1,2.E0,8.E0));
-+#9903=DIRECTION('',(0.E0,1.E0,0.E0));
-+#9904=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9905=AXIS2_PLACEMENT_3D('',#9902,#9903,#9904);
-+#9906=PLANE('',#9905);
-+#9907=ORIENTED_EDGE('',*,*,#9893,.T.);
-+#9908=ORIENTED_EDGE('',*,*,#6065,.T.);
-+#9909=ORIENTED_EDGE('',*,*,#9860,.F.);
-+#9910=ORIENTED_EDGE('',*,*,#9873,.F.);
-+#9911=EDGE_LOOP('',(#9907,#9908,#9909,#9910));
-+#9912=FACE_OUTER_BOUND('',#9911,.F.);
-+#9913=ADVANCED_FACE('',(#9912),#9906,.T.);
-+#9914=CARTESIAN_POINT('',(1.95E1,9.5E0,8.E0));
-+#9915=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9916=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9917=AXIS2_PLACEMENT_3D('',#9914,#9915,#9916);
-+#9918=PLANE('',#9917);
-+#9919=ORIENTED_EDGE('',*,*,#9896,.F.);
-+#9920=ORIENTED_EDGE('',*,*,#9883,.F.);
-+#9922=ORIENTED_EDGE('',*,*,#9921,.T.);
-+#9923=ORIENTED_EDGE('',*,*,#6069,.T.);
-+#9924=EDGE_LOOP('',(#9919,#9920,#9922,#9923));
-+#9925=FACE_OUTER_BOUND('',#9924,.F.);
-+#9926=ADVANCED_FACE('',(#9925),#9918,.T.);
-+#9927=CARTESIAN_POINT('',(2.025E1,8.75E0,8.558891941783E0));
-+#9928=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#9929=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#9930=AXIS2_PLACEMENT_3D('',#9927,#9928,#9929);
-+#9931=CYLINDRICAL_SURFACE('',#9930,7.5E-1);
-+#9932=ORIENTED_EDGE('',*,*,#9921,.F.);
-+#9933=ORIENTED_EDGE('',*,*,#9881,.T.);
-+#9935=ORIENTED_EDGE('',*,*,#9934,.T.);
-+#9936=ORIENTED_EDGE('',*,*,#6071,.T.);
-+#9937=EDGE_LOOP('',(#9932,#9933,#9935,#9936));
-+#9938=FACE_OUTER_BOUND('',#9937,.F.);
-+#9939=ADVANCED_FACE('',(#9938),#9931,.F.);
-+#9940=CARTESIAN_POINT('',(2.125314193270E1,9.5E0,8.E0));
-+#9941=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9942=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#9943=AXIS2_PLACEMENT_3D('',#9940,#9941,#9942);
-+#9944=PLANE('',#9943);
-+#9946=ORIENTED_EDGE('',*,*,#9945,.T.);
-+#9947=ORIENTED_EDGE('',*,*,#6073,.T.);
-+#9948=ORIENTED_EDGE('',*,*,#9934,.F.);
-+#9949=ORIENTED_EDGE('',*,*,#9879,.F.);
-+#9950=EDGE_LOOP('',(#9946,#9947,#9948,#9949));
-+#9951=FACE_OUTER_BOUND('',#9950,.F.);
-+#9952=ADVANCED_FACE('',(#9951),#9944,.T.);
-+#9953=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.558891941783E0));
-+#9954=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#9955=DIRECTION('',(0.E0,1.E0,0.E0));
-+#9956=AXIS2_PLACEMENT_3D('',#9953,#9954,#9955);
-+#9957=CYLINDRICAL_SURFACE('',#9956,7.5E-1);
-+#9958=ORIENTED_EDGE('',*,*,#9945,.F.);
-+#9959=ORIENTED_EDGE('',*,*,#9877,.T.);
-+#9960=ORIENTED_EDGE('',*,*,#9845,.T.);
-+#9961=ORIENTED_EDGE('',*,*,#6075,.T.);
-+#9962=EDGE_LOOP('',(#9958,#9959,#9960,#9961));
-+#9963=FACE_OUTER_BOUND('',#9962,.F.);
-+#9964=ADVANCED_FACE('',(#9963),#9957,.F.);
-+#9965=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1));
-+#9966=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#9967=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9968=AXIS2_PLACEMENT_3D('',#9965,#9966,#9967);
-+#9969=PLANE('',#9968);
-+#9970=ORIENTED_EDGE('',*,*,#5726,.F.);
-+#9972=ORIENTED_EDGE('',*,*,#9971,.T.);
-+#9974=ORIENTED_EDGE('',*,*,#9973,.T.);
-+#9976=ORIENTED_EDGE('',*,*,#9975,.F.);
-+#9977=EDGE_LOOP('',(#9970,#9972,#9974,#9976));
-+#9978=FACE_OUTER_BOUND('',#9977,.F.);
-+#9979=ADVANCED_FACE('',(#9978),#9969,.F.);
-+#9980=CARTESIAN_POINT('',(7.5E0,0.E0,1.25E0));
-+#9981=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#9982=DIRECTION('',(1.E0,0.E0,0.E0));
-+#9983=AXIS2_PLACEMENT_3D('',#9980,#9981,#9982);
-+#9984=CYLINDRICAL_SURFACE('',#9983,5.625E-1);
-+#9985=ORIENTED_EDGE('',*,*,#5732,.F.);
-+#9987=ORIENTED_EDGE('',*,*,#9986,.T.);
-+#9989=ORIENTED_EDGE('',*,*,#9988,.T.);
-+#9990=ORIENTED_EDGE('',*,*,#9971,.F.);
-+#9991=EDGE_LOOP('',(#9985,#9987,#9989,#9990));
-+#9992=FACE_OUTER_BOUND('',#9991,.F.);
-+#9993=ADVANCED_FACE('',(#9992),#9984,.F.);
-+#9994=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0));
-+#9995=DIRECTION('',(0.E0,0.E0,1.E0));
-+#9996=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#9997=AXIS2_PLACEMENT_3D('',#9994,#9995,#9996);
-+#9998=PLANE('',#9997);
-+#9999=ORIENTED_EDGE('',*,*,#5730,.F.);
-+#10001=ORIENTED_EDGE('',*,*,#10000,.T.);
-+#10003=ORIENTED_EDGE('',*,*,#10002,.T.);
-+#10004=ORIENTED_EDGE('',*,*,#9986,.F.);
-+#10005=EDGE_LOOP('',(#9999,#10001,#10003,#10004));
-+#10006=FACE_OUTER_BOUND('',#10005,.F.);
-+#10007=ADVANCED_FACE('',(#10006),#9998,.F.);
-+#10008=CARTESIAN_POINT('',(1.05E1,0.E0,1.25E0));
-+#10009=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10010=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10011=AXIS2_PLACEMENT_3D('',#10008,#10009,#10010);
-+#10012=CYLINDRICAL_SURFACE('',#10011,5.625E-1);
-+#10013=ORIENTED_EDGE('',*,*,#5728,.F.);
-+#10014=ORIENTED_EDGE('',*,*,#9975,.T.);
-+#10016=ORIENTED_EDGE('',*,*,#10015,.T.);
-+#10017=ORIENTED_EDGE('',*,*,#10000,.F.);
-+#10018=EDGE_LOOP('',(#10013,#10014,#10016,#10017));
-+#10019=FACE_OUTER_BOUND('',#10018,.F.);
-+#10020=ADVANCED_FACE('',(#10019),#10012,.F.);
-+#10021=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
-+#10022=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10023=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10024=AXIS2_PLACEMENT_3D('',#10021,#10022,#10023);
-+#10025=PLANE('',#10024);
-+#10026=ORIENTED_EDGE('',*,*,#9973,.F.);
-+#10027=ORIENTED_EDGE('',*,*,#9988,.F.);
-+#10028=ORIENTED_EDGE('',*,*,#10002,.F.);
-+#10029=ORIENTED_EDGE('',*,*,#10015,.F.);
-+#10030=EDGE_LOOP('',(#10026,#10027,#10028,#10029));
-+#10031=FACE_OUTER_BOUND('',#10030,.F.);
-+#10032=ADVANCED_FACE('',(#10031),#10025,.T.);
-+#10033=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
-+#10034=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10035=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10036=AXIS2_PLACEMENT_3D('',#10033,#10034,#10035);
-+#10037=PLANE('',#10036);
-+#10039=ORIENTED_EDGE('',*,*,#10038,.F.);
-+#10041=ORIENTED_EDGE('',*,*,#10040,.F.);
-+#10043=ORIENTED_EDGE('',*,*,#10042,.F.);
-+#10045=ORIENTED_EDGE('',*,*,#10044,.F.);
-+#10047=ORIENTED_EDGE('',*,*,#10046,.F.);
-+#10048=EDGE_LOOP('',(#10039,#10041,#10043,#10045,#10047));
-+#10049=FACE_OUTER_BOUND('',#10048,.F.);
-+#10050=ADVANCED_FACE('',(#10049),#10037,.T.);
-+#10051=CARTESIAN_POINT('',(1.455736763592E0,-6.892397422826E-2,
-+4.577195232320E0));
-+#10052=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10053=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#10054=AXIS2_PLACEMENT_3D('',#10051,#10052,#10053);
-+#10055=CYLINDRICAL_SURFACE('',#10054,7.5E-1);
-+#10057=ORIENTED_EDGE('',*,*,#10056,.F.);
-+#10058=ORIENTED_EDGE('',*,*,#5738,.T.);
-+#10060=ORIENTED_EDGE('',*,*,#10059,.T.);
-+#10061=ORIENTED_EDGE('',*,*,#10038,.T.);
-+#10062=EDGE_LOOP('',(#10057,#10058,#10060,#10061));
-+#10063=FACE_OUTER_BOUND('',#10062,.F.);
-+#10064=ADVANCED_FACE('',(#10063),#10055,.F.);
-+#10065=CARTESIAN_POINT('',(6.875E-1,0.E0,4.284771824132E0));
-+#10066=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#10067=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#10068=AXIS2_PLACEMENT_3D('',#10065,#10066,#10067);
-+#10069=PLANE('',#10068);
-+#10070=ORIENTED_EDGE('',*,*,#10056,.T.);
-+#10071=ORIENTED_EDGE('',*,*,#10046,.T.);
-+#10073=ORIENTED_EDGE('',*,*,#10072,.F.);
-+#10074=ORIENTED_EDGE('',*,*,#5740,.F.);
-+#10075=EDGE_LOOP('',(#10070,#10071,#10073,#10074));
-+#10076=FACE_OUTER_BOUND('',#10075,.F.);
-+#10077=ADVANCED_FACE('',(#10076),#10069,.F.);
-+#10078=CARTESIAN_POINT('',(4.553039342392E0,0.E0,1.645354088550E0));
-+#10079=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10080=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10081=AXIS2_PLACEMENT_3D('',#10078,#10079,#10080);
-+#10082=CYLINDRICAL_SURFACE('',#10081,8.669989027347E-1);
-+#10083=ORIENTED_EDGE('',*,*,#5742,.F.);
-+#10084=ORIENTED_EDGE('',*,*,#10072,.T.);
-+#10085=ORIENTED_EDGE('',*,*,#10044,.T.);
-+#10087=ORIENTED_EDGE('',*,*,#10086,.F.);
-+#10088=EDGE_LOOP('',(#10083,#10084,#10085,#10087));
-+#10089=FACE_OUTER_BOUND('',#10088,.F.);
-+#10090=ADVANCED_FACE('',(#10089),#10082,.F.);
-+#10091=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0));
-+#10092=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10093=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10094=AXIS2_PLACEMENT_3D('',#10091,#10092,#10093);
-+#10095=CYLINDRICAL_SURFACE('',#10094,5.6875E0);
-+#10096=ORIENTED_EDGE('',*,*,#5744,.T.);
-+#10097=ORIENTED_EDGE('',*,*,#10086,.T.);
-+#10098=ORIENTED_EDGE('',*,*,#10042,.T.);
-+#10100=ORIENTED_EDGE('',*,*,#10099,.F.);
-+#10101=EDGE_LOOP('',(#10096,#10097,#10098,#10100));
-+#10102=FACE_OUTER_BOUND('',#10101,.F.);
-+#10103=ADVANCED_FACE('',(#10102),#10095,.T.);
-+#10104=CARTESIAN_POINT('',(1.61E0,0.E0,4.5E0));
-+#10105=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10106=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10107=AXIS2_PLACEMENT_3D('',#10104,#10105,#10106);
-+#10108=CYLINDRICAL_SURFACE('',#10107,9.225E-1);
-+#10109=ORIENTED_EDGE('',*,*,#10059,.F.);
-+#10110=ORIENTED_EDGE('',*,*,#5736,.F.);
-+#10111=ORIENTED_EDGE('',*,*,#10099,.T.);
-+#10112=ORIENTED_EDGE('',*,*,#10040,.T.);
-+#10113=EDGE_LOOP('',(#10109,#10110,#10111,#10112));
-+#10114=FACE_OUTER_BOUND('',#10113,.F.);
-+#10115=ADVANCED_FACE('',(#10114),#10108,.F.);
-+#10116=CARTESIAN_POINT('',(-1.85E-1,7.463919417831E-1,7.815E0));
-+#10117=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10118=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10119=AXIS2_PLACEMENT_3D('',#10116,#10117,#10118);
-+#10120=CYLINDRICAL_SURFACE('',#10119,8.75E-1);
-+#10122=ORIENTED_EDGE('',*,*,#10121,.T.);
-+#10123=ORIENTED_EDGE('',*,*,#5748,.T.);
-+#10125=ORIENTED_EDGE('',*,*,#10124,.F.);
-+#10127=ORIENTED_EDGE('',*,*,#10126,.T.);
-+#10128=EDGE_LOOP('',(#10122,#10123,#10125,#10127));
-+#10129=FACE_OUTER_BOUND('',#10128,.F.);
-+#10130=ADVANCED_FACE('',(#10129),#10120,.T.);
-+#10131=CARTESIAN_POINT('',(6.9E-1,0.E0,8.69E0));
-+#10132=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10133=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#10134=AXIS2_PLACEMENT_3D('',#10131,#10132,#10133);
-+#10135=PLANE('',#10134);
-+#10136=ORIENTED_EDGE('',*,*,#10121,.F.);
-+#10138=ORIENTED_EDGE('',*,*,#10137,.T.);
-+#10140=ORIENTED_EDGE('',*,*,#10139,.F.);
-+#10141=ORIENTED_EDGE('',*,*,#5750,.F.);
-+#10142=EDGE_LOOP('',(#10136,#10138,#10140,#10141));
-+#10143=FACE_OUTER_BOUND('',#10142,.F.);
-+#10144=ADVANCED_FACE('',(#10143),#10135,.F.);
-+#10145=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
-+#10146=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10147=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10148=AXIS2_PLACEMENT_3D('',#10145,#10146,#10147);
-+#10149=PLANE('',#10148);
-+#10151=ORIENTED_EDGE('',*,*,#10150,.F.);
-+#10153=ORIENTED_EDGE('',*,*,#10152,.F.);
-+#10155=ORIENTED_EDGE('',*,*,#10154,.F.);
-+#10157=ORIENTED_EDGE('',*,*,#10156,.F.);
-+#10158=ORIENTED_EDGE('',*,*,#10137,.F.);
-+#10159=ORIENTED_EDGE('',*,*,#10126,.F.);
-+#10161=ORIENTED_EDGE('',*,*,#10160,.F.);
-+#10163=ORIENTED_EDGE('',*,*,#10162,.F.);
-+#10165=ORIENTED_EDGE('',*,*,#10164,.F.);
-+#10167=ORIENTED_EDGE('',*,*,#10166,.F.);
-+#10169=ORIENTED_EDGE('',*,*,#10168,.F.);
-+#10171=ORIENTED_EDGE('',*,*,#10170,.F.);
-+#10173=ORIENTED_EDGE('',*,*,#10172,.F.);
-+#10175=ORIENTED_EDGE('',*,*,#10174,.F.);
-+#10176=EDGE_LOOP('',(#10151,#10153,#10155,#10157,#10158,#10159,#10161,#10163,
-+#10165,#10167,#10169,#10171,#10173,#10175));
-+#10177=FACE_OUTER_BOUND('',#10176,.F.);
-+#10178=ADVANCED_FACE('',(#10177),#10149,.T.);
-+#10179=CARTESIAN_POINT('',(1.8125E0,0.E0,8.69E0));
-+#10180=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#10181=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10182=AXIS2_PLACEMENT_3D('',#10179,#10180,#10181);
-+#10183=PLANE('',#10182);
-+#10185=ORIENTED_EDGE('',*,*,#10184,.F.);
-+#10186=ORIENTED_EDGE('',*,*,#10150,.T.);
-+#10188=ORIENTED_EDGE('',*,*,#10187,.F.);
-+#10189=ORIENTED_EDGE('',*,*,#5758,.F.);
-+#10190=EDGE_LOOP('',(#10185,#10186,#10188,#10189));
-+#10191=FACE_OUTER_BOUND('',#10190,.F.);
-+#10192=ADVANCED_FACE('',(#10191),#10183,.F.);
-+#10193=CARTESIAN_POINT('',(2.6875E0,7.463919417831E-1,7.815E0));
-+#10194=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10195=DIRECTION('',(0.E0,0.E0,1.E0));
-+#10196=AXIS2_PLACEMENT_3D('',#10193,#10194,#10195);
-+#10197=CYLINDRICAL_SURFACE('',#10196,8.75E-1);
-+#10198=ORIENTED_EDGE('',*,*,#10184,.T.);
-+#10199=ORIENTED_EDGE('',*,*,#5756,.T.);
-+#10201=ORIENTED_EDGE('',*,*,#10200,.F.);
-+#10202=ORIENTED_EDGE('',*,*,#10152,.T.);
-+#10203=EDGE_LOOP('',(#10198,#10199,#10201,#10202));
-+#10204=FACE_OUTER_BOUND('',#10203,.F.);
-+#10205=ADVANCED_FACE('',(#10204),#10197,.T.);
-+#10206=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0));
-+#10207=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10208=DIRECTION('',(0.E0,0.E0,1.E0));
-+#10209=AXIS2_PLACEMENT_3D('',#10206,#10207,#10208);
-+#10210=PLANE('',#10209);
-+#10211=ORIENTED_EDGE('',*,*,#10200,.T.);
-+#10212=ORIENTED_EDGE('',*,*,#5754,.F.);
-+#10214=ORIENTED_EDGE('',*,*,#10213,.T.);
-+#10215=ORIENTED_EDGE('',*,*,#10154,.T.);
-+#10216=EDGE_LOOP('',(#10211,#10212,#10214,#10215));
-+#10217=FACE_OUTER_BOUND('',#10216,.F.);
-+#10218=ADVANCED_FACE('',(#10217),#10210,.F.);
-+#10219=CARTESIAN_POINT('',(1.25125E0,0.E0,7.5E0));
-+#10220=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10221=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10222=AXIS2_PLACEMENT_3D('',#10219,#10220,#10221);
-+#10223=CYLINDRICAL_SURFACE('',#10222,5.6125E-1);
-+#10224=ORIENTED_EDGE('',*,*,#5752,.F.);
-+#10225=ORIENTED_EDGE('',*,*,#10139,.T.);
-+#10226=ORIENTED_EDGE('',*,*,#10156,.T.);
-+#10227=ORIENTED_EDGE('',*,*,#10213,.F.);
-+#10228=EDGE_LOOP('',(#10224,#10225,#10226,#10227));
-+#10229=FACE_OUTER_BOUND('',#10228,.F.);
-+#10230=ADVANCED_FACE('',(#10229),#10223,.F.);
-+#10231=CARTESIAN_POINT('',(3.4375E0,-6.892397422826E-2,9.565E0));
-+#10232=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10233=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10234=AXIS2_PLACEMENT_3D('',#10231,#10232,#10233);
-+#10235=CYLINDRICAL_SURFACE('',#10234,8.75E-1);
-+#10237=ORIENTED_EDGE('',*,*,#10236,.F.);
-+#10238=ORIENTED_EDGE('',*,*,#5760,.T.);
-+#10239=ORIENTED_EDGE('',*,*,#10187,.T.);
-+#10240=ORIENTED_EDGE('',*,*,#10174,.T.);
-+#10241=EDGE_LOOP('',(#10237,#10238,#10239,#10240));
-+#10242=FACE_OUTER_BOUND('',#10241,.F.);
-+#10243=ADVANCED_FACE('',(#10242),#10235,.F.);
-+#10244=CARTESIAN_POINT('',(4.3125E0,0.E0,8.69E0));
-+#10245=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10246=DIRECTION('',(0.E0,0.E0,1.E0));
-+#10247=AXIS2_PLACEMENT_3D('',#10244,#10245,#10246);
-+#10248=PLANE('',#10247);
-+#10249=ORIENTED_EDGE('',*,*,#10236,.T.);
-+#10250=ORIENTED_EDGE('',*,*,#10172,.T.);
-+#10252=ORIENTED_EDGE('',*,*,#10251,.F.);
-+#10253=ORIENTED_EDGE('',*,*,#5762,.F.);
-+#10254=EDGE_LOOP('',(#10249,#10250,#10252,#10253));
-+#10255=FACE_OUTER_BOUND('',#10254,.F.);
-+#10256=ADVANCED_FACE('',(#10255),#10248,.F.);
-+#10257=CARTESIAN_POINT('',(3.4375E0,-6.892397422826E-2,1.0375E1));
-+#10258=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10259=DIRECTION('',(0.E0,0.E0,1.E0));
-+#10260=AXIS2_PLACEMENT_3D('',#10257,#10258,#10259);
-+#10261=CYLINDRICAL_SURFACE('',#10260,8.75E-1);
-+#10263=ORIENTED_EDGE('',*,*,#10262,.F.);
-+#10264=ORIENTED_EDGE('',*,*,#5764,.T.);
-+#10265=ORIENTED_EDGE('',*,*,#10251,.T.);
-+#10266=ORIENTED_EDGE('',*,*,#10170,.T.);
-+#10267=EDGE_LOOP('',(#10263,#10264,#10265,#10266));
-+#10268=FACE_OUTER_BOUND('',#10267,.F.);
-+#10269=ADVANCED_FACE('',(#10268),#10261,.F.);
-+#10270=CARTESIAN_POINT('',(4.3125E0,0.E0,1.125E1));
-+#10271=DIRECTION('',(0.E0,0.E0,1.E0));
-+#10272=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10273=AXIS2_PLACEMENT_3D('',#10270,#10271,#10272);
-+#10274=PLANE('',#10273);
-+#10276=ORIENTED_EDGE('',*,*,#10275,.F.);
-+#10277=ORIENTED_EDGE('',*,*,#5766,.F.);
-+#10278=ORIENTED_EDGE('',*,*,#10262,.T.);
-+#10279=ORIENTED_EDGE('',*,*,#10168,.T.);
-+#10280=EDGE_LOOP('',(#10276,#10277,#10278,#10279));
-+#10281=FACE_OUTER_BOUND('',#10280,.F.);
-+#10282=ADVANCED_FACE('',(#10281),#10274,.F.);
-+#10283=CARTESIAN_POINT('',(-4.375E-1,-6.892397422826E-2,1.0375E1));
-+#10284=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10285=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10286=AXIS2_PLACEMENT_3D('',#10283,#10284,#10285);
-+#10287=CYLINDRICAL_SURFACE('',#10286,8.75E-1);
-+#10289=ORIENTED_EDGE('',*,*,#10288,.F.);
-+#10290=ORIENTED_EDGE('',*,*,#5768,.T.);
-+#10291=ORIENTED_EDGE('',*,*,#10275,.T.);
-+#10292=ORIENTED_EDGE('',*,*,#10166,.T.);
-+#10293=EDGE_LOOP('',(#10289,#10290,#10291,#10292));
-+#10294=FACE_OUTER_BOUND('',#10293,.F.);
-+#10295=ADVANCED_FACE('',(#10294),#10287,.F.);
-+#10296=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.125E1));
-+#10297=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10298=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#10299=AXIS2_PLACEMENT_3D('',#10296,#10297,#10298);
-+#10300=PLANE('',#10299);
-+#10301=ORIENTED_EDGE('',*,*,#10288,.T.);
-+#10302=ORIENTED_EDGE('',*,*,#10164,.T.);
-+#10304=ORIENTED_EDGE('',*,*,#10303,.F.);
-+#10305=ORIENTED_EDGE('',*,*,#5770,.F.);
-+#10306=EDGE_LOOP('',(#10301,#10302,#10304,#10305));
-+#10307=FACE_OUTER_BOUND('',#10306,.F.);
-+#10308=ADVANCED_FACE('',(#10307),#10300,.F.);
-+#10309=CARTESIAN_POINT('',(-4.375E-1,-6.892397422826E-2,9.565E0));
-+#10310=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10311=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#10312=AXIS2_PLACEMENT_3D('',#10309,#10310,#10311);
-+#10313=CYLINDRICAL_SURFACE('',#10312,8.75E-1);
-+#10315=ORIENTED_EDGE('',*,*,#10314,.F.);
-+#10316=ORIENTED_EDGE('',*,*,#5772,.T.);
-+#10317=ORIENTED_EDGE('',*,*,#10303,.T.);
-+#10318=ORIENTED_EDGE('',*,*,#10162,.T.);
-+#10319=EDGE_LOOP('',(#10315,#10316,#10317,#10318));
-+#10320=FACE_OUTER_BOUND('',#10319,.F.);
-+#10321=ADVANCED_FACE('',(#10320),#10313,.F.);
-+#10322=CARTESIAN_POINT('',(-1.3125E0,0.E0,8.69E0));
-+#10323=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#10324=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10325=AXIS2_PLACEMENT_3D('',#10322,#10323,#10324);
-+#10326=PLANE('',#10325);
-+#10327=ORIENTED_EDGE('',*,*,#10124,.T.);
-+#10328=ORIENTED_EDGE('',*,*,#5774,.F.);
-+#10329=ORIENTED_EDGE('',*,*,#10314,.T.);
-+#10330=ORIENTED_EDGE('',*,*,#10160,.T.);
-+#10331=EDGE_LOOP('',(#10327,#10328,#10329,#10330));
-+#10332=FACE_OUTER_BOUND('',#10331,.F.);
-+#10333=ADVANCED_FACE('',(#10332),#10326,.F.);
-+#10334=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1));
-+#10335=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10336=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#10337=AXIS2_PLACEMENT_3D('',#10334,#10335,#10336);
-+#10338=PLANE('',#10337);
-+#10339=ORIENTED_EDGE('',*,*,#5778,.F.);
-+#10341=ORIENTED_EDGE('',*,*,#10340,.T.);
-+#10343=ORIENTED_EDGE('',*,*,#10342,.T.);
-+#10345=ORIENTED_EDGE('',*,*,#10344,.F.);
-+#10346=EDGE_LOOP('',(#10339,#10341,#10343,#10345));
-+#10347=FACE_OUTER_BOUND('',#10346,.F.);
-+#10348=ADVANCED_FACE('',(#10347),#10338,.F.);
-+#10349=CARTESIAN_POINT('',(1.25E0,0.E0,1.65E1));
-+#10350=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10351=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10352=AXIS2_PLACEMENT_3D('',#10349,#10350,#10351);
-+#10353=CYLINDRICAL_SURFACE('',#10352,5.625E-1);
-+#10354=ORIENTED_EDGE('',*,*,#5784,.F.);
-+#10356=ORIENTED_EDGE('',*,*,#10355,.T.);
-+#10358=ORIENTED_EDGE('',*,*,#10357,.T.);
-+#10359=ORIENTED_EDGE('',*,*,#10340,.F.);
-+#10360=EDGE_LOOP('',(#10354,#10356,#10358,#10359));
-+#10361=FACE_OUTER_BOUND('',#10360,.F.);
-+#10362=ADVANCED_FACE('',(#10361),#10353,.F.);
-+#10363=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1));
-+#10364=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10365=DIRECTION('',(0.E0,0.E0,1.E0));
-+#10366=AXIS2_PLACEMENT_3D('',#10363,#10364,#10365);
-+#10367=PLANE('',#10366);
-+#10368=ORIENTED_EDGE('',*,*,#5782,.F.);
-+#10370=ORIENTED_EDGE('',*,*,#10369,.T.);
-+#10372=ORIENTED_EDGE('',*,*,#10371,.T.);
-+#10373=ORIENTED_EDGE('',*,*,#10355,.F.);
-+#10374=EDGE_LOOP('',(#10368,#10370,#10372,#10373));
-+#10375=FACE_OUTER_BOUND('',#10374,.F.);
-+#10376=ADVANCED_FACE('',(#10375),#10367,.F.);
-+#10377=CARTESIAN_POINT('',(1.25E0,0.E0,1.35E1));
-+#10378=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10379=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10380=AXIS2_PLACEMENT_3D('',#10377,#10378,#10379);
-+#10381=CYLINDRICAL_SURFACE('',#10380,5.625E-1);
-+#10382=ORIENTED_EDGE('',*,*,#5780,.F.);
-+#10383=ORIENTED_EDGE('',*,*,#10344,.T.);
-+#10385=ORIENTED_EDGE('',*,*,#10384,.T.);
-+#10386=ORIENTED_EDGE('',*,*,#10369,.F.);
-+#10387=EDGE_LOOP('',(#10382,#10383,#10385,#10386));
-+#10388=FACE_OUTER_BOUND('',#10387,.F.);
-+#10389=ADVANCED_FACE('',(#10388),#10381,.F.);
-+#10390=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
-+#10391=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10392=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10393=AXIS2_PLACEMENT_3D('',#10390,#10391,#10392);
-+#10394=PLANE('',#10393);
-+#10395=ORIENTED_EDGE('',*,*,#10342,.F.);
-+#10396=ORIENTED_EDGE('',*,*,#10357,.F.);
-+#10397=ORIENTED_EDGE('',*,*,#10371,.F.);
-+#10398=ORIENTED_EDGE('',*,*,#10384,.F.);
-+#10399=EDGE_LOOP('',(#10395,#10396,#10397,#10398));
-+#10400=FACE_OUTER_BOUND('',#10399,.F.);
-+#10401=ADVANCED_FACE('',(#10400),#10394,.T.);
-+#10402=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1));
-+#10403=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10404=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#10405=AXIS2_PLACEMENT_3D('',#10402,#10403,#10404);
-+#10406=PLANE('',#10405);
-+#10407=ORIENTED_EDGE('',*,*,#5788,.F.);
-+#10409=ORIENTED_EDGE('',*,*,#10408,.T.);
-+#10411=ORIENTED_EDGE('',*,*,#10410,.T.);
-+#10413=ORIENTED_EDGE('',*,*,#10412,.F.);
-+#10414=EDGE_LOOP('',(#10407,#10409,#10411,#10413));
-+#10415=FACE_OUTER_BOUND('',#10414,.F.);
-+#10416=ADVANCED_FACE('',(#10415),#10406,.F.);
-+#10417=CARTESIAN_POINT('',(1.25E0,0.E0,2.25E1));
-+#10418=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10419=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10420=AXIS2_PLACEMENT_3D('',#10417,#10418,#10419);
-+#10421=CYLINDRICAL_SURFACE('',#10420,5.625E-1);
-+#10422=ORIENTED_EDGE('',*,*,#5794,.F.);
-+#10424=ORIENTED_EDGE('',*,*,#10423,.T.);
-+#10426=ORIENTED_EDGE('',*,*,#10425,.T.);
-+#10427=ORIENTED_EDGE('',*,*,#10408,.F.);
-+#10428=EDGE_LOOP('',(#10422,#10424,#10426,#10427));
-+#10429=FACE_OUTER_BOUND('',#10428,.F.);
-+#10430=ADVANCED_FACE('',(#10429),#10421,.F.);
-+#10431=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1));
-+#10432=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10433=DIRECTION('',(0.E0,0.E0,1.E0));
-+#10434=AXIS2_PLACEMENT_3D('',#10431,#10432,#10433);
-+#10435=PLANE('',#10434);
-+#10436=ORIENTED_EDGE('',*,*,#5792,.F.);
-+#10438=ORIENTED_EDGE('',*,*,#10437,.T.);
-+#10440=ORIENTED_EDGE('',*,*,#10439,.T.);
-+#10441=ORIENTED_EDGE('',*,*,#10423,.F.);
-+#10442=EDGE_LOOP('',(#10436,#10438,#10440,#10441));
-+#10443=FACE_OUTER_BOUND('',#10442,.F.);
-+#10444=ADVANCED_FACE('',(#10443),#10435,.F.);
-+#10445=CARTESIAN_POINT('',(1.25E0,0.E0,1.95E1));
-+#10446=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10447=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10448=AXIS2_PLACEMENT_3D('',#10445,#10446,#10447);
-+#10449=CYLINDRICAL_SURFACE('',#10448,5.625E-1);
-+#10450=ORIENTED_EDGE('',*,*,#5790,.F.);
-+#10451=ORIENTED_EDGE('',*,*,#10412,.T.);
-+#10453=ORIENTED_EDGE('',*,*,#10452,.T.);
-+#10454=ORIENTED_EDGE('',*,*,#10437,.F.);
-+#10455=EDGE_LOOP('',(#10450,#10451,#10453,#10454));
-+#10456=FACE_OUTER_BOUND('',#10455,.F.);
-+#10457=ADVANCED_FACE('',(#10456),#10449,.F.);
-+#10458=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
-+#10459=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10460=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10461=AXIS2_PLACEMENT_3D('',#10458,#10459,#10460);
-+#10462=PLANE('',#10461);
-+#10463=ORIENTED_EDGE('',*,*,#10410,.F.);
-+#10464=ORIENTED_EDGE('',*,*,#10425,.F.);
-+#10465=ORIENTED_EDGE('',*,*,#10439,.F.);
-+#10466=ORIENTED_EDGE('',*,*,#10452,.F.);
-+#10467=EDGE_LOOP('',(#10463,#10464,#10465,#10466));
-+#10468=FACE_OUTER_BOUND('',#10467,.F.);
-+#10469=ADVANCED_FACE('',(#10468),#10462,.T.);
-+#10470=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0));
-+#10471=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#10472=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10473=AXIS2_PLACEMENT_3D('',#10470,#10471,#10472);
-+#10474=PLANE('',#10473);
-+#10475=ORIENTED_EDGE('',*,*,#5798,.F.);
-+#10477=ORIENTED_EDGE('',*,*,#10476,.T.);
-+#10479=ORIENTED_EDGE('',*,*,#10478,.T.);
-+#10481=ORIENTED_EDGE('',*,*,#10480,.F.);
-+#10482=EDGE_LOOP('',(#10475,#10477,#10479,#10481));
-+#10483=FACE_OUTER_BOUND('',#10482,.F.);
-+#10484=ADVANCED_FACE('',(#10483),#10474,.F.);
-+#10485=CARTESIAN_POINT('',(7.5E0,0.E0,9.E0));
-+#10486=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10487=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10488=AXIS2_PLACEMENT_3D('',#10485,#10486,#10487);
-+#10489=CYLINDRICAL_SURFACE('',#10488,5.E-1);
-+#10490=ORIENTED_EDGE('',*,*,#5804,.F.);
-+#10492=ORIENTED_EDGE('',*,*,#10491,.T.);
-+#10494=ORIENTED_EDGE('',*,*,#10493,.T.);
-+#10495=ORIENTED_EDGE('',*,*,#10476,.F.);
-+#10496=EDGE_LOOP('',(#10490,#10492,#10494,#10495));
-+#10497=FACE_OUTER_BOUND('',#10496,.F.);
-+#10498=ADVANCED_FACE('',(#10497),#10489,.F.);
-+#10499=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0));
-+#10500=DIRECTION('',(0.E0,0.E0,1.E0));
-+#10501=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10502=AXIS2_PLACEMENT_3D('',#10499,#10500,#10501);
-+#10503=PLANE('',#10502);
-+#10504=ORIENTED_EDGE('',*,*,#5802,.F.);
-+#10506=ORIENTED_EDGE('',*,*,#10505,.T.);
-+#10508=ORIENTED_EDGE('',*,*,#10507,.T.);
-+#10509=ORIENTED_EDGE('',*,*,#10491,.F.);
-+#10510=EDGE_LOOP('',(#10504,#10506,#10508,#10509));
-+#10511=FACE_OUTER_BOUND('',#10510,.F.);
-+#10512=ADVANCED_FACE('',(#10511),#10503,.F.);
-+#10513=CARTESIAN_POINT('',(1.05E1,0.E0,9.E0));
-+#10514=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10515=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10516=AXIS2_PLACEMENT_3D('',#10513,#10514,#10515);
-+#10517=CYLINDRICAL_SURFACE('',#10516,5.E-1);
-+#10518=ORIENTED_EDGE('',*,*,#5800,.F.);
-+#10519=ORIENTED_EDGE('',*,*,#10480,.T.);
-+#10521=ORIENTED_EDGE('',*,*,#10520,.T.);
-+#10522=ORIENTED_EDGE('',*,*,#10505,.F.);
-+#10523=EDGE_LOOP('',(#10518,#10519,#10521,#10522));
-+#10524=FACE_OUTER_BOUND('',#10523,.F.);
-+#10525=ADVANCED_FACE('',(#10524),#10517,.F.);
-+#10526=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
-+#10527=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10528=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10529=AXIS2_PLACEMENT_3D('',#10526,#10527,#10528);
-+#10530=PLANE('',#10529);
-+#10531=ORIENTED_EDGE('',*,*,#10478,.F.);
-+#10532=ORIENTED_EDGE('',*,*,#10493,.F.);
-+#10533=ORIENTED_EDGE('',*,*,#10507,.F.);
-+#10534=ORIENTED_EDGE('',*,*,#10520,.F.);
-+#10535=EDGE_LOOP('',(#10531,#10532,#10533,#10534));
-+#10536=FACE_OUTER_BOUND('',#10535,.F.);
-+#10537=ADVANCED_FACE('',(#10536),#10530,.T.);
-+#10538=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1));
-+#10539=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#10540=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10541=AXIS2_PLACEMENT_3D('',#10538,#10539,#10540);
-+#10542=PLANE('',#10541);
-+#10543=ORIENTED_EDGE('',*,*,#5808,.F.);
-+#10545=ORIENTED_EDGE('',*,*,#10544,.T.);
-+#10547=ORIENTED_EDGE('',*,*,#10546,.T.);
-+#10549=ORIENTED_EDGE('',*,*,#10548,.F.);
-+#10550=EDGE_LOOP('',(#10543,#10545,#10547,#10549));
-+#10551=FACE_OUTER_BOUND('',#10550,.F.);
-+#10552=ADVANCED_FACE('',(#10551),#10542,.F.);
-+#10553=CARTESIAN_POINT('',(7.5E0,0.E0,1.8E1));
-+#10554=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10555=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10556=AXIS2_PLACEMENT_3D('',#10553,#10554,#10555);
-+#10557=CYLINDRICAL_SURFACE('',#10556,4.375E-1);
-+#10558=ORIENTED_EDGE('',*,*,#5814,.F.);
-+#10560=ORIENTED_EDGE('',*,*,#10559,.T.);
-+#10562=ORIENTED_EDGE('',*,*,#10561,.T.);
-+#10563=ORIENTED_EDGE('',*,*,#10544,.F.);
-+#10564=EDGE_LOOP('',(#10558,#10560,#10562,#10563));
-+#10565=FACE_OUTER_BOUND('',#10564,.F.);
-+#10566=ADVANCED_FACE('',(#10565),#10557,.F.);
-+#10567=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1));
-+#10568=DIRECTION('',(0.E0,0.E0,1.E0));
-+#10569=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10570=AXIS2_PLACEMENT_3D('',#10567,#10568,#10569);
-+#10571=PLANE('',#10570);
-+#10572=ORIENTED_EDGE('',*,*,#5812,.F.);
-+#10574=ORIENTED_EDGE('',*,*,#10573,.T.);
-+#10576=ORIENTED_EDGE('',*,*,#10575,.T.);
-+#10577=ORIENTED_EDGE('',*,*,#10559,.F.);
-+#10578=EDGE_LOOP('',(#10572,#10574,#10576,#10577));
-+#10579=FACE_OUTER_BOUND('',#10578,.F.);
-+#10580=ADVANCED_FACE('',(#10579),#10571,.F.);
-+#10581=CARTESIAN_POINT('',(1.05E1,0.E0,1.8E1));
-+#10582=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10583=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10584=AXIS2_PLACEMENT_3D('',#10581,#10582,#10583);
-+#10585=CYLINDRICAL_SURFACE('',#10584,4.375E-1);
-+#10586=ORIENTED_EDGE('',*,*,#5810,.F.);
-+#10587=ORIENTED_EDGE('',*,*,#10548,.T.);
-+#10589=ORIENTED_EDGE('',*,*,#10588,.T.);
-+#10590=ORIENTED_EDGE('',*,*,#10573,.F.);
-+#10591=EDGE_LOOP('',(#10586,#10587,#10589,#10590));
-+#10592=FACE_OUTER_BOUND('',#10591,.F.);
-+#10593=ADVANCED_FACE('',(#10592),#10585,.F.);
-+#10594=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0));
-+#10595=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#10596=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10597=AXIS2_PLACEMENT_3D('',#10594,#10595,#10596);
-+#10598=PLANE('',#10597);
-+#10599=ORIENTED_EDGE('',*,*,#10546,.F.);
-+#10600=ORIENTED_EDGE('',*,*,#10561,.F.);
-+#10601=ORIENTED_EDGE('',*,*,#10575,.F.);
-+#10602=ORIENTED_EDGE('',*,*,#10588,.F.);
-+#10603=EDGE_LOOP('',(#10599,#10600,#10601,#10602));
-+#10604=FACE_OUTER_BOUND('',#10603,.F.);
-+#10605=ADVANCED_FACE('',(#10604),#10598,.T.);
-+#10606=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1));
-+#10607=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#10608=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10609=AXIS2_PLACEMENT_3D('',#10606,#10607,#10608);
-+#10610=PLANE('',#10609);
-+#10611=ORIENTED_EDGE('',*,*,#5818,.T.);
-+#10613=ORIENTED_EDGE('',*,*,#10612,.T.);
-+#10615=ORIENTED_EDGE('',*,*,#10614,.F.);
-+#10617=ORIENTED_EDGE('',*,*,#10616,.F.);
-+#10618=EDGE_LOOP('',(#10611,#10613,#10615,#10617));
-+#10619=FACE_OUTER_BOUND('',#10618,.F.);
-+#10620=ADVANCED_FACE('',(#10619),#10610,.T.);
-+#10621=CARTESIAN_POINT('',(1.05E1,0.E0,3.075E1));
-+#10622=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10623=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10624=AXIS2_PLACEMENT_3D('',#10621,#10622,#10623);
-+#10625=CYLINDRICAL_SURFACE('',#10624,5.625E-1);
-+#10626=ORIENTED_EDGE('',*,*,#5824,.T.);
-+#10628=ORIENTED_EDGE('',*,*,#10627,.T.);
-+#10630=ORIENTED_EDGE('',*,*,#10629,.F.);
-+#10631=ORIENTED_EDGE('',*,*,#10612,.F.);
-+#10632=EDGE_LOOP('',(#10626,#10628,#10630,#10631));
-+#10633=FACE_OUTER_BOUND('',#10632,.F.);
-+#10634=ADVANCED_FACE('',(#10633),#10625,.F.);
-+#10635=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1));
-+#10636=DIRECTION('',(0.E0,0.E0,1.E0));
-+#10637=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10638=AXIS2_PLACEMENT_3D('',#10635,#10636,#10637);
-+#10639=PLANE('',#10638);
-+#10640=ORIENTED_EDGE('',*,*,#5822,.T.);
-+#10642=ORIENTED_EDGE('',*,*,#10641,.T.);
-+#10644=ORIENTED_EDGE('',*,*,#10643,.F.);
-+#10645=ORIENTED_EDGE('',*,*,#10627,.F.);
-+#10646=EDGE_LOOP('',(#10640,#10642,#10644,#10645));
-+#10647=FACE_OUTER_BOUND('',#10646,.F.);
-+#10648=ADVANCED_FACE('',(#10647),#10639,.T.);
-+#10649=CARTESIAN_POINT('',(7.5E0,0.E0,3.075E1));
-+#10650=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10651=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10652=AXIS2_PLACEMENT_3D('',#10649,#10650,#10651);
-+#10653=CYLINDRICAL_SURFACE('',#10652,5.625E-1);
-+#10654=ORIENTED_EDGE('',*,*,#5820,.T.);
-+#10655=ORIENTED_EDGE('',*,*,#10616,.T.);
-+#10657=ORIENTED_EDGE('',*,*,#10656,.F.);
-+#10658=ORIENTED_EDGE('',*,*,#10641,.F.);
-+#10659=EDGE_LOOP('',(#10654,#10655,#10657,#10658));
-+#10660=FACE_OUTER_BOUND('',#10659,.F.);
-+#10661=ADVANCED_FACE('',(#10660),#10653,.F.);
-+#10662=CARTESIAN_POINT('',(0.E0,6.875E-1,3.2E1));
-+#10663=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10664=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10665=AXIS2_PLACEMENT_3D('',#10662,#10663,#10664);
-+#10666=PLANE('',#10665);
-+#10667=ORIENTED_EDGE('',*,*,#10614,.T.);
-+#10668=ORIENTED_EDGE('',*,*,#10629,.T.);
-+#10669=ORIENTED_EDGE('',*,*,#10643,.T.);
-+#10670=ORIENTED_EDGE('',*,*,#10656,.T.);
-+#10671=EDGE_LOOP('',(#10667,#10668,#10669,#10670));
-+#10672=FACE_OUTER_BOUND('',#10671,.F.);
-+#10673=ADVANCED_FACE('',(#10672),#10666,.F.);
-+#10674=CARTESIAN_POINT('',(0.E0,6.875E-1,3.2E1));
-+#10675=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10676=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10677=AXIS2_PLACEMENT_3D('',#10674,#10675,#10676);
-+#10678=PLANE('',#10677);
-+#10680=ORIENTED_EDGE('',*,*,#10679,.F.);
-+#10682=ORIENTED_EDGE('',*,*,#10681,.T.);
-+#10684=ORIENTED_EDGE('',*,*,#10683,.T.);
-+#10686=ORIENTED_EDGE('',*,*,#10685,.T.);
-+#10688=ORIENTED_EDGE('',*,*,#10687,.T.);
-+#10689=EDGE_LOOP('',(#10680,#10682,#10684,#10686,#10688));
-+#10690=FACE_OUTER_BOUND('',#10689,.F.);
-+#10691=ADVANCED_FACE('',(#10690),#10678,.F.);
-+#10692=CARTESIAN_POINT('',(1.455736763592E0,-6.642389448824E-2,
-+2.742280476768E1));
-+#10693=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10694=DIRECTION('',(-8.942796313519E-1,0.E0,-4.475085931567E-1));
-+#10695=AXIS2_PLACEMENT_3D('',#10692,#10693,#10694);
-+#10696=CYLINDRICAL_SURFACE('',#10695,7.5E-1);
-+#10698=ORIENTED_EDGE('',*,*,#10697,.F.);
-+#10699=ORIENTED_EDGE('',*,*,#5932,.T.);
-+#10701=ORIENTED_EDGE('',*,*,#10700,.T.);
-+#10702=ORIENTED_EDGE('',*,*,#10679,.T.);
-+#10703=EDGE_LOOP('',(#10698,#10699,#10701,#10702));
-+#10704=FACE_OUTER_BOUND('',#10703,.F.);
-+#10705=ADVANCED_FACE('',(#10704),#10696,.F.);
-+#10706=CARTESIAN_POINT('',(1.61E0,0.E0,2.75E1));
-+#10707=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10708=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10709=AXIS2_PLACEMENT_3D('',#10706,#10707,#10708);
-+#10710=CYLINDRICAL_SURFACE('',#10709,9.225E-1);
-+#10711=ORIENTED_EDGE('',*,*,#10697,.T.);
-+#10712=ORIENTED_EDGE('',*,*,#10687,.F.);
-+#10714=ORIENTED_EDGE('',*,*,#10713,.F.);
-+#10715=ORIENTED_EDGE('',*,*,#5934,.T.);
-+#10716=EDGE_LOOP('',(#10711,#10712,#10714,#10715));
-+#10717=FACE_OUTER_BOUND('',#10716,.F.);
-+#10718=ADVANCED_FACE('',(#10717),#10710,.F.);
-+#10719=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1));
-+#10720=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10721=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10722=AXIS2_PLACEMENT_3D('',#10719,#10720,#10721);
-+#10723=CYLINDRICAL_SURFACE('',#10722,5.6875E0);
-+#10724=ORIENTED_EDGE('',*,*,#5936,.F.);
-+#10725=ORIENTED_EDGE('',*,*,#10713,.T.);
-+#10726=ORIENTED_EDGE('',*,*,#10685,.F.);
-+#10728=ORIENTED_EDGE('',*,*,#10727,.F.);
-+#10729=EDGE_LOOP('',(#10724,#10725,#10726,#10728));
-+#10730=FACE_OUTER_BOUND('',#10729,.F.);
-+#10731=ADVANCED_FACE('',(#10730),#10723,.T.);
-+#10732=CARTESIAN_POINT('',(4.553039342392E0,0.E0,3.035464591145E1));
-+#10733=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10734=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10735=AXIS2_PLACEMENT_3D('',#10732,#10733,#10734);
-+#10736=CYLINDRICAL_SURFACE('',#10735,8.669989027347E-1);
-+#10737=ORIENTED_EDGE('',*,*,#5938,.T.);
-+#10738=ORIENTED_EDGE('',*,*,#10727,.T.);
-+#10739=ORIENTED_EDGE('',*,*,#10683,.F.);
-+#10741=ORIENTED_EDGE('',*,*,#10740,.F.);
-+#10742=EDGE_LOOP('',(#10737,#10738,#10739,#10741));
-+#10743=FACE_OUTER_BOUND('',#10742,.F.);
-+#10744=ADVANCED_FACE('',(#10743),#10736,.F.);
-+#10745=CARTESIAN_POINT('',(6.875E-1,0.E0,2.771522817587E1));
-+#10746=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#10747=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
-+#10748=AXIS2_PLACEMENT_3D('',#10745,#10746,#10747);
-+#10749=PLANE('',#10748);
-+#10750=ORIENTED_EDGE('',*,*,#10700,.F.);
-+#10751=ORIENTED_EDGE('',*,*,#5930,.T.);
-+#10752=ORIENTED_EDGE('',*,*,#10740,.T.);
-+#10753=ORIENTED_EDGE('',*,*,#10681,.F.);
-+#10754=EDGE_LOOP('',(#10750,#10751,#10752,#10753));
-+#10755=FACE_OUTER_BOUND('',#10754,.F.);
-+#10756=ADVANCED_FACE('',(#10755),#10749,.T.);
-+#10757=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1));
-+#10758=DIRECTION('',(0.E0,0.E0,1.E0));
-+#10759=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10760=AXIS2_PLACEMENT_3D('',#10757,#10758,#10759);
-+#10761=PLANE('',#10760);
-+#10762=ORIENTED_EDGE('',*,*,#5828,.T.);
-+#10764=ORIENTED_EDGE('',*,*,#10763,.T.);
-+#10766=ORIENTED_EDGE('',*,*,#10765,.F.);
-+#10768=ORIENTED_EDGE('',*,*,#10767,.F.);
-+#10769=EDGE_LOOP('',(#10762,#10764,#10766,#10768));
-+#10770=FACE_OUTER_BOUND('',#10769,.F.);
-+#10771=ADVANCED_FACE('',(#10770),#10761,.T.);
-+#10772=CARTESIAN_POINT('',(1.35E1,0.E0,1.25E0));
-+#10773=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10774=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10775=AXIS2_PLACEMENT_3D('',#10772,#10773,#10774);
-+#10776=CYLINDRICAL_SURFACE('',#10775,5.625E-1);
-+#10777=ORIENTED_EDGE('',*,*,#5834,.T.);
-+#10779=ORIENTED_EDGE('',*,*,#10778,.T.);
-+#10781=ORIENTED_EDGE('',*,*,#10780,.F.);
-+#10782=ORIENTED_EDGE('',*,*,#10763,.F.);
-+#10783=EDGE_LOOP('',(#10777,#10779,#10781,#10782));
-+#10784=FACE_OUTER_BOUND('',#10783,.F.);
-+#10785=ADVANCED_FACE('',(#10784),#10776,.F.);
-+#10786=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0));
-+#10787=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#10788=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10789=AXIS2_PLACEMENT_3D('',#10786,#10787,#10788);
-+#10790=PLANE('',#10789);
-+#10791=ORIENTED_EDGE('',*,*,#5832,.T.);
-+#10793=ORIENTED_EDGE('',*,*,#10792,.T.);
-+#10795=ORIENTED_EDGE('',*,*,#10794,.F.);
-+#10796=ORIENTED_EDGE('',*,*,#10778,.F.);
-+#10797=EDGE_LOOP('',(#10791,#10793,#10795,#10796));
-+#10798=FACE_OUTER_BOUND('',#10797,.F.);
-+#10799=ADVANCED_FACE('',(#10798),#10790,.T.);
-+#10800=CARTESIAN_POINT('',(1.65E1,0.E0,1.25E0));
-+#10801=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10802=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10803=AXIS2_PLACEMENT_3D('',#10800,#10801,#10802);
-+#10804=CYLINDRICAL_SURFACE('',#10803,5.625E-1);
-+#10805=ORIENTED_EDGE('',*,*,#5830,.T.);
-+#10806=ORIENTED_EDGE('',*,*,#10767,.T.);
-+#10808=ORIENTED_EDGE('',*,*,#10807,.F.);
-+#10809=ORIENTED_EDGE('',*,*,#10792,.F.);
-+#10810=EDGE_LOOP('',(#10805,#10806,#10808,#10809));
-+#10811=FACE_OUTER_BOUND('',#10810,.F.);
-+#10812=ADVANCED_FACE('',(#10811),#10804,.F.);
-+#10813=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
-+#10814=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10815=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10816=AXIS2_PLACEMENT_3D('',#10813,#10814,#10815);
-+#10817=PLANE('',#10816);
-+#10818=ORIENTED_EDGE('',*,*,#10765,.T.);
-+#10819=ORIENTED_EDGE('',*,*,#10780,.T.);
-+#10820=ORIENTED_EDGE('',*,*,#10794,.T.);
-+#10821=ORIENTED_EDGE('',*,*,#10807,.T.);
-+#10822=EDGE_LOOP('',(#10818,#10819,#10820,#10821));
-+#10823=FACE_OUTER_BOUND('',#10822,.F.);
-+#10824=ADVANCED_FACE('',(#10823),#10817,.F.);
-+#10825=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
-+#10826=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10827=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10828=AXIS2_PLACEMENT_3D('',#10825,#10826,#10827);
-+#10829=PLANE('',#10828);
-+#10831=ORIENTED_EDGE('',*,*,#10830,.F.);
-+#10833=ORIENTED_EDGE('',*,*,#10832,.T.);
-+#10835=ORIENTED_EDGE('',*,*,#10834,.T.);
-+#10837=ORIENTED_EDGE('',*,*,#10836,.T.);
-+#10839=ORIENTED_EDGE('',*,*,#10838,.T.);
-+#10840=EDGE_LOOP('',(#10831,#10833,#10835,#10837,#10839));
-+#10841=FACE_OUTER_BOUND('',#10840,.F.);
-+#10842=ADVANCED_FACE('',(#10841),#10829,.F.);
-+#10843=CARTESIAN_POINT('',(2.254426323641E1,-6.642389448824E-2,
-+4.577195232320E0));
-+#10844=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10845=DIRECTION('',(8.942796313519E-1,0.E0,4.475085931567E-1));
-+#10846=AXIS2_PLACEMENT_3D('',#10843,#10844,#10845);
-+#10847=CYLINDRICAL_SURFACE('',#10846,7.5E-1);
-+#10849=ORIENTED_EDGE('',*,*,#10848,.F.);
-+#10850=ORIENTED_EDGE('',*,*,#5920,.T.);
-+#10852=ORIENTED_EDGE('',*,*,#10851,.T.);
-+#10853=ORIENTED_EDGE('',*,*,#10830,.T.);
-+#10854=EDGE_LOOP('',(#10849,#10850,#10852,#10853));
-+#10855=FACE_OUTER_BOUND('',#10854,.F.);
-+#10856=ADVANCED_FACE('',(#10855),#10847,.F.);
-+#10857=CARTESIAN_POINT('',(2.239E1,0.E0,4.5E0));
-+#10858=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10859=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10860=AXIS2_PLACEMENT_3D('',#10857,#10858,#10859);
-+#10861=CYLINDRICAL_SURFACE('',#10860,9.225E-1);
-+#10862=ORIENTED_EDGE('',*,*,#10848,.T.);
-+#10863=ORIENTED_EDGE('',*,*,#10838,.F.);
-+#10865=ORIENTED_EDGE('',*,*,#10864,.F.);
-+#10866=ORIENTED_EDGE('',*,*,#5922,.T.);
-+#10867=EDGE_LOOP('',(#10862,#10863,#10865,#10866));
-+#10868=FACE_OUTER_BOUND('',#10867,.F.);
-+#10869=ADVANCED_FACE('',(#10868),#10861,.F.);
-+#10870=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0));
-+#10871=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10872=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10873=AXIS2_PLACEMENT_3D('',#10870,#10871,#10872);
-+#10874=CYLINDRICAL_SURFACE('',#10873,5.6875E0);
-+#10875=ORIENTED_EDGE('',*,*,#5924,.F.);
-+#10876=ORIENTED_EDGE('',*,*,#10864,.T.);
-+#10877=ORIENTED_EDGE('',*,*,#10836,.F.);
-+#10879=ORIENTED_EDGE('',*,*,#10878,.F.);
-+#10880=EDGE_LOOP('',(#10875,#10876,#10877,#10879));
-+#10881=FACE_OUTER_BOUND('',#10880,.F.);
-+#10882=ADVANCED_FACE('',(#10881),#10874,.T.);
-+#10883=CARTESIAN_POINT('',(1.944696065761E1,0.E0,1.645354088550E0));
-+#10884=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10885=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10886=AXIS2_PLACEMENT_3D('',#10883,#10884,#10885);
-+#10887=CYLINDRICAL_SURFACE('',#10886,8.669989027347E-1);
-+#10888=ORIENTED_EDGE('',*,*,#5926,.T.);
-+#10889=ORIENTED_EDGE('',*,*,#10878,.T.);
-+#10890=ORIENTED_EDGE('',*,*,#10834,.F.);
-+#10892=ORIENTED_EDGE('',*,*,#10891,.F.);
-+#10893=EDGE_LOOP('',(#10888,#10889,#10890,#10892));
-+#10894=FACE_OUTER_BOUND('',#10893,.F.);
-+#10895=ADVANCED_FACE('',(#10894),#10887,.F.);
-+#10896=CARTESIAN_POINT('',(2.33125E1,0.E0,4.284771824132E0));
-+#10897=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
-+#10898=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1));
-+#10899=AXIS2_PLACEMENT_3D('',#10896,#10897,#10898);
-+#10900=PLANE('',#10899);
-+#10901=ORIENTED_EDGE('',*,*,#10851,.F.);
-+#10902=ORIENTED_EDGE('',*,*,#5918,.T.);
-+#10903=ORIENTED_EDGE('',*,*,#10891,.T.);
-+#10904=ORIENTED_EDGE('',*,*,#10832,.F.);
-+#10905=EDGE_LOOP('',(#10901,#10902,#10903,#10904));
-+#10906=FACE_OUTER_BOUND('',#10905,.F.);
-+#10907=ADVANCED_FACE('',(#10906),#10900,.T.);
-+#10908=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1));
-+#10909=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10910=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#10911=AXIS2_PLACEMENT_3D('',#10908,#10909,#10910);
-+#10912=PLANE('',#10911);
-+#10913=ORIENTED_EDGE('',*,*,#5838,.T.);
-+#10915=ORIENTED_EDGE('',*,*,#10914,.T.);
-+#10917=ORIENTED_EDGE('',*,*,#10916,.F.);
-+#10919=ORIENTED_EDGE('',*,*,#10918,.F.);
-+#10920=EDGE_LOOP('',(#10913,#10915,#10917,#10919));
-+#10921=FACE_OUTER_BOUND('',#10920,.F.);
-+#10922=ADVANCED_FACE('',(#10921),#10912,.T.);
-+#10923=CARTESIAN_POINT('',(2.275E1,0.E0,1.35E1));
-+#10924=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10925=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10926=AXIS2_PLACEMENT_3D('',#10923,#10924,#10925);
-+#10927=CYLINDRICAL_SURFACE('',#10926,5.625E-1);
-+#10928=ORIENTED_EDGE('',*,*,#5844,.T.);
-+#10930=ORIENTED_EDGE('',*,*,#10929,.T.);
-+#10932=ORIENTED_EDGE('',*,*,#10931,.F.);
-+#10933=ORIENTED_EDGE('',*,*,#10914,.F.);
-+#10934=EDGE_LOOP('',(#10928,#10930,#10932,#10933));
-+#10935=FACE_OUTER_BOUND('',#10934,.F.);
-+#10936=ADVANCED_FACE('',(#10935),#10927,.F.);
-+#10937=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1));
-+#10938=DIRECTION('',(1.E0,0.E0,0.E0));
-+#10939=DIRECTION('',(0.E0,0.E0,1.E0));
-+#10940=AXIS2_PLACEMENT_3D('',#10937,#10938,#10939);
-+#10941=PLANE('',#10940);
-+#10942=ORIENTED_EDGE('',*,*,#5842,.T.);
-+#10944=ORIENTED_EDGE('',*,*,#10943,.T.);
-+#10946=ORIENTED_EDGE('',*,*,#10945,.F.);
-+#10947=ORIENTED_EDGE('',*,*,#10929,.F.);
-+#10948=EDGE_LOOP('',(#10942,#10944,#10946,#10947));
-+#10949=FACE_OUTER_BOUND('',#10948,.F.);
-+#10950=ADVANCED_FACE('',(#10949),#10941,.T.);
-+#10951=CARTESIAN_POINT('',(2.275E1,0.E0,1.65E1));
-+#10952=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10953=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10954=AXIS2_PLACEMENT_3D('',#10951,#10952,#10953);
-+#10955=CYLINDRICAL_SURFACE('',#10954,5.625E-1);
-+#10956=ORIENTED_EDGE('',*,*,#5840,.T.);
-+#10957=ORIENTED_EDGE('',*,*,#10918,.T.);
-+#10959=ORIENTED_EDGE('',*,*,#10958,.F.);
-+#10960=ORIENTED_EDGE('',*,*,#10943,.F.);
-+#10961=EDGE_LOOP('',(#10956,#10957,#10959,#10960));
-+#10962=FACE_OUTER_BOUND('',#10961,.F.);
-+#10963=ADVANCED_FACE('',(#10962),#10955,.F.);
-+#10964=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
-+#10965=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10966=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10967=AXIS2_PLACEMENT_3D('',#10964,#10965,#10966);
-+#10968=PLANE('',#10967);
-+#10969=ORIENTED_EDGE('',*,*,#10916,.T.);
-+#10970=ORIENTED_EDGE('',*,*,#10931,.T.);
-+#10971=ORIENTED_EDGE('',*,*,#10945,.T.);
-+#10972=ORIENTED_EDGE('',*,*,#10958,.T.);
-+#10973=EDGE_LOOP('',(#10969,#10970,#10971,#10972));
-+#10974=FACE_OUTER_BOUND('',#10973,.F.);
-+#10975=ADVANCED_FACE('',(#10974),#10968,.F.);
-+#10976=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1));
-+#10977=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10978=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#10979=AXIS2_PLACEMENT_3D('',#10976,#10977,#10978);
-+#10980=PLANE('',#10979);
-+#10981=ORIENTED_EDGE('',*,*,#5848,.T.);
-+#10983=ORIENTED_EDGE('',*,*,#10982,.T.);
-+#10985=ORIENTED_EDGE('',*,*,#10984,.F.);
-+#10987=ORIENTED_EDGE('',*,*,#10986,.F.);
-+#10988=EDGE_LOOP('',(#10981,#10983,#10985,#10987));
-+#10989=FACE_OUTER_BOUND('',#10988,.F.);
-+#10990=ADVANCED_FACE('',(#10989),#10980,.T.);
-+#10991=CARTESIAN_POINT('',(2.275E1,0.E0,1.95E1));
-+#10992=DIRECTION('',(0.E0,1.E0,0.E0));
-+#10993=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#10994=AXIS2_PLACEMENT_3D('',#10991,#10992,#10993);
-+#10995=CYLINDRICAL_SURFACE('',#10994,5.625E-1);
-+#10996=ORIENTED_EDGE('',*,*,#5854,.T.);
-+#10998=ORIENTED_EDGE('',*,*,#10997,.T.);
-+#11000=ORIENTED_EDGE('',*,*,#10999,.F.);
-+#11001=ORIENTED_EDGE('',*,*,#10982,.F.);
-+#11002=EDGE_LOOP('',(#10996,#10998,#11000,#11001));
-+#11003=FACE_OUTER_BOUND('',#11002,.F.);
-+#11004=ADVANCED_FACE('',(#11003),#10995,.F.);
-+#11005=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1));
-+#11006=DIRECTION('',(1.E0,0.E0,0.E0));
-+#11007=DIRECTION('',(0.E0,0.E0,1.E0));
-+#11008=AXIS2_PLACEMENT_3D('',#11005,#11006,#11007);
-+#11009=PLANE('',#11008);
-+#11010=ORIENTED_EDGE('',*,*,#5852,.T.);
-+#11012=ORIENTED_EDGE('',*,*,#11011,.T.);
-+#11014=ORIENTED_EDGE('',*,*,#11013,.F.);
-+#11015=ORIENTED_EDGE('',*,*,#10997,.F.);
-+#11016=EDGE_LOOP('',(#11010,#11012,#11014,#11015));
-+#11017=FACE_OUTER_BOUND('',#11016,.F.);
-+#11018=ADVANCED_FACE('',(#11017),#11009,.T.);
-+#11019=CARTESIAN_POINT('',(2.275E1,0.E0,2.25E1));
-+#11020=DIRECTION('',(0.E0,1.E0,0.E0));
-+#11021=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11022=AXIS2_PLACEMENT_3D('',#11019,#11020,#11021);
-+#11023=CYLINDRICAL_SURFACE('',#11022,5.625E-1);
-+#11024=ORIENTED_EDGE('',*,*,#5850,.T.);
-+#11025=ORIENTED_EDGE('',*,*,#10986,.T.);
-+#11027=ORIENTED_EDGE('',*,*,#11026,.F.);
-+#11028=ORIENTED_EDGE('',*,*,#11011,.F.);
-+#11029=EDGE_LOOP('',(#11024,#11025,#11027,#11028));
-+#11030=FACE_OUTER_BOUND('',#11029,.F.);
-+#11031=ADVANCED_FACE('',(#11030),#11023,.F.);
-+#11032=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
-+#11033=DIRECTION('',(0.E0,1.E0,0.E0));
-+#11034=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11035=AXIS2_PLACEMENT_3D('',#11032,#11033,#11034);
-+#11036=PLANE('',#11035);
-+#11037=ORIENTED_EDGE('',*,*,#10984,.T.);
-+#11038=ORIENTED_EDGE('',*,*,#10999,.T.);
-+#11039=ORIENTED_EDGE('',*,*,#11013,.T.);
-+#11040=ORIENTED_EDGE('',*,*,#11026,.T.);
-+#11041=EDGE_LOOP('',(#11037,#11038,#11039,#11040));
-+#11042=FACE_OUTER_BOUND('',#11041,.F.);
-+#11043=ADVANCED_FACE('',(#11042),#11036,.F.);
-+#11044=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0));
-+#11045=DIRECTION('',(0.E0,0.E0,1.E0));
-+#11046=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11047=AXIS2_PLACEMENT_3D('',#11044,#11045,#11046);
-+#11048=PLANE('',#11047);
-+#11049=ORIENTED_EDGE('',*,*,#5858,.T.);
-+#11051=ORIENTED_EDGE('',*,*,#11050,.T.);
-+#11053=ORIENTED_EDGE('',*,*,#11052,.F.);
-+#11055=ORIENTED_EDGE('',*,*,#11054,.F.);
-+#11056=EDGE_LOOP('',(#11049,#11051,#11053,#11055));
-+#11057=FACE_OUTER_BOUND('',#11056,.F.);
-+#11058=ADVANCED_FACE('',(#11057),#11048,.T.);
-+#11059=CARTESIAN_POINT('',(1.35E1,0.E0,9.E0));
-+#11060=DIRECTION('',(0.E0,1.E0,0.E0));
-+#11061=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11062=AXIS2_PLACEMENT_3D('',#11059,#11060,#11061);
-+#11063=CYLINDRICAL_SURFACE('',#11062,5.E-1);
-+#11064=ORIENTED_EDGE('',*,*,#5864,.T.);
-+#11066=ORIENTED_EDGE('',*,*,#11065,.T.);
-+#11068=ORIENTED_EDGE('',*,*,#11067,.F.);
-+#11069=ORIENTED_EDGE('',*,*,#11050,.F.);
-+#11070=EDGE_LOOP('',(#11064,#11066,#11068,#11069));
-+#11071=FACE_OUTER_BOUND('',#11070,.F.);
-+#11072=ADVANCED_FACE('',(#11071),#11063,.F.);
-+#11073=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0));
-+#11074=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#11075=DIRECTION('',(1.E0,0.E0,0.E0));
-+#11076=AXIS2_PLACEMENT_3D('',#11073,#11074,#11075);
-+#11077=PLANE('',#11076);
-+#11078=ORIENTED_EDGE('',*,*,#5862,.T.);
-+#11080=ORIENTED_EDGE('',*,*,#11079,.T.);
-+#11082=ORIENTED_EDGE('',*,*,#11081,.F.);
-+#11083=ORIENTED_EDGE('',*,*,#11065,.F.);
-+#11084=EDGE_LOOP('',(#11078,#11080,#11082,#11083));
-+#11085=FACE_OUTER_BOUND('',#11084,.F.);
-+#11086=ADVANCED_FACE('',(#11085),#11077,.T.);
-+#11087=CARTESIAN_POINT('',(1.65E1,0.E0,9.E0));
-+#11088=DIRECTION('',(0.E0,1.E0,0.E0));
-+#11089=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11090=AXIS2_PLACEMENT_3D('',#11087,#11088,#11089);
-+#11091=CYLINDRICAL_SURFACE('',#11090,5.E-1);
-+#11092=ORIENTED_EDGE('',*,*,#5860,.T.);
-+#11093=ORIENTED_EDGE('',*,*,#11054,.T.);
-+#11095=ORIENTED_EDGE('',*,*,#11094,.F.);
-+#11096=ORIENTED_EDGE('',*,*,#11079,.F.);
-+#11097=EDGE_LOOP('',(#11092,#11093,#11095,#11096));
-+#11098=FACE_OUTER_BOUND('',#11097,.F.);
-+#11099=ADVANCED_FACE('',(#11098),#11091,.F.);
-+#11100=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
-+#11101=DIRECTION('',(0.E0,1.E0,0.E0));
-+#11102=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11103=AXIS2_PLACEMENT_3D('',#11100,#11101,#11102);
-+#11104=PLANE('',#11103);
-+#11105=ORIENTED_EDGE('',*,*,#11052,.T.);
-+#11106=ORIENTED_EDGE('',*,*,#11067,.T.);
-+#11107=ORIENTED_EDGE('',*,*,#11081,.T.);
-+#11108=ORIENTED_EDGE('',*,*,#11094,.T.);
-+#11109=EDGE_LOOP('',(#11105,#11106,#11107,#11108));
-+#11110=FACE_OUTER_BOUND('',#11109,.F.);
-+#11111=ADVANCED_FACE('',(#11110),#11104,.F.);
-+#11112=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1));
-+#11113=DIRECTION('',(0.E0,0.E0,1.E0));
-+#11114=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11115=AXIS2_PLACEMENT_3D('',#11112,#11113,#11114);
-+#11116=PLANE('',#11115);
-+#11117=ORIENTED_EDGE('',*,*,#5868,.T.);
-+#11119=ORIENTED_EDGE('',*,*,#11118,.T.);
-+#11121=ORIENTED_EDGE('',*,*,#11120,.F.);
-+#11123=ORIENTED_EDGE('',*,*,#11122,.F.);
-+#11124=EDGE_LOOP('',(#11117,#11119,#11121,#11123));
-+#11125=FACE_OUTER_BOUND('',#11124,.F.);
-+#11126=ADVANCED_FACE('',(#11125),#11116,.T.);
-+#11127=CARTESIAN_POINT('',(1.35E1,0.E0,1.8E1));
-+#11128=DIRECTION('',(0.E0,1.E0,0.E0));
-+#11129=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11130=AXIS2_PLACEMENT_3D('',#11127,#11128,#11129);
-+#11131=CYLINDRICAL_SURFACE('',#11130,4.375E-1);
-+#11132=ORIENTED_EDGE('',*,*,#5874,.T.);
-+#11134=ORIENTED_EDGE('',*,*,#11133,.T.);
-+#11136=ORIENTED_EDGE('',*,*,#11135,.F.);
-+#11137=ORIENTED_EDGE('',*,*,#11118,.F.);
-+#11138=EDGE_LOOP('',(#11132,#11134,#11136,#11137));
-+#11139=FACE_OUTER_BOUND('',#11138,.F.);
-+#11140=ADVANCED_FACE('',(#11139),#11131,.F.);
-+#11141=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1));
-+#11142=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#11143=DIRECTION('',(1.E0,0.E0,0.E0));
-+#11144=AXIS2_PLACEMENT_3D('',#11141,#11142,#11143);
-+#11145=PLANE('',#11144);
-+#11146=ORIENTED_EDGE('',*,*,#5872,.T.);
-+#11148=ORIENTED_EDGE('',*,*,#11147,.T.);
-+#11150=ORIENTED_EDGE('',*,*,#11149,.F.);
-+#11151=ORIENTED_EDGE('',*,*,#11133,.F.);
-+#11152=EDGE_LOOP('',(#11146,#11148,#11150,#11151));
-+#11153=FACE_OUTER_BOUND('',#11152,.F.);
-+#11154=ADVANCED_FACE('',(#11153),#11145,.T.);
-+#11155=CARTESIAN_POINT('',(1.65E1,0.E0,1.8E1));
-+#11156=DIRECTION('',(0.E0,1.E0,0.E0));
-+#11157=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11158=AXIS2_PLACEMENT_3D('',#11155,#11156,#11157);
-+#11159=CYLINDRICAL_SURFACE('',#11158,4.375E-1);
-+#11160=ORIENTED_EDGE('',*,*,#5870,.T.);
-+#11161=ORIENTED_EDGE('',*,*,#11122,.T.);
-+#11163=ORIENTED_EDGE('',*,*,#11162,.F.);
-+#11164=ORIENTED_EDGE('',*,*,#11147,.F.);
-+#11165=EDGE_LOOP('',(#11160,#11161,#11163,#11164));
-+#11166=FACE_OUTER_BOUND('',#11165,.F.);
-+#11167=ADVANCED_FACE('',(#11166),#11159,.F.);
-+#11168=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
-+#11169=DIRECTION('',(0.E0,1.E0,0.E0));
-+#11170=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11171=AXIS2_PLACEMENT_3D('',#11168,#11169,#11170);
-+#11172=PLANE('',#11171);
-+#11173=ORIENTED_EDGE('',*,*,#11120,.T.);
-+#11174=ORIENTED_EDGE('',*,*,#11135,.T.);
-+#11175=ORIENTED_EDGE('',*,*,#11149,.T.);
-+#11176=ORIENTED_EDGE('',*,*,#11162,.T.);
-+#11177=EDGE_LOOP('',(#11173,#11174,#11175,#11176));
-+#11178=FACE_OUTER_BOUND('',#11177,.F.);
-+#11179=ADVANCED_FACE('',(#11178),#11172,.F.);
-+#11180=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1));
-+#11181=DIRECTION('',(0.E0,0.E0,1.E0));
-+#11182=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11183=AXIS2_PLACEMENT_3D('',#11180,#11181,#11182);
-+#11184=PLANE('',#11183);
-+#11185=ORIENTED_EDGE('',*,*,#5878,.F.);
-+#11187=ORIENTED_EDGE('',*,*,#11186,.T.);
-+#11189=ORIENTED_EDGE('',*,*,#11188,.T.);
-+#11191=ORIENTED_EDGE('',*,*,#11190,.F.);
-+#11192=EDGE_LOOP('',(#11185,#11187,#11189,#11191));
-+#11193=FACE_OUTER_BOUND('',#11192,.F.);
-+#11194=ADVANCED_FACE('',(#11193),#11184,.F.);
-+#11195=CARTESIAN_POINT('',(1.65E1,0.E0,3.075E1));
-+#11196=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#11197=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11198=AXIS2_PLACEMENT_3D('',#11195,#11196,#11197);
-+#11199=CYLINDRICAL_SURFACE('',#11198,5.625E-1);
-+#11200=ORIENTED_EDGE('',*,*,#5884,.F.);
-+#11202=ORIENTED_EDGE('',*,*,#11201,.T.);
-+#11204=ORIENTED_EDGE('',*,*,#11203,.T.);
-+#11205=ORIENTED_EDGE('',*,*,#11186,.F.);
-+#11206=EDGE_LOOP('',(#11200,#11202,#11204,#11205));
-+#11207=FACE_OUTER_BOUND('',#11206,.F.);
-+#11208=ADVANCED_FACE('',(#11207),#11199,.F.);
-+#11209=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1));
-+#11210=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#11211=DIRECTION('',(1.E0,0.E0,0.E0));
-+#11212=AXIS2_PLACEMENT_3D('',#11209,#11210,#11211);
-+#11213=PLANE('',#11212);
-+#11214=ORIENTED_EDGE('',*,*,#5882,.F.);
-+#11216=ORIENTED_EDGE('',*,*,#11215,.T.);
-+#11218=ORIENTED_EDGE('',*,*,#11217,.T.);
-+#11219=ORIENTED_EDGE('',*,*,#11201,.F.);
-+#11220=EDGE_LOOP('',(#11214,#11216,#11218,#11219));
-+#11221=FACE_OUTER_BOUND('',#11220,.F.);
-+#11222=ADVANCED_FACE('',(#11221),#11213,.F.);
-+#11223=CARTESIAN_POINT('',(1.35E1,0.E0,3.075E1));
-+#11224=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#11225=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11226=AXIS2_PLACEMENT_3D('',#11223,#11224,#11225);
-+#11227=CYLINDRICAL_SURFACE('',#11226,5.625E-1);
-+#11228=ORIENTED_EDGE('',*,*,#5880,.F.);
-+#11229=ORIENTED_EDGE('',*,*,#11190,.T.);
-+#11231=ORIENTED_EDGE('',*,*,#11230,.T.);
-+#11232=ORIENTED_EDGE('',*,*,#11215,.F.);
-+#11233=EDGE_LOOP('',(#11228,#11229,#11231,#11232));
-+#11234=FACE_OUTER_BOUND('',#11233,.F.);
-+#11235=ADVANCED_FACE('',(#11234),#11227,.F.);
-+#11236=CARTESIAN_POINT('',(2.4E1,6.875E-1,3.2E1));
-+#11237=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#11238=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11239=AXIS2_PLACEMENT_3D('',#11236,#11237,#11238);
-+#11240=PLANE('',#11239);
-+#11241=ORIENTED_EDGE('',*,*,#11188,.F.);
-+#11242=ORIENTED_EDGE('',*,*,#11203,.F.);
-+#11243=ORIENTED_EDGE('',*,*,#11217,.F.);
-+#11244=ORIENTED_EDGE('',*,*,#11230,.F.);
-+#11245=EDGE_LOOP('',(#11241,#11242,#11243,#11244));
-+#11246=FACE_OUTER_BOUND('',#11245,.F.);
-+#11247=ADVANCED_FACE('',(#11246),#11240,.T.);
-+#11248=CARTESIAN_POINT('',(2.4E1,6.875E-1,3.2E1));
-+#11249=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#11250=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11251=AXIS2_PLACEMENT_3D('',#11248,#11249,#11250);
-+#11252=PLANE('',#11251);
-+#11254=ORIENTED_EDGE('',*,*,#11253,.F.);
-+#11256=ORIENTED_EDGE('',*,*,#11255,.F.);
-+#11258=ORIENTED_EDGE('',*,*,#11257,.F.);
-+#11260=ORIENTED_EDGE('',*,*,#11259,.F.);
-+#11262=ORIENTED_EDGE('',*,*,#11261,.F.);
-+#11263=EDGE_LOOP('',(#11254,#11256,#11258,#11260,#11262));
-+#11264=FACE_OUTER_BOUND('',#11263,.F.);
-+#11265=ADVANCED_FACE('',(#11264),#11252,.T.);
-+#11266=CARTESIAN_POINT('',(2.254426323641E1,-6.892397422826E-2,
-+2.742280476768E1));
-+#11267=DIRECTION('',(0.E0,1.E0,0.E0));
-+#11268=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
-+#11269=AXIS2_PLACEMENT_3D('',#11266,#11267,#11268);
-+#11270=CYLINDRICAL_SURFACE('',#11269,7.5E-1);
-+#11272=ORIENTED_EDGE('',*,*,#11271,.F.);
-+#11273=ORIENTED_EDGE('',*,*,#5944,.T.);
-+#11275=ORIENTED_EDGE('',*,*,#11274,.T.);
-+#11276=ORIENTED_EDGE('',*,*,#11253,.T.);
-+#11277=EDGE_LOOP('',(#11272,#11273,#11275,#11276));
-+#11278=FACE_OUTER_BOUND('',#11277,.F.);
-+#11279=ADVANCED_FACE('',(#11278),#11270,.F.);
-+#11280=CARTESIAN_POINT('',(2.33125E1,0.E0,2.771522817587E1));
-+#11281=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1));
-+#11282=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1));
-+#11283=AXIS2_PLACEMENT_3D('',#11280,#11281,#11282);
-+#11284=PLANE('',#11283);
-+#11285=ORIENTED_EDGE('',*,*,#11271,.T.);
-+#11286=ORIENTED_EDGE('',*,*,#11261,.T.);
-+#11288=ORIENTED_EDGE('',*,*,#11287,.F.);
-+#11289=ORIENTED_EDGE('',*,*,#5946,.F.);
-+#11290=EDGE_LOOP('',(#11285,#11286,#11288,#11289));
-+#11291=FACE_OUTER_BOUND('',#11290,.F.);
-+#11292=ADVANCED_FACE('',(#11291),#11284,.F.);
-+#11293=CARTESIAN_POINT('',(1.944696065761E1,0.E0,3.035464591145E1));
-+#11294=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#11295=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11296=AXIS2_PLACEMENT_3D('',#11293,#11294,#11295);
-+#11297=CYLINDRICAL_SURFACE('',#11296,8.669989027347E-1);
-+#11298=ORIENTED_EDGE('',*,*,#5948,.F.);
-+#11299=ORIENTED_EDGE('',*,*,#11287,.T.);
-+#11300=ORIENTED_EDGE('',*,*,#11259,.T.);
-+#11302=ORIENTED_EDGE('',*,*,#11301,.F.);
-+#11303=EDGE_LOOP('',(#11298,#11299,#11300,#11302));
-+#11304=FACE_OUTER_BOUND('',#11303,.F.);
-+#11305=ADVANCED_FACE('',(#11304),#11297,.F.);
-+#11306=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1));
-+#11307=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#11308=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11309=AXIS2_PLACEMENT_3D('',#11306,#11307,#11308);
-+#11310=CYLINDRICAL_SURFACE('',#11309,5.6875E0);
-+#11311=ORIENTED_EDGE('',*,*,#5950,.T.);
-+#11312=ORIENTED_EDGE('',*,*,#11301,.T.);
-+#11313=ORIENTED_EDGE('',*,*,#11257,.T.);
-+#11315=ORIENTED_EDGE('',*,*,#11314,.F.);
-+#11316=EDGE_LOOP('',(#11311,#11312,#11313,#11315));
-+#11317=FACE_OUTER_BOUND('',#11316,.F.);
-+#11318=ADVANCED_FACE('',(#11317),#11310,.T.);
-+#11319=CARTESIAN_POINT('',(2.239E1,0.E0,2.75E1));
-+#11320=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#11321=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11322=AXIS2_PLACEMENT_3D('',#11319,#11320,#11321);
-+#11323=CYLINDRICAL_SURFACE('',#11322,9.225E-1);
-+#11324=ORIENTED_EDGE('',*,*,#11274,.F.);
-+#11325=ORIENTED_EDGE('',*,*,#5942,.F.);
-+#11326=ORIENTED_EDGE('',*,*,#11314,.T.);
-+#11327=ORIENTED_EDGE('',*,*,#11255,.T.);
-+#11328=EDGE_LOOP('',(#11324,#11325,#11326,#11327));
-+#11329=FACE_OUTER_BOUND('',#11328,.F.);
-+#11330=ADVANCED_FACE('',(#11329),#11323,.F.);
-+#11331=CARTESIAN_POINT('',(2.13075E1,-6.892397422826E-2,7.81E0));
-+#11332=DIRECTION('',(0.E0,1.E0,0.E0));
-+#11333=DIRECTION('',(0.E0,0.E0,1.E0));
-+#11334=AXIS2_PLACEMENT_3D('',#11331,#11332,#11333);
-+#11335=CYLINDRICAL_SURFACE('',#11334,8.8E-1);
-+#11337=ORIENTED_EDGE('',*,*,#11336,.T.);
-+#11339=ORIENTED_EDGE('',*,*,#11338,.T.);
-+#11341=ORIENTED_EDGE('',*,*,#11340,.F.);
-+#11342=ORIENTED_EDGE('',*,*,#5888,.T.);
-+#11343=EDGE_LOOP('',(#11337,#11339,#11341,#11342));
-+#11344=FACE_OUTER_BOUND('',#11343,.F.);
-+#11345=ADVANCED_FACE('',(#11344),#11335,.T.);
-+#11346=CARTESIAN_POINT('',(2.21875E1,0.E0,8.69E0));
-+#11347=DIRECTION('',(0.E0,0.E0,1.E0));
-+#11348=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11349=AXIS2_PLACEMENT_3D('',#11346,#11347,#11348);
-+#11350=PLANE('',#11349);
-+#11351=ORIENTED_EDGE('',*,*,#11336,.F.);
-+#11352=ORIENTED_EDGE('',*,*,#5914,.T.);
-+#11354=ORIENTED_EDGE('',*,*,#11353,.F.);
-+#11356=ORIENTED_EDGE('',*,*,#11355,.F.);
-+#11357=EDGE_LOOP('',(#11351,#11352,#11354,#11356));
-+#11358=FACE_OUTER_BOUND('',#11357,.F.);
-+#11359=ADVANCED_FACE('',(#11358),#11350,.T.);
-+#11360=CARTESIAN_POINT('',(2.05675E1,7.463919417831E-1,9.57E0));
-+#11361=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#11362=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11363=AXIS2_PLACEMENT_3D('',#11360,#11361,#11362);
-+#11364=CYLINDRICAL_SURFACE('',#11363,8.8E-1);
-+#11366=ORIENTED_EDGE('',*,*,#11365,.F.);
-+#11368=ORIENTED_EDGE('',*,*,#11367,.T.);
-+#11369=ORIENTED_EDGE('',*,*,#11353,.T.);
-+#11370=ORIENTED_EDGE('',*,*,#5912,.T.);
-+#11371=EDGE_LOOP('',(#11366,#11368,#11369,#11370));
-+#11372=FACE_OUTER_BOUND('',#11371,.F.);
-+#11373=ADVANCED_FACE('',(#11372),#11364,.F.);
-+#11374=CARTESIAN_POINT('',(1.96875E1,0.E0,8.69E0));
-+#11375=DIRECTION('',(1.E0,0.E0,0.E0));
-+#11376=DIRECTION('',(0.E0,0.E0,1.E0));
-+#11377=AXIS2_PLACEMENT_3D('',#11374,#11375,#11376);
-+#11378=PLANE('',#11377);
-+#11379=ORIENTED_EDGE('',*,*,#11365,.T.);
-+#11380=ORIENTED_EDGE('',*,*,#5910,.T.);
-+#11382=ORIENTED_EDGE('',*,*,#11381,.F.);
-+#11384=ORIENTED_EDGE('',*,*,#11383,.F.);
-+#11385=EDGE_LOOP('',(#11379,#11380,#11382,#11384));
-+#11386=FACE_OUTER_BOUND('',#11385,.F.);
-+#11387=ADVANCED_FACE('',(#11386),#11378,.T.);
-+#11388=CARTESIAN_POINT('',(2.05675E1,7.463919417831E-1,1.037E1));
-+#11389=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#11390=DIRECTION('',(0.E0,0.E0,1.E0));
-+#11391=AXIS2_PLACEMENT_3D('',#11388,#11389,#11390);
-+#11392=CYLINDRICAL_SURFACE('',#11391,8.8E-1);
-+#11394=ORIENTED_EDGE('',*,*,#11393,.F.);
-+#11396=ORIENTED_EDGE('',*,*,#11395,.T.);
-+#11397=ORIENTED_EDGE('',*,*,#11381,.T.);
-+#11398=ORIENTED_EDGE('',*,*,#5908,.T.);
-+#11399=EDGE_LOOP('',(#11394,#11396,#11397,#11398));
-+#11400=FACE_OUTER_BOUND('',#11399,.F.);
-+#11401=ADVANCED_FACE('',(#11400),#11392,.F.);
-+#11402=CARTESIAN_POINT('',(1.96875E1,0.E0,1.125E1));
-+#11403=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#11404=DIRECTION('',(1.E0,0.E0,0.E0));
-+#11405=AXIS2_PLACEMENT_3D('',#11402,#11403,#11404);
-+#11406=PLANE('',#11405);
-+#11407=ORIENTED_EDGE('',*,*,#11393,.T.);
-+#11408=ORIENTED_EDGE('',*,*,#5906,.T.);
-+#11410=ORIENTED_EDGE('',*,*,#11409,.F.);
-+#11412=ORIENTED_EDGE('',*,*,#11411,.F.);
-+#11413=EDGE_LOOP('',(#11407,#11408,#11410,#11412));
-+#11414=FACE_OUTER_BOUND('',#11413,.F.);
-+#11415=ADVANCED_FACE('',(#11414),#11406,.T.);
-+#11416=CARTESIAN_POINT('',(2.44325E1,7.463919417831E-1,1.037E1));
-+#11417=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#11418=DIRECTION('',(1.E0,0.E0,0.E0));
-+#11419=AXIS2_PLACEMENT_3D('',#11416,#11417,#11418);
-+#11420=CYLINDRICAL_SURFACE('',#11419,8.8E-1);
-+#11422=ORIENTED_EDGE('',*,*,#11421,.F.);
-+#11424=ORIENTED_EDGE('',*,*,#11423,.T.);
-+#11425=ORIENTED_EDGE('',*,*,#11409,.T.);
-+#11426=ORIENTED_EDGE('',*,*,#5904,.T.);
-+#11427=EDGE_LOOP('',(#11422,#11424,#11425,#11426));
-+#11428=FACE_OUTER_BOUND('',#11427,.F.);
-+#11429=ADVANCED_FACE('',(#11428),#11420,.F.);
-+#11430=CARTESIAN_POINT('',(2.53125E1,0.E0,1.125E1));
-+#11431=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11432=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#11433=AXIS2_PLACEMENT_3D('',#11430,#11431,#11432);
-+#11434=PLANE('',#11433);
-+#11436=ORIENTED_EDGE('',*,*,#11435,.F.);
-+#11438=ORIENTED_EDGE('',*,*,#11437,.F.);
-+#11439=ORIENTED_EDGE('',*,*,#11421,.T.);
-+#11440=ORIENTED_EDGE('',*,*,#5902,.T.);
-+#11441=EDGE_LOOP('',(#11436,#11438,#11439,#11440));
-+#11442=FACE_OUTER_BOUND('',#11441,.F.);
-+#11443=ADVANCED_FACE('',(#11442),#11434,.T.);
-+#11444=CARTESIAN_POINT('',(2.44325E1,7.463919417831E-1,9.57E0));
-+#11445=DIRECTION('',(0.E0,-1.E0,0.E0));
-+#11446=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#11447=AXIS2_PLACEMENT_3D('',#11444,#11445,#11446);
-+#11448=CYLINDRICAL_SURFACE('',#11447,8.8E-1);
-+#11450=ORIENTED_EDGE('',*,*,#11449,.F.);
-+#11452=ORIENTED_EDGE('',*,*,#11451,.T.);
-+#11453=ORIENTED_EDGE('',*,*,#11435,.T.);
-+#11454=ORIENTED_EDGE('',*,*,#5900,.T.);
-+#11455=EDGE_LOOP('',(#11450,#11452,#11453,#11454));
-+#11456=FACE_OUTER_BOUND('',#11455,.F.);
-+#11457=ADVANCED_FACE('',(#11456),#11448,.F.);
-+#11458=CARTESIAN_POINT('',(2.53125E1,0.E0,8.69E0));
-+#11459=DIRECTION('',(0.E0,0.E0,1.E0));
-+#11460=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11461=AXIS2_PLACEMENT_3D('',#11458,#11459,#11460);
-+#11462=PLANE('',#11461);
-+#11464=ORIENTED_EDGE('',*,*,#11463,.T.);
-+#11466=ORIENTED_EDGE('',*,*,#11465,.F.);
-+#11467=ORIENTED_EDGE('',*,*,#11449,.T.);
-+#11468=ORIENTED_EDGE('',*,*,#5898,.T.);
-+#11469=EDGE_LOOP('',(#11464,#11466,#11467,#11468));
-+#11470=FACE_OUTER_BOUND('',#11469,.F.);
-+#11471=ADVANCED_FACE('',(#11470),#11462,.T.);
-+#11472=CARTESIAN_POINT('',(2.419E1,-6.892397422826E-2,7.81E0));
-+#11473=DIRECTION('',(0.E0,1.E0,0.E0));
-+#11474=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11475=AXIS2_PLACEMENT_3D('',#11472,#11473,#11474);
-+#11476=CYLINDRICAL_SURFACE('',#11475,8.8E-1);
-+#11478=ORIENTED_EDGE('',*,*,#11477,.T.);
-+#11480=ORIENTED_EDGE('',*,*,#11479,.T.);
-+#11481=ORIENTED_EDGE('',*,*,#11463,.F.);
-+#11482=ORIENTED_EDGE('',*,*,#5896,.T.);
-+#11483=EDGE_LOOP('',(#11478,#11480,#11481,#11482));
-+#11484=FACE_OUTER_BOUND('',#11483,.F.);
-+#11485=ADVANCED_FACE('',(#11484),#11476,.T.);
-+#11486=CARTESIAN_POINT('',(2.331E1,0.E0,8.69E0));
-+#11487=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11488=DIRECTION('',(0.E0,0.E0,-1.E0));
-+#11489=AXIS2_PLACEMENT_3D('',#11486,#11487,#11488);
-+#11490=PLANE('',#11489);
-+#11491=ORIENTED_EDGE('',*,*,#11477,.F.);
-+#11492=ORIENTED_EDGE('',*,*,#5894,.T.);
-+#11494=ORIENTED_EDGE('',*,*,#11493,.T.);
-+#11496=ORIENTED_EDGE('',*,*,#11495,.F.);
-+#11497=EDGE_LOOP('',(#11491,#11492,#11494,#11496));
-+#11498=FACE_OUTER_BOUND('',#11497,.F.);
-+#11499=ADVANCED_FACE('',(#11498),#11490,.T.);
-+#11500=CARTESIAN_POINT('',(2.274875E1,0.E0,7.5E0));
-+#11501=DIRECTION('',(0.E0,1.E0,0.E0));
-+#11502=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11503=AXIS2_PLACEMENT_3D('',#11500,#11501,#11502);
-+#11504=CYLINDRICAL_SURFACE('',#11503,5.6125E-1);
-+#11505=ORIENTED_EDGE('',*,*,#5892,.T.);
-+#11507=ORIENTED_EDGE('',*,*,#11506,.T.);
-+#11509=ORIENTED_EDGE('',*,*,#11508,.F.);
-+#11510=ORIENTED_EDGE('',*,*,#11493,.F.);
-+#11511=EDGE_LOOP('',(#11505,#11507,#11509,#11510));
-+#11512=FACE_OUTER_BOUND('',#11511,.F.);
-+#11513=ADVANCED_FACE('',(#11512),#11504,.F.);
-+#11514=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0));
-+#11515=DIRECTION('',(1.E0,0.E0,0.E0));
-+#11516=DIRECTION('',(0.E0,0.E0,1.E0));
-+#11517=AXIS2_PLACEMENT_3D('',#11514,#11515,#11516);
-+#11518=PLANE('',#11517);
-+#11519=ORIENTED_EDGE('',*,*,#11340,.T.);
-+#11521=ORIENTED_EDGE('',*,*,#11520,.F.);
-+#11522=ORIENTED_EDGE('',*,*,#11506,.F.);
-+#11523=ORIENTED_EDGE('',*,*,#5890,.T.);
-+#11524=EDGE_LOOP('',(#11519,#11521,#11522,#11523));
-+#11525=FACE_OUTER_BOUND('',#11524,.F.);
-+#11526=ADVANCED_FACE('',(#11525),#11518,.T.);
-+#11527=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0));
-+#11528=DIRECTION('',(0.E0,1.E0,0.E0));
-+#11529=DIRECTION('',(-1.E0,0.E0,0.E0));
-+#11530=AXIS2_PLACEMENT_3D('',#11527,#11528,#11529);
-+#11531=PLANE('',#11530);
-+#11532=ORIENTED_EDGE('',*,*,#11465,.T.);
-+#11533=ORIENTED_EDGE('',*,*,#11479,.F.);
-+#11534=ORIENTED_EDGE('',*,*,#11495,.T.);
-+#11535=ORIENTED_EDGE('',*,*,#11508,.T.);
-+#11536=ORIENTED_EDGE('',*,*,#11520,.T.);
-+#11537=ORIENTED_EDGE('',*,*,#11338,.F.);
-+#11538=ORIENTED_EDGE('',*,*,#11355,.T.);
-+#11539=ORIENTED_EDGE('',*,*,#11367,.F.);
-+#11540=ORIENTED_EDGE('',*,*,#11383,.T.);
-+#11541=ORIENTED_EDGE('',*,*,#11395,.F.);
-+#11542=ORIENTED_EDGE('',*,*,#11411,.T.);
-+#11543=ORIENTED_EDGE('',*,*,#11423,.F.);
-+#11544=ORIENTED_EDGE('',*,*,#11437,.T.);
-+#11545=ORIENTED_EDGE('',*,*,#11451,.F.);
-+#11546=EDGE_LOOP('',(#11532,#11533,#11534,#11535,#11536,#11537,#11538,#11539,
-+#11540,#11541,#11542,#11543,#11544,#11545));
-+#11547=FACE_OUTER_BOUND('',#11546,.F.);
-+#11548=ADVANCED_FACE('',(#11547),#11531,.F.);
-+#11549=CLOSED_SHELL('',(#5954,#6079,#6094,#6107,#6117,#6132,#6145,#6201,#6214,
-+#6278,#6488,#6503,#6516,#6529,#6540,#6555,#6568,#6581,#6592,#6605,#6618,#6631,
-+#6644,#6656,#6669,#6683,#6696,#6709,#6723,#6736,#6749,#6763,#6776,#6789,#6802,
-+#6815,#6828,#6842,#6855,#6868,#6880,#6893,#6906,#6918,#6931,#6945,#6958,#6971,
-+#6984,#6998,#7011,#7024,#7036,#7048,#7061,#7074,#7086,#7099,#7114,#7127,#7152,
-+#7166,#7178,#7191,#7204,#7217,#7230,#7244,#7256,#7311,#7325,#7337,#7349,#7368,
-+#7379,#7394,#7407,#7423,#7437,#7449,#7465,#7477,#7490,#7514,#7529,#7542,#7552,
-+#7567,#7580,#7590,#7605,#7619,#7649,#7662,#7675,#7688,#7701,#7714,#7727,#7740,
-+#7753,#7766,#7778,#7790,#7805,#7818,#7828,#7843,#7856,#7866,#7881,#7894,#7907,
-+#7918,#7933,#7946,#7959,#7970,#7985,#7998,#8014,#8028,#8040,#8055,#8068,#8084,
-+#8098,#8110,#8125,#8138,#8154,#8168,#8180,#8195,#8208,#8224,#8238,#8250,#8265,
-+#8278,#8294,#8308,#8320,#8335,#8348,#8364,#8378,#8390,#8405,#8418,#8434,#8448,
-+#8460,#8475,#8488,#8504,#8518,#8530,#8545,#8558,#8574,#8588,#8600,#8615,#8628,
-+#8644,#8658,#8670,#8685,#8698,#8714,#8728,#8740,#8755,#8768,#8784,#8798,#8810,
-+#8825,#8838,#8854,#8868,#8880,#8895,#8908,#8924,#8938,#8950,#8965,#8978,#8994,
-+#9008,#9020,#9035,#9048,#9064,#9078,#9090,#9105,#9118,#9134,#9148,#9160,#9175,
-+#9188,#9204,#9218,#9230,#9242,#9260,#9275,#9288,#9304,#9318,#9330,#9345,#9359,
-+#9373,#9387,#9401,#9415,#9429,#9443,#9457,#9471,#9485,#9498,#9518,#9533,#9546,
-+#9556,#9571,#9584,#9594,#9609,#9622,#9632,#9647,#9660,#9670,#9685,#9698,#9708,
-+#9723,#9737,#9751,#9765,#9779,#9793,#9807,#9820,#9836,#9851,#9865,#9887,#9901,
-+#9913,#9926,#9939,#9952,#9964,#9979,#9993,#10007,#10020,#10032,#10050,#10064,
-+#10077,#10090,#10103,#10115,#10130,#10144,#10178,#10192,#10205,#10218,#10230,
-+#10243,#10256,#10269,#10282,#10295,#10308,#10321,#10333,#10348,#10362,#10376,
-+#10389,#10401,#10416,#10430,#10444,#10457,#10469,#10484,#10498,#10512,#10525,
-+#10537,#10552,#10566,#10580,#10593,#10605,#10620,#10634,#10648,#10661,#10673,
-+#10691,#10705,#10718,#10731,#10744,#10756,#10771,#10785,#10799,#10812,#10824,
-+#10842,#10856,#10869,#10882,#10895,#10907,#10922,#10936,#10950,#10963,#10975,
-+#10990,#11004,#11018,#11031,#11043,#11058,#11072,#11086,#11099,#11111,#11126,
-+#11140,#11154,#11167,#11179,#11194,#11208,#11222,#11235,#11247,#11265,#11279,
-+#11292,#11305,#11318,#11330,#11345,#11359,#11373,#11387,#11401,#11415,#11429,
-+#11443,#11457,#11471,#11485,#11499,#11513,#11526,#11548));
-+#11550=MANIFOLD_SOLID_BREP('',#11549);
-+#11551=DIMENSIONAL_EXPONENTS(1.E0,0.E0,0.E0,0.E0,0.E0,0.E0,0.E0);
-+#11552=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
-+#11553=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.54E1),#11552);
-+#11554=(CONVERSION_BASED_UNIT('INCH',#11553)LENGTH_UNIT()NAMED_UNIT(#11551));
-+#11555=DIMENSIONAL_EXPONENTS(0.E0,0.E0,0.E0,0.E0,0.E0,0.E0,0.E0);
-+#11556=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
-+#11557=PLANE_ANGLE_MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(1.745329251994E-2),
-+#11556);
-+#11558=(CONVERSION_BASED_UNIT('DEGREE',#11557)NAMED_UNIT(#11555)PLANE_ANGLE_UNIT());
-+#11559=(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
-+#11560=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(4.404650704771E-3),#11554,
-+'closure',
-+'Maximum model space distance between geometric entities at asserted connectivities');
-+#11561=(GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((
-+#11560))GLOBAL_UNIT_ASSIGNED_CONTEXT((#11554,#11558,#11559))REPRESENTATION_CONTEXT('ID1','3'));
-+#11563=APPLICATION_CONTEXT(
-+'CONFIGURATION CONTROLLED 3D DESIGNS OF MECHANICAL PARTS AND ASSEMBLIES');
-+#11564=APPLICATION_PROTOCOL_DEFINITION('international standard',
-+'config_control_design',1994,#11563);
-+#11565=DESIGN_CONTEXT('',#11563,'design');
-+#11566=MECHANICAL_CONTEXT('',#11563,'mechanical');
-+#11567=PRODUCT('PROESOURCE','PROESOURCE','NOT SPECIFIED',(#11566));
-+#11568=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('1','LAST_VERSION',
-+#11567,.MADE.);
-+#11572=PRODUCT_CATEGORY('part','');
-+#11573=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','',(#11567));
-+#11574=PRODUCT_CATEGORY_RELATIONSHIP('','',#11572,#11573);
-+#11575=SECURITY_CLASSIFICATION_LEVEL('unclassified');
-+#11576=SECURITY_CLASSIFICATION('','',#11575);
-+#11577=CC_DESIGN_SECURITY_CLASSIFICATION(#11576,(#11568));
-+#11578=APPROVAL_STATUS('approved');
-+#11579=APPROVAL(#11578,'');
-+#11580=CC_DESIGN_APPROVAL(#11579,(#11576,#11568,#11569));
-+#11581=CALENDAR_DATE(102,4,11);
-+#11582=COORDINATED_UNIVERSAL_TIME_OFFSET(5,0,.BEHIND.);
-+#11583=LOCAL_TIME(14,0,4.8E1,#11582);
-+#11584=DATE_AND_TIME(#11581,#11583);
-+#11585=APPROVAL_DATE_TIME(#11584,#11579);
-+#11586=DATE_TIME_ROLE('creation_date');
-+#11587=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#11584,#11586,(#11569));
-+#11588=DATE_TIME_ROLE('classification_date');
-+#11589=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#11584,#11588,(#11576));
-+#11590=PERSON('UNSPECIFIED','UNSPECIFIED',$,$,$,$);
-+#11591=ORGANIZATION('UNSPECIFIED','UNSPECIFIED','UNSPECIFIED');
-+#11592=PERSON_AND_ORGANIZATION(#11590,#11591);
-+#11593=APPROVAL_ROLE('approver');
-+#11594=APPROVAL_PERSON_ORGANIZATION(#11592,#11579,#11593);
-+#11595=PERSON_AND_ORGANIZATION_ROLE('creator');
-+#11596=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11595,(#11568,
-+#11569));
-+#11597=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
-+#11598=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11597,(#11568));
-+#11599=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
-+#11600=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11599,(#11576));
-+#11601=PERSON_AND_ORGANIZATION_ROLE('design_owner');
-+#11602=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11601,(#11567));
-+#13=CIRCLE('',#12,1.925E-1);
-+#18=CIRCLE('',#17,1.925E-1);
-+#23=CIRCLE('',#22,1.925E-1);
-+#28=CIRCLE('',#27,1.925E-1);
-+#33=CIRCLE('',#32,1.925E-1);
-+#38=CIRCLE('',#37,1.925E-1);
-+#43=CIRCLE('',#42,1.925E-1);
-+#48=CIRCLE('',#47,1.925E-1);
-+#53=CIRCLE('',#52,1.925E-1);
-+#58=CIRCLE('',#57,1.925E-1);
-+#63=CIRCLE('',#62,1.925E-1);
-+#68=CIRCLE('',#67,1.925E-1);
-+#73=CIRCLE('',#72,1.925E-1);
-+#78=CIRCLE('',#77,1.925E-1);
-+#83=CIRCLE('',#82,1.925E-1);
-+#88=CIRCLE('',#87,1.925E-1);
-+#93=CIRCLE('',#92,1.925E-1);
-+#98=CIRCLE('',#97,1.925E-1);
-+#103=CIRCLE('',#102,1.925E-1);
-+#108=CIRCLE('',#107,1.925E-1);
-+#113=CIRCLE('',#112,1.925E-1);
-+#118=CIRCLE('',#117,1.925E-1);
-+#123=CIRCLE('',#122,1.925E-1);
-+#128=CIRCLE('',#127,1.925E-1);
-+#181=CIRCLE('',#180,1.925E-1);
-+#186=CIRCLE('',#185,1.925E-1);
-+#191=CIRCLE('',#190,1.925E-1);
-+#196=CIRCLE('',#195,1.925E-1);
-+#249=CIRCLE('',#248,1.925E-1);
-+#254=CIRCLE('',#253,1.925E-1);
-+#259=CIRCLE('',#258,1.925E-1);
-+#264=CIRCLE('',#263,1.925E-1);
-+#269=CIRCLE('',#268,1.925E-1);
-+#274=CIRCLE('',#273,1.925E-1);
-+#279=CIRCLE('',#278,1.925E-1);
-+#284=CIRCLE('',#283,1.925E-1);
-+#289=CIRCLE('',#288,1.925E-1);
-+#294=CIRCLE('',#293,1.925E-1);
-+#299=CIRCLE('',#298,1.925E-1);
-+#304=CIRCLE('',#303,1.925E-1);
-+#313=CIRCLE('',#312,5.625E-1);
-+#322=CIRCLE('',#321,5.625E-1);
-+#327=CIRCLE('',#326,9.225E-1);
-+#336=CIRCLE('',#335,8.669989027347E-1);
-+#341=CIRCLE('',#340,5.6875E0);
-+#350=CIRCLE('',#349,5.6125E-1);
-+#383=CIRCLE('',#382,5.625E-1);
-+#392=CIRCLE('',#391,5.625E-1);
-+#401=CIRCLE('',#400,5.625E-1);
-+#410=CIRCLE('',#409,5.625E-1);
-+#419=CIRCLE('',#418,5.E-1);
-+#428=CIRCLE('',#427,5.E-1);
-+#437=CIRCLE('',#436,4.375E-1);
-+#446=CIRCLE('',#445,4.375E-1);
-+#455=CIRCLE('',#454,5.625E-1);
-+#464=CIRCLE('',#463,5.625E-1);
-+#473=CIRCLE('',#472,5.625E-1);
-+#482=CIRCLE('',#481,5.625E-1);
-+#491=CIRCLE('',#490,5.625E-1);
-+#500=CIRCLE('',#499,5.625E-1);
-+#509=CIRCLE('',#508,5.625E-1);
-+#518=CIRCLE('',#517,5.625E-1);
-+#527=CIRCLE('',#526,5.E-1);
-+#536=CIRCLE('',#535,5.E-1);
-+#545=CIRCLE('',#544,4.375E-1);
-+#554=CIRCLE('',#553,4.375E-1);
-+#563=CIRCLE('',#562,5.625E-1);
-+#572=CIRCLE('',#571,5.625E-1);
-+#581=CIRCLE('',#580,5.6125E-1);
-+#614=CIRCLE('',#613,9.225E-1);
-+#619=CIRCLE('',#618,5.6875E0);
-+#624=CIRCLE('',#623,8.669989027347E-1);
-+#633=CIRCLE('',#632,9.225E-1);
-+#638=CIRCLE('',#637,5.6875E0);
-+#643=CIRCLE('',#642,8.669989027347E-1);
-+#648=CIRCLE('',#647,9.225E-1);
-+#657=CIRCLE('',#656,8.669989027347E-1);
-+#662=CIRCLE('',#661,5.6875E0);
-+#667=CIRCLE('',#666,9.5E-2);
-+#672=CIRCLE('',#671,9.5E-2);
-+#677=CIRCLE('',#676,1.625E-1);
-+#682=CIRCLE('',#681,1.625E-1);
-+#687=CIRCLE('',#686,9.5E-2);
-+#692=CIRCLE('',#691,9.5E-2);
-+#697=CIRCLE('',#696,9.5E-2);
-+#702=CIRCLE('',#701,9.5E-2);
-+#707=CIRCLE('',#706,9.5E-2);
-+#712=CIRCLE('',#711,9.5E-2);
-+#717=CIRCLE('',#716,9.5E-2);
-+#722=CIRCLE('',#721,9.5E-2);
-+#727=CIRCLE('',#726,1.625E-1);
-+#732=CIRCLE('',#731,1.625E-1);
-+#737=CIRCLE('',#736,9.5E-2);
-+#742=CIRCLE('',#741,9.5E-2);
-+#803=CIRCLE('',#802,9.5E-2);
-+#808=CIRCLE('',#807,9.5E-2);
-+#821=CIRCLE('',#820,1.625E-1);
-+#826=CIRCLE('',#825,1.625E-1);
-+#887=CIRCLE('',#886,1.E-1);
-+#892=CIRCLE('',#891,1.E-1);
-+#897=CIRCLE('',#896,1.E-1);
-+#902=CIRCLE('',#901,1.E-1);
-+#931=CIRCLE('',#930,1.E-1);
-+#936=CIRCLE('',#935,1.E-1);
-+#941=CIRCLE('',#940,1.E-1);
-+#946=CIRCLE('',#945,1.E-1);
-+#951=CIRCLE('',#950,2.575E-1);
-+#956=CIRCLE('',#955,2.575E-1);
-+#961=CIRCLE('',#960,2.575E-1);
-+#966=CIRCLE('',#965,2.575E-1);
-+#971=CIRCLE('',#970,2.575E-1);
-+#976=CIRCLE('',#975,2.575E-1);
-+#981=CIRCLE('',#980,2.575E-1);
-+#986=CIRCLE('',#985,2.575E-1);
-+#991=CIRCLE('',#990,2.575E-1);
-+#996=CIRCLE('',#995,2.575E-1);
-+#1001=CIRCLE('',#1000,2.575E-1);
-+#1006=CIRCLE('',#1005,2.575E-1);
-+#1011=CIRCLE('',#1010,2.56E-1);
-+#1016=CIRCLE('',#1015,2.56E-1);
-+#1021=CIRCLE('',#1020,2.56E-1);
-+#1026=CIRCLE('',#1025,2.56E-1);
-+#1031=CIRCLE('',#1030,2.56E-1);
-+#1036=CIRCLE('',#1035,2.56E-1);
-+#1041=CIRCLE('',#1040,2.56E-1);
-+#1046=CIRCLE('',#1045,2.56E-1);
-+#1051=CIRCLE('',#1050,2.56E-1);
-+#1056=CIRCLE('',#1055,2.56E-1);
-+#1061=CIRCLE('',#1060,2.56E-1);
-+#1066=CIRCLE('',#1065,2.56E-1);
-+#1115=CIRCLE('',#1114,2.575E-1);
-+#1120=CIRCLE('',#1119,2.575E-1);
-+#1125=CIRCLE('',#1124,2.575E-1);
-+#1130=CIRCLE('',#1129,2.575E-1);
-+#1135=CIRCLE('',#1134,2.575E-1);
-+#1140=CIRCLE('',#1139,2.575E-1);
-+#1145=CIRCLE('',#1144,2.575E-1);
-+#1150=CIRCLE('',#1149,2.575E-1);
-+#1155=CIRCLE('',#1154,2.575E-1);
-+#1160=CIRCLE('',#1159,2.575E-1);
-+#1165=CIRCLE('',#1164,2.575E-1);
-+#1170=CIRCLE('',#1169,2.575E-1);
-+#1259=CIRCLE('',#1258,1.E-1);
-+#1268=CIRCLE('',#1267,1.E-1);
-+#1285=CIRCLE('',#1284,1.E-1);
-+#1294=CIRCLE('',#1293,1.E-1);
-+#1303=CIRCLE('',#1302,1.E0);
-+#1312=CIRCLE('',#1311,1.E0);
-+#1317=CIRCLE('',#1316,5.E0);
-+#1326=CIRCLE('',#1325,5.E0);
-+#1331=CIRCLE('',#1330,5.E0);
-+#1340=CIRCLE('',#1339,5.E0);
-+#1349=CIRCLE('',#1348,1.E0);
-+#1358=CIRCLE('',#1357,1.E0);
-+#1367=CIRCLE('',#1366,1.E0);
-+#1376=CIRCLE('',#1375,1.E0);
-+#1385=CIRCLE('',#1384,1.E0);
-+#1394=CIRCLE('',#1393,1.E0);
-+#1403=CIRCLE('',#1402,1.E0);
-+#1412=CIRCLE('',#1411,1.E0);
-+#1421=CIRCLE('',#1420,3.E0);
-+#1430=CIRCLE('',#1429,3.E0);
-+#1439=CIRCLE('',#1438,3.E0);
-+#1448=CIRCLE('',#1447,3.E0);
-+#1457=CIRCLE('',#1456,5.E0);
-+#1466=CIRCLE('',#1465,5.E0);
-+#1475=CIRCLE('',#1474,5.E0);
-+#1484=CIRCLE('',#1483,5.E0);
-+#1493=CIRCLE('',#1492,3.E0);
-+#1502=CIRCLE('',#1501,3.E0);
-+#1511=CIRCLE('',#1510,3.E0);
-+#1520=CIRCLE('',#1519,3.E0);
-+#1529=CIRCLE('',#1528,1.E0);
-+#1538=CIRCLE('',#1537,1.E0);
-+#1547=CIRCLE('',#1546,1.E0);
-+#1556=CIRCLE('',#1555,1.E0);
-+#1597=CIRCLE('',#1596,1.E0);
-+#1606=CIRCLE('',#1605,1.E0);
-+#1675=CIRCLE('',#1674,9.5E-2);
-+#1680=CIRCLE('',#1679,9.5E-2);
-+#1685=CIRCLE('',#1684,6.25E-2);
-+#1690=CIRCLE('',#1689,6.25E-2);
-+#1707=CIRCLE('',#1706,1.E0);
-+#1716=CIRCLE('',#1715,1.E0);
-+#1729=CIRCLE('',#1728,1.E0);
-+#1738=CIRCLE('',#1737,1.E0);
-+#1767=CIRCLE('',#1766,1.625E-1);
-+#1772=CIRCLE('',#1771,1.625E-1);
-+#1846=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1837,#1838,#1839,#1840,#1841,#1842,#1843,
-+#1844,#1845),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1,
-+6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.);
-+#1856=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1847,#1848,#1849,#1850,#1851,#1852,#1853,
-+#1854,#1855),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1,
-+6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.);
-+#1873=CIRCLE('',#1872,2.575E-1);
-+#1878=CIRCLE('',#1877,2.575E-1);
-+#1883=CIRCLE('',#1882,1.925E-1);
-+#1888=CIRCLE('',#1887,1.925E-1);
-+#1933=CIRCLE('',#1932,9.5E-2);
-+#1938=CIRCLE('',#1937,9.5E-2);
-+#1943=CIRCLE('',#1942,6.25E-2);
-+#1948=CIRCLE('',#1947,6.25E-2);
-+#1961=CIRCLE('',#1960,9.5E-2);
-+#1966=CIRCLE('',#1965,9.5E-2);
-+#1979=CIRCLE('',#1978,6.25E-2);
-+#1984=CIRCLE('',#1983,6.25E-2);
-+#1993=CIRCLE('',#1992,3.5E-1);
-+#2002=CIRCLE('',#2001,3.5E-1);
-+#2035=CIRCLE('',#2034,3.5E-1);
-+#2044=CIRCLE('',#2043,3.5E-1);
-+#2053=CIRCLE('',#2052,3.5E-1);
-+#2062=CIRCLE('',#2061,3.5E-1);
-+#2071=CIRCLE('',#2070,3.5E-1);
-+#2080=CIRCLE('',#2079,3.5E-1);
-+#2089=CIRCLE('',#2088,3.5E-1);
-+#2098=CIRCLE('',#2097,3.5E-1);
-+#2107=CIRCLE('',#2106,3.5E-1);
-+#2116=CIRCLE('',#2115,3.5E-1);
-+#2145=CIRCLE('',#2144,9.5E-2);
-+#2150=CIRCLE('',#2149,9.5E-2);
-+#2163=CIRCLE('',#2162,6.25E-2);
-+#2168=CIRCLE('',#2167,6.25E-2);
-+#2189=CIRCLE('',#2188,1.E-1);
-+#2194=CIRCLE('',#2193,1.E-1);
-+#2215=CIRCLE('',#2214,1.E-1);
-+#2220=CIRCLE('',#2219,1.E-1);
-+#2233=CIRCLE('',#2232,2.575E-1);
-+#2238=CIRCLE('',#2237,2.575E-1);
-+#2243=CIRCLE('',#2242,1.925E-1);
-+#2248=CIRCLE('',#2247,1.925E-1);
-+#2269=CIRCLE('',#2268,2.575E-1);
-+#2274=CIRCLE('',#2273,2.575E-1);
-+#2279=CIRCLE('',#2278,1.925E-1);
-+#2284=CIRCLE('',#2283,1.925E-1);
-+#2305=CIRCLE('',#2304,2.575E-1);
-+#2310=CIRCLE('',#2309,2.575E-1);
-+#2315=CIRCLE('',#2314,1.925E-1);
-+#2320=CIRCLE('',#2319,1.925E-1);
-+#2341=CIRCLE('',#2340,2.575E-1);
-+#2346=CIRCLE('',#2345,2.575E-1);
-+#2351=CIRCLE('',#2350,1.925E-1);
-+#2356=CIRCLE('',#2355,1.925E-1);
-+#2377=CIRCLE('',#2376,2.575E-1);
-+#2382=CIRCLE('',#2381,2.575E-1);
-+#2387=CIRCLE('',#2386,1.925E-1);
-+#2392=CIRCLE('',#2391,1.925E-1);
-+#2413=CIRCLE('',#2412,2.575E-1);
-+#2418=CIRCLE('',#2417,2.575E-1);
-+#2423=CIRCLE('',#2422,1.925E-1);
-+#2428=CIRCLE('',#2427,1.925E-1);
-+#2449=CIRCLE('',#2448,2.56E-1);
-+#2454=CIRCLE('',#2453,2.56E-1);
-+#2459=CIRCLE('',#2458,1.925E-1);
-+#2464=CIRCLE('',#2463,1.925E-1);
-+#2485=CIRCLE('',#2484,2.56E-1);
-+#2490=CIRCLE('',#2489,2.56E-1);
-+#2495=CIRCLE('',#2494,1.925E-1);
-+#2500=CIRCLE('',#2499,1.925E-1);
-+#2521=CIRCLE('',#2520,2.56E-1);
-+#2526=CIRCLE('',#2525,2.56E-1);
-+#2531=CIRCLE('',#2530,1.925E-1);
-+#2536=CIRCLE('',#2535,1.925E-1);
-+#2557=CIRCLE('',#2556,2.56E-1);
-+#2562=CIRCLE('',#2561,2.56E-1);
-+#2567=CIRCLE('',#2566,1.925E-1);
-+#2572=CIRCLE('',#2571,1.925E-1);
-+#2593=CIRCLE('',#2592,2.56E-1);
-+#2598=CIRCLE('',#2597,2.56E-1);
-+#2603=CIRCLE('',#2602,1.925E-1);
-+#2608=CIRCLE('',#2607,1.925E-1);
-+#2629=CIRCLE('',#2628,2.56E-1);
-+#2634=CIRCLE('',#2633,2.56E-1);
-+#2639=CIRCLE('',#2638,1.925E-1);
-+#2644=CIRCLE('',#2643,1.925E-1);
-+#2665=CIRCLE('',#2664,2.575E-1);
-+#2670=CIRCLE('',#2669,2.575E-1);
-+#2675=CIRCLE('',#2674,1.925E-1);
-+#2680=CIRCLE('',#2679,1.925E-1);
-+#2701=CIRCLE('',#2700,2.575E-1);
-+#2706=CIRCLE('',#2705,2.575E-1);
-+#2711=CIRCLE('',#2710,1.925E-1);
-+#2716=CIRCLE('',#2715,1.925E-1);
-+#2737=CIRCLE('',#2736,2.575E-1);
-+#2742=CIRCLE('',#2741,2.575E-1);
-+#2747=CIRCLE('',#2746,1.925E-1);
-+#2752=CIRCLE('',#2751,1.925E-1);
-+#2773=CIRCLE('',#2772,2.575E-1);
-+#2778=CIRCLE('',#2777,2.575E-1);
-+#2783=CIRCLE('',#2782,1.925E-1);
-+#2788=CIRCLE('',#2787,1.925E-1);
-+#2809=CIRCLE('',#2808,2.575E-1);
-+#2814=CIRCLE('',#2813,2.575E-1);
-+#2819=CIRCLE('',#2818,1.925E-1);
-+#2824=CIRCLE('',#2823,1.925E-1);
-+#2845=CIRCLE('',#2844,2.575E-1);
-+#2850=CIRCLE('',#2849,2.575E-1);
-+#2855=CIRCLE('',#2854,1.925E-1);
-+#2860=CIRCLE('',#2859,1.925E-1);
-+#2882=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2873,#2874,#2875,#2876,#2877,#2878,#2879,
-+#2880,#2881),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1,
-+6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.);
-+#2892=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2883,#2884,#2885,#2886,#2887,#2888,#2889,
-+#2890,#2891),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1,
-+6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.);
-+#2905=CIRCLE('',#2904,2.575E-1);
-+#2910=CIRCLE('',#2909,2.575E-1);
-+#2915=CIRCLE('',#2914,1.925E-1);
-+#2920=CIRCLE('',#2919,1.925E-1);
-+#2937=CIRCLE('',#2936,3.5E-1);
-+#2946=CIRCLE('',#2945,3.5E-1);
-+#2955=CIRCLE('',#2954,3.5E-1);
-+#2964=CIRCLE('',#2963,3.5E-1);
-+#2973=CIRCLE('',#2972,3.5E-1);
-+#2982=CIRCLE('',#2981,3.5E-1);
-+#2991=CIRCLE('',#2990,3.5E-1);
-+#3000=CIRCLE('',#2999,3.5E-1);
-+#3009=CIRCLE('',#3008,3.5E-1);
-+#3018=CIRCLE('',#3017,3.5E-1);
-+#3027=CIRCLE('',#3026,3.5E-1);
-+#3036=CIRCLE('',#3035,3.5E-1);
-+#3073=CIRCLE('',#3072,9.5E-2);
-+#3078=CIRCLE('',#3077,9.5E-2);
-+#3091=CIRCLE('',#3090,9.5E-2);
-+#3096=CIRCLE('',#3095,9.5E-2);
-+#3109=CIRCLE('',#3108,9.5E-2);
-+#3114=CIRCLE('',#3113,9.5E-2);
-+#3127=CIRCLE('',#3126,9.5E-2);
-+#3132=CIRCLE('',#3131,9.5E-2);
-+#3145=CIRCLE('',#3144,9.5E-2);
-+#3150=CIRCLE('',#3149,9.5E-2);
-+#3159=CIRCLE('',#3158,7.5E-1);
-+#3168=CIRCLE('',#3167,7.5E-1);
-+#3177=CIRCLE('',#3176,7.5E-1);
-+#3186=CIRCLE('',#3185,7.5E-1);
-+#3195=CIRCLE('',#3194,7.5E-1);
-+#3204=CIRCLE('',#3203,7.5E-1);
-+#3213=CIRCLE('',#3212,7.5E-1);
-+#3222=CIRCLE('',#3221,7.5E-1);
-+#3247=CIRCLE('',#3246,7.5E-1);
-+#3256=CIRCLE('',#3255,7.5E-1);
-+#3281=CIRCLE('',#3280,7.5E-1);
-+#3290=CIRCLE('',#3289,7.5E-1);
-+#3299=CIRCLE('',#3298,7.5E-1);
-+#3308=CIRCLE('',#3307,7.5E-1);
-+#3317=CIRCLE('',#3316,7.5E-1);
-+#3326=CIRCLE('',#3325,7.5E-1);
-+#3351=CIRCLE('',#3350,5.625E-1);
-+#3360=CIRCLE('',#3359,5.625E-1);
-+#3365=CIRCLE('',#3364,9.225E-1);
-+#3370=CIRCLE('',#3369,5.6875E0);
-+#3375=CIRCLE('',#3374,8.669989027347E-1);
-+#3388=CIRCLE('',#3387,7.5E-1);
-+#3397=CIRCLE('',#3396,7.5E-1);
-+#3418=CIRCLE('',#3417,8.75E-1);
-+#3427=CIRCLE('',#3426,8.75E-1);
-+#3440=CIRCLE('',#3439,5.6125E-1);
-+#3469=CIRCLE('',#3468,8.75E-1);
-+#3478=CIRCLE('',#3477,8.75E-1);
-+#3495=CIRCLE('',#3494,8.75E-1);
-+#3504=CIRCLE('',#3503,8.75E-1);
-+#3513=CIRCLE('',#3512,8.75E-1);
-+#3522=CIRCLE('',#3521,8.75E-1);
-+#3531=CIRCLE('',#3530,8.75E-1);
-+#3540=CIRCLE('',#3539,8.75E-1);
-+#3549=CIRCLE('',#3548,8.75E-1);
-+#3558=CIRCLE('',#3557,8.75E-1);
-+#3583=CIRCLE('',#3582,5.625E-1);
-+#3592=CIRCLE('',#3591,5.625E-1);
-+#3617=CIRCLE('',#3616,5.625E-1);
-+#3626=CIRCLE('',#3625,5.625E-1);
-+#3651=CIRCLE('',#3650,5.E-1);
-+#3660=CIRCLE('',#3659,5.E-1);
-+#3685=CIRCLE('',#3684,4.375E-1);
-+#3694=CIRCLE('',#3693,4.375E-1);
-+#3719=CIRCLE('',#3718,5.625E-1);
-+#3728=CIRCLE('',#3727,5.625E-1);
-+#3737=CIRCLE('',#3736,8.669989027347E-1);
-+#3742=CIRCLE('',#3741,5.6875E0);
-+#3747=CIRCLE('',#3746,9.225E-1);
-+#3756=CIRCLE('',#3755,7.5E-1);
-+#3765=CIRCLE('',#3764,7.5E-1);
-+#3802=CIRCLE('',#3801,5.625E-1);
-+#3811=CIRCLE('',#3810,5.625E-1);
-+#3820=CIRCLE('',#3819,8.669989027347E-1);
-+#3825=CIRCLE('',#3824,5.6875E0);
-+#3830=CIRCLE('',#3829,9.225E-1);
-+#3839=CIRCLE('',#3838,7.5E-1);
-+#3848=CIRCLE('',#3847,7.5E-1);
-+#3885=CIRCLE('',#3884,5.625E-1);
-+#3894=CIRCLE('',#3893,5.625E-1);
-+#3919=CIRCLE('',#3918,5.625E-1);
-+#3928=CIRCLE('',#3927,5.625E-1);
-+#3953=CIRCLE('',#3952,5.E-1);
-+#3962=CIRCLE('',#3961,5.E-1);
-+#3987=CIRCLE('',#3986,4.375E-1);
-+#3996=CIRCLE('',#3995,4.375E-1);
-+#4021=CIRCLE('',#4020,5.625E-1);
-+#4030=CIRCLE('',#4029,5.625E-1);
-+#4035=CIRCLE('',#4034,9.225E-1);
-+#4040=CIRCLE('',#4039,5.6875E0);
-+#4045=CIRCLE('',#4044,8.669989027347E-1);
-+#4058=CIRCLE('',#4057,7.5E-1);
-+#4067=CIRCLE('',#4066,7.5E-1);
-+#4088=CIRCLE('',#4087,8.8E-1);
-+#4097=CIRCLE('',#4096,8.8E-1);
-+#4106=CIRCLE('',#4105,8.8E-1);
-+#4115=CIRCLE('',#4114,8.8E-1);
-+#4124=CIRCLE('',#4123,8.8E-1);
-+#4133=CIRCLE('',#4132,8.8E-1);
-+#4142=CIRCLE('',#4141,8.8E-1);
-+#4151=CIRCLE('',#4150,8.8E-1);
-+#4160=CIRCLE('',#4159,8.8E-1);
-+#4169=CIRCLE('',#4168,8.8E-1);
-+#4178=CIRCLE('',#4177,8.8E-1);
-+#4187=CIRCLE('',#4186,8.8E-1);
-+#4208=CIRCLE('',#4207,5.6125E-1);
-+#5494=EDGE_CURVE('',#4423,#4400,#132,.T.);
-+#5496=EDGE_CURVE('',#4419,#4423,#1597,.T.);
-+#5498=EDGE_CURVE('',#4419,#4243,#136,.T.);
-+#5500=EDGE_CURVE('',#4239,#4243,#1614,.T.);
-+#5502=EDGE_CURVE('',#4239,#4259,#140,.T.);
-+#5504=EDGE_CURVE('',#4255,#4259,#1630,.T.);
-+#5506=EDGE_CURVE('',#4255,#4320,#144,.T.);
-+#5508=EDGE_CURVE('',#4324,#4320,#1376,.T.);
-+#5510=EDGE_CURVE('',#4324,#4300,#148,.T.);
-+#5512=EDGE_CURVE('',#4300,#4347,#152,.T.);
-+#5514=EDGE_CURVE('',#4343,#4347,#1912,.T.);
-+#5516=EDGE_CURVE('',#4343,#4315,#156,.T.);
-+#5518=EDGE_CURVE('',#4311,#4315,#1385,.T.);
-+#5520=EDGE_CURVE('',#4311,#4251,#160,.T.);
-+#5522=EDGE_CURVE('',#4247,#4251,#1580,.T.);
-+#5524=EDGE_CURVE('',#4247,#4235,#164,.T.);
-+#5526=EDGE_CURVE('',#4231,#4235,#1564,.T.);
-+#5528=EDGE_CURVE('',#4231,#4404,#168,.T.);
-+#5530=EDGE_CURVE('',#4408,#4404,#1556,.T.);
-+#5532=EDGE_CURVE('',#4444,#4408,#172,.T.);
-+#5534=EDGE_CURVE('',#4444,#4448,#1654,.T.);
-+#5536=EDGE_CURVE('',#4400,#4448,#176,.T.);
-+#5540=EDGE_CURVE('',#4427,#4328,#4,.T.);
-+#5542=EDGE_CURVE('',#4332,#4328,#1358,.T.);
-+#5544=EDGE_CURVE('',#4264,#4332,#1340,.T.);
-+#5546=EDGE_CURVE('',#4268,#4264,#8,.T.);
-+#5548=EDGE_CURVE('',#4431,#4268,#1317,.T.);
-+#5550=EDGE_CURVE('',#4427,#4431,#1303,.T.);
-+#5554=EDGE_CURVE('',#4639,#4640,#13,.T.);
-+#5556=EDGE_CURVE('',#4640,#4639,#18,.T.);
-+#5560=EDGE_CURVE('',#4635,#4636,#23,.T.);
-+#5562=EDGE_CURVE('',#4636,#4635,#28,.T.);
-+#5566=EDGE_CURVE('',#4631,#4632,#33,.T.);
-+#5568=EDGE_CURVE('',#4632,#4631,#38,.T.);
-+#5572=EDGE_CURVE('',#4627,#4628,#43,.T.);
-+#5574=EDGE_CURVE('',#4628,#4627,#48,.T.);
-+#5578=EDGE_CURVE('',#4623,#4624,#53,.T.);
-+#5580=EDGE_CURVE('',#4624,#4623,#58,.T.);
-+#5584=EDGE_CURVE('',#4527,#4528,#63,.T.);
-+#5586=EDGE_CURVE('',#4528,#4527,#68,.T.);
-+#5590=EDGE_CURVE('',#4523,#4524,#73,.T.);
-+#5592=EDGE_CURVE('',#4524,#4523,#78,.T.);
-+#5596=EDGE_CURVE('',#4519,#4520,#83,.T.);
-+#5598=EDGE_CURVE('',#4520,#4519,#88,.T.);
-+#5602=EDGE_CURVE('',#4515,#4516,#93,.T.);
-+#5604=EDGE_CURVE('',#4516,#4515,#98,.T.);
-+#5608=EDGE_CURVE('',#4511,#4512,#103,.T.);
-+#5610=EDGE_CURVE('',#4512,#4511,#108,.T.);
-+#5614=EDGE_CURVE('',#4507,#4508,#113,.T.);
-+#5616=EDGE_CURVE('',#4508,#4507,#118,.T.);
-+#5620=EDGE_CURVE('',#4503,#4504,#123,.T.);
-+#5622=EDGE_CURVE('',#4504,#4503,#128,.T.);
-+#5626=EDGE_CURVE('',#4487,#4488,#181,.T.);
-+#5628=EDGE_CURVE('',#4488,#4487,#186,.T.);
-+#5632=EDGE_CURVE('',#4607,#4608,#191,.T.);
-+#5634=EDGE_CURVE('',#4608,#4607,#196,.T.);
-+#5638=EDGE_CURVE('',#4796,#4803,#200,.T.);
-+#5640=EDGE_CURVE('',#4799,#4803,#1439,.T.);
-+#5642=EDGE_CURVE('',#4280,#4799,#204,.T.);
-+#5644=EDGE_CURVE('',#4284,#4280,#1466,.T.);
-+#5646=EDGE_CURVE('',#4272,#4284,#208,.T.);
-+#5648=EDGE_CURVE('',#4276,#4272,#1484,.T.);
-+#5650=EDGE_CURVE('',#4792,#4276,#212,.T.);
-+#5652=EDGE_CURVE('',#4796,#4792,#1430,.T.);
-+#5656=EDGE_CURVE('',#4808,#4411,#216,.T.);
-+#5658=EDGE_CURVE('',#4812,#4808,#1502,.T.);
-+#5660=EDGE_CURVE('',#4812,#4819,#220,.T.);
-+#5662=EDGE_CURVE('',#4815,#4819,#1511,.T.);
-+#5664=EDGE_CURVE('',#4304,#4815,#224,.T.);
-+#5666=EDGE_CURVE('',#4308,#4304,#1412,.T.);
-+#5668=EDGE_CURVE('',#4308,#4339,#228,.T.);
-+#5670=EDGE_CURVE('',#4335,#4339,#1754,.T.);
-+#5672=EDGE_CURVE('',#4335,#4772,#232,.T.);
-+#5674=EDGE_CURVE('',#4776,#4772,#1738,.T.);
-+#5676=EDGE_CURVE('',#4776,#4783,#236,.T.);
-+#5678=EDGE_CURVE('',#4779,#4783,#1707,.T.);
-+#5680=EDGE_CURVE('',#4436,#4779,#240,.T.);
-+#5682=EDGE_CURVE('',#4436,#4440,#2132,.T.);
-+#5684=EDGE_CURVE('',#4415,#4440,#244,.T.);
-+#5686=EDGE_CURVE('',#4411,#4415,#1529,.T.);
-+#5690=EDGE_CURVE('',#4823,#4824,#249,.T.);
-+#5692=EDGE_CURVE('',#4824,#4823,#254,.T.);
-+#5696=EDGE_CURVE('',#4839,#4840,#259,.T.);
-+#5698=EDGE_CURVE('',#4840,#4839,#264,.T.);
-+#5702=EDGE_CURVE('',#4843,#4844,#269,.T.);
-+#5704=EDGE_CURVE('',#4844,#4843,#274,.T.);
-+#5708=EDGE_CURVE('',#4847,#4848,#279,.T.);
-+#5710=EDGE_CURVE('',#4848,#4847,#284,.T.);
-+#5714=EDGE_CURVE('',#4851,#4852,#289,.T.);
-+#5716=EDGE_CURVE('',#4852,#4851,#294,.T.);
-+#5720=EDGE_CURVE('',#4855,#4856,#299,.T.);
-+#5722=EDGE_CURVE('',#4856,#4855,#304,.T.);
-+#5726=EDGE_CURVE('',#5121,#5122,#308,.T.);
-+#5728=EDGE_CURVE('',#5122,#5124,#313,.T.);
-+#5730=EDGE_CURVE('',#5124,#5126,#317,.T.);
-+#5732=EDGE_CURVE('',#5126,#5121,#322,.T.);
-+#5736=EDGE_CURVE('',#5132,#5139,#327,.T.);
-+#5738=EDGE_CURVE('',#5135,#5139,#3388,.T.);
-+#5740=EDGE_CURVE('',#5135,#5129,#331,.T.);
-+#5742=EDGE_CURVE('',#5129,#5130,#336,.T.);
-+#5744=EDGE_CURVE('',#5132,#5130,#341,.T.);
-+#5748=EDGE_CURVE('',#5184,#5186,#3418,.T.);
-+#5750=EDGE_CURVE('',#5184,#5147,#345,.T.);
-+#5752=EDGE_CURVE('',#5147,#5148,#350,.T.);
-+#5754=EDGE_CURVE('',#5148,#5194,#354,.T.);
-+#5756=EDGE_CURVE('',#5192,#5194,#3469,.T.);
-+#5758=EDGE_CURVE('',#5192,#5171,#358,.T.);
-+#5760=EDGE_CURVE('',#5167,#5171,#3495,.T.);
-+#5762=EDGE_CURVE('',#5167,#5179,#362,.T.);
-+#5764=EDGE_CURVE('',#5175,#5179,#3513,.T.);
-+#5766=EDGE_CURVE('',#5175,#5155,#366,.T.);
-+#5768=EDGE_CURVE('',#5151,#5155,#3531,.T.);
-+#5770=EDGE_CURVE('',#5151,#5163,#370,.T.);
-+#5772=EDGE_CURVE('',#5159,#5163,#3549,.T.);
-+#5774=EDGE_CURVE('',#5159,#5186,#374,.T.);
-+#5778=EDGE_CURVE('',#5207,#5208,#378,.T.);
-+#5780=EDGE_CURVE('',#5208,#5210,#383,.T.);
-+#5782=EDGE_CURVE('',#5210,#5212,#387,.T.);
-+#5784=EDGE_CURVE('',#5212,#5207,#392,.T.);
-+#5788=EDGE_CURVE('',#5223,#5224,#396,.T.);
-+#5790=EDGE_CURVE('',#5224,#5226,#401,.T.);
-+#5792=EDGE_CURVE('',#5226,#5228,#405,.T.);
-+#5794=EDGE_CURVE('',#5228,#5223,#410,.T.);
-+#5798=EDGE_CURVE('',#5239,#5240,#414,.T.);
-+#5800=EDGE_CURVE('',#5240,#5242,#419,.T.);
-+#5802=EDGE_CURVE('',#5242,#5244,#423,.T.);
-+#5804=EDGE_CURVE('',#5244,#5239,#428,.T.);
-+#5808=EDGE_CURVE('',#5255,#5256,#432,.T.);
-+#5810=EDGE_CURVE('',#5256,#5258,#437,.T.);
-+#5812=EDGE_CURVE('',#5258,#5260,#441,.T.);
-+#5814=EDGE_CURVE('',#5260,#5255,#446,.T.);
-+#5818=EDGE_CURVE('',#5277,#5278,#450,.T.);
-+#5820=EDGE_CURVE('',#5282,#5277,#455,.T.);
-+#5822=EDGE_CURVE('',#5280,#5282,#459,.T.);
-+#5824=EDGE_CURVE('',#5278,#5280,#464,.T.);
-+#5828=EDGE_CURVE('',#5305,#5306,#468,.T.);
-+#5830=EDGE_CURVE('',#5310,#5305,#473,.T.);
-+#5832=EDGE_CURVE('',#5308,#5310,#477,.T.);
-+#5834=EDGE_CURVE('',#5306,#5308,#482,.T.);
-+#5838=EDGE_CURVE('',#5335,#5336,#486,.T.);
-+#5840=EDGE_CURVE('',#5340,#5335,#491,.T.);
-+#5842=EDGE_CURVE('',#5338,#5340,#495,.T.);
-+#5844=EDGE_CURVE('',#5336,#5338,#500,.T.);
-+#5848=EDGE_CURVE('',#5351,#5352,#504,.T.);
-+#5850=EDGE_CURVE('',#5356,#5351,#509,.T.);
-+#5852=EDGE_CURVE('',#5354,#5356,#513,.T.);
-+#5854=EDGE_CURVE('',#5352,#5354,#518,.T.);
-+#5858=EDGE_CURVE('',#5367,#5368,#522,.T.);
-+#5860=EDGE_CURVE('',#5372,#5367,#527,.T.);
-+#5862=EDGE_CURVE('',#5370,#5372,#531,.T.);
-+#5864=EDGE_CURVE('',#5368,#5370,#536,.T.);
-+#5868=EDGE_CURVE('',#5383,#5384,#540,.T.);
-+#5870=EDGE_CURVE('',#5388,#5383,#545,.T.);
-+#5872=EDGE_CURVE('',#5386,#5388,#549,.T.);
-+#5874=EDGE_CURVE('',#5384,#5386,#554,.T.);
-+#5878=EDGE_CURVE('',#5405,#5406,#558,.T.);
-+#5880=EDGE_CURVE('',#5406,#5408,#563,.T.);
-+#5882=EDGE_CURVE('',#5408,#5410,#567,.T.);
-+#5884=EDGE_CURVE('',#5410,#5405,#572,.T.);
-+#5888=EDGE_CURVE('',#5455,#5451,#4097,.T.);
-+#5890=EDGE_CURVE('',#5324,#5455,#576,.T.);
-+#5892=EDGE_CURVE('',#5323,#5324,#581,.T.);
-+#5894=EDGE_CURVE('',#5459,#5323,#585,.T.);
-+#5896=EDGE_CURVE('',#5463,#5459,#4187,.T.);
-+#5898=EDGE_CURVE('',#5436,#5463,#589,.T.);
-+#5900=EDGE_CURVE('',#5440,#5436,#4169,.T.);
-+#5902=EDGE_CURVE('',#5444,#5440,#593,.T.);
-+#5904=EDGE_CURVE('',#5448,#5444,#4151,.T.);
-+#5906=EDGE_CURVE('',#5428,#5448,#597,.T.);
-+#5908=EDGE_CURVE('',#5432,#5428,#4133,.T.);
-+#5910=EDGE_CURVE('',#5420,#5432,#601,.T.);
-+#5912=EDGE_CURVE('',#5424,#5420,#4115,.T.);
-+#5914=EDGE_CURVE('',#5451,#5424,#605,.T.);
-+#5918=EDGE_CURVE('',#5471,#5313,#609,.T.);
-+#5920=EDGE_CURVE('',#5467,#5471,#3839,.T.);
-+#5922=EDGE_CURVE('',#5316,#5467,#614,.T.);
-+#5924=EDGE_CURVE('',#5316,#5314,#619,.T.);
-+#5926=EDGE_CURVE('',#5313,#5314,#624,.T.);
-+#5930=EDGE_CURVE('',#5479,#5285,#628,.T.);
-+#5932=EDGE_CURVE('',#5475,#5479,#3756,.T.);
-+#5934=EDGE_CURVE('',#5288,#5475,#633,.T.);
-+#5936=EDGE_CURVE('',#5288,#5286,#638,.T.);
-+#5938=EDGE_CURVE('',#5285,#5286,#643,.T.);
-+#5942=EDGE_CURVE('',#5416,#5487,#648,.T.);
-+#5944=EDGE_CURVE('',#5483,#5487,#4058,.T.);
-+#5946=EDGE_CURVE('',#5483,#5413,#652,.T.);
-+#5948=EDGE_CURVE('',#5413,#5414,#657,.T.);
-+#5950=EDGE_CURVE('',#5416,#5414,#662,.T.);
-+#5961=EDGE_CURVE('',#4427,#4428,#1298,.T.);
-+#5963=EDGE_CURVE('',#4424,#4428,#906,.T.);
-+#5965=EDGE_CURVE('',#4423,#4424,#1601,.T.);
-+#5968=EDGE_CURVE('',#4390,#4400,#1658,.T.);
-+#5970=EDGE_CURVE('',#4387,#4390,#746,.T.);
-+#5972=EDGE_CURVE('',#4387,#4388,#750,.T.);
-+#5974=EDGE_CURVE('',#4768,#4388,#1698,.T.);
-+#5976=EDGE_CURVE('',#4767,#4768,#1230,.T.);
-+#5978=EDGE_CURVE('',#4287,#4767,#1746,.T.);
-+#5980=EDGE_CURVE('',#4287,#4288,#754,.T.);
-+#5982=EDGE_CURVE('',#4288,#4290,#758,.T.);
-+#5984=EDGE_CURVE('',#4300,#4290,#1900,.T.);
-+#5987=EDGE_CURVE('',#4323,#4324,#1371,.T.);
-+#5989=EDGE_CURVE('',#4327,#4323,#914,.T.);
-+#5991=EDGE_CURVE('',#4327,#4328,#1344,.T.);
-+#5995=EDGE_CURVE('',#4747,#4748,#667,.T.);
-+#5997=EDGE_CURVE('',#4748,#4747,#672,.T.);
-+#6001=EDGE_CURVE('',#4735,#4736,#677,.T.);
-+#6003=EDGE_CURVE('',#4736,#4735,#682,.T.);
-+#6007=EDGE_CURVE('',#4755,#4756,#687,.T.);
-+#6009=EDGE_CURVE('',#4756,#4755,#692,.T.);
-+#6013=EDGE_CURVE('',#4763,#4764,#697,.T.);
-+#6015=EDGE_CURVE('',#4764,#4763,#702,.T.);
-+#6019=EDGE_CURVE('',#4731,#4732,#707,.T.);
-+#6021=EDGE_CURVE('',#4732,#4731,#712,.T.);
-+#6025=EDGE_CURVE('',#4723,#4724,#717,.T.);
-+#6027=EDGE_CURVE('',#4724,#4723,#722,.T.);
-+#6031=EDGE_CURVE('',#4703,#4704,#727,.T.);
-+#6033=EDGE_CURVE('',#4704,#4703,#732,.T.);
-+#6037=EDGE_CURVE('',#4715,#4716,#737,.T.);
-+#6039=EDGE_CURVE('',#4716,#4715,#742,.T.);
-+#6043=EDGE_CURVE('',#4947,#4959,#762,.T.);
-+#6045=EDGE_CURVE('',#4955,#4959,#3213,.T.);
-+#6047=EDGE_CURVE('',#4955,#4967,#766,.T.);
-+#6049=EDGE_CURVE('',#4963,#4967,#3195,.T.);
-+#6051=EDGE_CURVE('',#4963,#4975,#770,.T.);
-+#6053=EDGE_CURVE('',#4971,#4975,#3177,.T.);
-+#6055=EDGE_CURVE('',#4971,#4951,#774,.T.);
-+#6057=EDGE_CURVE('',#4947,#4951,#3159,.T.);
-+#6061=EDGE_CURVE('',#5036,#5048,#778,.T.);
-+#6063=EDGE_CURVE('',#5040,#5036,#3256,.T.);
-+#6065=EDGE_CURVE('',#5028,#5040,#782,.T.);
-+#6067=EDGE_CURVE('',#5032,#5028,#3290,.T.);
-+#6069=EDGE_CURVE('',#5052,#5032,#786,.T.);
-+#6071=EDGE_CURVE('',#5056,#5052,#3308,.T.);
-+#6073=EDGE_CURVE('',#5044,#5056,#790,.T.);
-+#6075=EDGE_CURVE('',#5048,#5044,#3326,.T.);
-+#6086=EDGE_CURVE('',#4747,#4743,#794,.T.);
-+#6088=EDGE_CURVE('',#4743,#4744,#803,.T.);
-+#6090=EDGE_CURVE('',#4748,#4744,#798,.T.);
-+#6102=EDGE_CURVE('',#4744,#4743,#808,.T.);
-+#6124=EDGE_CURVE('',#4735,#4739,#812,.T.);
-+#6126=EDGE_CURVE('',#4739,#4740,#821,.T.);
-+#6128=EDGE_CURVE('',#4736,#4740,#816,.T.);
-+#6140=EDGE_CURVE('',#4740,#4739,#826,.T.);
-+#6151=EDGE_CURVE('',#4934,#4940,#830,.T.);
-+#6153=EDGE_CURVE('',#4940,#4942,#834,.T.);
-+#6155=EDGE_CURVE('',#4938,#4942,#838,.T.);
-+#6157=EDGE_CURVE('',#4788,#4938,#1234,.T.);
-+#6159=EDGE_CURVE('',#4788,#4393,#842,.T.);
-+#6161=EDGE_CURVE('',#4393,#4394,#846,.T.);
-+#6163=EDGE_CURVE('',#4394,#4396,#850,.T.);
-+#6165=EDGE_CURVE('',#4396,#4398,#854,.T.);
-+#6167=EDGE_CURVE('',#4934,#4398,#1178,.T.);
-+#6175=EDGE_CURVE('',#5103,#5099,#2946,.T.);
-+#6177=EDGE_CURVE('',#5076,#5103,#858,.T.);
-+#6179=EDGE_CURVE('',#5080,#5076,#3036,.T.);
-+#6181=EDGE_CURVE('',#5084,#5080,#862,.T.);
-+#6183=EDGE_CURVE('',#5088,#5084,#3018,.T.);
-+#6185=EDGE_CURVE('',#5092,#5088,#866,.T.);
-+#6187=EDGE_CURVE('',#5096,#5092,#3000,.T.);
-+#6189=EDGE_CURVE('',#5068,#5096,#870,.T.);
-+#6191=EDGE_CURVE('',#5072,#5068,#2982,.T.);
-+#6193=EDGE_CURVE('',#5060,#5072,#874,.T.);
-+#6195=EDGE_CURVE('',#5064,#5060,#2964,.T.);
-+#6197=EDGE_CURVE('',#5099,#5064,#878,.T.);
-+#6207=EDGE_CURVE('',#4933,#4934,#1174,.T.);
-+#6209=EDGE_CURVE('',#4940,#4933,#882,.T.);
-+#6221=EDGE_CURVE('',#4432,#4428,#1312,.T.);
-+#6223=EDGE_CURVE('',#4267,#4432,#1326,.T.);
-+#6225=EDGE_CURVE('',#4267,#4263,#910,.T.);
-+#6227=EDGE_CURVE('',#4331,#4263,#1331,.T.);
-+#6229=EDGE_CURVE('',#4327,#4331,#1349,.T.);
-+#6232=EDGE_CURVE('',#4319,#4323,#1367,.T.);
-+#6234=EDGE_CURVE('',#4256,#4319,#918,.T.);
-+#6236=EDGE_CURVE('',#4256,#4260,#1638,.T.);
-+#6238=EDGE_CURVE('',#4240,#4260,#922,.T.);
-+#6240=EDGE_CURVE('',#4240,#4244,#1622,.T.);
-+#6242=EDGE_CURVE('',#4420,#4244,#926,.T.);
-+#6244=EDGE_CURVE('',#4424,#4420,#1606,.T.);
-+#6248=EDGE_CURVE('',#4495,#4496,#951,.T.);
-+#6250=EDGE_CURVE('',#4496,#4495,#956,.T.);
-+#6254=EDGE_CURVE('',#4567,#4568,#981,.T.);
-+#6256=EDGE_CURVE('',#4568,#4567,#986,.T.);
-+#6260=EDGE_CURVE('',#4615,#4616,#1011,.T.);
-+#6262=EDGE_CURVE('',#4616,#4615,#1016,.T.);
-+#6266=EDGE_CURVE('',#4647,#4648,#1021,.T.);
-+#6268=EDGE_CURVE('',#4648,#4647,#1026,.T.);
-+#6272=EDGE_CURVE('',#4659,#4660,#1031,.T.);
-+#6274=EDGE_CURVE('',#4660,#4659,#1036,.T.);
-+#6286=EDGE_CURVE('',#4398,#4447,#1182,.T.);
-+#6288=EDGE_CURVE('',#4443,#4447,#1646,.T.);
-+#6290=EDGE_CURVE('',#4443,#4407,#1186,.T.);
-+#6292=EDGE_CURVE('',#4403,#4407,#1547,.T.);
-+#6294=EDGE_CURVE('',#4232,#4403,#1190,.T.);
-+#6296=EDGE_CURVE('',#4232,#4236,#1572,.T.);
-+#6298=EDGE_CURVE('',#4248,#4236,#1194,.T.);
-+#6300=EDGE_CURVE('',#4248,#4252,#1588,.T.);
-+#6302=EDGE_CURVE('',#4312,#4252,#1198,.T.);
-+#6304=EDGE_CURVE('',#4316,#4312,#1394,.T.);
-+#6306=EDGE_CURVE('',#4344,#4316,#1202,.T.);
-+#6308=EDGE_CURVE('',#4344,#4348,#1920,.T.);
-+#6310=EDGE_CURVE('',#4298,#4348,#1206,.T.);
-+#6312=EDGE_CURVE('',#4298,#4920,#1210,.T.);
-+#6314=EDGE_CURVE('',#4919,#4920,#1214,.T.);
-+#6316=EDGE_CURVE('',#4919,#4923,#1218,.T.);
-+#6318=EDGE_CURVE('',#4923,#4924,#1222,.T.);
-+#6320=EDGE_CURVE('',#4924,#4786,#1226,.T.);
-+#6322=EDGE_CURVE('',#4767,#4786,#1742,.T.);
-+#6325=EDGE_CURVE('',#4768,#4788,#1694,.T.);
-+#6328=EDGE_CURVE('',#4937,#4938,#1238,.T.);
-+#6330=EDGE_CURVE('',#4933,#4937,#1242,.T.);
-+#6334=EDGE_CURVE('',#4373,#4374,#887,.T.);
-+#6336=EDGE_CURVE('',#4374,#4373,#892,.T.);
-+#6340=EDGE_CURVE('',#4383,#4384,#897,.T.);
-+#6342=EDGE_CURVE('',#4384,#4383,#902,.T.);
-+#6346=EDGE_CURVE('',#4473,#4474,#931,.T.);
-+#6348=EDGE_CURVE('',#4474,#4473,#936,.T.);
-+#6352=EDGE_CURVE('',#4483,#4484,#941,.T.);
-+#6354=EDGE_CURVE('',#4484,#4483,#946,.T.);
-+#6358=EDGE_CURVE('',#4543,#4544,#961,.T.);
-+#6360=EDGE_CURVE('',#4544,#4543,#966,.T.);
-+#6364=EDGE_CURVE('',#4555,#4556,#971,.T.);
-+#6366=EDGE_CURVE('',#4556,#4555,#976,.T.);
-+#6370=EDGE_CURVE('',#4587,#4588,#991,.T.);
-+#6372=EDGE_CURVE('',#4588,#4587,#996,.T.);
-+#6376=EDGE_CURVE('',#4599,#4600,#1001,.T.);
-+#6378=EDGE_CURVE('',#4600,#4599,#1006,.T.);
-+#6382=EDGE_CURVE('',#4671,#4672,#1041,.T.);
-+#6384=EDGE_CURVE('',#4672,#4671,#1046,.T.);
-+#6388=EDGE_CURVE('',#4683,#4684,#1051,.T.);
-+#6390=EDGE_CURVE('',#4684,#4683,#1056,.T.);
-+#6394=EDGE_CURVE('',#4695,#4696,#1061,.T.);
-+#6396=EDGE_CURVE('',#4696,#4695,#1066,.T.);
-+#6400=EDGE_CURVE('',#4279,#4800,#1070,.T.);
-+#6402=EDGE_CURVE('',#4804,#4800,#1448,.T.);
-+#6404=EDGE_CURVE('',#4795,#4804,#1074,.T.);
-+#6406=EDGE_CURVE('',#4791,#4795,#1421,.T.);
-+#6408=EDGE_CURVE('',#4791,#4275,#1078,.T.);
-+#6410=EDGE_CURVE('',#4271,#4275,#1475,.T.);
-+#6412=EDGE_CURVE('',#4271,#4283,#1082,.T.);
-+#6414=EDGE_CURVE('',#4279,#4283,#1457,.T.);
-+#6418=EDGE_CURVE('',#4811,#4820,#1086,.T.);
-+#6420=EDGE_CURVE('',#4807,#4811,#1493,.T.);
-+#6422=EDGE_CURVE('',#4807,#4412,#1090,.T.);
-+#6424=EDGE_CURVE('',#4416,#4412,#1538,.T.);
-+#6426=EDGE_CURVE('',#4416,#4439,#1094,.T.);
-+#6428=EDGE_CURVE('',#4435,#4439,#2124,.T.);
-+#6430=EDGE_CURVE('',#4435,#4780,#1098,.T.);
-+#6432=EDGE_CURVE('',#4784,#4780,#1716,.T.);
-+#6434=EDGE_CURVE('',#4775,#4784,#1720,.T.);
-+#6436=EDGE_CURVE('',#4771,#4775,#1729,.T.);
-+#6438=EDGE_CURVE('',#4336,#4771,#1102,.T.);
-+#6440=EDGE_CURVE('',#4336,#4340,#1762,.T.);
-+#6442=EDGE_CURVE('',#4307,#4340,#1106,.T.);
-+#6444=EDGE_CURVE('',#4303,#4307,#1403,.T.);
-+#6446=EDGE_CURVE('',#4303,#4816,#1110,.T.);
-+#6448=EDGE_CURVE('',#4820,#4816,#1520,.T.);
-+#6452=EDGE_CURVE('',#4831,#4832,#1115,.T.);
-+#6454=EDGE_CURVE('',#4832,#4831,#1120,.T.);
-+#6458=EDGE_CURVE('',#4863,#4864,#1125,.T.);
-+#6460=EDGE_CURVE('',#4864,#4863,#1130,.T.);
-+#6464=EDGE_CURVE('',#4875,#4876,#1135,.T.);
-+#6466=EDGE_CURVE('',#4876,#4875,#1140,.T.);
-+#6470=EDGE_CURVE('',#4887,#4888,#1145,.T.);
-+#6472=EDGE_CURVE('',#4888,#4887,#1150,.T.);
-+#6476=EDGE_CURVE('',#4899,#4900,#1155,.T.);
-+#6478=EDGE_CURVE('',#4900,#4899,#1160,.T.);
-+#6482=EDGE_CURVE('',#4911,#4912,#1165,.T.);
-+#6484=EDGE_CURVE('',#4912,#4911,#1170,.T.);
-+#6495=EDGE_CURVE('',#4368,#4374,#1250,.T.);
-+#6497=EDGE_CURVE('',#4370,#4368,#1268,.T.);
-+#6499=EDGE_CURVE('',#4370,#4373,#1246,.T.);
-+#6511=EDGE_CURVE('',#4370,#4368,#1259,.T.);
-+#6522=EDGE_CURVE('',#4367,#4368,#1254,.T.);
-+#6525=EDGE_CURVE('',#4367,#4370,#1263,.T.);
-+#6547=EDGE_CURVE('',#4378,#4384,#1276,.T.);
-+#6549=EDGE_CURVE('',#4380,#4378,#1294,.T.);
-+#6551=EDGE_CURVE('',#4380,#4383,#1272,.T.);
-+#6563=EDGE_CURVE('',#4380,#4378,#1285,.T.);
-+#6574=EDGE_CURVE('',#4377,#4378,#1280,.T.);
-+#6577=EDGE_CURVE('',#4377,#4380,#1289,.T.);
-+#6600=EDGE_CURVE('',#4431,#4432,#1307,.T.);
-+#6613=EDGE_CURVE('',#4267,#4268,#1321,.T.);
-+#6624=EDGE_CURVE('',#4263,#4264,#1335,.T.);
-+#6637=EDGE_CURVE('',#4331,#4332,#1353,.T.);
-+#6662=EDGE_CURVE('',#4319,#4320,#1362,.T.);
-+#6675=EDGE_CURVE('',#4311,#4312,#1380,.T.);
-+#6678=EDGE_CURVE('',#4251,#4252,#1584,.T.);
-+#6691=EDGE_CURVE('',#4255,#4256,#1626,.T.);
-+#6704=EDGE_CURVE('',#4315,#4316,#1389,.T.);
-+#6715=EDGE_CURVE('',#4307,#4308,#1407,.T.);
-+#6718=EDGE_CURVE('',#4339,#4340,#1758,.T.);
-+#6731=EDGE_CURVE('',#4343,#4344,#1908,.T.);
-+#6742=EDGE_CURVE('',#4303,#4304,#1398,.T.);
-+#6755=EDGE_CURVE('',#4791,#4792,#1416,.T.);
-+#6758=EDGE_CURVE('',#4275,#4276,#1479,.T.);
-+#6769=EDGE_CURVE('',#4815,#4816,#1506,.T.);
-+#6784=EDGE_CURVE('',#4795,#4796,#1425,.T.);
-+#6797=EDGE_CURVE('',#4803,#4804,#1443,.T.);
-+#6808=EDGE_CURVE('',#4799,#4800,#1434,.T.);
-+#6823=EDGE_CURVE('',#4279,#4280,#1452,.T.);
-+#6834=EDGE_CURVE('',#4807,#4808,#1488,.T.);
-+#6837=EDGE_CURVE('',#4411,#4412,#1524,.T.);
-+#6850=EDGE_CURVE('',#4283,#4284,#1461,.T.);
-+#6861=EDGE_CURVE('',#4271,#4272,#1470,.T.);
-+#6888=EDGE_CURVE('',#4811,#4812,#1497,.T.);
-+#6901=EDGE_CURVE('',#4819,#4820,#1515,.T.);
-+#6926=EDGE_CURVE('',#4415,#4416,#1533,.T.);
-+#6937=EDGE_CURVE('',#4407,#4408,#1551,.T.);
-+#6940=EDGE_CURVE('',#4443,#4444,#1642,.T.);
-+#6953=EDGE_CURVE('',#4439,#4440,#2128,.T.);
-+#6964=EDGE_CURVE('',#4403,#4404,#1542,.T.);
-+#6979=EDGE_CURVE('',#4231,#4232,#1560,.T.);
-+#6990=EDGE_CURVE('',#4419,#4420,#1592,.T.);
-+#6993=EDGE_CURVE('',#4243,#4244,#1618,.T.);
-+#7006=EDGE_CURVE('',#4235,#4236,#1568,.T.);
-+#7018=EDGE_CURVE('',#4247,#4248,#1576,.T.);
-+#7054=EDGE_CURVE('',#4239,#4240,#1610,.T.);
-+#7070=EDGE_CURVE('',#4259,#4260,#1634,.T.);
-+#7094=EDGE_CURVE('',#4447,#4448,#1650,.T.);
-+#7110=EDGE_CURVE('',#4390,#4396,#1662,.T.);
-+#7123=EDGE_CURVE('',#4387,#4394,#1666,.T.);
-+#7136=EDGE_CURVE('',#4388,#4393,#1670,.T.);
-+#7140=EDGE_CURVE('',#4455,#4456,#1675,.T.);
-+#7142=EDGE_CURVE('',#4456,#4455,#1680,.T.);
-+#7146=EDGE_CURVE('',#4463,#4464,#1685,.T.);
-+#7148=EDGE_CURVE('',#4464,#4463,#1690,.T.);
-+#7158=EDGE_CURVE('',#4779,#4780,#1702,.T.);
-+#7161=EDGE_CURVE('',#4435,#4436,#2120,.T.);
-+#7186=EDGE_CURVE('',#4783,#4784,#1711,.T.);
-+#7197=EDGE_CURVE('',#4775,#4776,#1733,.T.);
-+#7210=EDGE_CURVE('',#4771,#4772,#1724,.T.);
-+#7225=EDGE_CURVE('',#4335,#4336,#1750,.T.);
-+#7237=EDGE_CURVE('',#4786,#4293,#1792,.T.);
-+#7239=EDGE_CURVE('',#4287,#4293,#1928,.T.);
-+#7262=EDGE_CURVE('',#4920,#4926,#1776,.T.);
-+#7265=EDGE_CURVE('',#4296,#4298,#1780,.T.);
-+#7267=EDGE_CURVE('',#4294,#4296,#1784,.T.);
-+#7269=EDGE_CURVE('',#4293,#4294,#1788,.T.);
-+#7273=EDGE_CURVE('',#4924,#4928,#1796,.T.);
-+#7275=EDGE_CURVE('',#4926,#4928,#1800,.T.);
-+#7279=EDGE_CURVE('',#4707,#4708,#1767,.T.);
-+#7281=EDGE_CURVE('',#4708,#4707,#1772,.T.);
-+#7285=EDGE_CURVE('',#5020,#5022,#1993,.T.);
-+#7287=EDGE_CURVE('',#5020,#4983,#1804,.T.);
-+#7289=EDGE_CURVE('',#4979,#4983,#2107,.T.);
-+#7291=EDGE_CURVE('',#4979,#4991,#1808,.T.);
-+#7293=EDGE_CURVE('',#4987,#4991,#2089,.T.);
-+#7295=EDGE_CURVE('',#4987,#5015,#1812,.T.);
-+#7297=EDGE_CURVE('',#5011,#5015,#2071,.T.);
-+#7299=EDGE_CURVE('',#5011,#5007,#1816,.T.);
-+#7301=EDGE_CURVE('',#5003,#5007,#2053,.T.);
-+#7303=EDGE_CURVE('',#5003,#4999,#1820,.T.);
-+#7305=EDGE_CURVE('',#4995,#4999,#2035,.T.);
-+#7307=EDGE_CURVE('',#4995,#5022,#1824,.T.);
-+#7318=EDGE_CURVE('',#4704,#4708,#1832,.T.);
-+#7321=EDGE_CURVE('',#4703,#4707,#1828,.T.);
-+#7345=EDGE_CURVE('',#4926,#4919,#1836,.T.);
-+#7358=EDGE_CURVE('',#4928,#4923,#1860,.T.);
-+#7362=EDGE_CURVE('',#4929,#4930,#1846,.T.);
-+#7364=EDGE_CURVE('',#4930,#4929,#1856,.T.);
-+#7385=EDGE_CURVE('',#4930,#4531,#1868,.T.);
-+#7388=EDGE_CURVE('',#4532,#4929,#1864,.T.);
-+#7390=EDGE_CURVE('',#4531,#4532,#1873,.T.);
-+#7403=EDGE_CURVE('',#4532,#4531,#1878,.T.);
-+#7417=EDGE_CURVE('',#4535,#4536,#1883,.T.);
-+#7419=EDGE_CURVE('',#4536,#4535,#1888,.T.);
-+#7430=EDGE_CURVE('',#4536,#4504,#1896,.T.);
-+#7433=EDGE_CURVE('',#4535,#4503,#1892,.T.);
-+#7457=EDGE_CURVE('',#4347,#4348,#1916,.T.);
-+#7461=EDGE_CURVE('',#4290,#4296,#1904,.T.);
-+#7484=EDGE_CURVE('',#4288,#4294,#1924,.T.);
-+#7502=EDGE_CURVE('',#4355,#4356,#1933,.T.);
-+#7504=EDGE_CURVE('',#4356,#4355,#1938,.T.);
-+#7508=EDGE_CURVE('',#4363,#4364,#1943,.T.);
-+#7510=EDGE_CURVE('',#4364,#4363,#1948,.T.);
-+#7521=EDGE_CURVE('',#4356,#4352,#1956,.T.);
-+#7523=EDGE_CURVE('',#4351,#4352,#1961,.T.);
-+#7525=EDGE_CURVE('',#4355,#4351,#1952,.T.);
-+#7537=EDGE_CURVE('',#4352,#4351,#1966,.T.);
-+#7559=EDGE_CURVE('',#4364,#4360,#1974,.T.);
-+#7561=EDGE_CURVE('',#4359,#4360,#1979,.T.);
-+#7563=EDGE_CURVE('',#4363,#4359,#1970,.T.);
-+#7575=EDGE_CURVE('',#4360,#4359,#1984,.T.);
-+#7596=EDGE_CURVE('',#5019,#5020,#1988,.T.);
-+#7599=EDGE_CURVE('',#5024,#5022,#1997,.T.);
-+#7601=EDGE_CURVE('',#5024,#5019,#2002,.T.);
-+#7612=EDGE_CURVE('',#5019,#4984,#2006,.T.);
-+#7614=EDGE_CURVE('',#4983,#4984,#2111,.T.);
-+#7627=EDGE_CURVE('',#4996,#5024,#2010,.T.);
-+#7629=EDGE_CURVE('',#5000,#4996,#2044,.T.);
-+#7631=EDGE_CURVE('',#5004,#5000,#2014,.T.);
-+#7633=EDGE_CURVE('',#5008,#5004,#2062,.T.);
-+#7635=EDGE_CURVE('',#5012,#5008,#2018,.T.);
-+#7637=EDGE_CURVE('',#5016,#5012,#2080,.T.);
-+#7639=EDGE_CURVE('',#4988,#5016,#2022,.T.);
-+#7641=EDGE_CURVE('',#4992,#4988,#2098,.T.);
-+#7643=EDGE_CURVE('',#4980,#4992,#2026,.T.);
-+#7645=EDGE_CURVE('',#4984,#4980,#2116,.T.);
-+#7657=EDGE_CURVE('',#4995,#4996,#2030,.T.);
-+#7670=EDGE_CURVE('',#4999,#5000,#2039,.T.);
-+#7683=EDGE_CURVE('',#5003,#5004,#2048,.T.);
-+#7696=EDGE_CURVE('',#5007,#5008,#2057,.T.);
-+#7709=EDGE_CURVE('',#5011,#5012,#2066,.T.);
-+#7722=EDGE_CURVE('',#5015,#5016,#2075,.T.);
-+#7733=EDGE_CURVE('',#4987,#4988,#2084,.T.);
-+#7748=EDGE_CURVE('',#4991,#4992,#2093,.T.);
-+#7759=EDGE_CURVE('',#4979,#4980,#2102,.T.);
-+#7797=EDGE_CURVE('',#4455,#4451,#2136,.T.);
-+#7799=EDGE_CURVE('',#4451,#4452,#2145,.T.);
-+#7801=EDGE_CURVE('',#4456,#4452,#2140,.T.);
-+#7813=EDGE_CURVE('',#4452,#4451,#2150,.T.);
-+#7835=EDGE_CURVE('',#4463,#4459,#2154,.T.);
-+#7837=EDGE_CURVE('',#4459,#4460,#2163,.T.);
-+#7839=EDGE_CURVE('',#4464,#4460,#2158,.T.);
-+#7851=EDGE_CURVE('',#4460,#4459,#2168,.T.);
-+#7873=EDGE_CURVE('',#4470,#4473,#2176,.T.);
-+#7875=EDGE_CURVE('',#4470,#4468,#2194,.T.);
-+#7877=EDGE_CURVE('',#4468,#4474,#2172,.T.);
-+#7889=EDGE_CURVE('',#4470,#4468,#2189,.T.);
-+#7900=EDGE_CURVE('',#4467,#4468,#2180,.T.);
-+#7902=EDGE_CURVE('',#4467,#4470,#2184,.T.);
-+#7925=EDGE_CURVE('',#4480,#4483,#2202,.T.);
-+#7927=EDGE_CURVE('',#4480,#4478,#2220,.T.);
-+#7929=EDGE_CURVE('',#4478,#4484,#2198,.T.);
-+#7941=EDGE_CURVE('',#4480,#4478,#2215,.T.);
-+#7952=EDGE_CURVE('',#4477,#4478,#2206,.T.);
-+#7954=EDGE_CURVE('',#4477,#4480,#2210,.T.);
-+#7977=EDGE_CURVE('',#4496,#4492,#2228,.T.);
-+#7979=EDGE_CURVE('',#4491,#4492,#2233,.T.);
-+#7981=EDGE_CURVE('',#4495,#4491,#2224,.T.);
-+#7993=EDGE_CURVE('',#4492,#4491,#2238,.T.);
-+#8008=EDGE_CURVE('',#4499,#4500,#2243,.T.);
-+#8010=EDGE_CURVE('',#4500,#4499,#2248,.T.);
-+#8021=EDGE_CURVE('',#4500,#4488,#2256,.T.);
-+#8024=EDGE_CURVE('',#4499,#4487,#2252,.T.);
-+#8047=EDGE_CURVE('',#4544,#4540,#2264,.T.);
-+#8049=EDGE_CURVE('',#4539,#4540,#2269,.T.);
-+#8051=EDGE_CURVE('',#4543,#4539,#2260,.T.);
-+#8063=EDGE_CURVE('',#4540,#4539,#2274,.T.);
-+#8078=EDGE_CURVE('',#4547,#4548,#2279,.T.);
-+#8080=EDGE_CURVE('',#4548,#4547,#2284,.T.);
-+#8091=EDGE_CURVE('',#4548,#4508,#2292,.T.);
-+#8094=EDGE_CURVE('',#4547,#4507,#2288,.T.);
-+#8117=EDGE_CURVE('',#4556,#4552,#2300,.T.);
-+#8119=EDGE_CURVE('',#4551,#4552,#2305,.T.);
-+#8121=EDGE_CURVE('',#4555,#4551,#2296,.T.);
-+#8133=EDGE_CURVE('',#4552,#4551,#2310,.T.);
-+#8148=EDGE_CURVE('',#4559,#4560,#2315,.T.);
-+#8150=EDGE_CURVE('',#4560,#4559,#2320,.T.);
-+#8161=EDGE_CURVE('',#4560,#4512,#2328,.T.);
-+#8164=EDGE_CURVE('',#4559,#4511,#2324,.T.);
-+#8187=EDGE_CURVE('',#4568,#4564,#2336,.T.);
-+#8189=EDGE_CURVE('',#4563,#4564,#2341,.T.);
-+#8191=EDGE_CURVE('',#4567,#4563,#2332,.T.);
-+#8203=EDGE_CURVE('',#4564,#4563,#2346,.T.);
-+#8218=EDGE_CURVE('',#4571,#4572,#2351,.T.);
-+#8220=EDGE_CURVE('',#4572,#4571,#2356,.T.);
-+#8231=EDGE_CURVE('',#4572,#4516,#2364,.T.);
-+#8234=EDGE_CURVE('',#4571,#4515,#2360,.T.);
-+#8257=EDGE_CURVE('',#4588,#4584,#2372,.T.);
-+#8259=EDGE_CURVE('',#4583,#4584,#2377,.T.);
-+#8261=EDGE_CURVE('',#4587,#4583,#2368,.T.);
-+#8273=EDGE_CURVE('',#4584,#4583,#2382,.T.);
-+#8288=EDGE_CURVE('',#4591,#4592,#2387,.T.);
-+#8290=EDGE_CURVE('',#4592,#4591,#2392,.T.);
-+#8301=EDGE_CURVE('',#4592,#4524,#2400,.T.);
-+#8304=EDGE_CURVE('',#4591,#4523,#2396,.T.);
-+#8327=EDGE_CURVE('',#4600,#4596,#2408,.T.);
-+#8329=EDGE_CURVE('',#4595,#4596,#2413,.T.);
-+#8331=EDGE_CURVE('',#4599,#4595,#2404,.T.);
-+#8343=EDGE_CURVE('',#4596,#4595,#2418,.T.);
-+#8358=EDGE_CURVE('',#4603,#4604,#2423,.T.);
-+#8360=EDGE_CURVE('',#4604,#4603,#2428,.T.);
-+#8371=EDGE_CURVE('',#4604,#4528,#2436,.T.);
-+#8374=EDGE_CURVE('',#4603,#4527,#2432,.T.);
-+#8397=EDGE_CURVE('',#4616,#4612,#2444,.T.);
-+#8399=EDGE_CURVE('',#4611,#4612,#2449,.T.);
-+#8401=EDGE_CURVE('',#4615,#4611,#2440,.T.);
-+#8413=EDGE_CURVE('',#4612,#4611,#2454,.T.);
-+#8428=EDGE_CURVE('',#4619,#4620,#2459,.T.);
-+#8430=EDGE_CURVE('',#4620,#4619,#2464,.T.);
-+#8441=EDGE_CURVE('',#4620,#4608,#2472,.T.);
-+#8444=EDGE_CURVE('',#4619,#4607,#2468,.T.);
-+#8467=EDGE_CURVE('',#4648,#4644,#2480,.T.);
-+#8469=EDGE_CURVE('',#4643,#4644,#2485,.T.);
-+#8471=EDGE_CURVE('',#4647,#4643,#2476,.T.);
-+#8483=EDGE_CURVE('',#4644,#4643,#2490,.T.);
-+#8498=EDGE_CURVE('',#4651,#4652,#2495,.T.);
-+#8500=EDGE_CURVE('',#4652,#4651,#2500,.T.);
-+#8511=EDGE_CURVE('',#4652,#4624,#2508,.T.);
-+#8514=EDGE_CURVE('',#4651,#4623,#2504,.T.);
-+#8537=EDGE_CURVE('',#4660,#4656,#2516,.T.);
-+#8539=EDGE_CURVE('',#4655,#4656,#2521,.T.);
-+#8541=EDGE_CURVE('',#4659,#4655,#2512,.T.);
-+#8553=EDGE_CURVE('',#4656,#4655,#2526,.T.);
-+#8568=EDGE_CURVE('',#4663,#4664,#2531,.T.);
-+#8570=EDGE_CURVE('',#4664,#4663,#2536,.T.);
-+#8581=EDGE_CURVE('',#4664,#4636,#2544,.T.);
-+#8584=EDGE_CURVE('',#4663,#4635,#2540,.T.);
-+#8607=EDGE_CURVE('',#4672,#4668,#2552,.T.);
-+#8609=EDGE_CURVE('',#4667,#4668,#2557,.T.);
-+#8611=EDGE_CURVE('',#4671,#4667,#2548,.T.);
-+#8623=EDGE_CURVE('',#4668,#4667,#2562,.T.);
-+#8638=EDGE_CURVE('',#4675,#4676,#2567,.T.);
-+#8640=EDGE_CURVE('',#4676,#4675,#2572,.T.);
-+#8651=EDGE_CURVE('',#4676,#4628,#2580,.T.);
-+#8654=EDGE_CURVE('',#4675,#4627,#2576,.T.);
-+#8677=EDGE_CURVE('',#4684,#4680,#2588,.T.);
-+#8679=EDGE_CURVE('',#4679,#4680,#2593,.T.);
-+#8681=EDGE_CURVE('',#4683,#4679,#2584,.T.);
-+#8693=EDGE_CURVE('',#4680,#4679,#2598,.T.);
-+#8708=EDGE_CURVE('',#4687,#4688,#2603,.T.);
-+#8710=EDGE_CURVE('',#4688,#4687,#2608,.T.);
-+#8721=EDGE_CURVE('',#4688,#4632,#2616,.T.);
-+#8724=EDGE_CURVE('',#4687,#4631,#2612,.T.);
-+#8747=EDGE_CURVE('',#4696,#4692,#2624,.T.);
-+#8749=EDGE_CURVE('',#4691,#4692,#2629,.T.);
-+#8751=EDGE_CURVE('',#4695,#4691,#2620,.T.);
-+#8763=EDGE_CURVE('',#4692,#4691,#2634,.T.);
-+#8778=EDGE_CURVE('',#4699,#4700,#2639,.T.);
-+#8780=EDGE_CURVE('',#4700,#4699,#2644,.T.);
-+#8791=EDGE_CURVE('',#4700,#4640,#2652,.T.);
-+#8794=EDGE_CURVE('',#4699,#4639,#2648,.T.);
-+#8817=EDGE_CURVE('',#4832,#4828,#2660,.T.);
-+#8819=EDGE_CURVE('',#4827,#4828,#2665,.T.);
-+#8821=EDGE_CURVE('',#4831,#4827,#2656,.T.);
-+#8833=EDGE_CURVE('',#4828,#4827,#2670,.T.);
-+#8848=EDGE_CURVE('',#4835,#4836,#2675,.T.);
-+#8850=EDGE_CURVE('',#4836,#4835,#2680,.T.);
-+#8861=EDGE_CURVE('',#4836,#4824,#2688,.T.);
-+#8864=EDGE_CURVE('',#4835,#4823,#2684,.T.);
-+#8887=EDGE_CURVE('',#4864,#4860,#2696,.T.);
-+#8889=EDGE_CURVE('',#4859,#4860,#2701,.T.);
-+#8891=EDGE_CURVE('',#4863,#4859,#2692,.T.);
-+#8903=EDGE_CURVE('',#4860,#4859,#2706,.T.);
-+#8918=EDGE_CURVE('',#4867,#4868,#2711,.T.);
-+#8920=EDGE_CURVE('',#4868,#4867,#2716,.T.);
-+#8931=EDGE_CURVE('',#4868,#4840,#2724,.T.);
-+#8934=EDGE_CURVE('',#4867,#4839,#2720,.T.);
-+#8957=EDGE_CURVE('',#4876,#4872,#2732,.T.);
-+#8959=EDGE_CURVE('',#4871,#4872,#2737,.T.);
-+#8961=EDGE_CURVE('',#4875,#4871,#2728,.T.);
-+#8973=EDGE_CURVE('',#4872,#4871,#2742,.T.);
-+#8988=EDGE_CURVE('',#4879,#4880,#2747,.T.);
-+#8990=EDGE_CURVE('',#4880,#4879,#2752,.T.);
-+#9001=EDGE_CURVE('',#4880,#4844,#2760,.T.);
-+#9004=EDGE_CURVE('',#4879,#4843,#2756,.T.);
-+#9027=EDGE_CURVE('',#4888,#4884,#2768,.T.);
-+#9029=EDGE_CURVE('',#4883,#4884,#2773,.T.);
-+#9031=EDGE_CURVE('',#4887,#4883,#2764,.T.);
-+#9043=EDGE_CURVE('',#4884,#4883,#2778,.T.);
-+#9058=EDGE_CURVE('',#4891,#4892,#2783,.T.);
-+#9060=EDGE_CURVE('',#4892,#4891,#2788,.T.);
-+#9071=EDGE_CURVE('',#4892,#4848,#2796,.T.);
-+#9074=EDGE_CURVE('',#4891,#4847,#2792,.T.);
-+#9097=EDGE_CURVE('',#4900,#4896,#2804,.T.);
-+#9099=EDGE_CURVE('',#4895,#4896,#2809,.T.);
-+#9101=EDGE_CURVE('',#4899,#4895,#2800,.T.);
-+#9113=EDGE_CURVE('',#4896,#4895,#2814,.T.);
-+#9128=EDGE_CURVE('',#4903,#4904,#2819,.T.);
-+#9130=EDGE_CURVE('',#4904,#4903,#2824,.T.);
-+#9141=EDGE_CURVE('',#4904,#4852,#2832,.T.);
-+#9144=EDGE_CURVE('',#4903,#4851,#2828,.T.);
-+#9167=EDGE_CURVE('',#4912,#4908,#2840,.T.);
-+#9169=EDGE_CURVE('',#4907,#4908,#2845,.T.);
-+#9171=EDGE_CURVE('',#4911,#4907,#2836,.T.);
-+#9183=EDGE_CURVE('',#4908,#4907,#2850,.T.);
-+#9198=EDGE_CURVE('',#4915,#4916,#2855,.T.);
-+#9200=EDGE_CURVE('',#4916,#4915,#2860,.T.);
-+#9211=EDGE_CURVE('',#4916,#4856,#2868,.T.);
-+#9214=EDGE_CURVE('',#4915,#4855,#2864,.T.);
-+#9238=EDGE_CURVE('',#4942,#4937,#2872,.T.);
-+#9254=EDGE_CURVE('',#4943,#4944,#2882,.T.);
-+#9256=EDGE_CURVE('',#4944,#4943,#2892,.T.);
-+#9266=EDGE_CURVE('',#4943,#4575,#2900,.T.);
-+#9269=EDGE_CURVE('',#4576,#4944,#2896,.T.);
-+#9271=EDGE_CURVE('',#4575,#4576,#2905,.T.);
-+#9284=EDGE_CURVE('',#4576,#4575,#2910,.T.);
-+#9298=EDGE_CURVE('',#4579,#4580,#2915,.T.);
-+#9300=EDGE_CURVE('',#4580,#4579,#2920,.T.);
-+#9311=EDGE_CURVE('',#4580,#4520,#2928,.T.);
-+#9314=EDGE_CURVE('',#4579,#4519,#2924,.T.);
-+#9336=EDGE_CURVE('',#5099,#5100,#2932,.T.);
-+#9338=EDGE_CURVE('',#5100,#5104,#2937,.T.);
-+#9340=EDGE_CURVE('',#5103,#5104,#2941,.T.);
-+#9353=EDGE_CURVE('',#5062,#5064,#2959,.T.);
-+#9355=EDGE_CURVE('',#5100,#5062,#3044,.T.);
-+#9365=EDGE_CURVE('',#5059,#5060,#2950,.T.);
-+#9367=EDGE_CURVE('',#5059,#5062,#2955,.T.);
-+#9381=EDGE_CURVE('',#5070,#5072,#2977,.T.);
-+#9383=EDGE_CURVE('',#5059,#5070,#3048,.T.);
-+#9393=EDGE_CURVE('',#5067,#5068,#2968,.T.);
-+#9395=EDGE_CURVE('',#5067,#5070,#2973,.T.);
-+#9409=EDGE_CURVE('',#5094,#5096,#2995,.T.);
-+#9411=EDGE_CURVE('',#5067,#5094,#3052,.T.);
-+#9421=EDGE_CURVE('',#5091,#5092,#2986,.T.);
-+#9423=EDGE_CURVE('',#5091,#5094,#2991,.T.);
-+#9435=EDGE_CURVE('',#5086,#5088,#3013,.T.);
-+#9437=EDGE_CURVE('',#5091,#5086,#3056,.T.);
-+#9449=EDGE_CURVE('',#5083,#5084,#3004,.T.);
-+#9451=EDGE_CURVE('',#5083,#5086,#3009,.T.);
-+#9463=EDGE_CURVE('',#5078,#5080,#3031,.T.);
-+#9465=EDGE_CURVE('',#5083,#5078,#3060,.T.);
-+#9477=EDGE_CURVE('',#5075,#5076,#3022,.T.);
-+#9479=EDGE_CURVE('',#5075,#5078,#3027,.T.);
-+#9492=EDGE_CURVE('',#5075,#5104,#3040,.T.);
-+#9525=EDGE_CURVE('',#4755,#4751,#3064,.T.);
-+#9527=EDGE_CURVE('',#4751,#4752,#3073,.T.);
-+#9529=EDGE_CURVE('',#4756,#4752,#3068,.T.);
-+#9541=EDGE_CURVE('',#4752,#4751,#3078,.T.);
-+#9563=EDGE_CURVE('',#4763,#4759,#3082,.T.);
-+#9565=EDGE_CURVE('',#4759,#4760,#3091,.T.);
-+#9567=EDGE_CURVE('',#4764,#4760,#3086,.T.);
-+#9579=EDGE_CURVE('',#4760,#4759,#3096,.T.);
-+#9601=EDGE_CURVE('',#4732,#4728,#3104,.T.);
-+#9603=EDGE_CURVE('',#4727,#4728,#3109,.T.);
-+#9605=EDGE_CURVE('',#4731,#4727,#3100,.T.);
-+#9617=EDGE_CURVE('',#4728,#4727,#3114,.T.);
-+#9639=EDGE_CURVE('',#4724,#4720,#3122,.T.);
-+#9641=EDGE_CURVE('',#4719,#4720,#3127,.T.);
-+#9643=EDGE_CURVE('',#4723,#4719,#3118,.T.);
-+#9655=EDGE_CURVE('',#4720,#4719,#3132,.T.);
-+#9677=EDGE_CURVE('',#4716,#4712,#3140,.T.);
-+#9679=EDGE_CURVE('',#4711,#4712,#3145,.T.);
-+#9681=EDGE_CURVE('',#4715,#4711,#3136,.T.);
-+#9693=EDGE_CURVE('',#4712,#4711,#3150,.T.);
-+#9714=EDGE_CURVE('',#4947,#4948,#3154,.T.);
-+#9716=EDGE_CURVE('',#4948,#4960,#3238,.T.);
-+#9718=EDGE_CURVE('',#4959,#4960,#3217,.T.);
-+#9731=EDGE_CURVE('',#4951,#4952,#3163,.T.);
-+#9733=EDGE_CURVE('',#4952,#4948,#3168,.T.);
-+#9745=EDGE_CURVE('',#4971,#4972,#3172,.T.);
-+#9747=EDGE_CURVE('',#4972,#4952,#3226,.T.);
-+#9759=EDGE_CURVE('',#4975,#4976,#3181,.T.);
-+#9761=EDGE_CURVE('',#4976,#4972,#3186,.T.);
-+#9771=EDGE_CURVE('',#4963,#4964,#3190,.T.);
-+#9773=EDGE_CURVE('',#4964,#4976,#3230,.T.);
-+#9787=EDGE_CURVE('',#4967,#4968,#3199,.T.);
-+#9789=EDGE_CURVE('',#4968,#4964,#3204,.T.);
-+#9799=EDGE_CURVE('',#4955,#4956,#3208,.T.);
-+#9801=EDGE_CURVE('',#4956,#4968,#3234,.T.);
-+#9816=EDGE_CURVE('',#4960,#4956,#3222,.T.);
-+#9842=EDGE_CURVE('',#5035,#5036,#3242,.T.);
-+#9845=EDGE_CURVE('',#5046,#5048,#3321,.T.);
-+#9847=EDGE_CURVE('',#5035,#5046,#3264,.T.);
-+#9858=EDGE_CURVE('',#5035,#5038,#3247,.T.);
-+#9860=EDGE_CURVE('',#5038,#5040,#3251,.T.);
-+#9871=EDGE_CURVE('',#5027,#5030,#3281,.T.);
-+#9873=EDGE_CURVE('',#5027,#5038,#3260,.T.);
-+#9877=EDGE_CURVE('',#5043,#5046,#3317,.T.);
-+#9879=EDGE_CURVE('',#5043,#5054,#3268,.T.);
-+#9881=EDGE_CURVE('',#5051,#5054,#3299,.T.);
-+#9883=EDGE_CURVE('',#5051,#5030,#3272,.T.);
-+#9893=EDGE_CURVE('',#5027,#5028,#3276,.T.);
-+#9896=EDGE_CURVE('',#5030,#5032,#3285,.T.);
-+#9921=EDGE_CURVE('',#5051,#5052,#3294,.T.);
-+#9934=EDGE_CURVE('',#5054,#5056,#3303,.T.);
-+#9945=EDGE_CURVE('',#5043,#5044,#3312,.T.);
-+#9971=EDGE_CURVE('',#5121,#5107,#3330,.T.);
-+#9973=EDGE_CURVE('',#5107,#5108,#3346,.T.);
-+#9975=EDGE_CURVE('',#5122,#5108,#3342,.T.);
-+#9986=EDGE_CURVE('',#5126,#5112,#3334,.T.);
-+#9988=EDGE_CURVE('',#5112,#5107,#3351,.T.);
-+#10000=EDGE_CURVE('',#5124,#5110,#3338,.T.);
-+#10002=EDGE_CURVE('',#5110,#5112,#3355,.T.);
-+#10015=EDGE_CURVE('',#5108,#5110,#3360,.T.);
-+#10038=EDGE_CURVE('',#5140,#5136,#3397,.T.);
-+#10040=EDGE_CURVE('',#5118,#5140,#3365,.T.);
-+#10042=EDGE_CURVE('',#5116,#5118,#3370,.T.);
-+#10044=EDGE_CURVE('',#5115,#5116,#3375,.T.);
-+#10046=EDGE_CURVE('',#5136,#5115,#3379,.T.);
-+#10056=EDGE_CURVE('',#5135,#5136,#3383,.T.);
-+#10059=EDGE_CURVE('',#5139,#5140,#3392,.T.);
-+#10072=EDGE_CURVE('',#5129,#5115,#3401,.T.);
-+#10086=EDGE_CURVE('',#5130,#5116,#3405,.T.);
-+#10099=EDGE_CURVE('',#5132,#5118,#3409,.T.);
-+#10121=EDGE_CURVE('',#5183,#5184,#3413,.T.);
-+#10124=EDGE_CURVE('',#5188,#5186,#3422,.T.);
-+#10126=EDGE_CURVE('',#5188,#5183,#3427,.T.);
-+#10137=EDGE_CURVE('',#5183,#5143,#3444,.T.);
-+#10139=EDGE_CURVE('',#5147,#5143,#3486,.T.);
-+#10150=EDGE_CURVE('',#5191,#5172,#3431,.T.);
-+#10152=EDGE_CURVE('',#5196,#5191,#3478,.T.);
-+#10154=EDGE_CURVE('',#5144,#5196,#3435,.T.);
-+#10156=EDGE_CURVE('',#5143,#5144,#3440,.T.);
-+#10160=EDGE_CURVE('',#5160,#5188,#3448,.T.);
-+#10162=EDGE_CURVE('',#5164,#5160,#3558,.T.);
-+#10164=EDGE_CURVE('',#5152,#5164,#3452,.T.);
-+#10166=EDGE_CURVE('',#5156,#5152,#3540,.T.);
-+#10168=EDGE_CURVE('',#5176,#5156,#3456,.T.);
-+#10170=EDGE_CURVE('',#5180,#5176,#3522,.T.);
-+#10172=EDGE_CURVE('',#5168,#5180,#3460,.T.);
-+#10174=EDGE_CURVE('',#5172,#5168,#3504,.T.);
-+#10184=EDGE_CURVE('',#5191,#5192,#3464,.T.);
-+#10187=EDGE_CURVE('',#5171,#5172,#3499,.T.);
-+#10200=EDGE_CURVE('',#5196,#5194,#3473,.T.);
-+#10213=EDGE_CURVE('',#5148,#5144,#3482,.T.);
-+#10236=EDGE_CURVE('',#5167,#5168,#3490,.T.);
-+#10251=EDGE_CURVE('',#5179,#5180,#3517,.T.);
-+#10262=EDGE_CURVE('',#5175,#5176,#3508,.T.);
-+#10275=EDGE_CURVE('',#5155,#5156,#3535,.T.);
-+#10288=EDGE_CURVE('',#5151,#5152,#3526,.T.);
-+#10303=EDGE_CURVE('',#5163,#5164,#3553,.T.);
-+#10314=EDGE_CURVE('',#5159,#5160,#3544,.T.);
-+#10340=EDGE_CURVE('',#5207,#5199,#3562,.T.);
-+#10342=EDGE_CURVE('',#5199,#5200,#3578,.T.);
-+#10344=EDGE_CURVE('',#5208,#5200,#3574,.T.);
-+#10355=EDGE_CURVE('',#5212,#5204,#3566,.T.);
-+#10357=EDGE_CURVE('',#5204,#5199,#3583,.T.);
-+#10369=EDGE_CURVE('',#5210,#5202,#3570,.T.);
-+#10371=EDGE_CURVE('',#5202,#5204,#3587,.T.);
-+#10384=EDGE_CURVE('',#5200,#5202,#3592,.T.);
-+#10408=EDGE_CURVE('',#5223,#5215,#3596,.T.);
-+#10410=EDGE_CURVE('',#5215,#5216,#3612,.T.);
-+#10412=EDGE_CURVE('',#5224,#5216,#3608,.T.);
-+#10423=EDGE_CURVE('',#5228,#5220,#3600,.T.);
-+#10425=EDGE_CURVE('',#5220,#5215,#3617,.T.);
-+#10437=EDGE_CURVE('',#5226,#5218,#3604,.T.);
-+#10439=EDGE_CURVE('',#5218,#5220,#3621,.T.);
-+#10452=EDGE_CURVE('',#5216,#5218,#3626,.T.);
-+#10476=EDGE_CURVE('',#5239,#5231,#3630,.T.);
-+#10478=EDGE_CURVE('',#5231,#5232,#3646,.T.);
-+#10480=EDGE_CURVE('',#5240,#5232,#3642,.T.);
-+#10491=EDGE_CURVE('',#5244,#5236,#3634,.T.);
-+#10493=EDGE_CURVE('',#5236,#5231,#3651,.T.);
-+#10505=EDGE_CURVE('',#5242,#5234,#3638,.T.);
-+#10507=EDGE_CURVE('',#5234,#5236,#3655,.T.);
-+#10520=EDGE_CURVE('',#5232,#5234,#3660,.T.);
-+#10544=EDGE_CURVE('',#5255,#5247,#3664,.T.);
-+#10546=EDGE_CURVE('',#5247,#5248,#3680,.T.);
-+#10548=EDGE_CURVE('',#5256,#5248,#3676,.T.);
-+#10559=EDGE_CURVE('',#5260,#5252,#3668,.T.);
-+#10561=EDGE_CURVE('',#5252,#5247,#3685,.T.);
-+#10573=EDGE_CURVE('',#5258,#5250,#3672,.T.);
-+#10575=EDGE_CURVE('',#5250,#5252,#3689,.T.);
-+#10588=EDGE_CURVE('',#5248,#5250,#3694,.T.);
-+#10612=EDGE_CURVE('',#5278,#5264,#3702,.T.);
-+#10614=EDGE_CURVE('',#5263,#5264,#3714,.T.);
-+#10616=EDGE_CURVE('',#5277,#5263,#3698,.T.);
-+#10627=EDGE_CURVE('',#5280,#5266,#3706,.T.);
-+#10629=EDGE_CURVE('',#5264,#5266,#3719,.T.);
-+#10641=EDGE_CURVE('',#5282,#5268,#3710,.T.);
-+#10643=EDGE_CURVE('',#5266,#5268,#3723,.T.);
-+#10656=EDGE_CURVE('',#5268,#5263,#3728,.T.);
-+#10679=EDGE_CURVE('',#5480,#5476,#3765,.T.);
-+#10681=EDGE_CURVE('',#5480,#5271,#3732,.T.);
-+#10683=EDGE_CURVE('',#5271,#5272,#3737,.T.);
-+#10685=EDGE_CURVE('',#5272,#5274,#3742,.T.);
-+#10687=EDGE_CURVE('',#5274,#5476,#3747,.T.);
-+#10697=EDGE_CURVE('',#5475,#5476,#3751,.T.);
-+#10700=EDGE_CURVE('',#5479,#5480,#3760,.T.);
-+#10713=EDGE_CURVE('',#5288,#5274,#3769,.T.);
-+#10727=EDGE_CURVE('',#5286,#5272,#3773,.T.);
-+#10740=EDGE_CURVE('',#5285,#5271,#3777,.T.);
-+#10763=EDGE_CURVE('',#5306,#5292,#3785,.T.);
-+#10765=EDGE_CURVE('',#5291,#5292,#3797,.T.);
-+#10767=EDGE_CURVE('',#5305,#5291,#3781,.T.);
-+#10778=EDGE_CURVE('',#5308,#5294,#3789,.T.);
-+#10780=EDGE_CURVE('',#5292,#5294,#3802,.T.);
-+#10792=EDGE_CURVE('',#5310,#5296,#3793,.T.);
-+#10794=EDGE_CURVE('',#5294,#5296,#3806,.T.);
-+#10807=EDGE_CURVE('',#5296,#5291,#3811,.T.);
-+#10830=EDGE_CURVE('',#5472,#5468,#3848,.T.);
-+#10832=EDGE_CURVE('',#5472,#5299,#3815,.T.);
-+#10834=EDGE_CURVE('',#5299,#5300,#3820,.T.);
-+#10836=EDGE_CURVE('',#5300,#5302,#3825,.T.);
-+#10838=EDGE_CURVE('',#5302,#5468,#3830,.T.);
-+#10848=EDGE_CURVE('',#5467,#5468,#3834,.T.);
-+#10851=EDGE_CURVE('',#5471,#5472,#3843,.T.);
-+#10864=EDGE_CURVE('',#5316,#5302,#3852,.T.);
-+#10878=EDGE_CURVE('',#5314,#5300,#3856,.T.);
-+#10891=EDGE_CURVE('',#5313,#5299,#3860,.T.);
-+#10914=EDGE_CURVE('',#5336,#5328,#3868,.T.);
-+#10916=EDGE_CURVE('',#5327,#5328,#3880,.T.);
-+#10918=EDGE_CURVE('',#5335,#5327,#3864,.T.);
-+#10929=EDGE_CURVE('',#5338,#5330,#3872,.T.);
-+#10931=EDGE_CURVE('',#5328,#5330,#3885,.T.);
-+#10943=EDGE_CURVE('',#5340,#5332,#3876,.T.);
-+#10945=EDGE_CURVE('',#5330,#5332,#3889,.T.);
-+#10958=EDGE_CURVE('',#5332,#5327,#3894,.T.);
-+#10982=EDGE_CURVE('',#5352,#5344,#3902,.T.);
-+#10984=EDGE_CURVE('',#5343,#5344,#3914,.T.);
-+#10986=EDGE_CURVE('',#5351,#5343,#3898,.T.);
-+#10997=EDGE_CURVE('',#5354,#5346,#3906,.T.);
-+#10999=EDGE_CURVE('',#5344,#5346,#3919,.T.);
-+#11011=EDGE_CURVE('',#5356,#5348,#3910,.T.);
-+#11013=EDGE_CURVE('',#5346,#5348,#3923,.T.);
-+#11026=EDGE_CURVE('',#5348,#5343,#3928,.T.);
-+#11050=EDGE_CURVE('',#5368,#5360,#3936,.T.);
-+#11052=EDGE_CURVE('',#5359,#5360,#3948,.T.);
-+#11054=EDGE_CURVE('',#5367,#5359,#3932,.T.);
-+#11065=EDGE_CURVE('',#5370,#5362,#3940,.T.);
-+#11067=EDGE_CURVE('',#5360,#5362,#3953,.T.);
-+#11079=EDGE_CURVE('',#5372,#5364,#3944,.T.);
-+#11081=EDGE_CURVE('',#5362,#5364,#3957,.T.);
-+#11094=EDGE_CURVE('',#5364,#5359,#3962,.T.);
-+#11118=EDGE_CURVE('',#5384,#5376,#3970,.T.);
-+#11120=EDGE_CURVE('',#5375,#5376,#3982,.T.);
-+#11122=EDGE_CURVE('',#5383,#5375,#3966,.T.);
-+#11133=EDGE_CURVE('',#5386,#5378,#3974,.T.);
-+#11135=EDGE_CURVE('',#5376,#5378,#3987,.T.);
-+#11147=EDGE_CURVE('',#5388,#5380,#3978,.T.);
-+#11149=EDGE_CURVE('',#5378,#5380,#3991,.T.);
-+#11162=EDGE_CURVE('',#5380,#5375,#3996,.T.);
-+#11186=EDGE_CURVE('',#5405,#5391,#4000,.T.);
-+#11188=EDGE_CURVE('',#5391,#5392,#4016,.T.);
-+#11190=EDGE_CURVE('',#5406,#5392,#4012,.T.);
-+#11201=EDGE_CURVE('',#5410,#5396,#4004,.T.);
-+#11203=EDGE_CURVE('',#5396,#5391,#4021,.T.);
-+#11215=EDGE_CURVE('',#5408,#5394,#4008,.T.);
-+#11217=EDGE_CURVE('',#5394,#5396,#4025,.T.);
-+#11230=EDGE_CURVE('',#5392,#5394,#4030,.T.);
-+#11253=EDGE_CURVE('',#5488,#5484,#4067,.T.);
-+#11255=EDGE_CURVE('',#5402,#5488,#4035,.T.);
-+#11257=EDGE_CURVE('',#5400,#5402,#4040,.T.);
-+#11259=EDGE_CURVE('',#5399,#5400,#4045,.T.);
-+#11261=EDGE_CURVE('',#5484,#5399,#4049,.T.);
-+#11271=EDGE_CURVE('',#5483,#5484,#4053,.T.);
-+#11274=EDGE_CURVE('',#5487,#5488,#4062,.T.);
-+#11287=EDGE_CURVE('',#5413,#5399,#4071,.T.);
-+#11301=EDGE_CURVE('',#5414,#5400,#4075,.T.);
-+#11314=EDGE_CURVE('',#5416,#5402,#4079,.T.);
-+#11336=EDGE_CURVE('',#5451,#5452,#4083,.T.);
-+#11338=EDGE_CURVE('',#5452,#5456,#4088,.T.);
-+#11340=EDGE_CURVE('',#5455,#5456,#4092,.T.);
-+#11353=EDGE_CURVE('',#5422,#5424,#4110,.T.);
-+#11355=EDGE_CURVE('',#5452,#5422,#4216,.T.);
-+#11365=EDGE_CURVE('',#5419,#5420,#4101,.T.);
-+#11367=EDGE_CURVE('',#5419,#5422,#4106,.T.);
-+#11381=EDGE_CURVE('',#5430,#5432,#4128,.T.);
-+#11383=EDGE_CURVE('',#5419,#5430,#4220,.T.);
-+#11393=EDGE_CURVE('',#5427,#5428,#4119,.T.);
-+#11395=EDGE_CURVE('',#5427,#5430,#4124,.T.);
-+#11409=EDGE_CURVE('',#5446,#5448,#4146,.T.);
-+#11411=EDGE_CURVE('',#5427,#5446,#4224,.T.);
-+#11421=EDGE_CURVE('',#5443,#5444,#4137,.T.);
-+#11423=EDGE_CURVE('',#5443,#5446,#4142,.T.);
-+#11435=EDGE_CURVE('',#5438,#5440,#4164,.T.);
-+#11437=EDGE_CURVE('',#5443,#5438,#4228,.T.);
-+#11449=EDGE_CURVE('',#5435,#5436,#4155,.T.);
-+#11451=EDGE_CURVE('',#5435,#5438,#4160,.T.);
-+#11463=EDGE_CURVE('',#5463,#5464,#4182,.T.);
-+#11465=EDGE_CURVE('',#5435,#5464,#4199,.T.);
-+#11477=EDGE_CURVE('',#5459,#5460,#4173,.T.);
-+#11479=EDGE_CURVE('',#5460,#5464,#4178,.T.);
-+#11493=EDGE_CURVE('',#5323,#5319,#4191,.T.);
-+#11495=EDGE_CURVE('',#5460,#5319,#4203,.T.);
-+#11506=EDGE_CURVE('',#5324,#5320,#4195,.T.);
-+#11508=EDGE_CURVE('',#5319,#5320,#4208,.T.);
-+#11520=EDGE_CURVE('',#5320,#5456,#4212,.T.);
-+#11562=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11550),#11561);
-+#11569=PRODUCT_DEFINITION('design','',#11568,#11565);
-+#11570=PRODUCT_DEFINITION_SHAPE('','SHAPE FOR PROESOURCE.',#11569);
-+#11571=SHAPE_DEFINITION_REPRESENTATION(#11570,#11562);
-+ENDSEC;
-+END-ISO-10303-21;
diff --git a/config/patches/occt/opencv.001_compile.patch b/config/patches/occt/opencv.001_compile.patch
deleted file mode 100644 (file)
index 9550f24..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -NaurwB opencv-2.4.6.1__0/cmake/OpenCVCompilerOptions.cmake opencv-2.4.6.1__1/cmake/OpenCVCompilerOptions.cmake
---- opencv-2.4.6.1__0/cmake/OpenCVCompilerOptions.cmake        2013-07-10 15:49:00.000000000 +0400
-+++ opencv-2.4.6.1__1/cmake/OpenCVCompilerOptions.cmake        2017-03-15 17:06:11.464387144 +0300
-@@ -1,14 +1,14 @@
--if(MINGW OR (X86 AND UNIX AND NOT APPLE))
--  # mingw compiler is known to produce unstable SSE code with -O3 hence we are trying to use -O2 instead
-+if(1 OR MINGW OR (X86 AND UNIX AND NOT APPLE))
-+  # mingw compiler is known to produce unstable SSE code with -O3 hence we are trying to use -O0 instead
-   if(CMAKE_COMPILER_IS_GNUCXX)
-     foreach(flags CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_DEBUG)
--      string(REPLACE "-O3" "-O2" ${flags} "${${flags}}")
-+      string(REPLACE "-O3" "-O0" ${flags} "${${flags}}")
-     endforeach()
-   endif()
-   if(CMAKE_COMPILER_IS_GNUCC)
-     foreach(flags CMAKE_C_FLAGS CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_DEBUG)
--      string(REPLACE "-O3" "-O2" ${flags} "${${flags}}")
-+      string(REPLACE "-O3" "-O0" ${flags} "${${flags}}")
-     endforeach()
-   endif()
- endif()
diff --git a/config/patches/occt/opencv.002_gcc6.patch b/config/patches/occt/opencv.002_gcc6.patch
deleted file mode 100644 (file)
index 79c8045..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-diff -Naur opencv-2.4.6.1_SRC_orig/cmake/OpenCVPCHSupport.cmake opencv-2.4.6.1_SRC_modif/cmake/OpenCVPCHSupport.cmake
---- opencv-2.4.6.1_SRC_orig/cmake/OpenCVPCHSupport.cmake       2013-07-10 15:49:00.000000000 +0400
-+++ opencv-2.4.6.1_SRC_modif/cmake/OpenCVPCHSupport.cmake      2016-10-17 17:34:32.000000000 +0300
-@@ -19,7 +19,7 @@
-         ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
-         OUTPUT_VARIABLE gcc_compiler_version)
-     #MESSAGE("GCC Version: ${gcc_compiler_version}")
--    IF(gcc_compiler_version VERSION_GREATER "4.2.-1")
-+    IF(gcc_compiler_version VERSION_GREATER "4.2.-1" AND gcc_compiler_version VERSION_LESS "6.0.0")
-         SET(PCHSupport_FOUND TRUE)
-     ENDIF()
-diff -Naur opencv-2.4.6.1_SRC_orig/modules/contrib/src/chamfermatching.cpp opencv-2.4.6.1_SRC_modif/modules/contrib/src/chamfermatching.cpp
---- opencv-2.4.6.1_SRC_orig/modules/contrib/src/chamfermatching.cpp    2013-07-10 15:49:00.000000000 +0400
-+++ opencv-2.4.6.1_SRC_modif/modules/contrib/src/chamfermatching.cpp   2016-10-17 18:11:47.000000000 +0300
-@@ -959,10 +959,8 @@
-     for (int y=0;y<h;++y) {
-         for (int x=0;x<w;++x) {
-             // initialize
--            if (&annotate_img!=NULL) {
--                annotate_img.at<Vec2i>(y,x)[0]=x;
--                annotate_img.at<Vec2i>(y,x)[1]=y;
--            }
-+          annotate_img.at<Vec2i>(y,x)[0]=x;
-+            annotate_img.at<Vec2i>(y,x)[1]=y;
-             uchar edge_val = edges_img.at<uchar>(y,x);
-             if( (edge_val!=0) ) {
-@@ -1005,11 +1003,9 @@
-             if (dt==-1 || dt>dist) {
-                 dist_img.at<float>(ny,nx) = dist;
-                 q.push(std::make_pair(nx,ny));
--
--                if (&annotate_img!=NULL) {
--                    annotate_img.at<Vec2i>(ny,nx)[0]=annotate_img.at<Vec2i>(y,x)[0];
--                    annotate_img.at<Vec2i>(ny,nx)[1]=annotate_img.at<Vec2i>(y,x)[1];
--                }
-+              
-+              annotate_img.at<Vec2i>(ny,nx)[0]=annotate_img.at<Vec2i>(y,x)[0];
-+              annotate_img.at<Vec2i>(ny,nx)[1]=annotate_img.at<Vec2i>(y,x)[1];
-             }
-         }
-     }
-@@ -1101,26 +1097,24 @@
-     float cost = (sum_distance/truncate_)/addr.size();
--    if (&orientation_img!=NULL) {
--        float* optr = orientation_img.ptr<float>(y)+x;
--        float sum_orientation = 0;
--        int cnt_orientation = 0;
--
--        for (size_t i=0;i<addr.size();++i) {
--
--            if(addr[i] < (orientation_img.cols*orientation_img.rows) - (offset.y*orientation_img.cols + offset.x)){
--                                if (tpl->orientations[i]>=-CV_PI && (*(optr+addr[i]))>=-CV_PI) {
--                    sum_orientation += orientation_diff(tpl->orientations[i], (*(optr+addr[i])));
--                    cnt_orientation++;
--                }
--            }
--        }
--        if (cnt_orientation>0) {
--                        cost = (float)(beta*cost+alpha*(sum_orientation/(2*CV_PI))/cnt_orientation);
--        }
--
--    }
-+    float* optr = orientation_img.ptr<float>(y)+x;
-+    float sum_orientation = 0;
-+    int cnt_orientation = 0;
-+    
-+    for (size_t i=0;i<addr.size();++i) {
-+      
-+      if(addr[i] < (orientation_img.cols*orientation_img.rows) - (offset.y*orientation_img.cols + offset.x)){
-+      if (tpl->orientations[i]>=-CV_PI && (*(optr+addr[i]))>=-CV_PI) {
-+        sum_orientation += orientation_diff(tpl->orientations[i], (*(optr+addr[i])));
-+        cnt_orientation++;
-+      }
-+      }
-+    }
-+    
-+    if (cnt_orientation>0) {
-+      cost = (float)(beta*cost+alpha*(sum_orientation/(2*CV_PI))/cnt_orientation);
-+    }    
-     if(cost > 0){
-         ChamferMatcher::Match* istance = new ChamferMatcher::Match();
-diff -Naur opencv-2.4.6.1_SRC_orig/modules/legacy/src/dpstereo.cpp opencv-2.4.6.1_SRC_modif/modules/legacy/src/dpstereo.cpp
---- opencv-2.4.6.1_SRC_orig/modules/legacy/src/dpstereo.cpp    2013-07-10 15:49:00.000000000 +0400
-+++ opencv-2.4.6.1_SRC_modif/modules/legacy/src/dpstereo.cpp   2016-10-18 10:22:03.257968598 +0300
-@@ -76,8 +76,8 @@
-     uchar min_val, max_val;
- } _CvRightImData;
--#define CV_IMAX3(a,b,c) ((temp3 = (a) >= (b) ? (a) : (b)),(temp3 >= (c) ? temp3 : (c)))
--#define CV_IMIN3(a,b,c) ((temp3 = (a) <= (b) ? (a) : (b)),(temp3 <= (c) ? temp3 : (c)))
-+#define CV_IMAX3(a,b,c) (std::max(std::max((a), (b)), (c)))
-+#define CV_IMIN3(a,b,c) (std::min(std::min((a), (b)), (c)))
- static void icvFindStereoCorrespondenceByBirchfieldDP( uchar* src1, uchar* src2,
-                                                 uchar* disparities,
-@@ -87,7 +87,7 @@
-                                                 float  _param3, float _param4,
-                                                 float  _param5 )
- {
--    int     x, y, i, j, temp3;
-+    int     x, y, i, j;
-     int     d, s;
-     int     dispH =  maxDisparity + 3;
-     uchar  *dispdata;
-diff -Naur opencv-2.4.6.1_SRC_orig/modules/ts/include/opencv2/ts/ts_perf.hpp opencv-2.4.6.1_SRC_modif/modules/ts/include/opencv2/ts/ts_perf.hpp
---- opencv-2.4.6.1_SRC_orig/modules/ts/include/opencv2/ts/ts_perf.hpp  2013-07-10 15:49:00.000000000 +0400
-+++ opencv-2.4.6.1_SRC_modif/modules/ts/include/opencv2/ts/ts_perf.hpp 2016-10-17 17:52:29.000000000 +0300
-@@ -475,9 +475,16 @@
-     INSTANTIATE_TEST_CASE_P(/*none*/, fixture##_##name, params);\
-     void fixture##_##name::PerfTestBody()
-+   #if defined(_MSC_VER) && (_MSC_VER <= 1400)
-+    #define CV_PERF_TEST_MAIN_INTERNALS_ARGS(...)     \
-+      while (++argc >= (--argc,-1)) {__VA_ARGS__; break;} /*this ugly construction is needed for VS 2005*/
-+    #else
-+    #define CV_PERF_TEST_MAIN_INTERNALS_ARGS(...) \
-+      __VA_ARGS__;
-+    #endif
- #define CV_PERF_TEST_MAIN_INTERNALS(modulename, impls, ...) \
--    while (++argc >= (--argc,-1)) {__VA_ARGS__; break;} /*this ugly construction is needed for VS 2005*/\
-+    CV_PERF_TEST_MAIN_INTERNALS_ARGS(__VA_ARGS__) \
-     ::perf::Regression::Init(#modulename);\
-     ::perf::TestBase::Init(std::vector<std::string>(impls, impls + sizeof impls / sizeof *impls),\
-                            argc, argv);\
diff --git a/config/patches/occt/planegcs.001_for_shaper.patch b/config/patches/occt/planegcs.001_for_shaper.patch
deleted file mode 100644 (file)
index 28c2a5e..0000000
+++ /dev/null
@@ -1,647 +0,0 @@
-From 853a0a438422d61cf1b9756d6949e04e5270d495 Mon Sep 17 00:00:00 2001
-From: azv <azv@opencascade.com>
-Date: Thu, 2 Aug 2018 11:32:16 +0300
-Subject: [PATCH] Update PlaneGCS solver for SHAPER needs
-
-* Add possibility to compile PlaneGCS as a shared library
-* Possibility to avoid memory clearance inside the solver (make possible external memory management)
----
- src/Mod/Sketcher/App/planegcs/Constraints.h | 48 ++++++++---------
- src/Mod/Sketcher/App/planegcs/GCS.cpp       | 81 +++++++++++++++++++++++------
- src/Mod/Sketcher/App/planegcs/GCS.h         |  8 +--
- src/Mod/Sketcher/App/planegcs/Geo.h         | 34 ++++++------
- src/Mod/Sketcher/App/planegcs/Util.h        | 10 ++++
- 5 files changed, 123 insertions(+), 58 deletions(-)
-
-diff --git a/src/Mod/Sketcher/App/planegcs/Constraints.h b/src/Mod/Sketcher/App/planegcs/Constraints.h
-index 559f3a2..76e4763 100644
---- a/src/Mod/Sketcher/App/planegcs/Constraints.h
-+++ b/src/Mod/Sketcher/App/planegcs/Constraints.h
-@@ -91,7 +91,7 @@ namespace GCS
-         HyperbolaNegativeMinorY = 17
-     };
--    class Constraint
-+    class PLANEGCS_EXPORT Constraint
-     {
-     _PROTECTED_UNLESS_EXTRACT_MODE_:
-         VEC_pD origpvec; // is used only as a reference for redirecting and reverting pvec
-@@ -128,7 +128,7 @@ namespace GCS
-     };
-     // Equal
--    class ConstraintEqual : public Constraint
-+    class PLANEGCS_EXPORT ConstraintEqual : public Constraint
-     {
-     private:
-         inline double* param1() { return pvec[0]; }
-@@ -142,7 +142,7 @@ namespace GCS
-     };
-     // Difference
--    class ConstraintDifference : public Constraint
-+    class PLANEGCS_EXPORT ConstraintDifference : public Constraint
-     {
-     private:
-         inline double* param1() { return pvec[0]; }
-@@ -157,7 +157,7 @@ namespace GCS
-     };
-     // P2PDistance
--    class ConstraintP2PDistance : public Constraint
-+    class PLANEGCS_EXPORT ConstraintP2PDistance : public Constraint
-     {
-     private:
-         inline double* p1x() { return pvec[0]; }
-@@ -178,7 +178,7 @@ namespace GCS
-     };
-     // P2PAngle
--    class ConstraintP2PAngle : public Constraint
-+    class PLANEGCS_EXPORT ConstraintP2PAngle : public Constraint
-     {
-     private:
-         inline double* p1x() { return pvec[0]; }
-@@ -200,7 +200,7 @@ namespace GCS
-     };
-     // P2LDistance
--    class ConstraintP2LDistance : public Constraint
-+    class PLANEGCS_EXPORT ConstraintP2LDistance : public Constraint
-     {
-     private:
-         inline double* p0x() { return pvec[0]; }
-@@ -224,7 +224,7 @@ namespace GCS
-     };
-     // PointOnLine
--    class ConstraintPointOnLine : public Constraint
-+    class PLANEGCS_EXPORT ConstraintPointOnLine : public Constraint
-     {
-     private:
-         inline double* p0x() { return pvec[0]; }
-@@ -246,7 +246,7 @@ namespace GCS
-     };
-     // PointOnPerpBisector
--    class ConstraintPointOnPerpBisector : public Constraint
-+    class PLANEGCS_EXPORT ConstraintPointOnPerpBisector : public Constraint
-     {
-     private:
-         inline double* p0x() { return pvec[0]; }
-@@ -268,7 +268,7 @@ namespace GCS
-     };
-     // Parallel
--    class ConstraintParallel : public Constraint
-+    class PLANEGCS_EXPORT ConstraintParallel : public Constraint
-     {
-     private:
-         inline double* l1p1x() { return pvec[0]; }
-@@ -291,7 +291,7 @@ namespace GCS
-     };
-     // Perpendicular
--    class ConstraintPerpendicular : public Constraint
-+    class PLANEGCS_EXPORT ConstraintPerpendicular : public Constraint
-     {
-     private:
-         inline double* l1p1x() { return pvec[0]; }
-@@ -315,7 +315,7 @@ namespace GCS
-     };
-     // L2LAngle
--    class ConstraintL2LAngle : public Constraint
-+    class PLANEGCS_EXPORT ConstraintL2LAngle : public Constraint
-     {
-     private:
-         inline double* l1p1x() { return pvec[0]; }
-@@ -342,7 +342,7 @@ namespace GCS
-     };
-     // MidpointOnLine
--    class ConstraintMidpointOnLine : public Constraint
-+    class PLANEGCS_EXPORT ConstraintMidpointOnLine : public Constraint
-     {
-     private:
-         inline double* l1p1x() { return pvec[0]; }
-@@ -366,7 +366,7 @@ namespace GCS
-     };
-     // TangentCircumf
--    class ConstraintTangentCircumf : public Constraint
-+    class PLANEGCS_EXPORT ConstraintTangentCircumf : public Constraint
-     {
-     private:
-         inline double* c1x() { return pvec[0]; }
-@@ -389,7 +389,7 @@ namespace GCS
-         virtual double grad(double *);
-     };
-     // PointOnEllipse
--    class ConstraintPointOnEllipse : public Constraint
-+    class PLANEGCS_EXPORT ConstraintPointOnEllipse : public Constraint
-     {
-     private:
-         inline double* p1x() { return pvec[0]; }
-@@ -411,7 +411,7 @@ namespace GCS
-         virtual double grad(double *);
-     };
-     
--    class ConstraintEllipseTangentLine : public Constraint
-+    class PLANEGCS_EXPORT ConstraintEllipseTangentLine : public Constraint
-     {
-     private:
-         Line l;
-@@ -426,7 +426,7 @@ namespace GCS
-         virtual double grad(double *);
-     };
-         
--    class ConstraintInternalAlignmentPoint2Ellipse : public Constraint
-+    class PLANEGCS_EXPORT ConstraintInternalAlignmentPoint2Ellipse : public Constraint
-     {
-     public:
-         ConstraintInternalAlignmentPoint2Ellipse(Ellipse &e, Point &p1, InternalAlignmentType alignmentType);
-@@ -442,7 +442,7 @@ namespace GCS
-         InternalAlignmentType AlignmentType;
-     };
--    class ConstraintInternalAlignmentPoint2Hyperbola : public Constraint
-+    class PLANEGCS_EXPORT ConstraintInternalAlignmentPoint2Hyperbola : public Constraint
-     {
-     public:
-         ConstraintInternalAlignmentPoint2Hyperbola(Hyperbola &e, Point &p1, InternalAlignmentType alignmentType);
-@@ -458,7 +458,7 @@ namespace GCS
-         InternalAlignmentType AlignmentType;
-     };
--    class ConstraintEqualMajorAxesConic : public Constraint
-+    class PLANEGCS_EXPORT ConstraintEqualMajorAxesConic : public Constraint
-     {
-     private:
-         MajorRadiusConic * e1;
-@@ -473,7 +473,7 @@ namespace GCS
-         virtual double grad(double *);
-     };
--    class ConstraintEqualFocalDistance : public Constraint
-+    class PLANEGCS_EXPORT ConstraintEqualFocalDistance : public Constraint
-     {
-     private:
-         ArcOfParabola * e1;
-@@ -488,7 +488,7 @@ namespace GCS
-         virtual double grad(double *);
-     };
--    class ConstraintCurveValue : public Constraint
-+    class PLANEGCS_EXPORT ConstraintCurveValue : public Constraint
-     {
-     private:
-         inline double* pcoord() { return pvec[2]; } //defines, which coordinate of point is being constrained by this constraint
-@@ -515,7 +515,7 @@ namespace GCS
-     };
-     
-     // PointOnHyperbola
--    class ConstraintPointOnHyperbola : public Constraint
-+    class PLANEGCS_EXPORT ConstraintPointOnHyperbola : public Constraint
-     {
-     private:
-         inline double* p1x() { return pvec[0]; }
-@@ -538,7 +538,7 @@ namespace GCS
-     };
-     // PointOnParabola
--    class ConstraintPointOnParabola : public Constraint
-+    class PLANEGCS_EXPORT ConstraintPointOnParabola : public Constraint
-     {
-     private:
-         void errorgrad(double* err, double* grad, double *param); //error and gradient combined. Values are returned through pointers.
-@@ -558,7 +558,7 @@ namespace GCS
-         virtual double grad(double *);
-     };
-     
--    class ConstraintAngleViaPoint : public Constraint
-+    class PLANEGCS_EXPORT ConstraintAngleViaPoint : public Constraint
-     {
-     private:
-         inline double* angle() { return pvec[0]; };
-@@ -583,7 +583,7 @@ namespace GCS
-         virtual double grad(double *);
-     };
--    class ConstraintSnell : public Constraint //snell's law angles constrainer. Point needs to lie on all three curves to be constraied.
-+    class PLANEGCS_EXPORT ConstraintSnell : public Constraint //snell's law angles constrainer. Point needs to lie on all three curves to be constraied.
-     {
-     private:
-         inline double* n1() { return pvec[0]; };
-diff --git a/src/Mod/Sketcher/App/planegcs/GCS.cpp b/src/Mod/Sketcher/App/planegcs/GCS.cpp
-index 474024a..9103653 100644
---- a/src/Mod/Sketcher/App/planegcs/GCS.cpp
-+++ b/src/Mod/Sketcher/App/planegcs/GCS.cpp
-@@ -101,11 +101,56 @@
- #endif
- #include <FCConfig.h>
-+#ifndef _GCS_USE_STL_OUTPUT
- #include <Base/Console.h>
-+#endif
- #include <boost/graph/adjacency_list.hpp>
- #include <boost/graph/connected_components.hpp>
-+namespace GCS
-+{
-+  void Log(const char* message)
-+  {
-+#ifdef _GCS_USE_STL_OUTPUT
-+    std::cout << message << std::endl;
-+#else
-+    Base::Console().Log(message);
-+#endif
-+  }
-+
-+  void Log(const char* format, const char* param)
-+  {
-+#ifdef _GCS_USE_STL_OUTPUT
-+    static char message[4096];
-+    sprintf(message, format, param);
-+    std::cout << message << std::endl;
-+#else
-+    Base::Console().Log(format, param);
-+#endif
-+  }
-+
-+  void Log(const char* format, const size_t param)
-+  {
-+#ifdef _GCS_USE_STL_OUTPUT
-+    static char message[4096];
-+    sprintf(message, format, param);
-+    std::cout << message << std::endl;
-+#else
-+    Base::Console().Log(format, param);
-+#endif
-+}
-+
-+  void Warning(const char* message)
-+  {
-+#ifdef _GCS_USE_STL_OUTPUT
-+    std::cout << "Warning: " << message << std::endl;
-+#else
-+    Base::Console().Warning(message);
-+#endif
-+  }
-+}
-+
- typedef Eigen::FullPivHouseholderQR<Eigen::MatrixXd>::IntDiagSizeVectorType MatrixIndexType;
- #ifdef _GCS_DEBUG
-@@ -130,7 +175,7 @@ void LogMatrix(std::string str, Eigen::MatrixXd matrix )
- #else
-     const std::string tmp = stream.str();
--    Base::Console().Log(tmp.c_str());
-+    GCS::Log(tmp.c_str());
- #endif
- }
-@@ -155,7 +200,7 @@ void LogMatrix(std::string str, MatrixIndexType matrix )
-     #else
-     const std::string tmp = stream.str();
--    Base::Console().Log(tmp.c_str());
-+    GCS::Log(tmp.c_str());
-     #endif
- }
- #endif
-@@ -178,7 +223,7 @@ void LogString(std::string str)
-     #else
-     const std::string tmp = stream.str();
--    Base::Console().Log(tmp.c_str());
-+    GCS::Log(tmp.c_str());
-     #endif
- }
-@@ -429,7 +474,11 @@ void System::clear()
-     reference.clear();
-     clearSubSystems();
-+#ifdef _GCS_DO_NOT_FREE_CONSTRAINTS_MEMORY
-+    clist.clear();
-+#else
-     free(clist);
-+#endif
-     c2p.clear();
-     p2c.clear();
- }
-@@ -486,9 +535,11 @@ void System::removeConstraint(Constraint *constr)
-     }
-     c2p.erase(constr);
-+#ifndef _GCS_DO_NOT_FREE_CONSTRAINTS_MEMORY
-     std::vector<Constraint *> constrvec;
-     constrvec.push_back(constr);
-     free(constrvec);
-+#endif
- }
- // basic constraints
-@@ -1477,7 +1528,7 @@ int System::solve_BFGS(SubSystem *subsys, bool /*isFine*/, bool isRedundantsolvi
-                 << ", maxIter: "            << maxIterNumber  << "\n";
-         const std::string tmp = stream.str();
--        Base::Console().Log(tmp.c_str());
-+        GCS::Log(tmp.c_str());
-     }
-     double divergingLim = 1e6*err + 1e12;
-@@ -1493,7 +1544,7 @@ int System::solve_BFGS(SubSystem *subsys, bool /*isFine*/, bool isRedundantsolvi
-                         << ", h_norm: "           << h_norm  << "\n";
-                 const std::string tmp = stream.str();
--                Base::Console().Log(tmp.c_str());
-+                GCS::Log(tmp.c_str());
-             }
-             break;
-         }
-@@ -1505,7 +1556,7 @@ int System::solve_BFGS(SubSystem *subsys, bool /*isFine*/, bool isRedundantsolvi
-                         << ", divergingLim: "            << divergingLim  << "\n";
-                 const std::string tmp = stream.str();
--                Base::Console().Log(tmp.c_str());
-+                GCS::Log(tmp.c_str());
-             }
-             break;
-         }
-@@ -1542,7 +1593,7 @@ int System::solve_BFGS(SubSystem *subsys, bool /*isFine*/, bool isRedundantsolvi
-                     << ", h_norm: "                 << h_norm << "\n";
-             const std::string tmp = stream.str();
--            Base::Console().Log(tmp.c_str());
-+            GCS::Log(tmp.c_str());
-         }
-     }
-@@ -1598,7 +1649,7 @@ int System::solve_LM(SubSystem* subsys, bool isRedundantsolving)
-                 << ", maxIter: "        << maxIterNumber  << "\n";
-         const std::string tmp = stream.str();
--        Base::Console().Log(tmp.c_str());
-+        GCS::Log(tmp.c_str());
-     }
-     double nu=2, mu=0;
-@@ -1712,7 +1763,7 @@ int System::solve_LM(SubSystem* subsys, bool isRedundantsolving)
-                     << ", h_norm: "                 << h_norm << "\n";
-             const std::string tmp = stream.str();
--            Base::Console().Log(tmp.c_str());
-+            GCS::Log(tmp.c_str());
-         }
-     }
-@@ -1757,7 +1808,7 @@ int System::solve_DL(SubSystem* subsys, bool isRedundantsolving)
-                 << ", maxIter: "        << maxIterNumber  << "\n";
-         const std::string tmp = stream.str();
--        Base::Console().Log(tmp.c_str());
-+        GCS::Log(tmp.c_str());
-     }
-     Eigen::VectorXd x(xsize), x_new(xsize);
-@@ -1912,7 +1963,7 @@ int System::solve_DL(SubSystem* subsys, bool isRedundantsolving)
-                     << ", err(divergingLim): "  << err  << "\n";
-             const std::string tmp = stream.str();
--            Base::Console().Log(tmp.c_str());
-+            GCS::Log(tmp.c_str());
-         }
-         // count this iteration and start again
-@@ -1926,7 +1977,7 @@ int System::solve_DL(SubSystem* subsys, bool isRedundantsolving)
-         stream  << "DL: stopcode: "     << stop << ((stop == 1) ? ", Success" : ", Failed") << "\n";
-         const std::string tmp = stream.str();
--        Base::Console().Log(tmp.c_str());
-+        GCS::Log(tmp.c_str());
-     }
-     return (stop == 1) ? Success : Failed;
-@@ -3721,7 +3772,7 @@ int System::diagnose(Algorithm alg)
-     Eigen::SparseQR<Eigen::SparseMatrix<double>, Eigen::COLAMDOrdering<int> > SqrJT;
- #else
-     if(qrAlgorithm==EigenSparseQR){
--        Base::Console().Warning("SparseQR not supported by you current version of Eigen. It requires Eigen 3.2.2 or higher. Falling back to Dense QR\n");
-+        GCS::Warning("SparseQR not supported by you current version of Eigen. It requires Eigen 3.2.2 or higher. Falling back to Dense QR\n");
-         qrAlgorithm=EigenDenseQR;
-     }
- #endif
-@@ -4074,7 +4125,7 @@ int System::diagnose(Algorithm alg)
-                         break;
-                 }
--                Base::Console().Log("Sketcher::RedundantSolving-%s-\n",solvername.c_str());
-+                GCS::Log("Sketcher::RedundantSolving-%s-\n",solvername.c_str());
-             }
-             if (res == Success) {
-@@ -4088,7 +4139,7 @@ int System::diagnose(Algorithm alg)
-                 resetToReference();
-                 if(debugMode==Minimal || debugMode==IterationLevel) {
--                    Base::Console().Log("Sketcher Redundant solving: %d redundants\n",redundant.size());
-+                    GCS::Log("Sketcher Redundant solving: %d redundants\n",redundant.size());
-                 }
-                 std::vector< std::vector<Constraint *> > conflictGroupsOrig=conflictGroups;
-diff --git a/src/Mod/Sketcher/App/planegcs/GCS.h b/src/Mod/Sketcher/App/planegcs/GCS.h
-index 17d57c8..ecc5b04 100644
---- a/src/Mod/Sketcher/App/planegcs/GCS.h
-+++ b/src/Mod/Sketcher/App/planegcs/GCS.h
-@@ -69,7 +69,7 @@ namespace GCS
-         IterationLevel = 2
-     };
--    class System
-+    class PLANEGCS_EXPORT System
-     {
-     // This is the main class. It holds all constraints and information
-     // about partitioning into subsystems and solution strategies
-@@ -283,9 +283,9 @@ namespace GCS
-     // Helper elements
-     ///////////////////////////////////////
--    void free(VEC_pD &doublevec);
--    void free(std::vector<Constraint *> &constrvec);
--    void free(std::vector<SubSystem *> &subsysvec);
-+    PLANEGCS_EXPORT void free(VEC_pD &doublevec);
-+    PLANEGCS_EXPORT void free(std::vector<Constraint *> &constrvec);
-+    PLANEGCS_EXPORT void free(std::vector<SubSystem *> &subsysvec);
- } //namespace GCS
-diff --git a/src/Mod/Sketcher/App/planegcs/Geo.h b/src/Mod/Sketcher/App/planegcs/Geo.h
-index 1cdb983..6246f3b 100644
---- a/src/Mod/Sketcher/App/planegcs/Geo.h
-+++ b/src/Mod/Sketcher/App/planegcs/Geo.h
-@@ -26,16 +26,20 @@
- #include <cmath>
- #include "Util.h"
-+#ifdef _MSC_VER
-+#pragma warning(disable : 4251)
-+#endif
-+
- namespace GCS
- {
--    class DependentParameters 
-+    class PLANEGCS_EXPORT DependentParameters
-     {
-     public:
-         DependentParameters():hasDependentParameters(false) {}
-         bool hasDependentParameters;
-     };
-     
--    class Point : public DependentParameters
-+    class PLANEGCS_EXPORT Point : public DependentParameters
-     {
-     public:
-         Point(){x = 0; y = 0;}
-@@ -55,7 +59,7 @@ namespace GCS
-     ///manually as well. The class also provides a bunch of methods to do math
-     ///on it (and derivatives are calculated implicitly).
-     ///
--    class DeriVector2
-+    class PLANEGCS_EXPORT DeriVector2
-     {
-     public:
-         DeriVector2(){x=0; y=0; dx=0; dy=0;}
-@@ -95,7 +99,7 @@ namespace GCS
-     // Geometries
-     ///////////////////////////////////////
--    class Curve: public DependentParameters //a base class for all curve-based objects (line, circle/arc, ellipse/arc)
-+    class PLANEGCS_EXPORT Curve: public DependentParameters //a base class for all curve-based objects (line, circle/arc, ellipse/arc)
-     {
-     public:
-         virtual ~Curve(){}
-@@ -125,7 +129,7 @@ namespace GCS
-         virtual Curve* Copy() = 0; //DeepSOIC: I haven't found a way to simply copy a curve object provided pointer to a curve object.
-     };
--    class Line: public Curve
-+    class PLANEGCS_EXPORT Line: public Curve
-     {
-     public:
-         Line(){}
-@@ -139,7 +143,7 @@ namespace GCS
-         virtual Line* Copy();
-     };
--    class Circle: public Curve
-+    class PLANEGCS_EXPORT Circle: public Curve
-     {
-     public:
-         Circle(){rad = 0;}
-@@ -153,7 +157,7 @@ namespace GCS
-         virtual Circle* Copy();
-     };
--    class Arc: public Circle
-+    class PLANEGCS_EXPORT Arc: public Circle
-     {
-     public:
-         Arc(){startAngle=0;endAngle=0;rad=0;}
-@@ -169,7 +173,7 @@ namespace GCS
-         virtual Arc* Copy();
-     };
-     
--    class MajorRadiusConic: public Curve
-+    class PLANEGCS_EXPORT MajorRadiusConic: public Curve
-     {
-     public:
-         virtual ~MajorRadiusConic(){}
-@@ -179,7 +183,7 @@ namespace GCS
-         DeriVector2 CalculateNormal(Point &p, double* derivparam = 0) = 0;
-     };
-     
--    class Ellipse: public MajorRadiusConic
-+    class PLANEGCS_EXPORT Ellipse: public MajorRadiusConic
-     {
-     public:
-         Ellipse(){ radmin = 0;}
-@@ -197,7 +201,7 @@ namespace GCS
-         virtual Ellipse* Copy();
-     };
-     
--    class ArcOfEllipse: public Ellipse
-+    class PLANEGCS_EXPORT ArcOfEllipse: public Ellipse
-     {
-     public:
-         ArcOfEllipse(){startAngle=0;endAngle=0;radmin = 0;}
-@@ -215,7 +219,7 @@ namespace GCS
-         virtual ArcOfEllipse* Copy();
-     };
-     
--    class Hyperbola: public MajorRadiusConic
-+    class PLANEGCS_EXPORT Hyperbola: public MajorRadiusConic
-     {
-     public:
-         Hyperbola(){ radmin = 0;}
-@@ -233,7 +237,7 @@ namespace GCS
-         virtual Hyperbola* Copy();
-     };    
--    class ArcOfHyperbola: public Hyperbola
-+    class PLANEGCS_EXPORT ArcOfHyperbola: public Hyperbola
-     {
-     public:
-         ArcOfHyperbola(){startAngle=0;endAngle=0;radmin = 0;}
-@@ -249,7 +253,7 @@ namespace GCS
-         virtual ArcOfHyperbola* Copy();
-     };
-     
--    class Parabola: public Curve
-+    class PLANEGCS_EXPORT Parabola: public Curve
-     {
-     public:
-         Parabola(){ }
-@@ -263,7 +267,7 @@ namespace GCS
-         virtual Parabola* Copy();
-     };    
--    class ArcOfParabola: public Parabola
-+    class PLANEGCS_EXPORT ArcOfParabola: public Parabola
-     {
-     public:
-         ArcOfParabola(){startAngle=0;endAngle=0;}
-@@ -279,7 +283,7 @@ namespace GCS
-         virtual ArcOfParabola* Copy();
-     };
--    class BSpline: public Curve
-+    class PLANEGCS_EXPORT BSpline: public Curve
-     {
-     public:
-         BSpline(){periodic=false;degree=2;}
-diff --git a/src/Mod/Sketcher/App/planegcs/Util.h b/src/Mod/Sketcher/App/planegcs/Util.h
-index 8a759ba..7baafaa 100644
---- a/src/Mod/Sketcher/App/planegcs/Util.h
-+++ b/src/Mod/Sketcher/App/planegcs/Util.h
-@@ -44,4 +44,14 @@ namespace GCS
- } //namespace GCS
-+#if defined WIN32
-+#  if defined PLANEGCS_EXPORTS
-+#    define PLANEGCS_EXPORT __declspec(dllexport)
-+#  else
-+#    define PLANEGCS_EXPORT __declspec(dllimport)
-+#  endif
-+#else
-+#  define PLANEGCS_EXPORT
-+#endif
-+
- #endif // PLANEGCS_UTIL_H
--- 
-2.9.0.windows.1
-
diff --git a/config/patches/occt/qt.001_proxy_factory.patch b/config/patches/occt/qt.001_proxy_factory.patch
deleted file mode 100644 (file)
index b39fa98..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -NaurwB /tmp/qt/qt-5.6.1__0/qtbase/src/network/kernel/qnetworkproxy_libproxy.cpp /tmp/qt/qt-5.6.1__1/qtbase/src/network/kernel/qnetworkproxy_libproxy.cpp
---- qt-5.6.1__0/qtbase/src/network/kernel/qnetworkproxy_libproxy.cpp   2016-05-25 18:46:17.000000000 +0300
-+++ qt-5.6.1__1/qtbase/src/network/kernel/qnetworkproxy_libproxy.cpp   2017-03-15 17:51:11.051090499 +0300
-@@ -74,7 +74,7 @@
-     QList<QUrl> ret;
-     if (factory) {
--        char **proxies = px_proxy_factory_get_proxies(factory, url.toEncoded());
-+        char **proxies = px_proxy_factory_get_proxies(factory, url.toEncoded().data());
-         if (proxies) {
-             for (int i = 0; proxies[i]; i++) {
-                 ret.append(QUrl::fromEncoded(proxies[i]));
diff --git a/config/patches/occt/qt.002_disable_qtgamepad.patch b/config/patches/occt/qt.002_disable_qtgamepad.patch
deleted file mode 100644 (file)
index a36711f..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-diff -Naur qt-5.9.1_SRC_orig/qtgamepad/src/plugins/plugins.pro qt-5.9.1_SRC_modif/qtgamepad/src/plugins/plugins.pro
---- qt-5.9.1_SRC_orig/qtgamepad/src/plugins/plugins.pro        2017-06-23 09:35:28.000000000 +0300
-+++ qt-5.9.1_SRC_modif/qtgamepad/src/plugins/plugins.pro       2018-10-31 15:53:41.396430110 +0300
-@@ -1,2 +1,2 @@
- TEMPLATE = subdirs
--SUBDIRS += gamepads
-+#SUBDIRS += gamepads
diff --git a/config/patches/occt/scotch.001.create_makefile.patch b/config/patches/occt/scotch.001.create_makefile.patch
deleted file mode 100644 (file)
index f9383cc..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -Naur scotch-6.0.4_SRC_orig/src/Makefile.inc scotch-6.0.4_SRC_modif/src/Makefile.inc
---- scotch-6.0.4_SRC_orig/src/Makefile.inc     1970-01-01 03:00:00.000000000 +0300
-+++ scotch-6.0.4_SRC_modif/src/Makefile.inc    2018-10-31 16:29:41.986238044 +0300
-@@ -0,0 +1,21 @@
-+EXE           =
-+LIB           = .a
-+OBJ           = .o
-+
-+MAKE          = make
-+AR            = ar
-+ARFLAGS               = -ruv
-+CAT           = cat
-+CCS           = gcc
-+CCP           = mpicc
-+CCD           = gcc
-+CFLAGS                = -fPIC -pg -O3 -Drestrict=__restrict -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_PTHREAD -DSCOTCH_RENAME
-+CLIBFLAGS     =
-+LDFLAGS               = -lz -lm -pthread
-+CP            = cp
-+LEX           = flex -Pscotchyy -olex.yy.c
-+LN            = ln
-+MKDIR         = mkdir
-+MV            = mv
-+RANLIB                = ranlib
-+YACC          = bison -pscotchyy -y -b y
diff --git a/config/patches/occt/solvespace.001_nogui.patch b/config/patches/occt/solvespace.001_nogui.patch
deleted file mode 100644 (file)
index b273ca6..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -Naur '--exclude=CVS' '--exclude=.git' solvespace-2.1.orig/CMakeLists.txt solvespace-2.1.p1/CMakeLists.txt
---- solvespace-2.1.orig/CMakeLists.txt 2015-09-28 17:55:15.000000000 +0300
-+++ solvespace-2.1.p1/CMakeLists.txt   2015-09-28 18:05:50.000000000 +0300
-@@ -28,6 +28,10 @@
-     set(GUI gtk2 CACHE STRING "GUI toolkit to use (one of: gtk2 gtk3)")
- endif()
-+# options
-+
-+option(BUILD_GUI "Build only the library part" ON)
-+
- # compiler
- if(WIN32)
-@@ -54,6 +58,8 @@
- CHECK_INCLUDE_FILE("stdint.h" HAVE_STDINT_H)
-+if(BUILD_GUI)
-+
- find_package(OpenGL REQUIRED)
- find_package(Perl)
-@@ -125,6 +131,8 @@
-     endif()
- endif()
-+endif(BUILD_GUI)
-+
- # components
- if(WIN32)
-diff -Naur '--exclude=CVS' '--exclude=.git' solvespace-2.1.orig/src/CMakeLists.txt solvespace-2.1.p1/src/CMakeLists.txt
---- solvespace-2.1.orig/src/CMakeLists.txt     2015-09-28 17:55:15.000000000 +0300
-+++ solvespace-2.1.p1/src/CMakeLists.txt       2015-09-28 18:07:31.000000000 +0300
-@@ -79,6 +79,8 @@
- # generated files
-+if(BUILD_GUI)
-+
- file(GLOB icons "${CMAKE_CURRENT_SOURCE_DIR}/icons/*.png")
- if(PERL_FOUND AND PERLMODULES_FOUND)
-@@ -384,3 +386,5 @@
-         --malloc-fill=0xac
-         --free-fill=0xde
-         $<TARGET_FILE:solvespace>)
-+
-+endif(BUILD_GUI)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 5272c8d1c256da69648e792de5112700e722f523..c896f9264abf7fde2a1785bbeae3b9752f20f564 100755 (executable)
@@ -1,6 +1,25 @@
 #!/usr/bin/env python
 #  -*- coding: iso-8859-1 -*-
 
+# Copyright (C) 2016  OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 ###
 # Command line tool to manage SALOME configuration.
 # Usage: type "scfg help" to learn how to use tool.
index dd5c10e4460746f6ac545d25cbaa754b9ccde229..0a530108886a59fb2ff4233943533cde7afe5571 100755 (executable)
@@ -1,6 +1,25 @@
 #!/usr/bin/env python
 #  -*- coding: iso-8859-1 -*-
 
+# Copyright (C) 2016  OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 ###
 # Command line tool to compare two SALOME configurations.
 # Usage: type "scfgcmp help" to learn how to use tool.
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..3ff5292bbb892ef88f15139c70893afca4f6f05a 100644 (file)
@@ -0,0 +1,18 @@
+# Copyright (C) 2016  OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
index b20b5bd2032433db8cbf01a815358eab8234a45a..74210bdeb5e31e9cd2adc9a8316822611ba3ee7a 100644 (file)
@@ -1,4 +1,22 @@
 #  -*- coding: iso-8859-1 -*-
+# Copyright (C) 2016  OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
 
 """
 Manage SALOME configuration.