Browse Source

Merge branch '1+x' of http://111.33.136.149:3000/adc_pilot/modularization into 1+x

HAPO-9# 3 years ago
parent
commit
2958625938
100 changed files with 18757 additions and 103 deletions
  1. 13 4
      README.md
  2. 5 2
      autogen_lib.sh
  3. 20 0
      deploylib.sh
  4. BIN
      doc/AGX_and_PC环境配置V7.9.pdf
  5. 35 1
      doc/架构/共享内存使用说明.md
  6. 19 4
      include/common.pri
  7. 2 0
      include/ivversion.h
  8. 26 32
      include/modulecomm.h
  9. 208 0
      include/modulecommext.h
  10. 11485 0
      map/dongli_map_0916_tingzhangshezhi.xodr
  11. 2 1
      map/pos/pos_dongli_zuixin0713.txt
  12. 2 0
      sh/HAPO/agx1/autodeploy.sh
  13. 10 0
      sh/HAPO/agx1/autogen.sh
  14. 146 0
      sh/tagv1.3/autodeploy.sh
  15. 58 0
      sh/tagv1.3/autodeploylib.sh
  16. 10 0
      sh/tagv1.3/autogen.bat
  17. 326 0
      sh/tagv1.3/autogen.sh
  18. 23 0
      sh/tagv1.3/gen.bat
  19. 25 0
      sh/tagv1.3/genlib.bat
  20. 13 0
      sh/tagv1.3/windowsdus.txt
  21. 66 0
      src/common/common/xodr/OpenDrive/ObjectSignal.cpp
  22. 46 0
      src/common/common/xodr/OpenDrive/ObjectSignal.h
  23. 48 5
      src/common/common/xodr/OpenDrive/OpenDriveXmlParser.cpp
  24. 3 0
      src/common/common/xodr/OpenDrive/OpenDriveXmlParser.h
  25. 34 0
      src/common/common/xodr/OpenDrive/OpenDriveXmlWriter.cpp
  26. 2 0
      src/common/common/xodr/OpenDrive/OpenDriveXmlWriter.h
  27. 117 0
      src/common/common/xodr/OpenDrive/Road.cpp
  28. 16 0
      src/common/common/xodr/OpenDrive/Road.h
  29. 147 1
      src/common/common/xodr/OpenDrive/RoadGeometry.cpp
  30. 8 0
      src/common/common/xodr/OpenDrive/RoadGeometry.h
  31. 35 0
      src/common/common/xodr/OpenDrive/userData.cpp
  32. 17 0
      src/common/common/xodr/OpenDrive/userData.h
  33. 73 0
      src/common/modulecomm/.gitignore
  34. 50 0
      src/common/modulecomm/andmainwindow.cpp
  35. 37 0
      src/common/modulecomm/andmainwindow.h
  36. 65 0
      src/common/modulecomm/andmainwindow.ui
  37. 90 0
      src/common/modulecomm/android/AndroidManifest.xml
  38. 57 0
      src/common/modulecomm/android/build.gradle
  39. BIN
      src/common/modulecomm/android/gradle/wrapper/gradle-wrapper.jar
  40. 5 0
      src/common/modulecomm/android/gradle/wrapper/gradle-wrapper.properties
  41. 172 0
      src/common/modulecomm/android/gradlew
  42. 84 0
      src/common/modulecomm/android/gradlew.bat
  43. 25 0
      src/common/modulecomm/android/res/values/libs.xml
  44. 327 0
      src/common/modulecomm/fastrtps/Topics.cxx
  45. 253 0
      src/common/modulecomm/fastrtps/Topics.h
  46. 13 0
      src/common/modulecomm/fastrtps/Topics.idl
  47. 141 0
      src/common/modulecomm/fastrtps/TopicsPubSubTypes.cxx
  48. 61 0
      src/common/modulecomm/fastrtps/TopicsPubSubTypes.h
  49. 217 0
      src/common/modulecomm/fastrtps/TopicsPublisher.cxx
  50. 56 0
      src/common/modulecomm/fastrtps/TopicsPublisher.h
  51. 232 0
      src/common/modulecomm/fastrtps/TopicsSubscriber.cxx
  52. 72 0
      src/common/modulecomm/fastrtps/TopicsSubscriber.h
  53. 22 0
      src/common/modulecomm/fastrtps/modulecomm_fastrtps.pri
  54. 64 0
      src/common/modulecomm/fastrtps/modulecomm_fastrtps_shm.cpp
  55. 29 0
      src/common/modulecomm/fastrtps/modulecomm_fastrtps_shm.h
  56. 64 0
      src/common/modulecomm/fastrtps/modulecomm_fastrtps_tcp.cpp
  57. 26 0
      src/common/modulecomm/fastrtps/modulecomm_fastrtps_tcp.h
  58. 142 0
      src/common/modulecomm/fastrtps/modulecomm_impl_shm.cpp
  59. 41 0
      src/common/modulecomm/fastrtps/modulecomm_impl_shm.h
  60. 143 0
      src/common/modulecomm/fastrtps/modulecomm_impl_tcp.cpp
  61. 41 0
      src/common/modulecomm/fastrtps/modulecomm_impl_tcp.h
  62. 491 0
      src/common/modulecomm/inter/intercomm.cpp
  63. 109 0
      src/common/modulecomm/inter/intercomm.h
  64. 60 0
      src/common/modulecomm/inter/modulecomm_inter.cpp
  65. 30 0
      src/common/modulecomm/inter/modulecomm_inter.h
  66. 7 0
      src/common/modulecomm/inter/modulecomm_inter.pri
  67. BIN
      src/common/modulecomm/libfast.zip
  68. 172 0
      src/common/modulecomm/main.cpp
  69. 11 0
      src/common/modulecomm/main1.cpp
  70. 11 0
      src/common/modulecomm/main2.cpp
  71. 256 23
      src/common/modulecomm/modulecomm.cpp
  72. 48 7
      src/common/modulecomm/modulecomm.h
  73. 69 23
      src/common/modulecomm/modulecomm.pro
  74. 4 0
      src/common/modulecomm/modulecomm.xml
  75. 11 0
      src/common/modulecomm/modulecomm_base.cpp
  76. 33 0
      src/common/modulecomm/modulecomm_base.h
  77. 9 0
      src/common/modulecomm/modulecommext.cpp
  78. 208 0
      src/common/modulecomm/modulecommext.h
  79. 54 0
      src/common/modulecomm/shm/b/modulecomm_shm.cpp
  80. 42 0
      src/common/modulecomm/shm/b/modulecomm_shm.h
  81. 61 0
      src/common/modulecomm/shm/modulecomm_shm.cpp
  82. 28 0
      src/common/modulecomm/shm/modulecomm_shm.h
  83. 9 0
      src/common/modulecomm/shm/modulecomm_shm.pri
  84. 578 0
      src/common/modulecomm/shm/procsm.cpp
  85. 131 0
      src/common/modulecomm/shm/procsm.h
  86. 310 0
      src/common/modulecomm/shm/procsm_if.cpp
  87. 0 0
      src/common/modulecomm/shm/procsm_if.h
  88. 66 0
      src/common/modulecomm/testmodulecomm.pro
  89. 83 0
      src/common/modulecomm/testmodulecomm_android.pro
  90. 31 0
      src/common/modulecomm/testmodulecomm_android2.pro
  91. 73 0
      src/common/modulecomm/testmodulecommext.pro
  92. 0 0
      src/common/modulecomm_classic/ReadMe.md
  93. 13 0
      src/common/modulecomm_classic/ivmodulemsg_type.h
  94. 56 0
      src/common/modulecomm_classic/modulecomm.cpp
  95. 39 0
      src/common/modulecomm_classic/modulecomm.h
  96. 44 0
      src/common/modulecomm_classic/modulecomm.pro
  97. 41 0
      src/common/modulecomm_classic/modulecomm_android.pro
  98. 0 0
      src/common/modulecomm_classic/procsm.cpp
  99. 0 0
      src/common/modulecomm_classic/procsm.h
  100. 0 0
      src/common/modulecomm_classic/procsm_if.cpp

+ 13 - 4
README.md

@@ -6,17 +6,26 @@
 
 1.autogen.sh 需要设置qtmake路径
   追加s参数,编译中出现错误时自动退出。默认情况下不退出:
-  $ ./autogen.sh s 
+  > $ ./autogen.sh s 
 
 2.生成部署文件用autodeploy.sh,需要设置deploy.sh文件里的Qtgccdir。生成的部署文件在deploy/app目录下。
 
 3.首次下载完成后,请在modularization/路径下,右键打开终端,依次执行如下命令 
-  $chmod +x *.sh
+  > $chmod +x *.sh
 
 4.修改autodeploy.sh中的CONFIG_IVSysMan为对应项目的配文件。具体文件可以在./other/目录下找到
 
 5.提交代码前,需要执行如下命令,清除编译产物
-  $./auto_clean.sh
+  > $./auto_clean.sh
 
 6.单独编译某个模块,例如view_ivlog,执行如下命令即可
-  $./build_partial.sh view_ivlog
+  > $./build_partial.sh view_ivlog
+ 
+7.单独编译某个库,例如libivchart,执行如下命令
+  > $./autogen_lib.sh libivchart
+  > 
+  > $cp bin/libivchart ../.
+  > 
+  > $deploylib.sh libivchart
+  > 
+  > rm libivchart

+ 5 - 2
autogen_lib.sh

@@ -7,8 +7,8 @@ if [ ${#qtmake} -lt 5 ]; then
   optfiles=`find /opt -name 'qmake'` 
   for entry in $optfiles
   do
-     x=${entry:0-10:10}
-     if [ "$x" == "/bin/qmake" ];  then
+     x=${entry:0-17:17}
+     if [ "$x" == "/gcc_64/bin/qmake" ];  then
         qtmake="$entry"
 	echo "  -----find qmake"
 	echo "$qtmake"
@@ -49,6 +49,9 @@ rm Makefile
 rm .qmake.stash
 cd ../../../
 
+cp thirdpartylib/FastRTPS/lib/libamd64/* bin/
+cp thirdpartylib/FastRTPS/lib/libarm64/* bin/
+
 cd src/common/xmlparam/
 $qtmake xmlparam.pro
 make $MAKEOPT

+ 20 - 0
deploylib.sh

@@ -31,6 +31,26 @@ fi
 QtPlatformdir=$Qtgccdir/plugins/platforms
 QtLibDir=$Qtgccdir/lib
 
+RTPSLIBDIR=`pwd`/thirdpartylib/FastRTPS/lib/libamd64
+RTPSLIBARMDIR=`pwd`/thirdpartylib/FastRTPS/lib/libarm64
+
+echo $RTPSLIBDIR
+
+new_export="export LD_LIBRARY_PATH=$RTPSLIBDIR:\$LD_LIBRARY_PATH"
+new_export2="export LD_LIBRARY_PATH=$RTPSLIBARMDIR:\$LD_LIBRARY_PATH"
+
+reg_str="^\s*export\s*LD_LIBRARY_PATH=$RTPSLIBDIR:\$LD_LIBRARY_PATH"
+
+if grep -q $reg_str  ~/.bashrc
+then
+echo $RTPSLIBDIR exists in LD_LIBRARAY_PATH
+else
+	echo define LD_LIBRARY_PATH
+	echo $new_export >> ~/.bashrc
+	echo $new_export2 >> ~/.bashrc
+	echo Please source .bashrc
+fi
+
 if [ "$#" -lt 1 ]; then
 	echo "没有输入"
 	echo "$1"

BIN
doc/Xavier环境配置V7.4.pdf → doc/AGX_and_PC环境配置V7.9.pdf


+ 35 - 1
doc/架构/共享内存使用说明.md

@@ -53,9 +53,20 @@ if(gobj.SerializeToArray(str,nsize))
 }
 ```
 
+**3. 直接发送proto消息**
+
+包含头文件
+
+#include "modulecommext.h"
+
+    mpa = new iv::modulecommext::modulecommmsg<iv::testmodulecommext>();
+
+    mpa->RegisterSend("test");
+
+
 ## 接收端
 
-**从共享内中读取数据**
+**1. 传统模式**
 
 工程配置文件中添加配置信息:
 
@@ -88,3 +99,26 @@ void listen(const char * strdata,const unsigned int nSize,const unsigned int ind
 }
 ```
 
+
+**2. 直接接收proto消息**
+
+包含头文件
+
+#include "modulecommext.h"
+
+    mpa = new iv::modulecommext::modulecommmsg<iv::testmodulecommext>();
+    ModuleExtFun funext = std::bind(&testinteriorrecv::ListenMsg,this,std::placeholders::_1);
+    mpa->RegisterRecvPlus("test");
+
+
+void testinteriorrecv::ListenMsg(google::protobuf::Message &xmsg)
+{
+    iv::testmodulecommext  xdata;
+    xdata.CopyFrom(xmsg);
+    qDebug("Inter: %lld",xdata.time());
+}
+
+
+
+
+

+ 19 - 4
include/common.pri

@@ -1,13 +1,14 @@
 
 unix:system("./ivversion.sh ")
 
-DEFINES += RUNSYSTEMTEST
+unix:DEFINES += RUNSYSTEMTEST
 
 if(contains(DEFINES,RUNSYSTEMTEST)){
 unix:system("./linuxsystemtest.sh ")
 }
 
-include(systemdef.pri)
+unix:include(systemdef.pri)
+win32: DEFINES += SYSTEM_WIN
 
 INCLUDEPATH += $$PWD/../include/
 LIBS += -L$$PWD/../bin/ -lxmlparam -lmodulecomm  -livlog -livfault -livexit -livbacktrace -livchart
@@ -25,8 +26,22 @@ QMAKE_LFLAGS += -no-pie
 
 INCLUDEPATH += $$PWD/../src/include/msgtype
 
-if(contains(DEFINES,USE_PLUS_MODULECOMM)){
-LIBS += -L$$PWD -lfastcdr -lfastrtps
+if(contains(DEFINES,SYSTEM_AGX)){
+DEFINES += USE_FASTRTPS
+LIBS += -L$$PWD/../thirdpartylib/FastRTPS/lib/libarm64
+system("cd ./../thirdpartylib/FastRTPS/lib ; unzip -x -n libarm64.zip ; cd ../../../include ; echo $PWD")
+}
+
+if(contains(DEFINES,SYSTEM_UBUNTU1804)){
+DEFINES += USE_FASTRTPS
+LIBS += -L$$PWD/../thirdpartylib/FastRTPS/lib/libamd64
+system("cd ./../thirdpartylib/FastRTPS/lib ; unzip -x -n libamd64.zip ; cd ../../../include ; echo $PWD")
+}
+
+
+
+if(contains(DEFINES,USE_FASTRTPS)){
+LIBS +=  -lfastcdr -lfastrtps -ltinyxml2
 }
 
 

+ 2 - 0
include/ivversion.h

@@ -3,6 +3,8 @@
 
 #include "ivversion_def.h"   //Please use common.pri, If you don't want use ivversion_def.h can comment this line.
 
+#include <iostream>
+
 #ifndef IVVERSION
 #define IVVERSION "1.1.0-develop"
 #endif

+ 26 - 32
include/modulecomm.h

@@ -1,11 +1,15 @@
-#ifndef MODULECOMM_H
+#ifndef MODULECOMM_H
 #define MODULECOMM_H
 
+
 #include <QtCore/qglobal.h>
 #include <QDateTime>
 
 #include <functional>
 
+
+
+
 #if defined(MODULECOMM_LIBRARY)
 #  define MODULECOMMSHARED_EXPORT Q_DECL_EXPORT
 #else
@@ -13,30 +17,9 @@
 #endif
 
 
-#ifndef USE_PLUS_MODULECOMM
 
-//#include <iostream>
-//#include <thread>
 
-//using namespace std::placeholders;
-typedef std::function<void(const char * ,const unsigned int , const unsigned int , QDateTime * ,const char *)> ModuleFun;
-typedef void (* SMCallBack)(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname);
 
-namespace iv {
-namespace modulecomm {
-void * MODULECOMMSHARED_EXPORT RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount);
-void * MODULECOMMSHARED_EXPORT RegisterRecv(const char * strcommname,SMCallBack pCall);
-void * MODULECOMMSHARED_EXPORT RegisterRecvPlus(const char * strcommname,ModuleFun xFun);
-void MODULECOMMSHARED_EXPORT ModuleSendMsg(void * pHandle,const char * strdata,const unsigned int nDataLen);
-void MODULECOMMSHARED_EXPORT Unregister(void * pHandle);
-void MODULECOMMSHARED_EXPORT PauseComm(void * pHandle);
-void MODULECOMMSHARED_EXPORT ContintuComm(void * pHandle);
-
-}
-
-}
-
-#else
 
 //#include <iostream>
 //#include <thread>
@@ -58,29 +41,40 @@ enum ModuleComm_TYPE
     ModuleComm_SHAREMEM = 0,
     ModuleComm_INTERIOR = 1,
     ModuleComm_FASTRTPS = 2,
-    ModuleComm_FASTRTPS_TCP = 3
+    ModuleComm_FASTRTPS_TCP = 3,
+    ModuleComm_UNDEFINE = 4
 };
 
+void * MODULECOMMSHARED_EXPORT RegisterSend(const char * strcommname);
+
 
 void * MODULECOMMSHARED_EXPORT RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount
-                                            ,ModuleComm_TYPE xmctype = ModuleComm_SHAREMEM,const unsigned short nport = 5100);
+                                            ,ModuleComm_TYPE xmctype,const unsigned short nport);
 void * MODULECOMMSHARED_EXPORT RegisterRecv(const char * strcommname,SMCallBack pCall,
-                                            ModuleComm_TYPE xmctype = ModuleComm_SHAREMEM,const char * strip = 0,const unsigned short = 5100);
+                                            ModuleComm_TYPE xmctype ,const char * strip,const unsigned short );
 void * MODULECOMMSHARED_EXPORT RegisterRecvPlus(const char * strcommname,ModuleFun xFun,
-                                                ModuleComm_TYPE xmctype = ModuleComm_SHAREMEM,const char * strip = 0,const unsigned short = 5100);
+                                                ModuleComm_TYPE xmctype,const char * strip,const unsigned short );
+
+
+//void * MODULECOMMSHARED_EXPORT RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount
+//                                            ,ModuleComm_TYPE xmctype = ModuleComm_UNDEFINE,const unsigned short nport = 5100);
+//void * MODULECOMMSHARED_EXPORT RegisterRecv(const char * strcommname,SMCallBack pCall,
+//                                            ModuleComm_TYPE xmctype = ModuleComm_UNDEFINE,const char * strip = 0,const unsigned short = 5100);
+//void * MODULECOMMSHARED_EXPORT RegisterRecvPlus(const char * strcommname,ModuleFun xFun,
+//                                                ModuleComm_TYPE xmctype = ModuleComm_UNDEFINE,const char * strip = 0,const unsigned short = 5100);
 
 void MODULECOMMSHARED_EXPORT ModuleSendMsg(void * pHandle,const char * strdata,const unsigned int nDataLen);
 void MODULECOMMSHARED_EXPORT Unregister(void * pHandle);
 void MODULECOMMSHARED_EXPORT PauseComm(void * pHandle);
 void MODULECOMMSHARED_EXPORT ContintuComm(void * pHandle);
 
-}
-
-}
-
+void * MODULECOMMSHARED_EXPORT RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount);
+void * MODULECOMMSHARED_EXPORT RegisterRecv(const char * strcommname,SMCallBack pCall);
+void * MODULECOMMSHARED_EXPORT RegisterRecvPlus(const char * strcommname,ModuleFun xFun);
 
-#endif
 
+}
 
+}
 
-#endif 
+#endif // MODULECOMM_H

+ 208 - 0
include/modulecommext.h

@@ -0,0 +1,208 @@
+#ifndef MODULECOMMEXT_H
+#define MODULECOMMEXT_H
+
+#include <QtCore/qglobal.h>
+#include <QDateTime>
+
+#include <functional>
+
+
+#include "modulecomm.h"
+
+#if defined(MODULECOMMEXT_LIBRARY)
+#  define MODULECOMMEXTSHARED_EXPORT Q_DECL_EXPORT
+#else
+#  define MODULECOMMEXTSHARED_EXPORT Q_DECL_IMPORT
+#endif
+
+
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/port.h>
+#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
+
+
+
+#ifndef IV_MODULEEXT_FUN
+
+typedef std::function<void(google::protobuf::Message & xmsg)> ModuleExtFun;
+typedef void (* SMExtCallBack)(google::protobuf::Message & xmsg);
+#define IV_MODULEEXT_FUN
+#endif
+
+namespace iv {
+namespace modulecommext {
+
+
+template<class T>
+class modulecommmsg
+{
+private:
+    T mMessage;
+    void * mphandle = NULL;
+    ModuleExtFun mFun;
+    SMExtCallBack mpCall;
+    bool mbCallPlus = false;
+    int mnType = 0; //0:Not Init  1:Send   2:Recv
+    void UpdateMsg(const char *strdata,
+                                         const unsigned int nSize, const unsigned int index, const QDateTime *dt,
+                                         const char *strmemname);
+public:
+    modulecommmsg();
+    ~modulecommmsg();
+
+    void RegisterSend(const char * strcommname);
+
+    void RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount
+                                                ,iv::modulecomm::ModuleComm_TYPE xmctype = iv::modulecomm::ModuleComm_UNDEFINE,const unsigned short nport = 5100);
+    void RegisterRecv(const char * strcommname,SMExtCallBack pCall,
+                                                iv::modulecomm::ModuleComm_TYPE xmctype =iv::modulecomm:: ModuleComm_UNDEFINE,const char * strip = 0,const unsigned short = 5100);
+    void RegisterRecvPlus(const char * strcommname,ModuleExtFun xFun,
+                                                    iv::modulecomm::ModuleComm_TYPE xmctype = iv::modulecomm::ModuleComm_UNDEFINE,const char * strip = 0,const unsigned short = 5100);
+
+    void ModuleSendMsg(google::protobuf::Message & xmsg);
+    void Unregister();
+    void PauseComm();
+    void ContintuComm();
+};
+
+template<class T>
+modulecommmsg<T>::modulecommmsg()
+{
+
+}
+
+template<class T>
+modulecommmsg<T>::~modulecommmsg()
+{
+    if(mphandle != NULL)
+    {
+        Unregister();
+    }
+}
+
+template<class T>
+void modulecommmsg<T>::UpdateMsg(const char *strdata,
+                                 const unsigned int nSize, const unsigned int index, const QDateTime *dt,
+                                 const char *strmemname)
+{
+    (void)&index;
+    (void)dt;
+    (void)strmemname;
+    T xmsg;
+    google::protobuf::Message * pmsg = (google::protobuf::Message *)&xmsg;
+    bool bParse = pmsg->ParseFromArray(strdata,nSize);
+    if(bParse == false)
+    {
+        qDebug("modulecommext<T>::UpdateMsg Parse Fail.");
+        return;
+    }
+    if(mbCallPlus)
+        mFun(*pmsg);
+    else
+        (*mpCall)(*pmsg);
+
+}
+
+
+
+template<class T>
+void modulecommmsg<T>::RegisterSend(const char * strcommname)
+{
+    mphandle = iv::modulecomm::RegisterSend(strcommname);
+    mnType = 1;
+}
+
+template<class T>
+void modulecommmsg<T>::RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount
+                                            ,iv::modulecomm::ModuleComm_TYPE xmctype ,const unsigned short nport)
+{
+    mphandle = iv::modulecomm::RegisterSend(strcommname,nBufSize,nMsgBufCount,xmctype,nport);
+    mnType = 1;
+}
+
+template<class T>
+void modulecommmsg<T>::RegisterRecv(const char * strcommname,SMExtCallBack pCall,
+                                            iv::modulecomm::ModuleComm_TYPE xmctype,const char * strip,const unsigned short nport)
+{
+    mpCall = pCall;
+    mbCallPlus = false;
+    ModuleFun funext = std::bind(&modulecommmsg::UpdateMsg,this,std::placeholders::_1,std::placeholders::_2,std::placeholders::_3,std::placeholders::_4,std::placeholders::_5);
+    mphandle = iv::modulecomm::RegisterRecvPlus(strcommname,funext,xmctype,strip,nport);
+    mnType = 2;
+}
+
+template<class T>
+void modulecommmsg<T>::RegisterRecvPlus(const char * strcommname,ModuleExtFun xFun,
+                                                iv::modulecomm::ModuleComm_TYPE xmctype ,const char * strip ,const unsigned short nport)
+{
+    mFun = xFun;
+    mbCallPlus = true;
+    ModuleFun funext = std::bind(&modulecommmsg::UpdateMsg,this,std::placeholders::_1,std::placeholders::_2,std::placeholders::_3,std::placeholders::_4,std::placeholders::_5);
+    mphandle = iv::modulecomm::RegisterRecvPlus(strcommname,funext,xmctype,strip,nport);
+    mnType = 2;
+}
+
+template<class T>
+void modulecommmsg<T>::ModuleSendMsg(google::protobuf::Message & xmsg)
+{
+    if((mnType != 1)||(mphandle == NULL))
+    {
+        qDebug("This Handle is not send. type : %d ",mnType);
+        return;
+    }
+    int ndatasize = xmsg.ByteSize();
+    std::shared_ptr<char> str_ptr= std::shared_ptr<char>(new char[ndatasize]);
+    bool bSer = xmsg.SerializeToArray(str_ptr.get(),ndatasize);
+    if(bSer == false)
+    {
+        qDebug("modulecommext<T>::ModuleSendMsg serialize fail.");
+        return;
+    }
+    iv::modulecomm::ModuleSendMsg(mphandle,str_ptr.get(),ndatasize);
+
+}
+
+template<class T>
+void modulecommmsg<T>::Unregister()
+{
+    if((mnType == 0)||(mphandle == NULL))
+    {
+        return;
+    }
+    iv::modulecomm::Unregister(mphandle);
+    mphandle = NULL;
+}
+
+template<class T>
+void modulecommmsg<T>::PauseComm()
+{
+    if((mnType == 0)||(mphandle == NULL))
+    {
+        qDebug("modulecommext<T>::PauseComm handle not init.");
+        return;
+    }
+    iv::modulecomm::PauseComm(mphandle);
+}
+
+template<class T>
+void modulecommmsg<T>::ContintuComm()
+{
+    if((mnType == 0)||(mphandle == NULL))
+    {
+        qDebug("modulecommext<T>::PauseComm handle not init.");
+        return;
+    }
+    iv::modulecomm::ContintuComm(mphandle);
+}
+
+
+
+}
+}
+#endif // MODULECOMMEXT_H

+ 11485 - 0
map/dongli_map_0916_tingzhangshezhi.xodr

@@ -0,0 +1,11485 @@
+<?xml version="1.0" ?>
+<OpenDRIVE>
+    <header revMajor="1" revMinor="1" name="adcmap" version="1.1" date="2021-07-21" north="0.0000000000000000e+00" south="0.0000000000000000e+00" east="0.0000000000000000e+00" west="0.0000000000000000e+00" lat0="3.9067764300000000e+01" lon0="1.1735483680000000e+02" hdg0="3.6000000000000000e+02" vendor="adc" />
+    <road name="" length="1.6219042379150739e+01" id="10001" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800000" contactPoint="start" />
+            <successor elementType="junction" elementId="800001" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-3.7371139847523338e+01" y="-1.0027933610548020e+02" hdg="4.3154417225422357e+00" length="1.6219042379150739e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6856575444237070e+00" b="1.9499245903697770e-03" c="-1.6537192373956361e-04" d="2.4989411196293447e-06" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.9562315399664305e+00" b="-1.6248351744922767e-02" c="7.2512653662643110e-04" d="-9.1794809710303353e-06" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.8967604394936961e+00" b="7.3207595250667867e-04" c="-2.9728632736727824e-05" d="3.7145135259947416e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="5" t="0" id="69" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="6" t="0" id="70" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+        </signals>
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="16.219" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="6.9420696415221343e+01" id="10002" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800001" contactPoint="start" />
+            <successor elementType="junction" elementId="800002" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-5.1627865149781179e+01" y="-1.3423039616258293e+02" hdg="4.3167759282036320e+00" length="6.9420696415221343e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6434768721263806e+00" b="-9.6835673349559030e-04" c="5.6006187609479075e-06" d="-2.3526642141263908e-08" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.5000000000000000e+00" b="-3.5538200000000001e-04" c="7.1096599999999996e-06" d="-3.2708599999999997e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.4999999999999999e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.5000000000000000e+00" b="-2.1875599999999999e-04" c="2.6050300000000000e-06" d="-8.4013900000000005e-09" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="6" t="0" id="73" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="7" t="0" id="74" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="0" t="0" id="75" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="0" t="0" id="87" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="5" t="0" id="8" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="69.421" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="6.5855973388251115e+01" id="10003" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800002" contactPoint="start" />
+            <successor elementType="junction" elementId="800004" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-9.1480796761279606e+01" y="-2.2962486122342838e+02" hdg="4.3198843667250113e+00" length="1.6321743083610119e+01">
+                <line />
+            </geometry>
+            <geometry s="1.6321743083610119e+01" x="-9.7723924861968641e+01" y="-2.4470539996731156e+02" hdg="4.3395384970733266e+00" length="2.1884692102230048e+00">
+                <line />
+            </geometry>
+            <geometry s="1.8510212293833124e+01" x="-9.8521121917541606e+01" y="-2.4674350554325210e+02" hdg="4.3284778069423293e+00" length="2.3765123358120736e+01">
+                <line />
+            </geometry>
+            <geometry s="4.2275335651953860e+01" x="-1.0742234391817588e+02" y="-2.6877868957066880e+02" hdg="4.3167390999456314e+00" length="2.3330244714069899e+00">
+                <line />
+            </geometry>
+            <geometry s="4.4608360123360853e+01" x="-1.0832151008514354e+02" y="-2.7093147924649980e+02" hdg="4.3193107965084154e+00" length="2.1247613264890262e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7434062138484387e+00" b="-1.4852546315919600e-03" c="1.1942240042300422e-05" d="-1.0066460227083705e-08" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.5000000000000000e+00" b="-1.8056800000000000e-03" c="3.7336799999999998e-05" d="-2.0796900000000000e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.5000000000000000e+00" b="-9.7848100000000006e-06" c="-6.8588700000000003e-07" d="7.2301900000000002e-09" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="45" t="0" id="12" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+        </signals>
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="65.856" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="1.0569452238817439e+02" id="10004" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10026" contactPoint="end" />
+            <successor elementType="road" elementId="10011" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-4.3673442056392764e+00" y="1.3917149468303933e+01" hdg="2.7484464326396099e+00" length="1.2836595436550207e+01">
+                <line />
+            </geometry>
+            <geometry s="1.2836595436550207e+01" x="-1.6224614305540769e+01" y="1.8834804212147144e+01" hdg="2.7267410823044207e+00" length="2.2367937656577559e+00">
+                <line />
+            </geometry>
+            <geometry s="1.5073389202207963e+01" x="-1.8271674624366739e+01" y="1.9736353102209975e+01" hdg="2.7381412137292105e+00" length="2.0906042106359813e+01">
+                <line />
+            </geometry>
+            <geometry s="3.5979431308567776e+01" x="-3.7499201062733640e+01" y="2.7943960769173064e+01" hdg="2.7728049042650116e+00" length="2.3403501008688226e+00">
+                <line />
+            </geometry>
+            <geometry s="3.8319781409436601e+01" x="-3.9682197792437663e+01" y="2.8787621763138205e+01" hdg="2.7425312363158145e+00" length="6.7374740978737790e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6959318111543684e+00" b="-1.4670793262296268e-04" c="8.6569318241781369e-07" d="-6.2991565170928901e-09" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.7985551183501998e+00" b="-4.5119083029963662e-05" c="8.5588791556377879e-09" d="9.1048366103748747e-10" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.4987319655672761e+02" id="10005" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10011" contactPoint="end" />
+            <successor elementType="road" elementId="10006" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.1082739390066655e+02" y="5.5470435576140325e+01" hdg="2.7227695527866445e+00" length="3.2649553836957530e+00">
+                <line />
+            </geometry>
+            <geometry s="3.2649553836957530e+00" x="-1.1381015331622656e+02" y="5.6798245775834538e+01" hdg="2.6845299383218002e+00" length="1.0045801197283986e+00">
+                <line />
+            </geometry>
+            <geometry s="4.2695355034241516e+00" x="-1.1471161593096053e+02" y="5.7241581282184427e+01" hdg="2.6492013730625334e+00" length="8.0815897757850230e+00">
+                <arc curvature="-3.1286322746283610e-02" />
+            </geometry>
+            <geometry s="1.2351125279209175e+01" x="-1.2127709601110274e+02" y="6.1916980379864981e+01" hdg="2.4733050450177565e+00" length="2.3099689436930615e+00">
+                <line />
+            </geometry>
+            <geometry s="1.4661094222902236e+01" x="-1.2309015341505189e+02" y="6.3348336160518983e+01" hdg="2.4284153083798281e+00" length="5.9191855135359459e+00">
+                <arc curvature="1.4013979401305688e-02" />
+            </geometry>
+            <geometry s="2.0580279736438182e+01" x="-1.2772214937285003e+02" y="6.7030901130106997e+01" hdg="2.4895770699154722e+00" length="8.4277361592407118e-01">
+                <line />
+            </geometry>
+            <geometry s="2.1423053352362253e+01" x="-1.2839203841370687e+02" y="6.7542287520850465e+01" hdg="2.5195125954833704e+00" length="3.7610672102004954e+00">
+                <line />
+            </geometry>
+            <geometry s="2.5184120562562747e+01" x="-1.3144853779484797e+02" y="6.9733962244145289e+01" hdg="2.8080146832982931e+00" length="8.9361309278668122e-01">
+                <line />
+            </geometry>
+            <geometry s="2.6077733655349427e+01" x="-1.3229289214063621e+02" y="7.0026554278124820e+01" hdg="2.5121107416842161e+00" length="3.3080919152328576e+01">
+                <arc curvature="1.7778358391826704e-02" />
+            </geometry>
+            <geometry s="5.9158652807678003e+01" x="-1.6308203200513506e+02" y="8.0759394091970080e+01" hdg="3.2151546524981085e+00" length="2.3274603257494642e+00">
+                <line />
+            </geometry>
+            <geometry s="6.1486113133427466e+01" x="-1.6540319779835963e+02" y="8.0588335832005896e+01" hdg="3.2452811661859888e+00" length="4.4100256896390619e+01">
+                <arc curvature="2.1912440203194931e-02" />
+            </geometry>
+            <geometry s="1.0558637002981808e+02" x="-2.0071252019218545e+02" y="5.7106986438766043e+01" hdg="4.2761242981181971e+00" length="2.3446291199167586e+00">
+                <line />
+            </geometry>
+            <geometry s="1.0793099914973484e+02" x="-2.0170325956070045e+02" y="5.4981963800384008e+01" hdg="4.3726958510536749e+00" length="2.0499599534846350e+01">
+                <arc curvature="1.3266063162263184e-02" />
+            </geometry>
+            <geometry s="1.2843059868458118e+02" x="-2.0583781579455763e+02" y="3.4968081273530373e+01" hdg="4.5520419749178700e+00" length="2.3202066628493094e+00">
+                <line />
+            </geometry>
+            <geometry s="1.3075080534743049e+02" x="-2.0620826177755629e+02" y="3.2677638361774989e+01" hdg="4.5219297978642992e+00" length="1.8406053679433157e+01">
+                <arc curvature="4.3425769068336402e-03" />
+            </geometry>
+            <geometry s="1.4915685902686363e+02" x="-2.0908556610537212e+02" y="1.4394169960586346e+01" hdg="4.5616695970530721e+00" length="7.1633752986397270e-01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7711095026723065e+00" b="1.3804717298431682e-03" c="-1.1948258473245313e-05" d="3.3397462599167079e-08" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9984077484847105e+00" b="-1.7467953927376995e-05" c="2.1703412623815940e-07" d="-7.4539354817012722e-10" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="9.2389429006811099e+01" id="10006" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10005" contactPoint="end" />
+            <successor elementType="road" elementId="10007" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-2.0915668926140560e+02" y="1.3709895584391445e+01" hdg="4.5637890503104153e+00" length="4.5314263658871269e+01">
+                <line />
+            </geometry>
+            <geometry s="4.5314263658871269e+01" x="-2.1586563084088465e+02" y="-3.1104974646691879e+01" hdg="4.5560679202234535e+00" length="2.2825165851103617e+00">
+                <line />
+            </geometry>
+            <geometry s="4.7596780243981634e+01" x="-2.1622098486197507e+02" y="-3.3359659875498494e+01" hdg="4.5626349977738219e+00" length="4.4792648762829458e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6414027589604707e+00" b="-2.3024624416874374e-03" c="2.4644738173227130e-05" d="-8.6071448782010596e-08" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9952517782429768e+00" b="-1.8465296382514712e-05" c="4.3818209757924571e-07" d="-1.9565200300083650e-09" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.8551253794668600e+01" id="10007" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10006" contactPoint="end" />
+            <successor elementType="road" elementId="10008" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-2.2293631456038281e+02" y="-7.7635769037519609e+01" hdg="4.5418608185131610e+00" length="1.7184175278344476e+00">
+                <line />
+            </geometry>
+            <geometry s="1.7184175278344476e+00" x="-2.2322793495314272e+02" y="-7.9329261389582413e+01" hdg="4.5232457487573070e+00" length="8.0037692896054691e-01">
+                <line />
+            </geometry>
+            <geometry s="2.5187944567949945e+00" x="-2.2337841980284867e+02" y="-8.0115364142675986e+01" hdg="4.4935649680157992e+00" length="3.5182615187445609e+00">
+                <arc curvature="-4.9127791348802526e-02" />
+            </geometry>
+            <geometry s="6.0370559755395554e+00" x="-2.2443444030294378e+02" y="-8.3466811415100196e+01" hdg="4.5095722134060523e+00" length="9.8693705274484700e-01">
+                <line />
+            </geometry>
+            <geometry s="7.0239930282844023e+00" x="-2.2463323820265447e+02" y="-8.4433519303322541e+01" hdg="4.2893026796481486e+00" length="4.9540245015607418e+00">
+                <arc curvature="3.9320226276886727e-01" />
+            </geometry>
+            <geometry s="1.1978017529845143e+01" x="-2.2243108071900849e+02" y="-8.8018242075214403e+01" hdg="4.4366541443574115e-01" length="2.3630315956097014e+00">
+                <line />
+            </geometry>
+            <geometry s="1.4341049125454845e+01" x="-2.2029682757683739e+02" y="-8.7003903942744515e+01" hdg="1.2579499322631813e+00" length="6.8193953506107414e+00">
+                <arc curvature="7.5218164217040889e-02" />
+            </geometry>
+            <geometry s="2.1160444476065585e+01" x="-2.1991678501039794e+02" y="-8.0269738860122999e+01" hdg="1.4727830714780874e+00" length="2.3889910703331303e+00">
+                <line />
+            </geometry>
+            <geometry s="2.3549435546398716e+01" x="-2.1968300694060164e+02" y="-7.7892213645069802e+01" hdg="1.5167553398419038e+00" length="4.2774181660603494e+00">
+                <arc curvature="-9.0490689735424727e-03" />
+            </geometry>
+            <geometry s="2.7826853712459066e+01" x="-2.1935416601983110e+02" y="-7.3528089294948543e+01" hdg="1.4906995177593190e+00" length="7.2440008220953322e-01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6388743141069915e+00" b="6.5075341573295016e-03" c="-1.6433019686162256e-04" d="9.7187854801048041e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9935478037525192e+00" b="3.6570238213599692e-04" c="-9.3738884047327547e-06" d="6.4742074484203276e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="3.0000000000000000e+01" id="10009" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10008" contactPoint="end" />
+            <successor elementType="road" elementId="10164" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-2.1411665947670181e+02" y="-3.5626068675323921e+01" hdg="1.4176548078303357e+00" length="1.4955925659005409e+00">
+                <line />
+            </geometry>
+            <geometry s="1.4955925659005409e+00" x="-2.1388851635314455e+02" y="-3.4147979422825784e+01" hdg="1.3145548930801036e+00" length="7.8416369326422120e-01">
+                <line />
+            </geometry>
+            <geometry s="2.2797562591647620e+00" x="-2.1368977280668713e+02" y="-3.3389419141387776e+01" hdg="1.3935243566190576e+00" length="1.0792119942499092e+01">
+                <arc curvature="-1.0888865073221431e-01" />
+            </geometry>
+            <geometry s="1.3071876201663853e+01" x="-2.0663967914476615e+02" y="-2.6043348993659833e+01" hdg="1.1373213043589722e-01" length="2.2874413130235522e+00">
+                <line />
+            </geometry>
+            <geometry s="1.5359317514687405e+01" x="-2.0436701591572017e+02" y="-2.5783753909212464e+01" hdg="6.1496873171148829e+00" length="1.4640682485312595e+01">
+                <arc curvature="4.0943003645852157e-03" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7673031338299872e+00" b="1.4424200167962469e-03" c="2.5190488897680045e-06" d="-6.1917236111958645e-09" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9952357808730197e+00" b="3.0440184736790810e-05" c="-1.9534639552529845e-07" d="3.4764649689718825e-10" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="3.7120520585876037e+01" id="10008" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10007" contactPoint="end" />
+            <successor elementType="road" elementId="10009" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-2.1926432711264397e+02" y="-7.2250422533601721e+01" hdg="1.4462385306335368e+00" length="9.5259823806615547e+00">
+                <line />
+            </geometry>
+            <geometry s="9.5259823806615547e+00" x="-2.1808085747431170e+02" y="-6.2798240778481897e+01" hdg="1.4367245333902661e+00" length="2.2246119121077674e+00">
+                <line />
+            </geometry>
+            <geometry s="1.1750594292769321e+01" x="-2.1778349250549090e+02" y="-6.0593592907548768e+01" hdg="1.4257361308197034e+00" length="2.5369926293106719e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6856200230512188e+00" b="6.4560785548130935e-04" c="1.1517796331600567e-05" d="-2.3005168793568882e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0008122054952402e+00" b="2.9209757786282516e-06" c="-8.0833934781456878e-06" d="9.6010364449038232e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="9.0783591172010087e+00" id="10011" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10004" contactPoint="end" />
+            <successor elementType="road" elementId="10005" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.0176304190893720e+02" y="5.4966325240103885e+01" hdg="3.0860352829345712e+00" length="9.0783591172010087e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7092048102998865e+00" b="-6.8189296736595887e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.7949569448141949e+00" b="2.2410526070182877e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="6.7850319509119487e+01" id="10013" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800006" contactPoint="start" />
+            <successor elementType="junction" elementId="800007" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.2081568446008575e+01" y="-2.3532719318391497e+02" hdg="1.1771324787525883e+00" length="3.3948737091607335e+01">
+                <line />
+            </geometry>
+            <geometry s="3.3948737091607335e+01" x="2.5103441085669303e+01" y="-2.0397519830206525e+02" hdg="1.1683078442212262e+00" length="2.3400465019781214e+00">
+                <line />
+            </geometry>
+            <geometry s="3.6288783593585457e+01" x="2.6020058778449801e+01" y="-2.0182214706331087e+02" hdg="1.1760444725485764e+00" length="3.1561535915534023e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7868785461080821e+00" b="4.8077468623765581e-03" c="-8.1806965375890226e-05" d="3.9513991741651050e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.4452687747481776e+00" b="-2.1360857618878395e-03" c="4.5662150917027177e-05" d="-2.6708910773012608e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.4999999999999999e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.3974404083379892e+00" b="4.1287545769157078e-04" c="-8.5343725223936052e-06" d="5.0066167064082738e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.5081928803303192e+01" id="10014" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800007" contactPoint="start" />
+            <successor elementType="road" elementId="10023" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.6557462809174538e+01" y="-1.5252258205322482e+02" hdg="1.1757868634484134e+00" length="1.5081928803303192e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7136872845190112e+00" b="-1.1846322471244144e-03" c="1.1940519275219436e-04" d="-1.6107315047784644e-06" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3259337948821419e+00" b="1.1972070111631749e-02" c="-4.1844161053151844e-04" d="4.1617129919027174e-06" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3955124582165821e+00" b="2.0341435681318562e-03" c="-1.2078120776258220e-04" d="1.8239010977374858e-06" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="6.9163176930026225e+01" id="10016" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800008" contactPoint="start" />
+            <successor elementType="junction" elementId="800009" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="8.5581875328596112e+01" y="-2.3662147799951914e+01" hdg="2.7446631243850388e+00" length="3.4367004375612332e+01">
+                <line />
+            </geometry>
+            <geometry s="3.4367004375612332e+01" x="5.3886824849823597e+01" y="-1.0376261871590978e+01" hdg="2.7428324910470945e+00" length="2.2417895119172080e+00">
+                <line />
+            </geometry>
+            <geometry s="3.6608793887529544e+01" x="5.1820919190324140e+01" y="-9.5058286336053719e+00" hdg="2.7468164164460735e+00" length="3.2554383042496681e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6258252260722363e+00" b="-6.2990830962438632e-03" c="7.3358231504356820e-05" d="-2.4665055051063978e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.4580630972089690e+00" b="-6.0034639302078473e-04" c="1.4877550163678988e-05" d="-8.5301065215491245e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.4999999999999999e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.3910054818358017e+00" b="4.3479745109413747e-04" c="-6.0573431298208584e-06" d="2.5925529090531376e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.1244308710813787e+01" id="10017" junction="800000">
+        <link>
+            <predecessor elementType="road" elementId="10157" contactPoint="end" />
+            <successor elementType="road" elementId="10001" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-2.9160206914839051e+01" y="-8.0685938417092430e+01" hdg="4.3155549347403115e+00" length="2.1244308710813787e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7530343704164011e+00" b="3.1715235788490467e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.9308006428342255e+00" b="1.1970687057122355e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.8968457731089563e+00" b="-4.0167753360108324e-06" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="21" t="0" id="81" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="2.5834989168536115e+01" id="10021" junction="800006">
+        <link>
+            <predecessor elementType="road" elementId="10221" contactPoint="end" />
+            <successor elementType="road" elementId="10013" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-6.9823453368002646e+00" y="-2.4175858845200838e+02" hdg="5.8873854384307416e+00" length="9.1259981119152886e+00">
+                <line />
+            </geometry>
+            <geometry s="9.1259981119152886e+00" x="1.4381079264999101e+00" y="-2.4527708363876917e+02" hdg="5.8873854384307416e+00" length="9.4375940850085964e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.8563592196923885e+01" x="9.2924453919979033e+00" y="-2.4204240029228905e+02" hdg="1.1771324787525883e+00" length="7.2713969716122300e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7855376194885411e+00" b="-5.1903510034139293e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3489698298938095e+00" b="3.7274621725658982e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3991602404700814e+00" b="-6.6569880129336157e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.1844756583911796e+01" id="10022" junction="800007">
+        <link>
+            <predecessor elementType="road" elementId="10013" contactPoint="end" />
+            <successor elementType="road" elementId="10014" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.8157967095357002e+01" y="-1.7268794497988495e+02" hdg="1.1761209400873356e+00" length="2.1844756583911796e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7138573354097346e+00" b="7.7845175372041241e-06" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4271199515282973e+00" b="-4.6320569541469210e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4018034185879169e+00" b="-2.8798491515204011e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.8320546049834050e+01" id="10026" junction="800009">
+        <link>
+            <predecessor elementType="road" elementId="10016" contactPoint="end" />
+            <successor elementType="road" elementId="10004" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.1770533118874344e+01" y="3.0146406960328562e+00" hdg="2.7464193198121638e+00" length="2.8320546049834050e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7921805639232149e+00" b="3.3985486225965784e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4006792173072560e+00" b="-2.1261034229267076e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="8.2797632829766997e+01" id="10015" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10023" contactPoint="end" />
+            <successor elementType="junction" elementId="800008" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="6.0202039540697065e+01" y="-1.1978945179370398e+02" hdg="1.1760147626038535e+00" length="8.2797632829766997e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6567287490432454e+00" b="-1.0862199380062222e-03" c="8.3176292913016312e-06" d="-6.0663473170706920e-09" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4230956114317972e+00" b="-6.4179440338889596e-04" c="1.7656388492610469e-05" d="-1.0595713966781849e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.4999999999999999e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4030374753697572e+00" b="-3.7462942929476119e-05" c="8.3577511014663795e-07" d="-4.0626143705251924e-09" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.0381182947979742e+01" id="10023" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10014" contactPoint="end" />
+            <successor elementType="road" elementId="10015" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="5.2361244250611335e+01" y="-1.3860206850637820e+02" hdg="1.1759053415333600e+00" length="2.0381182947979742e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7099191549597919e+00" b="2.6097801119938859e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4255922517477240e+00" b="-1.2249732129381897e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4049749038217794e+00" b="-9.5059666407351772e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.6649004211036935e+01" id="10024" junction="800008">
+        <link>
+            <predecessor elementType="road" elementId="10015" contactPoint="end" />
+            <successor elementType="road" elementId="10016" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="9.2046552621305267e+01" y="-4.3360563349138189e+01" hdg="1.1760147626038535e+00" length="9.6806507224906007e+00">
+                <line />
+            </geometry>
+            <geometry s="9.6806507224906007e+00" x="9.5769794434207938e+01" y="-3.4424542488961606e+01" hdg="1.1760147626038535e+00" length="9.4118901706871121e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.9092540893177713e+01" x="9.2550841365988006e+01" y="-2.6583389016255410e+01" hdg="2.7446631243850388e+00" length="7.5564633178592224e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6930874624574068e+00" b="2.5240056195913389e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4308561595909945e+00" b="1.0209363697990046e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4033592448716599e+00" b="-4.6357315785712115e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.1105966488922242e+01" id="10027" junction="800009">
+        <link>
+            <predecessor elementType="road" elementId="10170" contactPoint="end" />
+            <successor elementType="road" elementId="10000" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-5.2175774330178157e+00" y="1.4153527848751079e+01" hdg="5.8875339702506011e+00" length="8.5892523827902778e+00">
+                <line />
+            </geometry>
+            <geometry s="8.5892523827902778e+00" x="2.7081185168812949e+00" y="1.0843150195820634e+01" hdg="5.8875339702506011e+00" length="9.3726180414290923e+00">
+                <arc curvature="-1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.7961870424219370e+01" x="5.9520306157170388e+00" y="3.0424372061791383e+00" hdg="4.3254309633457524e+00" length="3.1440960647028713e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6740326889086443e+00" b="-2.2403407222323242e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4014651488811505e+00" b="7.0223278887741672e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="6.6518779996481584e+01" id="10033" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800001" contactPoint="start" />
+            <successor elementType="junction" elementId="800007" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-3.3364197436822955e+01" y="-1.2770103037420641e+02" hdg="5.8798634812453692e+00" length="1.5046358481176888e+01">
+                <line />
+            </geometry>
+            <geometry s="1.5046358481176888e+01" x="-1.9525123631421906e+01" y="-1.3360636184269708e+02" hdg="5.9003410344672105e+00" length="2.3263579898314468e+00">
+                <line />
+            </geometry>
+            <geometry s="1.7372716471008335e+01" x="-1.7367180277263827e+01" y="-1.3447539692662500e+02" hdg="5.8893976202410938e+00" length="4.9146063525473252e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7387229869805143e+00" b="5.1447542346203185e-04" c="-6.4083109915045022e-07" d="-6.7436328478316271e-08" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.0047472383148013e+00" b="-7.6443927717263587e-04" c="9.6136070945701034e-06" d="-2.5471924445686536e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.9190067230365642e+01" id="10035" junction="800001">
+        <link>
+            <predecessor elementType="road" elementId="10001" contactPoint="end" />
+            <successor elementType="road" elementId="10033" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-4.3641499002797588e+01" y="-1.1523727485921749e+02" hdg="4.3154417225422357e+00" length="1.4683777784599119e+00">
+                <line />
+            </geometry>
+            <geometry s="1.4683777784599119e+00" x="-4.4209180856715371e+01" y="-1.1659147964912459e+02" hdg="4.3154417225422357e+00" length="9.3865305522188009e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.0854908330678713e+01" x="-4.1030562646505928e+01" y="-1.2442968227979750e+02" hdg="5.8798634812453692e+00" length="8.3351588996869292e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6868721050782076e+00" b="-2.7019645778134536e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.9023984868097079e+00" b="-9.8887159993485296e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.4889239815634753e+01" id="10037" junction="800001">
+        <link>
+            <predecessor elementType="road" elementId="10002" contactPoint="start" />
+            <successor elementType="road" elementId="10033" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-5.1627865149781179e+01" y="-1.3423039616258293e+02" hdg="1.1751832746138389e+00" length="7.1274717706677553e+00">
+                <line />
+            </geometry>
+            <geometry s="7.1274717706677553e+00" x="-4.8881123117912004e+01" y="-1.2765344686583228e+02" hdg="1.1751832746138389e+00" length="9.4710306032883356e+00">
+                <arc curvature="-1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.6598502373956091e+01" x="-4.0989705462577405e+01" y="-1.2444711662673139e+02" hdg="5.8798634812453692e+00" length="8.2907374416786634e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6434768721263806e+00" b="-3.8267988721094907e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.9503714520120425e+00" b="-7.8171299248563322e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.2094228764374378e+01" id="10038" junction="800007">
+        <link>
+            <predecessor elementType="road" elementId="10033" contactPoint="end" />
+            <successor elementType="road" elementId="10014" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.8017361200515680e+01" y="-1.5333219821691716e+02" hdg="5.8893976202410938e+00" length="1.0808167294064303e+01">
+                <line />
+            </geometry>
+            <geometry s="1.0808167294064303e+01" x="3.7998297244396269e+01" y="-1.5747917252892424e+02" hdg="5.8893976202410938e+00" length="9.4174473023214365e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="2.0225614596385739e+01" x="4.5838388453976464e+01" y="-1.5424729970562603e+02" hdg="1.1757868634484134e+00" length="1.8686141679886379e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7271846823214405e+00" b="6.1090151398237799e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9889383377678111e+00" b="1.8401824511944376e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.8206996401513518e+01" id="10039" junction="800007">
+        <link>
+            <predecessor elementType="road" elementId="10033" contactPoint="end" />
+            <successor elementType="road" elementId="10013" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.8017361200515680e+01" y="-1.5333219821691716e+02" hdg="5.8893976202410938e+00" length="1.0798748871476079e+01">
+                <line />
+            </geometry>
+            <geometry s="1.0798748871476079e+01" x="3.7989599685325459e+01" y="-1.5747555878429296e+02" hdg="5.8893976202410938e+00" length="9.4305629646163460e+00">
+                <arc curvature="-1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="2.0229311836092425e+01" x="4.1226018159013506e+01" y="-1.6532380798386470e+02" hdg="4.3176371261383695e+00" length="7.9776845654210939e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7271846823214405e+00" b="4.7248373141178487e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9889383377678111e+00" b="1.5534500998375509e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="3.2720613852178168e+01" id="10042" junction="800002">
+        <link>
+            <predecessor elementType="junction" elementId="800003" contactPoint="start" />
+            <successor elementType="road" elementId="10003" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-7.0445950980940864e+01" y="-2.1524025457957745e+02" hdg="2.7457927848409476e+00" length="7.9133338661656829e+00">
+                <line />
+            </geometry>
+            <geometry s="7.9133338661656829e+00" x="-7.7747492922960177e+01" y="-2.1218929765652240e+02" hdg="2.7457927848409476e+00" length="9.4445494913043824e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.7357883357470065e+01" x="-8.5604494581818372e+01" y="-2.1543040593452443e+02" hdg="4.3198843667250113e+00" length="1.5362730494708101e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7570934541444876e+00" b="4.1830634223073108e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4004390070924404e+00" b="5.4646931059176167e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4321578058075679e+00" b="4.4864593234608938e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="5.6306275252245911e+01" id="10028" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800006" contactPoint="start" />
+            <successor elementType="junction" elementId="800010" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.2538469941908740e+01" y="-2.5400473901870711e+02" hdg="5.9012973352522415e+00" length="1.4101413936268330e+01">
+                <line />
+            </geometry>
+            <geometry s="1.4101413936268330e+01" x="3.5624056000024595e+01" y="-2.5925995666573436e+02" hdg="5.8700925611531769e+00" length="2.2139713631540126e+00">
+                <line />
+            </geometry>
+            <geometry s="1.6315385299422342e+01" x="3.7651796153631679e+01" y="-2.6014874182892936e+02" hdg="5.8880271823361756e+00" length="3.9990889952823565e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8386846816057165e+00" b="-2.8182951112638825e-05" c="-3.8684310251208643e-06" d="2.3350488505955858e-08" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.5287432806730110e+00" b="-1.1647663711624659e-02" c="1.5531807395979626e-04" d="-6.9017251666587601e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.4999999999999999e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.3915649420799356e+00" b="4.8675042995076042e-04" c="-7.1334412950163585e-06" d="3.0874621984442952e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="56.306" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="7.7171992980661628e+01" id="10029" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800010" contactPoint="start" />
+            <successor elementType="junction" elementId="800011" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.0491439644847156e+02" y="-2.8836757628318526e+02" hdg="5.8883300631547142e+00" length="7.7171992980661628e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8676986766580743e+00" b="1.8252125329906218e-03" c="-2.3168210582158548e-05" d="7.7992181202487722e-08" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.4688979211349857e+00" b="-3.0722981459096700e-03" c="2.1268234251686581e-05" d="-3.1058587464505792e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.3977449747254327e+00" b="1.3241087685081305e-05" c="5.1094761020239415e-07" d="-3.1083215191036382e-09" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="77.172" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="3.1960080388226729e+01" id="10047" junction="800006">
+        <link>
+            <predecessor elementType="road" elementId="10221" contactPoint="end" />
+            <successor elementType="road" elementId="10028" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-6.9823453368002646e+00" y="-2.4175858845200838e+02" hdg="5.8899592886231611e+00" length="3.1960080388226729e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7855376194885411e+00" b="-1.6629201638914985e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3489698298938095e+00" b="5.6249373779868649e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3991602404700814e+00" b="-2.3764953960953220e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="0" t="0" id="101" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="31" t="0" id="102" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="30" t="0" id="108" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="30.1" t="0" id="109" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+        </signals>
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="31.96" />
+        </userData>
+    </road>
+    <road name="" length="2.7611725820374204e+01" id="10048" junction="800006">
+        <link>
+            <predecessor elementType="road" elementId="10013" contactPoint="start" />
+            <successor elementType="road" elementId="10028" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.2081568446008575e+01" y="-2.3532719318391497e+02" hdg="4.3187251323423812e+00" length="7.3649168642636624e+00">
+                <line />
+            </geometry>
+            <geometry s="7.3649168642636624e+00" x="9.2565735382645649e+00" y="-2.4212876683923443e+02" hdg="4.3187251323423812e+00" length="9.4954332174591620e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.6860350081722824e+01" x="1.2561594352900109e+01" y="-2.4999799049214531e+02" hdg="5.9012973352522415e+00" length="1.0751375738651381e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7868785461080821e+00" b="-1.8762367783402960e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3974404083379892e+00" b="4.7553301517334256e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4452687747481776e+00" b="-1.9449647232341726e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="3.2951469105159710e+01" id="10049" junction="800010">
+        <link>
+            <predecessor elementType="road" elementId="10028" contactPoint="end" />
+            <successor elementType="road" elementId="10029" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="7.4560816369406126e+01" y="-2.7554340018598288e+02" hdg="5.8834399985327765e+00" length="3.2951469105159710e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8483676482853140e+00" b="-5.8665148770964501e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.2421216982961814e+00" b="6.8821278382181330e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4018677358614573e+00" b="-1.2511615560652036e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="0" t="0" id="103" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="32" t="0" id="104" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="32.951" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="6.8147575050279571e+01" id="10057" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800010" contactPoint="start" />
+            <successor elementType="junction" elementId="800012" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="9.6581238601339251e+01" y="-2.6921817744375124e+02" hdg="1.1777654933734480e+00" length="3.2459705032361640e+01">
+                <line />
+            </geometry>
+            <geometry s="3.2459705032361640e+01" x="1.0901297810794208e+02" y="-2.3923344293387282e+02" hdg="1.1654136763753273e+00" length="2.4401995725468395e+00">
+                <line />
+            </geometry>
+            <geometry s="3.4899904604908478e+01" x="1.0997532065395076e+02" y="-2.3699101773378268e+02" hdg="1.1763284432537688e+00" length="3.3247670445371092e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7179859082861277e+00" b="2.3963631469843811e-03" c="-2.5508460210537265e-05" d="7.0453287292800521e-08" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.5233920888018253e+00" b="-6.4701931345837824e-03" c="7.2735804135514091e-05" d="-2.5736059042922743e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.3960244356847387e+00" b="1.1801779848151626e-04" c="-3.5020985867045980e-07" d="-1.0046331599600754e-09" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.6240406619478300e+01" id="10058" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800012" contactPoint="start" />
+            <successor elementType="road" elementId="10074" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.2955398165907883e+02" y="-1.9000120886508540e+02" hdg="1.1761259400671238e+00" length="1.6240406619478300e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7546904870504161e+00" b="-2.2671556210256691e-03" c="3.1002142529624403e-04" d="-6.6565724009925564e-06" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.2407336491020220e+00" b="6.7838860435330854e-03" c="-3.7210389253916458e-04" d="4.6029667290181423e-06" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3964738208024055e+00" b="1.1327031496943993e-04" c="1.0330461050811547e-05" d="-2.3101962923980468e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="8.6747871605263668e+01" id="10059" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10074" contactPoint="end" />
+            <successor elementType="junction" elementId="800013" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.4334198083302101e+02" y="-1.5683709809759969e+02" hdg="1.1733614550918403e+00" length="2.1317718069436893e+01">
+                <line />
+            </geometry>
+            <geometry s="2.1317718069436893e+01" x="1.5159309792389266e+02" y="-1.3718094968442571e+02" hdg="1.1845332077141355e+00" length="2.3379614758290357e+00">
+                <line />
+            </geometry>
+            <geometry s="2.3655679545265929e+01" x="1.5247387696679402e+02" y="-1.3501524145383544e+02" hdg="1.1747935383101282e+00" length="3.1392565535889496e+01">
+                <line />
+            </geometry>
+            <geometry s="5.5048245081155429e+01" x="1.6458304320116832e+02" y="-1.0605213968566486e+02" hdg="1.1706614344614850e+00" length="2.3256129356409296e+00">
+                <line />
+            </geometry>
+            <geometry s="5.7373858016796362e+01" x="1.6548896847078552e+02" y="-1.0391023050638357e+02" hdg="1.1725609419941228e+00" length="2.9374013588467299e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.5896148345584464e+00" b="-8.1727498348500797e-03" c="8.8229157930546352e-05" d="-2.6580804756069905e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4509979535488058e+00" b="-4.4545324743471681e-03" c="-7.9845372680666027e-06" d="2.6985083573679469e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4069480314016283e+00" b="-3.0420147171239271e-04" c="4.1512553426140340e-06" d="-1.7072997627407391e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="8.4500708923430736e+01" id="10060" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10079" contactPoint="end" />
+            <successor elementType="junction" elementId="800014" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.4213971127601656e+02" y="-1.9797574575752819e+02" hdg="1.1745457874902883e+00" length="8.4500708923430736e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7513227435942484e+00" b="-1.2750351584812723e-03" c="2.5536665093184937e-05" d="-1.3502527019412378e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.2024561094784816e+00" b="-8.6855167023601691e-03" c="8.8908911180694329e-05" d="-2.7125366065808402e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.1079752850351792e+00" b="-2.5603630780927602e-04" c="3.4452466550542516e-06" d="-1.3428425227626201e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.6239160212835245e+01" id="10061" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800015" contactPoint="start" />
+            <successor elementType="road" elementId="10079" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.2863075798372736e+02" y="-2.3061311512741105e+02" hdg="1.1801250808327877e+00" length="1.6239160212835245e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7803632895672168e+00" b="5.6277021978167144e-03" c="-2.0660262893180405e-04" d="2.4186185877288394e-06" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.1799085905536906e+00" b="-1.8738495210742761e-02" c="5.9360557506700192e-04" d="-6.7205077349799305e-06" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0959949015162276e+00" b="-1.5873411220549856e-05" c="1.0749421060215701e-05" d="-1.8027398349675256e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="7.0504183058815329e+01" id="10062" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800011" contactPoint="start" />
+            <successor elementType="junction" elementId="800015" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.9412941877973583e+02" y="-3.1370053089456167e+02" hdg="1.1764709281485308e+00" length="7.0504183058815329e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8504560478169916e+00" b="5.9236614704998710e-03" c="-1.1939683870160283e-04" d="5.9664326729787234e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.1559411579419718e+00" b="-5.7474354138776782e-03" c="8.0318940766745551e-05" d="-3.3413423816342104e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.0981546393081443e+00" b="8.5557299745465435e-06" c="2.4150658993050763e-06" d="-2.0785408754378311e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="6.9127235926783413e+01" id="10063" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800016" contactPoint="start" />
+            <successor elementType="junction" elementId="800017" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.9549591178644187e+02" y="-3.5572139769145201e+02" hdg="1.1766418154351941e+00" length="3.3927048438038113e+01">
+                <line />
+            </geometry>
+            <geometry s="3.3927048438038113e+01" x="3.0852483708873223e+02" y="-3.2439582154057615e+02" hdg="1.1508198403544341e+00" length="2.5529107788463228e+00">
+                <line />
+            </geometry>
+            <geometry s="3.6479959216884438e+01" x="3.0956575833332670e+02" y="-3.2206476246639943e+02" hdg="1.1790338383335754e+00" length="3.2647276709898968e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.9037441403439894e+00" b="1.0486049111214665e-02" c="-1.4754376357083664e-04" d="5.9876110315310240e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.9324918499203330e+00" b="-5.4399319577738761e-03" c="1.0011064708642260e-04" d="-4.7993449463077096e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.8950592857348845e+00" b="3.4490625635526354e-04" c="-5.0975987153656470e-06" d="2.0670902763771745e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="63" t="0" id="36" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="66" t="0" id="86" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="65" t="0" id="88" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="63" t="0" id="89" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="62" t="0" id="90" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="65" t="0" id="97" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="66" t="0" id="98" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="1.8273774337844255e+01" id="10064" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800017" contactPoint="start" />
+            <successor elementType="junction" elementId="800019" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.2910250671235144e+02" y="-2.7489329270449485e+02" hdg="1.1803615058573320e+00" length="1.8273774337844255e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7415491234940568e+00" b="7.6573915832107917e-03" c="-2.2799377154270146e-04" d="1.3335114467614117e-06" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.8370227552466005e+00" b="2.0670961620496624e-02" c="-9.5826452313017819e-04" d="9.7804690357836768e-06" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.8952376769560058e+00" b="8.2424338597347833e-04" c="-3.2956317451674391e-05" d="3.6582607232951967e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="4.0000000000000000e+01" id="10065" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800019" contactPoint="start" />
+            <successor elementType="junction" elementId="800020" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.4232886126512204e+02" y="-2.4296677787488889e+02" hdg="1.1787349925189550e+00" length="2.1787228183284867e+01">
+                <line />
+            </geometry>
+            <geometry s="2.1787228183284867e+01" x="3.5065363375948652e+02" y="-2.2283269048986955e+02" hdg="1.1910104123954142e+00" length="2.3554085468252297e+00">
+                <line />
+            </geometry>
+            <geometry s="2.4142636730110098e+01" x="3.5152683469576669e+02" y="-2.2064511888022182e+02" hdg="1.1738539524541853e+00" length="1.5857363269889902e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8152104530042479e+00" b="8.8420411505876744e-03" c="-1.4402681670032684e-04" d="5.8780456291928871e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="5.0208868946536587e+00" b="-1.1017460019243305e-02" c="1.1022855558884372e-04" d="-2.8865687926783044e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.9015290970793988e+00" b="-1.2096974704562935e-04" c="2.4318052358812872e-06" d="-1.2220933707258243e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="12" t="0" id="83" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="16" t="0" id="84" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="16" t="0" id="85" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="12" t="0" id="9" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="5.9082758650359239e+01" id="10066" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800013" contactPoint="start" />
+            <successor elementType="junction" elementId="800008" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.7050610430984258e+02" y="-5.9082474551806634e+01" hdg="2.7465595953614428e+00" length="5.9082758650359239e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7576166159823048e+00" b="4.0602593566526650e-03" c="-1.0390087327970777e-04" d="6.3476952319598418e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.2176051725251753e+00" b="-2.8067749811682835e-03" c="2.2500449047132352e-05" d="1.3898716318955751e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.4999999999999999e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.2913956892317340e+00" b="6.5185816541594294e-04" c="-9.1059758599649504e-06" d="3.4556059847201173e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="8.5659985433595551e+01" id="10067" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800014" contactPoint="start" />
+            <successor elementType="junction" elementId="800013" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.7225181544264780e+02" y="-1.0136383341419696e+02" hdg="2.7472369980448064e+00" length="8.5659985433595551e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7556282004368855e+00" b="1.9313745969172006e-03" c="-4.1230717902295692e-05" d="2.0606001244652257e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.4219863329041629e+00" b="-8.8440395353734432e-03" c="1.2845627958902052e-04" d="-5.4532727001546970e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.3001221501277942e+00" b="1.6211739656933613e-04" c="-2.4063682505584935e-06" d="1.0548343468421751e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.7657796746145962e+01" id="10076" junction="800012">
+        <link>
+            <predecessor elementType="road" elementId="10057" contactPoint="end" />
+            <successor elementType="road" elementId="10058" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.2275296537343816e+02" y="-2.0629672859937597e+02" hdg="1.1754188600340838e+00" length="1.7657796746145962e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6508458960039221e+00" b="-5.8809483730839418e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3388054736127439e+00" b="-5.5540238638281617e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4021227057399446e+00" b="-3.1990882094460980e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.9461796774611489e+01" id="10078" junction="800015">
+        <link>
+            <predecessor elementType="road" elementId="10062" contactPoint="end" />
+            <successor elementType="road" elementId="10061" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.2121609983275735e+02" y="-2.4860712463614846e+02" hdg="1.1799346106332906e+00" length="1.9461796774611489e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8172131129556277e+00" b="1.8934440542757410e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0328731529788788e+00" b="7.5550803082387536e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.1034782015169085e+00" b="-3.8451228770629568e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.9083538180361540e+01" id="10079" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10061" contactPoint="end" />
+            <successor elementType="road" elementId="10060" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.3481477912044599e+02" y="-2.1559751633819360e+02" hdg="1.1768503457346753e+00" length="1.9083538180361540e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7330998032717844e+00" b="-9.5490365309808820e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0033709512368847e+00" b="1.0432298055004872e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0977998524896497e+00" b="5.3320471546522538e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.8409904933894314e+01" id="10080" junction="800017">
+        <link>
+            <predecessor elementType="road" elementId="10063" contactPoint="end" />
+            <successor elementType="road" elementId="10064" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.2203107510003770e+02" y="-2.9189092355786369e+02" hdg="1.1765524665358764e+00" length="1.8409904933894314e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6861328981784123e+00" b="-3.0101309873479124e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.8762939997948136e+00" b="-2.1331584649256457e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.9013706577625227e+00" b="-3.3313484390815848e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="17" t="0" id="25" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="18" t="0" id="33" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="6" t="0" id="34" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="5" t="0" id="35" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="1.6284090126201736e+01" id="10081" junction="800019">
+        <link>
+            <predecessor elementType="road" elementId="10064" contactPoint="end" />
+            <successor elementType="road" elementId="10065" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.3605733251978569e+02" y="-2.5799473576791883e+02" hdg="1.1754451725689148e+00" length="1.6284090126201736e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6696165043681184e+00" b="-8.9408709671695546e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.9544473264062345e+00" b="4.0800295093258105e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.9015269194983437e+00" b="1.3372445363254945e-07" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="16" t="0" id="29" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="17" t="0" id="30" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="5" t="0" id="31" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="4" t="0" id="32" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="2.9645610576321431e+01" id="10082" junction="800010">
+        <link>
+            <predecessor elementType="road" elementId="10028" contactPoint="end" />
+            <successor elementType="road" elementId="10057" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="7.4560816369406126e+01" y="-2.7554340018598288e+02" hdg="5.8880271823361756e+00" length="1.1906187368312619e+01">
+                <line />
+            </geometry>
+            <geometry s="1.1906187368312619e+01" x="8.5549461803109992e+01" y="-2.8012673621792578e+02" hdg="5.8880271823361756e+00" length="9.4375417093011507e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="2.1343729077613769e+01" x="9.3401701753924129e+01" y="-2.7688706144694976e+02" hdg="1.1777654933734480e+00" length="8.3018814987076599e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8483676482853140e+00" b="4.3980116268316919e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.2421216982961814e+00" b="9.4877583911292581e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4018677358614573e+00" b="-1.9710507097417659e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.6937897602308713e+01" id="10083" junction="800010">
+        <link>
+            <predecessor elementType="road" elementId="10057" contactPoint="start" />
+            <successor elementType="road" elementId="10029" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="9.6581238601339251e+01" y="-2.6921817744375124e+02" hdg="4.3193581469632409e+00" length="8.4813024525887677e+00">
+                <line />
+            </geometry>
+            <geometry s="8.4813024525887677e+00" x="9.3332985338958196e+01" y="-2.7705280200627618e+02" hdg="4.3193581469632409e+00" length="9.4138314971488395e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.7895133949737605e+01" x="9.6567453040612037e+01" y="-2.8488905501370141e+02" hdg="5.8883300631547142e+00" length="9.0427636525711073e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7179859082861277e+00" b="-5.5577005519211508e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.5233920888018253e+00" b="-4.6643251797654781e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3960244356847387e+00" b="2.7052402725000133e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="3.2932046702370208e+01" id="10084" junction="800008">
+        <link>
+            <predecessor elementType="road" elementId="10066" contactPoint="end" />
+            <successor elementType="road" elementId="10016" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.1597367268858461e+02" y="-3.6345142447766307e+01" hdg="2.7462480655545809e+00" length="3.2932046702370208e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7495018915514038e+00" b="3.7555110557482025e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.1589824421842869e+00" b="9.0817512111434125e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3052493749139544e+00" b="2.6040321057748052e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="3.2494955056087043e+01" id="10085" junction="800008">
+        <link>
+            <predecessor elementType="road" elementId="10066" contactPoint="end" />
+            <successor elementType="road" elementId="10015" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.1597367268858461e+02" y="-3.6345142447766307e+01" hdg="2.7465595953614428e+00" length="1.3386974835995874e+01">
+                <line />
+            </geometry>
+            <geometry s="1.3386974835995874e+01" x="1.0361771121123394e+02" y="-3.1193316438494172e+01" hdg="2.7465595953614428e+00" length="9.4262869249932209e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="2.2813261760989093e+01" x="9.5770195414476305e+01" y="-3.4423580110415514e+01" hdg="4.3176074161936464e+00" length="9.6816932950979524e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7495018915514038e+00" b="1.7360980803519917e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.1589824421842869e+00" b="7.5204536293579398e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3052493749139544e+00" b="3.8654241700054643e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.4521292520014352e+01" id="10086" junction="800013">
+        <link>
+            <predecessor elementType="road" elementId="10067" contactPoint="end" />
+            <successor elementType="road" elementId="10066" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.9316672028870101e+02" y="-6.8452120773026394e+01" hdg="2.7495223288231667e+00" length="2.4521292520014352e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7632052826452984e+00" b="2.2791077013710177e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.2642102399783512e+00" b="-1.9005958766299430e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3029821487187991e+00" b="-4.7250606702759477e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.3206519871150423e+01" id="10087" junction="800013">
+        <link>
+            <predecessor elementType="road" elementId="10059" contactPoint="end" />
+            <successor elementType="road" elementId="10067" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.7687998824496489e+02" y="-7.6834829441953957e+01" hdg="1.1725609419941228e+00" length="8.0202072459460236e+00">
+                <line />
+            </geometry>
+            <geometry s="8.0202072459460236e+00" x="1.7999016381073969e+02" y="-6.9442229613883825e+01" hdg="1.1725609419941228e+00" length="9.4014995852346530e+00">
+                <arc curvature="-1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.7421706831180678e+01" x="1.8782592449708309e+02" y="-6.6229518195047078e+01" hdg="5.8888296516345999e+00" length="5.7848130399697446e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8081600565461819e+00" b="1.9371613732039944e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.1806486969207302e+00" b="5.2715121645684525e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4006530409029492e+00" b="-5.8795029018641910e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.4097194053787486e+01" id="10088" junction="800013">
+        <link>
+            <predecessor elementType="road" elementId="10059" contactPoint="end" />
+            <successor elementType="road" elementId="10066" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.7687998824496489e+02" y="-7.6834829441953957e+01" hdg="1.1725609419941228e+00" length="7.9130461666573906e+00">
+                <line />
+            </geometry>
+            <geometry s="7.9130461666573906e+00" x="1.7994860755661995e+02" y="-6.9541004988638065e+01" hdg="1.1725609419941228e+00" length="9.4439919202039206e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.7357038086861312e+01" x="1.7672715936514473e+02" y="-6.1676347420200557e+01" hdg="2.7465595953614428e+00" length="6.7401559669261735e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8081600565461819e+00" b="2.0974824060867358e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.1806486969207302e+00" b="1.5336422789290066e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4006530409029492e+00" b="-4.5340279630624722e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.3188432079249079e+01" id="10089" junction="800014">
+        <link>
+            <predecessor elementType="road" elementId="10060" contactPoint="end" />
+            <successor elementType="road" elementId="10067" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.7475378497142361e+02" y="-1.2002260595191854e+02" hdg="1.1745457874902883e+00" length="1.0253964737206887e+01">
+                <line />
+            </geometry>
+            <geometry s="1.0253964737206887e+01" x="2.7871142705360313e+02" y="-1.1056317351750451e+02" hdg="1.1745457874902883e+00" length="9.4361472633271077e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.9690112000533993e+01" x="2.7548161959103413e+02" y="-1.0270793480033103e+02" hdg="2.7472369980448064e+00" length="3.4983200787150843e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7581925850871327e+00" b="1.1058896269843285e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9397009753475447e+00" b="2.0798532471206058e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.1028381113245249e+00" b="8.5078645304274506e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.3285580934697947e+01" id="10090" junction="800011">
+        <link>
+            <predecessor elementType="road" elementId="10029" contactPoint="end" />
+            <successor elementType="road" elementId="10062" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.7614817882186890e+02" y="-3.1805367992422845e+02" hdg="5.8883300631547142e+00" length="8.9256923924257556e+00">
+                <line />
+            </geometry>
+            <geometry s="8.9256923924257556e+00" x="1.8438705933870708e+02" y="-3.2148716685641142e+02" hdg="5.8883300631547142e+00" length="9.4279570330404159e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.8353649425466173e+01" x="1.9223464247044271e+02" y="-3.1825396598792742e+02" hdg="1.1764709281485308e+00" length="4.9319315092317746e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8289769137462963e+00" b="-9.2242208304492358e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3441913720593872e+00" b="-8.0844113206942972e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4003811910718231e+00" b="-1.2979128698194930e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="8.2450469210012287e+01" id="10030" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800011" contactPoint="start" />
+            <successor elementType="junction" elementId="800016" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.0041687972361080e+02" y="-3.2814331712028729e+02" hdg="5.8887088184910734e+00" length="8.2450469210012287e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.9389009597234530e+00" b="-3.0371339219121998e-04" c="9.3165207384703804e-06" d="-4.1091642648253929e-08" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.3991427612559320e+00" b="-8.8806331070079964e-04" c="7.2403315505943345e-06" d="-2.9535622742744265e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.4015310074706120e+00" b="-6.6320651591032190e-05" c="1.0632163452707223e-06" d="-4.8323673417155003e-09" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="82.45" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="2.6282515522801518e+01" id="10050" junction="800011">
+        <link>
+            <predecessor elementType="road" elementId="10029" contactPoint="end" />
+            <successor elementType="road" elementId="10030" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.7614817882186890e+02" y="-3.1805367992422845e+02" hdg="5.8891781488031389e+00" length="2.6282515522801518e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8289769137462963e+00" b="-4.1824020186268527e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3441913720593872e+00" b="2.0907964136412821e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4003811910718231e+00" b="4.3748338997130336e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="0" t="0" id="105" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="26" t="0" id="106" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="26.283" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="2.4432867764057143e+01" id="10052" junction="800016">
+        <link>
+            <predecessor elementType="road" elementId="10030" contactPoint="end" />
+            <successor elementType="road" elementId="10063" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.7653497887119397e+02" y="-3.5983108850152968e+02" hdg="5.8887088184910734e+00" length="9.9268723110714241e+00">
+                <line />
+            </geometry>
+            <geometry s="9.9268723110714241e+00" x="2.8569944643625877e+02" y="-3.6364623307666596e+02" hdg="5.8887088184910734e+00" length="9.4267098247422414e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.9353582135813667e+01" x="2.9354532557024800e+02" y="-3.6041121175029008e+02" hdg="1.1766418154351941e+00" length="5.0792856282434737e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.9236398853333130e+00" b="8.1430248718457516e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3585870162471316e+00" b="6.4417523512673824e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4005821028119558e+00" b="6.1166670951390875e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="9.4230002306832844e+01" id="10105" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800022" contactPoint="start" />
+            <successor elementType="road" elementId="10053" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.8657505846002499e+02" y="-3.0336034557363718e+02" hdg="1.4521907651932020e+00" length="2.4154146925601705e+01">
+                <line />
+            </geometry>
+            <geometry s="2.4154146925601705e+01" x="4.8943316264902523e+02" y="-2.7937589114689706e+02" hdg="1.4481537112781209e+00" length="2.2866247976080438e+00">
+                <line />
+            </geometry>
+            <geometry s="2.6440771723209750e+01" x="4.8971289780312668e+02" y="-2.7710644160822125e+02" hdg="1.4421065779061344e+00" length="1.6661811755089786e+01">
+                <line />
+            </geometry>
+            <geometry s="4.3102583478299536e+01" x="4.9185118869289454e+02" y="-2.6058240811053116e+02" hdg="1.4680317847428437e+00" length="2.2271236142930251e+00">
+                <line />
+            </geometry>
+            <geometry s="4.5329707092592564e+01" x="4.9207965541280589e+02" y="-2.5836703397706418e+02" hdg="1.4481264946626091e+00" length="4.8900295214240280e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6870717683767751e+00" b="-1.0746547650595940e-03" c="4.2361834254732316e-05" d="-2.6245954238413602e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.7604574616577731e+00" b="-3.2373253888741036e-03" c="7.3055835327098925e-05" d="-3.2485566070043673e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.8928327857947442e+00" b="4.6571304028629629e-05" c="1.1331948636894052e-08" d="-1.8394909614238100e-09" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.5921376049331251e+01" id="10106" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800023" contactPoint="start" />
+            <successor elementType="junction" elementId="800022" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.8267531372027742e+02" y="-3.3560923800226016e+02" hdg="1.4509744163394132e+00" length="1.5921376049331251e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6606985006310717e+00" b="1.5550203943446831e-02" c="-1.0550014666146983e-03" d="1.7685092889697566e-05" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="2.4506617449535328e+00" b="4.2209317078156262e-02" c="-1.2520777032515784e-03" d="6.5912207385092059e-06" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="2.8942044542877636e+00" b="9.1031905478451282e-05" c="-1.1794930028396114e-05" d="2.4125497181863082e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="6.4169190948204132e+01" id="10107" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10068" contactPoint="end" />
+            <successor elementType="junction" elementId="800023" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.7246128410438826e+02" y="-4.2031281730505003e+02" hdg="1.4495682893299680e+00" length="3.0371718564887356e+01">
+                <line />
+            </geometry>
+            <geometry s="3.0371718564887356e+01" x="4.7613417620965026e+02" y="-3.9016400054273203e+02" hdg="1.4432741433601599e+00" length="2.3866020070959233e+00">
+                <line />
+            </geometry>
+            <geometry s="3.2758320571983276e+01" x="4.7643769670814532e+02" y="-3.8779677760281538e+02" hdg="1.4467802139914885e+00" length="8.5274981997544259e+00">
+                <line />
+            </geometry>
+            <geometry s="4.1285818771737702e+01" x="4.7749253512542219e+02" y="-3.7933477184411657e+02" hdg="1.4343248031352140e+00" length="2.4503787383954534e+00">
+                <line />
+            </geometry>
+            <geometry s="4.3736197510133152e+01" x="4.7782590498594789e+02" y="-3.7690717622341003e+02" hdg="1.4560958700305764e+00" length="2.0432993438070980e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6578878887245247e+00" b="-2.3745397518910348e-03" c="-1.1816528524331163e-05" d="2.1175753341661417e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0365051068350417e+00" b="-6.8891816659803814e-03" c="1.7486241413458255e-04" d="-1.3054620436284043e-06" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.8866183732313724e+00" b="6.3411933411197641e-04" c="-1.0352403375796741e-05" d="4.7863097679666673e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.1148787099034287e+01" id="10108" junction="800023">
+        <link>
+            <predecessor elementType="road" elementId="10107" contactPoint="end" />
+            <successor elementType="road" elementId="10106" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.8016444307452281e+02" y="-3.5660844571018492e+02" hdg="1.4517915351154886e+00" length="2.1148787099034287e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8029645470148230e+00" b="6.7269127878377272e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9695199416625973e+00" b="-2.4533709393327663e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.8973281565086513e+00" b="-1.4770124670791568e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.6562456028131074e+01" id="10109" junction="800022">
+        <link>
+            <predecessor elementType="road" elementId="10106" contactPoint="end" />
+            <successor elementType="road" elementId="10105" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.8457848172001502e+02" y="-3.1980201918081679e+02" hdg="1.4499540850275545e+00" length="1.6562456028131074e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6091749078674713e+00" b="-4.7032191588612928e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.8319043021112256e+00" b="-4.3137829517615727e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.8936375922223521e+00" b="-4.8592215202919068e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="7.7960454129533730e+01" id="10114" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800012" contactPoint="start" />
+            <successor elementType="junction" elementId="800015" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.3939891245789704e+02" y="-1.9943350848055547e+02" hdg="5.8861931511679728e+00" length="3.6339919735911764e+01">
+                <line />
+            </geometry>
+            <geometry s="3.6339919735911764e+01" x="1.7291260887589883e+02" y="-2.1348419952457618e+02" hdg="5.8932745054878835e+00" length="2.4030989281661022e+00">
+                <line />
+            </geometry>
+            <geometry s="3.8743018664077866e+01" x="1.7513533833173454e+02" y="-2.1439763163738661e+02" hdg="5.8872659241001566e+00" length="3.9217435465455871e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6895660861986910e+00" b="-3.6520316107171324e-04" c="1.4480482512216187e-05" d="-1.0964179323431458e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="2.9995580865796789e+00" b="-2.8579424263456735e-04" c="4.1315498740737779e-06" d="-1.8658726822560005e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.3119239831518425e+02" id="10116" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800022" contactPoint="start" />
+            <successor elementType="road" elementId="10148" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.7597397842491597e+02" y="-3.0770081088139881e+02" hdg="2.7529885394143667e+00" length="1.5286628652691617e+01">
+                <line />
+            </geometry>
+            <geometry s="1.5286628652691617e+01" x="4.6182713825864170e+02" y="-3.0190875348569034e+02" hdg="2.7357166288697021e+00" length="2.2371052384944692e+00">
+                <line />
+            </geometry>
+            <geometry s="1.7523733891186087e+01" x="4.5977178244209199e+02" y="-3.0102549117160993e+02" hdg="2.7427288708881727e+00" length="2.7954580213303785e+01">
+                <line />
+            </geometry>
+            <geometry s="4.5478314104489868e+01" x="4.3401155673529547e+02" y="-2.9016872708478667e+02" hdg="2.7530490741345552e+00" length="2.3668296602001750e+00">
+                <line />
+            </geometry>
+            <geometry s="4.7845143764690043e+01" x="4.3182114631438310e+02" y="-2.8927207507404796e+02" hdg="2.7481439787880406e+00" length="4.4812630658987366e+01">
+                <line />
+            </geometry>
+            <geometry s="9.2657774423677409e+01" x="3.9043254049147379e+02" y="-2.7209199432293821e+02" hdg="2.7631883405906525e+00" length="2.4046355544142775e+00">
+                <line />
+            </geometry>
+            <geometry s="9.5062409978091694e+01" x="3.8819802009543059e+02" y="-2.7120363023698008e+02" hdg="2.7455194006488739e+00" length="3.6129988337092549e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7623375306028022e+00" b="-3.3040648570514873e-04" c="7.6698849342465347e-06" d="-2.4347073841318568e-08" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0065727276868026e+00" b="-4.5158467504208315e-04" c="4.4333830889995618e-06" d="-1.2681107855908631e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="6.0335614771199154e+01" id="10118" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800017" contactPoint="start" />
+            <successor elementType="road" elementId="10132" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.3618960943266740e+02" y="-2.8140243894070073e+02" hdg="5.8959069565288749e+00" length="1.5555819039722351e+01">
+                <line />
+            </geometry>
+            <geometry s="1.5555819039722351e+01" x="3.5059337030979003e+02" y="-2.8727740094834468e+02" hdg="5.8770907372279835e+00" length="2.4653753039727406e+00">
+                <line />
+            </geometry>
+            <geometry s="1.8021194343695093e+01" x="3.5285823803464734e+02" y="-2.8825128470852263e+02" hdg="5.8854865844141777e+00" length="4.2314420427504061e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7615236776393512e+00" b="5.8559471915346269e-03" c="-1.3688790819405220e-04" d="9.4286763747398643e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0003182122693763e+00" b="1.1366584311127355e-05" c="-8.9725758579216467e-06" d="1.0634721396549615e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="7.1162459726769683e+01" id="10119" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10132" contactPoint="end" />
+            <successor elementType="junction" elementId="800023" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.0165602350118110e+02" y="-3.0885870753907892e+02" hdg="5.8785973119733077e+00" length="1.8067400695610214e+01">
+                <line />
+            </geometry>
+            <geometry s="1.8067400695610214e+01" x="4.1826474640038253e+02" y="-3.1597076009465513e+02" hdg="5.8845485622226343e+00" length="2.4272302520982616e+00">
+                <line />
+            </geometry>
+            <geometry s="2.0494630947708476e+01" x="4.2050165999078570e+02" y="-3.1691291946852488e+02" hdg="5.8861881078442790e+00" length="2.8945287166583178e+01">
+                <line />
+            </geometry>
+            <geometry s="4.9439918114291658e+01" x="4.4719576175941302e+02" y="-3.2810463872528487e+02" hdg="5.8997767161843626e+00" length="2.3224773418400462e+00">
+                <line />
+            </geometry>
+            <geometry s="5.1762395456131706e+01" x="4.4934961546434602e+02" y="-3.2897343975032271e+02" hdg="5.8950500998466326e+00" length="1.9400064270637973e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6926411682506908e+00" b="2.2107741152801186e-04" c="-1.4429692301406645e-05" d="9.5026724696753830e-08" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0123691753467137e+00" b="-1.0082185128341011e-03" c="1.6087352307987481e-05" d="-7.3132821211638960e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.2905127904361503e+01" id="10122" junction="800012">
+        <link>
+            <predecessor elementType="road" elementId="10057" contactPoint="end" />
+            <successor elementType="road" elementId="10114" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.2275296537343816e+02" y="-2.0629672859937597e+02" hdg="1.1763284432537688e+00" length="6.7504223861675507e+00">
+                <line />
+            </geometry>
+            <geometry s="6.7504223861675507e+00" x="1.2534726740427209e+02" y="-2.0006473057591006e+02" hdg="1.1763284432537688e+00" length="9.4399235955922922e+00">
+                <arc curvature="-1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.6190345981759844e+01" x="1.3320635164591559e+02" y="-1.9683726371975004e+02" hdg="5.8861931511679728e+00" length="6.7147819226016594e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6508458960039221e+00" b="-1.6904594620227363e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4021227057399446e+00" b="-1.7575305444315414e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.5899567388644510e+01" id="10123" junction="800012">
+        <link>
+            <predecessor elementType="road" elementId="10058" contactPoint="start" />
+            <successor elementType="road" elementId="10114" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.2955398165907883e+02" y="-1.9000120886508540e+02" hdg="4.3177185936569167e+00" length="9.0151672767719648e-01">
+                <line />
+            </geometry>
+            <geometry s="9.0151672767719648e-01" x="1.2920734492892413e+02" y="-1.9083342000871991e+02" hdg="4.3177185936569167e+00" length="6.2738982300442245e+00">
+                <arc curvature="2.5000000000000000e-01" />
+            </geometry>
+            <geometry s="7.1754149577214212e+00" x="1.3135325362873363e+02" y="-1.9606034829421893e+02" hdg="5.8861931511679728e+00" length="8.7241524309230876e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7546904870504161e+00" b="4.0959857120538403e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.2407336491020220e+00" b="-1.5168687086077005e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.7695883748017685e+01" id="10126" junction="800015">
+        <link>
+            <predecessor elementType="road" elementId="10114" contactPoint="end" />
+            <successor elementType="road" elementId="10062" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.1131900664814876e+02" y="-2.2952209498835938e+02" hdg="5.8872659241001566e+00" length="1.0479317988533037e+01">
+                <line />
+            </geometry>
+            <geometry s="1.0479317988533037e+01" x="2.2098766962365892e+02" y="-2.3356351327539565e+02" hdg="5.8872659241001566e+00" length="9.4152140541709972e+00">
+                <arc curvature="-1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.9894532042704036e+01" x="2.2421326562145953e+02" y="-2.4140448028389605e+02" hdg="4.3180635817383237e+00" length="7.8013517053136514e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6819791784826332e+00" b="-4.8828170894771959e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9935472301038311e+00" b="1.4199194087050027e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.9920521530478457e+01" id="10128" junction="800015">
+        <link>
+            <predecessor elementType="road" elementId="10114" contactPoint="end" />
+            <successor elementType="road" elementId="10061" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.1131900664814876e+02" y="-2.2952209498835938e+02" hdg="5.8872659241001566e+00" length="1.1396760946767820e+01">
+                <line />
+            </geometry>
+            <geometry s="1.1396760946767820e+01" x="2.2183414138566991e+02" y="-2.3391733121972945e+02" hdg="5.8872659241001566e+00" length="7.8802223195610877e+00">
+                <arc curvature="2.0000000000000001e-01" />
+            </geometry>
+            <geometry s="1.9276983266328909e+01" x="2.2838569271091586e+02" y="-2.3120816513328151e+02" hdg="1.1801250808327877e+00" length="6.4353826414954740e-01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6819791784826332e+00" b="-4.9388320950360448e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9935472301038311e+00" b="5.1428207467184676e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.7900688194869261e+01" id="10127" junction="800015">
+        <link>
+            <predecessor elementType="road" elementId="10114" contactPoint="end" />
+            <successor elementType="road" elementId="10117" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.1131900664814876e+02" y="-2.2952209498835938e+02" hdg="5.8860738449755932e+00" length="2.7900688194869261e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6819791784826332e+00" b="-4.2697210427839995e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9935472301038311e+00" b="-6.5635240823727501e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.0656603008583868e+01" id="10132" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10118" contactPoint="end" />
+            <successor elementType="road" elementId="10119" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.9187021741229381e+02" y="-3.0463956226150725e+02" hdg="5.8761175403762769e+00" length="1.0656603008583868e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6994302674144510e+00" b="6.3707911032170807e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9916990076185512e+00" b="1.9396582298798844e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.3997542438294081e+01" id="10133" junction="800022">
+        <link>
+            <predecessor elementType="road" elementId="10105" contactPoint="start" />
+            <successor elementType="road" elementId="10116" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.8657505846002499e+02" y="-3.0336034557363718e+02" hdg="4.5937834187829951e+00" length="4.4945538621000397e-01">
+                <line />
+            </geometry>
+            <geometry s="4.4945538621000397e-01" x="4.8652187544652207e+02" y="-3.0380664335681331e+02" hdg="4.5937834187829951e+00" length="1.1044769276211770e+01">
+                <arc curvature="-1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.1494224662421775e+01" x="4.7829064596916373e+02" y="-3.0864931042089648e+02" hdg="2.7529885394143667e+00" length="2.5033177758723055e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6870717683767751e+00" b="-5.3770697647693606e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.7604574616577731e+00" b="1.7582748337001956e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.7266267169237409e+01" id="10134" junction="800022">
+        <link>
+            <predecessor elementType="road" elementId="10106" contactPoint="end" />
+            <successor elementType="road" elementId="10116" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.8457848172001502e+02" y="-3.1980201918081679e+02" hdg="1.4509744163394132e+00" length="3.6635948234561395e+00">
+                <line />
+            </geometry>
+            <geometry s="3.6635948234561395e+00" x="4.8501641098004899e+02" y="-3.1616469255351745e+02" hdg="1.4509744163394132e+00" length="7.8120847384497214e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.1475679561905860e+01" x="4.8133281320862773e+02" y="-3.0989484702491666e+02" hdg="2.7529885394143667e+00" length="5.7905876073315481e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6091749078674713e+00" b="-8.8706274051066677e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.8936375922223521e+00" b="6.5407962449267783e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.8522605612320085e+01" id="10136" junction="800023">
+        <link>
+            <predecessor elementType="road" elementId="10119" contactPoint="end" />
+            <successor elementType="road" elementId="10106" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.6730663357703691e+02" y="-3.3631564610845345e+02" hdg="5.8950500998466326e+00" length="9.1768714574085415e+00">
+                <line />
+            </geometry>
+            <geometry s="9.1768714574085415e+00" x="4.7580089651759477e+02" y="-3.3978875233234942e+02" hdg="5.8950500998466326e+00" length="9.1955481183618346e+00">
+                <arc curvature="2.0000000000000001e-01" />
+            </geometry>
+            <geometry s="1.8372419575770376e+01" x="4.8265736117284160e+02" y="-3.3575834719585691e+02" hdg="1.4509744163394132e+00" length="1.5018603654970844e-01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7157369844241162e+00" b="2.9714223228095005e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9957346261937174e+00" b="-5.4814195168320307e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.8819076979214657e+01" id="10135" junction="800023">
+        <link>
+            <predecessor elementType="road" elementId="10119" contactPoint="end" />
+            <successor elementType="road" elementId="10107" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.6730663357703691e+02" y="-3.3631564610845345e+02" hdg="5.8950500998466326e+00" length="1.1129528795044555e+01">
+                <line />
+            </geometry>
+            <geometry s="1.1129528795044555e+01" x="4.7760830821946621e+02" y="-3.4052776086962211e+02" hdg="5.8950500998466326e+00" length="7.7841694573575761e+00">
+                <arc curvature="-1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.8913698252402131e+01" x="4.8129810493883156e+02" y="-3.4676815412410872e+02" hdg="4.5976885236203699e+00" length="9.9053787268125255e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7157369844241162e+00" b="-3.0267299210734082e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9957346261937174e+00" b="-9.0962956759604603e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.2602288704836823e+01" id="10137" junction="800015">
+        <link>
+            <predecessor elementType="road" elementId="10062" contactPoint="end" />
+            <successor elementType="road" elementId="10117" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.2121609983275735e+02" y="-2.4860712463614846e+02" hdg="1.1764709281485308e+00" length="7.7466678895308752e+00">
+                <line />
+            </geometry>
+            <geometry s="7.7466678895308752e+00" x="2.2419225689527326e+02" y="-2.4145496744199190e+02" hdg="1.1764709281485308e+00" length="9.4318012307506898e+00">
+                <arc curvature="-1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.7178469120281566e+01" x="2.3204338794842059e+02" y="-2.3822324647525681e+02" hdg="5.8876893635363352e+00" length="5.4238195845552584e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8172131129556277e+00" b="5.4561341346474031e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.1034782015169085e+00" b="-4.9447310961026076e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.5063356092422524e+01" id="10139" junction="800015">
+        <link>
+            <predecessor elementType="road" elementId="10061" contactPoint="start" />
+            <successor elementType="road" elementId="10117" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.2863075798372736e+02" y="-2.3061311512741105e+02" hdg="4.3217177344225810e+00" length="7.3203385765866025e-01">
+                <line />
+            </geometry>
+            <geometry s="7.3203385765866025e-01" x="2.2835199277732360e+02" y="-2.3128999290696751e+02" hdg="4.3217177344225810e+00" length="7.8298581455687710e+00">
+                <arc curvature="2.0000000000000001e-01" />
+            </geometry>
+            <geometry s="8.5618920032274310e+00" x="2.3104893155644731e+02" y="-2.3780806679988248e+02" hdg="5.8876893635363352e+00" length="6.5014640891950934e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7803632895672168e+00" b="5.7405066311021664e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.1799085905536906e+00" b="-1.2493406362035482e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.7671230203051771e+01" id="10142" junction="800017">
+        <link>
+            <predecessor elementType="road" elementId="10117" contactPoint="end" />
+            <successor elementType="road" elementId="10063" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.1352123554072449e+02" y="-2.7223976704529929e+02" hdg="5.8876893635363352e+00" length="9.3907439529579939e+00">
+                <line />
+            </geometry>
+            <geometry s="9.3907439529579939e+00" x="3.2218706672085443e+02" y="-2.7585770042604372e+02" hdg="5.8876893635363352e+00" length="9.4023772296777999e+00">
+                <arc curvature="-1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.8793121182635794e+01" x="3.2542089662212879e+02" y="-2.8368544186409582e+02" hdg="4.3206264919233686e+00" length="8.8781090204159785e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6835170515582281e+00" b="-9.4533080061461134e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9947960972652941e+00" b="6.7994732750335588e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.7670204035814464e+01" id="10141" junction="800017">
+        <link>
+            <predecessor elementType="road" elementId="10117" contactPoint="end" />
+            <successor elementType="road" elementId="10064" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.1352123554072449e+02" y="-2.7223976704529929e+02" hdg="5.8876893635363352e+00" length="1.2403564050192847e+01">
+                <line />
+            </geometry>
+            <geometry s="1.2403564050192847e+01" x="3.2496731400153084e+02" y="-2.7701843725952222e+02" hdg="5.8876893635363352e+00" length="4.7275723485017505e+00">
+                <arc curvature="3.3333333333333331e-01" />
+            </geometry>
+            <geometry s="1.7131136398694597e+01" x="3.2889734266439501e+02" y="-2.7539179208344746e+02" hdg="1.1803615058573320e+00" length="5.3906763711986794e-01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6835170515582281e+00" b="-3.2841766749386529e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9947960972652941e+00" b="1.0755063019299854e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.1591923593884328e+01" id="10143" junction="800017">
+        <link>
+            <predecessor elementType="road" elementId="10063" contactPoint="end" />
+            <successor elementType="road" elementId="10118" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.2203107510003770e+02" y="-2.9189092355786369e+02" hdg="1.1790338383335754e+00" length="9.0859573052624381e+00">
+                <line />
+            </geometry>
+            <geometry s="9.0859573052624381e+00" x="3.2550025683134476e+02" y="-2.8349334067537796e+02" hdg="1.1790338383335754e+00" length="9.3978731339057209e+00">
+                <arc curvature="-1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.8483830439168159e+01" x="3.3331170049903710e+02" y="-2.8022860623195368e+02" hdg="5.8959069565288749e+00" length="3.1080931547161694e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6861328981784123e+00" b="-3.4916194072811824e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.9013706577625227e+00" b="-8.8044607847334103e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.1084521241122765e+01" id="10144" junction="800017">
+        <link>
+            <predecessor elementType="road" elementId="10064" contactPoint="start" />
+            <successor elementType="road" elementId="10118" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.2910250671235144e+02" y="-2.7489329270449485e+02" hdg="4.3219541594471256e+00" length="3.4102940977544999e-01">
+                <line />
+            </geometry>
+            <geometry s="3.4102940977544999e-01" x="3.2897271414206188e+02" y="-2.7520865748856153e+02" hdg="4.3219541594471256e+00" length="4.7218583912452479e+00">
+                <arc curvature="3.3333333333333331e-01" />
+            </geometry>
+            <geometry s="5.0628878010206977e+00" x="3.3061393592171709e+02" y="-2.7912825025322502e+02" hdg="5.8959069565288749e+00" length="6.0216334401020681e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7415491234940568e+00" b="-1.8020222714888521e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.8370227552466005e+00" b="-1.6569994346379024e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="8.2869800343312832e+01" id="10117" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800015" contactPoint="start" />
+            <successor elementType="junction" elementId="800017" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.3704851907612354e+02" y="-2.4031285918585755e+02" hdg="5.8876893635363352e+00" length="8.2869800343312832e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6938919940320121e+00" b="2.2075238783554559e-03" c="-3.7341344981984034e-05" d="1.4738344368992446e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="2.9917159617150131e+00" b="3.0378235860584738e-04" c="-4.9828344750738280e-06" d="2.1305360127268355e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.4450147876192862e+01" id="10131" junction="800017">
+        <link>
+            <predecessor elementType="road" elementId="10117" contactPoint="end" />
+            <successor elementType="road" elementId="10118" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.1352123554072449e+02" y="-2.7223976704529929e+02" hdg="5.8990591252602806e+00" length="2.4450147876192862e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6835170515582281e+00" b="-3.1904357583488617e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9947960972652941e+00" b="2.2585200842319543e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.2435191609817917e+01" id="10148" junction="800019">
+        <link>
+            <predecessor elementType="road" elementId="10116" contactPoint="end" />
+            <successor elementType="road" elementId="10064" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.5486510575263912e+02" y="-2.5726473219392909e+02" hdg="2.7455194006488739e+00" length="1.1080882295418625e+01">
+                <line />
+            </geometry>
+            <geometry s="1.1080882295418625e+01" x="3.4464207171925847e+02" y="-2.5298974358607728e+02" hdg="2.7455194006488739e+00" length="9.4586085527895101e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="2.0539490848208136e+01" x="3.3677881831337527e+02" y="-2.5624169851012414e+02" hdg="4.3219541594471256e+00" length="1.8957007616097810e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7286504999142824e+00" b="2.6313122960059791e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9949991035310086e+00" b="8.7338154135387328e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.8000000000000000e+01" id="10044" junction="800018">
+        <link>
+            <predecessor elementType="junction" elementId="800016" contactPoint="start" />
+            <successor elementType="road" elementId="10151" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.0290016217869237e+02" y="-3.7081642071481946e+02" hdg="5.8911209547225596e+00" length="2.8000000000000000e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8757356142291446e+00" b="8.7634189151375771e-03" c="-1.8646652392448123e-04" d="1.0312733585097437e-06" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.6437832934044381e+00" b="-1.0696288766498696e-02" c="5.1204176813294251e-05" d="2.1275274559243509e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4044031612043648e+00" b="-2.4125431245557231e-04" c="4.0521119714546009e-06" d="-2.0989105233597708e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.5286553803581675e+01" id="10046" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10045" contactPoint="end" />
+            <successor elementType="road" elementId="10068" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.2558337625659897e+02" y="-4.2176136488233988e+02" hdg="5.8883269111204273e+00" length="2.5286553803581675e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7602731410718215e+00" b="-2.8987288627187871e-02" c="1.0129114922347933e-03" d="-1.0186267778564524e-05" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3552612916949704e+00" b="-1.2458642292080683e-02" c="6.0448916054149421e-04" d="-6.9314324022546849e-06" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3913017539781882e+00" b="1.1463058395927064e-03" c="-5.1897039380537739e-05" d="6.9189255500447105e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="3.8216759187607735e+01" id="10068" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10046" contactPoint="end" />
+            <successor elementType="road" elementId="10107" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.4892415618120515e+02" y="-4.3148853280381280e+02" hdg="5.8883269111204273e+00" length="1.4947629296890071e+01">
+                <line />
+            </geometry>
+            <geometry s="1.4947629296890071e+01" x="4.6272158103092465e+02" y="-4.3723854924844920e+02" hdg="5.8883269111204273e+00" length="1.1066560112334763e+01">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="2.6014189409224834e+01" x="4.7098561119812263e+02" y="-4.3242583091315009e+02" hdg="1.4495682893299680e+00" length="1.2202569778382902e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-7.0102926055819808e+00" b="9.2212088190808100e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3146707986972883e+00" b="-7.2786310973340018e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3982912468167732e+00" b="-1.3388703921061867e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="8.6323159327228893e+01" id="10045" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10151" contactPoint="end" />
+            <successor elementType="road" elementId="10046" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.4588780895945933e+02" y="-3.8859052845301187e+02" hdg="5.8887754020010741e+00" length="8.6323159327228893e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7677675130787405e+00" b="8.6817628841753808e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.2784346013595687e+00" b="8.8998932539263969e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3998361637507588e+00" b="-9.8865818154532915e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.4291218867380705e+01" id="10031" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800024" contactPoint="start" />
+            <successor elementType="junction" elementId="800014" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.6816541728691237e+02" y="-1.4110490584516859e+02" hdg="2.7475919565288671e+00" length="1.4291218867380705e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8168111796029462e+00" b="1.0566003983786322e-02" c="-4.2785967610254379e-04" d="4.7803353337347714e-06" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.0870337315355805e+00" b="-9.1093045804126888e-02" c="3.4407974189134818e-03" d="-4.1724988435055907e-05" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.2904235375085480e+00" b="1.6364468242361697e-03" c="-6.1088437142369376e-05" d="7.1622750879216836e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="8.9529657164110688e+01" id="10054" junction="800014">
+        <link>
+            <predecessor elementType="road" elementId="10031" contactPoint="end" />
+            <successor elementType="road" elementId="10067" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.5496918241420747e+02" y="-1.3561871209177406e+02" hdg="2.7489738202718144e+00" length="8.9529657164110688e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7392427550545584e+00" b="-1.8301695663027140e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3661600125952056e+00" b="6.2355114581334628e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3034242613645710e+00" b="-3.6882875924833964e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="9.3850271307897970e+01" id="10069" junction="800014">
+        <link>
+            <predecessor elementType="road" elementId="10060" contactPoint="end" />
+            <successor elementType="road" elementId="10031" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.7475378497142361e+02" y="-1.2002260595191854e+02" hdg="1.1745457874902883e+00" length="1.0405922334102071e+01">
+                <line />
+            </geometry>
+            <geometry s="1.0405922334102071e+01" x="2.7877007693153735e+02" y="-1.1042299041198726e+02" hdg="1.1745457874902883e+00" length="9.4112789073072882e+00">
+                <arc curvature="-1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.9817201241409357e+01" x="2.8660847854347742e+02" y="-1.0719847933818870e+02" hdg="5.8891846101186598e+00" length="7.4033070066488605e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7581925850871327e+00" b="2.0191555941703079e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.1028381113245249e+00" b="2.8057660100607594e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9397009753475447e+00" b="3.8755698939190726e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.7119360043732200e+01" id="10070" junction="800024">
+        <link>
+            <predecessor elementType="road" elementId="10124" contactPoint="end" />
+            <successor elementType="road" elementId="10031" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.7664301194040098e+02" y="-1.6032805649975279e+02" hdg="1.1778333079165604e+00" length="8.5020889848420271e+00">
+                <line />
+            </geometry>
+            <geometry s="8.5020889848420271e+00" x="3.7989869362377675e+02" y="-1.5247400952493123e+02" hdg="1.1778333079165604e+00" length="9.4185518916738395e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.7920640876515868e+01" x="3.7665933650997493e+02" y="-1.4463616207339692e+02" hdg="2.7475919565288671e+00" length="9.1987191672163302e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7560758806504504e+00" b="-2.2395550210091678e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.7108044099549025e+00" b="-2.3000936504896888e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.9014198661152575e+00" b="-5.9403921258054958e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.9196453862792037e+01" id="10073" junction="800009">
+        <link>
+            <predecessor elementType="road" elementId="10170" contactPoint="end" />
+            <successor elementType="road" elementId="10016" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-5.2175774330178157e+00" y="1.4153527848751079e+01" hdg="5.8917505205800076e+00" length="2.9196453862792037e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6740326889086443e+00" b="-4.0466515409646455e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4014651488811505e+00" b="1.9872985442625146e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="8.0278939813253576e+00" id="10043" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10053" contactPoint="end" />
+            <successor elementType="junction" elementId="800024" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.2340175232820786e+02" y="-1.6420781315810382e+02" hdg="2.7427616636000782e+00" length="8.0278939813253576e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6945040673500120e+00" b="2.8137809066315508e-03" c="-2.2264997154203576e-04" d="3.6135754461280058e-06" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.1533024955880542e+00" b="2.5654905029750853e-02" c="-1.1253944476017333e-03" d="1.0932499581157326e-05" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3010755770477362e+00" b="-3.7577827672121054e-03" c="3.0518261390881157e-04" d="-5.9039577963025122e-06" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="9.5952185978385032e+01" id="10053" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10105" contactPoint="end" />
+            <successor elementType="road" elementId="10043" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.9806321337920622e+02" y="-2.0983420069790586e+02" hdg="1.4481264946626091e+00" length="1.2053334019702000e+01">
+                <line />
+            </geometry>
+            <geometry s="1.2053334019702000e+01" x="4.9953808837698068e+02" y="-1.9787144162102709e+02" hdg="1.4481264946626091e+00" length="2.5892703378749382e+00">
+                <arc curvature="5.0000000000000000e-01" />
+            </geometry>
+            <geometry s="1.4642604357576937e+01" x="4.9832980009813883e+02" y="-1.9578368560428962e+02" hdg="2.7427616636000782e+00" length="8.1309581620808089e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6317921418499344e+00" b="-6.5357474517781851e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.8322830973603983e+00" b="3.3456183926854084e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.8957827251574448e+00" b="4.2239043098152131e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="5.1845314066941349e+01" id="10071" junction="800024">
+        <link>
+            <predecessor elementType="road" elementId="10043" contactPoint="end" />
+            <successor elementType="road" elementId="10031" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.1600392280142609e+02" y="-1.6109024999626160e+02" hdg="2.7458644232616205e+00" length="5.1845314066941349e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6843949022570417e+00" b="-2.5540645230720761e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.2923851600279392e+00" b="1.5327297863054918e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.2875220679950652e+00" b="5.5963968310356810e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="4.8625968489194150e+01" id="10072" junction="800024">
+        <link>
+            <predecessor elementType="road" elementId="10043" contactPoint="end" />
+            <successor elementType="road" elementId="10124" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.1600392280142609e+02" y="-1.6109024999626160e+02" hdg="2.7427616636000782e+00" length="3.0617947214510650e+01">
+                <line />
+            </geometry>
+            <geometry s="3.0617947214510650e+01" x="3.8778900684963895e+02" y="-1.4920003513427747e+02" hdg="2.7427616636000782e+00" length="9.4599857874376525e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="4.0077933001948303e+01" x="3.7991628779228733e+02" y="-1.5243156513404662e+02" hdg="4.3194259615063535e+00" length="8.5480354872458495e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6843949022570417e+00" b="-1.4741295776831247e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.2923851600279392e+00" b="3.3090028971759895e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.2875220679950652e+00" b="2.9270005023676281e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.2868329104134938e+01" id="10075" junction="800000">
+        <link>
+            <predecessor elementType="road" elementId="10001" contactPoint="start" />
+            <successor elementType="road" elementId="10199" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-3.7371139847523338e+01" y="-1.0027933610548020e+02" hdg="1.1738490689524426e+00" length="6.8870832649712421e-01">
+                <line />
+            </geometry>
+            <geometry s="6.8870832649712421e-01" x="-3.7104881923077926e+01" y="-9.9644177954578794e+01" hdg="1.1738490689524426e+00" length="7.8340069593750368e+00">
+                <arc curvature="2.0000000000000001e-01" />
+            </geometry>
+            <geometry s="8.5227152858721613e+00" x="-3.9764679462201038e+01" y="-9.3107685712084375e+01" hdg="2.7406504608274500e+00" length="4.3456138182627768e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6856575444237070e+00" b="1.6917323291437489e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.9562315399664305e+00" b="-7.4197820442218260e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="10" t="0" id="71" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="11" t="0" id="72" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="3.3963830593811821e+01" id="10019" junction="800002">
+        <link>
+            <predecessor elementType="road" elementId="10002" contactPoint="end" />
+            <successor elementType="road" elementId="10003" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-7.8380793938645922e+01" y="-1.9828907154689179e+02" hdg="4.3164176784807449e+00" length="3.3963830593811821e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6915811280888509e+00" b="-1.5258904797690979e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.4986494329165643e+00" b="3.9764863380333773e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.4945573299369421e+00" b="1.6024900512987263e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="20" t="0" id="61" name="" dynamic="yes" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="22" t="0" id="62" name="" dynamic="yes" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="4" t="0" id="63" name="" dynamic="yes" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="5" t="0" id="64" name="" dynamic="yes" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+        </signals>
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="33.964" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="2.0603900142401191e+01" id="10018" junction="800001">
+        <link>
+            <predecessor elementType="road" elementId="10001" contactPoint="end" />
+            <successor elementType="road" elementId="10002" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-4.3641499002797588e+01" y="-1.1523727485921749e+02" hdg="4.3143468377274639e+00" length="2.0603900142401191e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6868721050782076e+00" b="2.1061659516842185e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.8442840841130117e+00" b="-1.6709656023060526e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.9023984868097079e+00" b="-1.9530209524826991e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="20" t="0" id="65" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="19" t="0" id="66" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="0" t="0" id="67" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="1" t="0" id="68" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+        </signals>
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="20.604" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="2.8562220058572727e+01" id="10091" junction="800016">
+        <link>
+            <predecessor elementType="road" elementId="10030" contactPoint="end" />
+            <successor elementType="junction" elementId="800018" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.7653497887119397e+02" y="-3.5983108850152968e+02" hdg="5.8883993852497101e+00" length="2.8562220058572727e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.9236398853333130e+00" b="1.6771900435586168e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3585870162471316e+00" b="9.9850878738575854e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4005821028119558e+00" b="1.3378016080588671e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="0" t="0" id="107" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="28.562" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="8.5000000000000000e+01" id="10149" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10196" contactPoint="end" />
+            <successor elementType="junction" elementId="800025" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.4181543585285550e+02" y="-4.6493690063804382e+02" hdg="2.7447324386182959e+00" length="8.5000000000000000e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5149999999999988e+00" b="-7.4658406990874102e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="85" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="5.6205950001313887e+01" id="10110" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800025" contactPoint="start" />
+            <successor elementType="junction" elementId="800026" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.4391130818428650e+02" y="-4.3496868331578526e+02" hdg="4.3205491488394951e+00" length="5.6205950001313887e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5442369652037709e+00" b="1.5876782654093713e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="4.5000000000000000e+01" id="10154" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800028" contactPoint="start" />
+            <successor elementType="road" elementId="10098" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.2717329378793092e+01" y="-4.4757997898963919e+02" hdg="1.1767223340483770e+00" length="4.5000000000000000e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.4261269359378153e+00" b="-1.1269359378176176e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.4999999999999999e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="4.2542191671187382e+01" id="10098" junction="800031">
+        <link>
+            <predecessor elementType="road" elementId="10171" contactPoint="end" />
+            <successor elementType="road" elementId="10154" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.0004073012620239e+01" y="-3.7974626377783716e+02" hdg="5.8879788995370186e+00" length="2.2557081338653997e+01">
+                <line />
+            </geometry>
+            <geometry s="2.2557081338653997e+01" x="4.0822389497539724e+01" y="-3.8843071063715882e+02" hdg="5.8879788995370186e+00" length="9.4179834713930894e+00">
+                <arc curvature="-1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="3.1975064810047087e+01" x="4.4052512355150043e+01" y="-3.9627193327585832e+02" hdg="4.3183149876381703e+00" length="1.0567126861140292e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5469999999999979e+00" b="2.7220471675988610e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="32" t="0" id="57" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="30" t="0" id="58" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="15" t="0" id="59" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="16" t="0" id="60" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="8.0448827175697559e+01" id="10100" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10156" contactPoint="end" />
+            <successor elementType="road" elementId="10103" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.1192417687298686e+01" y="-4.6605621195046979e+02" hdg="5.8877941983733271e+00" length="8.0448827175697559e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.4499999999999984e+00" b="1.5164919649301519e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.5158197194388492e+01" id="10103" junction="800026">
+        <link>
+            <predecessor elementType="road" elementId="10100" contactPoint="end" />
+            <successor elementType="road" elementId="10110" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.0543429539960786e+02" y="-4.9704261844905858e+02" hdg="5.8877941983733271e+00" length="5.8341118753825310e+00">
+                <line />
+            </geometry>
+            <geometry s="5.8341118753825310e+00" x="1.1081828216011249e+02" y="-4.9928973836957692e+02" hdg="5.8877941983733271e+00" length="9.4460856243357672e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.5280197499718298e+01" x="1.1867454514210810e+02" y="-4.9604399910354272e+02" hdg="1.1789564952497020e+00" length="9.8779996946701960e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.3279999999999985e+00" b="-5.0480564652036304e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.9134626410285094e+01" id="10155" junction="800028">
+        <link>
+            <predecessor elementType="junction" elementId="800029" contactPoint="start" />
+            <successor elementType="road" elementId="10154" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.0036910232942034e+01" y="-4.6882474992617580e+02" hdg="2.7462015447835375e+00" length="8.9234641277853832e+00">
+                <line />
+            </geometry>
+            <geometry s="8.9234641277853832e+00" x="2.1801927128733997e+01" y="-4.6538770682006253e+02" hdg="2.7462015447835375e+00" length="9.4168752644109635e+00">
+                <arc curvature="-1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.8340339392196348e+01" x="1.8572827014909098e+01" y="-4.5754691093405614e+02" hdg="1.1767223340483770e+00" length="1.0794287018088744e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.4499999999999993e+00" b="8.1940518906933283e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="7" t="0" id="53" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="8" t="0" id="54" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="24" t="0" id="55" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="25" t="0" id="56" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="2.6138575158555298e+01" id="10156" junction="800028">
+        <link>
+            <predecessor elementType="road" elementId="10154" contactPoint="start" />
+            <successor elementType="road" elementId="10100" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.2717329378793092e+01" y="-4.4757997898963919e+02" hdg="4.3183149876381703e+00" length="7.7942844158947802e+00">
+                <line />
+            </geometry>
+            <geometry s="7.7942844158947802e+00" x="1.9724687981327300e+01" y="-4.5477685102004477e+02" hdg="4.3183149876381703e+00" length="9.4168752644109404e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.7211159680305720e+01" x="2.2953788095152181e+01" y="-4.6261764690605111e+02" hdg="5.8877941983733271e+00" length="8.9274154782495785e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.4261269359378153e+00" b="-9.1332690926610675e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.0528210263710243e+01" id="10158" junction="800025">
+        <link>
+            <predecessor elementType="road" elementId="10159" contactPoint="end" />
+            <successor elementType="road" elementId="10149" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.5015288654917052e+02" y="-4.1985304321306069e+02" hdg="4.3570053155778954e+00" length="3.9921213313915566e-01">
+                <line />
+            </geometry>
+            <geometry s="3.9921213313915566e-01" x="1.5001398065486762e+02" y="-4.2022730980223668e+02" hdg="4.3570053155778954e+00" length="9.1759186597811642e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="9.5751307929203193e+00" x="1.5331991206029568e+02" y="-4.2784868514298120e+02" hdg="5.8863250922080894e+00" length="1.0953079470789923e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5444121178616319e+00" b="-1.6585726492094064e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="7.0884561416171763e+01" id="10163" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10146" contactPoint="end" />
+            <successor elementType="junction" elementId="800032" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="7.1225985363254651e+01" y="-3.8127975010211446e+02" hdg="5.8885655576611526e+00" length="7.0884561416171763e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5757547515584251e+00" b="4.0565605519662175e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.7039743890779746e+01" id="10146" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10216" contactPoint="end" />
+            <successor elementType="road" elementId="10163" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.9594061949060439e+01" y="-3.8294530372669436e+02" hdg="1.1767223340483770e+00" length="4.8513643246076024e+00">
+                <line />
+            </geometry>
+            <geometry s="4.8513643246076024e+00" x="5.1456759399823490e+01" y="-3.7846578433093367e+02" hdg="1.1767223340483770e+00" length="7.8567104178340541e+00">
+                <arc curvature="-2.0000000000000001e-01" />
+            </geometry>
+            <geometry s="1.2708074742441656e+01" x="5.7995807874149413e+01" y="-3.7576983683744334e+02" hdg="5.8885655576611526e+00" length="1.4331669148338090e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.4311981476579945e+00" b="-5.3460788861141133e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.9910710754682519e+01" id="10159" junction="800032">
+        <link>
+            <predecessor elementType="road" elementId="10163" contactPoint="end" />
+            <successor elementType="road" elementId="10158" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.3666255936357499e+02" y="-4.0853182947715720e+02" hdg="5.8885655576611526e+00" length="1.1791780661034686e+01">
+                <line />
+            </geometry>
+            <geometry s="1.1791780661034686e+01" x="1.4754805702915417e+02" y="-4.1306526434827003e+02" hdg="5.8885655576611526e+00" length="7.6578012104162863e+00">
+                <arc curvature="-2.0000000000000001e-01" />
+            </geometry>
+            <geometry s="1.9449581871450974e+01" x="1.5031333638172069e+02" y="-4.1942072886193989e+02" hdg="4.3570053155778954e+00" length="4.6112888323154455e-01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5469999999999979e+00" b="1.2997437260030606e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.9696450327015789e+01" id="10051" junction="800011">
+        <link>
+            <predecessor elementType="road" elementId="10030" contactPoint="start" />
+            <successor elementType="road" elementId="10062" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.0041687972361080e+02" y="-3.2814331712028729e+02" hdg="2.7471161649012803e+00" length="5.3545505815969570e+00">
+                <line />
+            </geometry>
+            <geometry s="5.3545505815969570e+00" x="1.9547356992845863e+02" y="-3.2608542980558008e+02" hdg="2.7471161649012803e+00" length="9.4238714205164964e+00">
+                <arc curvature="-1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.4778422002113453e+01" x="1.9223998387152295e+02" y="-3.1824112979032071e+02" hdg="1.1764709281485308e+00" length="4.9180283249023358e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.9389009597234530e+00" b="4.4903985458308576e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4015310074706120e+00" b="-1.2468736521107431e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3991427612559320e+00" b="-1.5281338360493833e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.9999999999999957e+01" id="10164" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10009" contactPoint="end" />
+            <successor elementType="road" elementId="10167" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.8980690071052828e+02" y="-2.7296517283765183e+01" hdg="6.2096306687522747e+00" length="5.8785982810830006e-01">
+                <arc curvature="4.0943003645852157e-03" />
+            </geometry>
+            <geometry s="5.8785982810830006e-01" x="-1.8922057898670425e+02" y="-2.7339012540510794e+01" hdg="6.2051871958168805e+00" length="2.2822841441621384e+00">
+                <line />
+            </geometry>
+            <geometry s="2.8701439722704407e+00" x="-1.8694523369580241e+02" y="-2.7516845950939569e+01" hdg="6.2129477548325793e+00" length="1.4171915298715289e+01">
+                <arc curvature="1.4226942847840237e-02" />
+            </geometry>
+            <geometry s="1.7042059270985732e+01" x="-1.7280392296525304e+02" y="-2.7084355284137246e+01" hdg="2.1302942206065117e-01" length="8.2449537010061025e-01">
+                <line />
+            </geometry>
+            <geometry s="1.7866554641086339e+01" x="-1.7199806538325319e+02" y="-2.6910038982975522e+01" hdg="2.3419132030408313e-01" length="5.8758125102832226e-01">
+                <line />
+            </geometry>
+            <geometry s="1.8454135892114664e+01" x="-1.7142652373794581e+02" y="-2.6773686959743944e+01" hdg="2.7783638273288758e-01" length="8.0065882519578269e-01">
+                <line />
+            </geometry>
+            <geometry s="1.9254794717310446e+01" x="-1.7065656928497464e+02" y="-2.6554085742275220e+01" hdg="2.4426815290847959e-01" length="6.4645255334817939e+00">
+                <arc curvature="1.1090438819242633e-01" />
+            </geometry>
+            <geometry s="2.5719320250792236e+01" x="-1.6544451190266599e+02" y="-2.2967318702688999e+01" hdg="9.4979257322207100e-01" length="2.3080518421720901e+00">
+                <line />
+            </geometry>
+            <geometry s="2.8027372092964328e+01" x="-1.6410156778125159e+02" y="-2.1090192070596089e+01" hdg="1.1444196964078883e+00" length="1.9726279070356725e+00">
+                <arc curvature="-1.4379606781796653e-02" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7219305658628103e+00" b="1.5768452964320984e-03" c="1.9617937647603766e-06" d="-6.1917236111958645e-09" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9959825611145670e+00" b="1.9658046546895309e-05" c="-1.6405821080455151e-07" d="3.4764649689718825e-10" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="7.4000000000000043e+01" id="10167" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10164" contactPoint="end" />
+            <successor elementType="road" elementId="10168" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.6326037759008764e+02" y="-1.9305983838002032e+01" hdg="1.1160540827779168e+00" length="7.2019315907182726e+00">
+                <arc curvature="-1.4379606781796653e-02" />
+            </geometry>
+            <geometry s="7.2019315907182744e+00" x="-1.5976799707287773e+02" y="-1.3011163965131971e+01" hdg="8.8550064860068556e-01" length="2.3714611480130685e+00">
+                <line />
+            </geometry>
+            <geometry s="9.5733927387313429e+00" x="-1.5826709465787485e+02" y="-1.1175102986522063e+01" hdg="8.2881446804574388e-01" length="7.1702289266517747e+00">
+                <arc curvature="-5.1900933758373312e-02" />
+            </geometry>
+            <geometry s="1.6743621665383117e+01" x="-1.5256071611914720e+02" y="-6.9020686506711399e+00" hdg="5.0726235367268468e-01" length="1.0703691636264847e+00">
+                <line />
+            </geometry>
+            <geometry s="1.7813990829009597e+01" x="-1.5162513031086348e+02" y="-6.3820981305639313e+00" hdg="4.4440175459155051e-01" length="9.1703002440555075e+00">
+                <line />
+            </geometry>
+            <geometry s="2.6984291073065108e+01" x="-1.4334555945635282e+02" y="-2.4396226352359003e+00" hdg="1.4695858529543646e-01" length="8.8523299699122671e-01">
+                <line />
+            </geometry>
+            <geometry s="2.7869524070056329e+01" x="-1.4246986837928048e+02" y="-2.3099978054463577e+00" hdg="4.7949210038747747e-01" length="1.7688899197208414e+01">
+                <arc curvature="1.0655007783019277e-02" />
+            </geometry>
+            <geometry s="4.5558423267264743e+01" x="-1.2763525283068509e+02" y="7.2767732689593458e+00" hdg="3.1276394511649425e-01" length="8.4081514206670682e-01">
+                <line />
+            </geometry>
+            <geometry s="4.6399238409331446e+01" x="-1.2683522834866775e+02" y="7.5354833988374610e+00" hdg="4.5838848332655063e-01" length="5.9509640908164119e-01">
+                <line />
+            </geometry>
+            <geometry s="4.6994334818413080e+01" x="-1.2630156566794017e+02" y="7.7988156591105025e+00" hdg="4.2601294639266579e-01" length="7.4791444720611078e-01">
+                <line />
+            </geometry>
+            <geometry s="4.7742249265619193e+01" x="-1.2562049936020085e+02" y="8.1078863707639357e+00" hdg="3.5108271036081407e-01" length="8.6314753099254951e+00">
+                <arc curvature="-7.7328515443964976e-02" />
+            </geometry>
+            <geometry s="5.6373724575544685e+01" x="-1.1714963213923591e+02" y="8.2548971406992564e+00" hdg="6.1108303270494915e+00" length="2.3873108793302120e+00">
+                <line />
+            </geometry>
+            <geometry s="5.8761035454874900e+01" x="-1.1479769258126770e+02" y="7.8454663770374395e+00" hdg="6.0369334751227370e+00" length="6.6890856998620389e+00">
+                <arc curvature="7.6819430607474079e-02" />
+            </geometry>
+            <geometry s="6.5450121154736934e+01" x="-1.0818233334966062e+02" y="7.9160817031421971e+00" hdg="3.4514400365283504e-01" length="1.2730075627678072e+00">
+                <line />
+            </geometry>
+            <geometry s="6.6723128717504736e+01" x="-1.0698439919122889e+02" y="8.3467811423413707e+00" hdg="5.4111667516766815e-01" length="7.2768712824952644e+00">
+                <arc curvature="5.3925288753630403e-02" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6730267691190654e+00" b="1.6778352685674922e-03" c="1.4045386397527496e-06" d="-6.1917236111958645e-09" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9964340365766655e+00" b="1.0753199440244639e-05" c="-1.3277002608380462e-07" d="3.4764649689718825e-10" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="4.0907188127760115e+01" id="10169" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10168" contactPoint="end" />
+            <successor elementType="road" elementId="10010" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-9.5724812905373952e+01" y="2.1311493375671382e+01" hdg="1.0341076809292593e+00" length="8.8735635134530995e+00">
+                <arc curvature="1.1402525407374131e-02" />
+            </geometry>
+            <geometry s="8.8735635134530924e+00" x="-9.1581033484989717e+01" y="2.9153818835839381e+01" hdg="1.1056909751959267e+00" length="2.3463731704534183e+00">
+                <line />
+            </geometry>
+            <geometry s="1.1219936683906496e+01" x="-9.0528645313021684e+01" y="3.1250946917413181e+01" hdg="1.3685044934414052e+00" length="1.0959370246327126e+01">
+                <arc curvature="-5.3863710159958902e-02" />
+            </geometry>
+            <geometry s="2.2179306930233622e+01" x="-8.5374606717340498e+01" y="4.0742844908381279e+01" hdg="5.2737146517252909e-01" length="1.4107867837946855e+00">
+                <line />
+            </geometry>
+            <geometry s="2.3590093714028313e+01" x="-8.4155499442114433e+01" y="4.1452842655434488e+01" hdg="4.6145299109796101e-01" length="8.2414950862741954e+00">
+                <arc curvature="-8.0708937449868359e-02" />
+            </geometry>
+            <geometry s="3.1831588800302512e+01" x="-7.6132188130915452e+01" y="4.2492583883236186e+01" hdg="6.1736598150533482e+00" length="2.3340335339722351e+00">
+                <line />
+            </geometry>
+            <geometry s="3.4165622334274758e+01" x="-7.3812139946801423e+01" y="4.2237458500147561e+01" hdg="6.0931700764446362e+00" length="6.1283370560049217e+00">
+                <arc curvature="-3.2142867603593792e-02" />
+            </geometry>
+            <geometry s="4.0293959390279667e+01" x="-6.7852720633301175e+01" y="4.0464551123547224e+01" hdg="5.9175373032281593e+00" length="6.1322873748043061e-01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.5258480412685511e+00" b="1.7827313546441600e-03" c="-1.5577571026860880e-07" d="-6.1917236111958645e-09" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9966065314948955e+00" b="-4.1931838955148601e-06" c="-4.5163108865713161e-08" d="3.4764649689718825e-10" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.0028257486500541e+01" id="10168" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10167" contactPoint="end" />
+            <successor elementType="road" elementId="10169" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.0163202527433300e+02" y="1.3207741760303882e+01" hdg="9.4090528812769925e-01" length="1.0028257486500541e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.5436847406624086e+00" b="1.7786439386771021e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9966435993764673e+00" b="-3.6963432203112462e-06" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="5.7883631416992316e+01" id="10170" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10010" contactPoint="end" />
+            <successor elementType="junction" elementId="800009" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-5.8638066860378956e+01" y="3.6440314015258743e+01" hdg="5.9354718715325818e+00" length="4.9491495064576041e-01">
+                <line />
+            </geometry>
+            <geometry s="4.9491495064576085e-01" x="-5.8172770434282462e+01" y="3.6271672252238645e+01" hdg="5.8875339702506011e+00" length="5.7388716466346558e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6810809169140031e+00" b="8.7676726188241785e-04" c="-1.6259266381135487e-05" d="5.5556715784792693e-08" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3927366285441036e+00" b="3.1425152666739907e-04" c="-3.4477221038775264e-06" d="1.0777276899194293e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="9.4425301363663774e+00" id="10010" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10169" contactPoint="end" />
+            <successor elementType="road" elementId="10170" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-6.7280031061449534e+01" y="4.0245288407235883e+01" hdg="5.8684351109348061e+00" length="9.4425301363663774e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.4536060374316291e+00" b="-2.4090458404394315e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9963832220707860e+00" b="4.1975339315765234e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="4.0000000000000000e+01" id="10177" junction="800025">
+        <link>
+            <predecessor elementType="road" elementId="10110" contactPoint="start" />
+            <successor elementType="road" elementId="10178" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.4391130818428650e+02" y="-4.3496868331578526e+02" hdg="1.1781873619094989e+00" length="4.0000000000000000e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5442369652037709e+00" b="-9.9517811804150681e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="1.1880796273120852e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="7.4781750262215365e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="6.1000000000000000e+01" id="10178" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800025" contactPoint="start" />
+            <successor elementType="junction" elementId="800011" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.5921531513356416e+02" y="-3.9801212271693544e+02" hdg="1.1781873619094989e+00" length="6.1000000000000000e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.9423082124203734e+00" b="-9.9517811804150681e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.0475231850924835e+00" b="1.1880796273120852e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.0299127001048860e+00" b="7.4781750262215365e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="3.0254803429946492e+01" id="10179" junction="800011">
+        <link>
+            <predecessor elementType="road" elementId="10178" contactPoint="end" />
+            <successor elementType="road" elementId="10062" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.8255392573121259e+02" y="-3.4165336780368943e+02" hdg="1.1781873619094989e+00" length="3.0254803429946492e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.5493668644256928e+00" b="-9.9517811804150681e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.1199960423585207e+00" b="1.1880796273120852e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0755295677648373e+00" b="7.4781750262215365e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="3.3037705025359401e+01" id="10181" junction="800025">
+        <link>
+            <predecessor elementType="road" elementId="10163" contactPoint="end" />
+            <successor elementType="road" elementId="10178" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.3666255936357499e+02" y="-4.0853182947715720e+02" hdg="5.8885655576611526e+00" length="1.1801935440764897e+01">
+                <line />
+            </geometry>
+            <geometry s="1.1801935440764897e+01" x="1.4755743134116227e+02" y="-4.1306916842636144e+02" hdg="5.8885655576611526e+00" length="7.8640355571396636e+00">
+                <arc curvature="2.0000000000000001e-01" />
+            </geometry>
+            <geometry s="1.9665970997904559e+01" x="1.5409928737156264e+02" y="-4.1036645518936888e+02" hdg="1.1781873619094989e+00" length="1.3371734027454842e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5469999999999979e+00" b="-1.1965365394386232e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="9.0541095641859270e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.8517194788699211e+01" id="10185" junction="800011">
+        <link>
+            <predecessor elementType="road" elementId="10178" contactPoint="end" />
+            <successor elementType="road" elementId="10030" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.8255392573121259e+02" y="-3.4165336780368943e+02" hdg="1.1781873619094989e+00" length="1.4328316314880928e+01">
+                <line />
+            </geometry>
+            <geometry s="1.4328316314880928e+01" x="1.8803594204257223e+02" y="-3.2841523554942978e+02" hdg="1.1781873619094989e+00" length="7.8633192529900597e+00">
+                <arc curvature="-2.0000000000000001e-01" />
+            </geometry>
+            <geometry s="2.2191635567870989e+01" x="1.9457713680221525e+02" y="-3.2571224697152246e+02" hdg="5.8887088184910734e+00" length="6.3255592208282225e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.5493668644256928e+00" b="-1.3659621789031110e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.1199960423585207e+00" b="9.7887159296618995e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0755295677648373e+00" b="1.1431749936181046e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="3.2132495531113122e+01" id="10186" junction="800011">
+        <link>
+            <predecessor elementType="road" elementId="10029" contactPoint="end" />
+            <successor elementType="road" elementId="10178" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.7614817882186890e+02" y="-3.1805367992422845e+02" hdg="5.8883300631547142e+00" length="9.9588605399041636e+00">
+                <line />
+            </geometry>
+            <geometry s="9.9588605399041636e+00" x="1.8534072753010707e+02" y="-3.2188460037497248e+02" hdg="5.8883300631547142e+00" length="7.8427502382771097e+00">
+                <arc curvature="-2.0000000000000001e-01" />
+            </geometry>
+            <geometry s="1.7801610778181274e+01" x="1.8803692472741676e+02" y="-3.2841286253351797e+02" hdg="4.3197800154992922e+00" length="1.4330884752931844e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8289769137462963e+00" b="8.7017844303398043e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3441913720593872e+00" b="-8.3610625273225700e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4003811910718231e+00" b="-8.7259064096597248e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="7.7649415860190246e+01" id="10157" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800009" contactPoint="start" />
+            <successor elementType="road" elementId="10017" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="9.9180230033203376e-01" y="-9.1298015532845582e+00" hdg="4.3254309633457524e+00" length="3.5202653611613677e-01">
+                <line />
+            </geometry>
+            <geometry s="3.5202653611613677e-01" x="8.5895695413137529e-01" y="-9.4557997068418338e+00" hdg="4.3091463665621097e+00" length="2.3011018604114155e+00">
+                <line />
+            </geometry>
+            <geometry s="2.6531283965275527e+00" x="-4.4002169418499229e-02" y="-1.1572338058298504e+01" hdg="4.3136730869454096e+00" length="7.4996287463662696e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7311811051646462e+00" b="-8.8517410039677875e-04" c="9.8535333334225291e-06" d="-2.6765711489403358e-08" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.9508447474530124e+00" b="-8.9406920266165942e-04" c="1.1055167941535104e-05" d="-3.6901332317170502e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.4999999999999999e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.8865654642320280e+00" b="2.7328392395542587e-04" c="-2.3093188782086078e-06" d="6.3732765851954745e-09" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="74" t="0" id="76" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="77" t="0" id="77" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="77.5" t="0" id="78" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="77" t="0" id="79" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="0" toLane="2" />
+            </signal>
+            <signal s="74" t="0" id="80" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="2.9054368907432270e+01" id="10175" junction="800009">
+        <link>
+            <predecessor elementType="road" elementId="10016" contactPoint="end" />
+            <successor elementType="road" elementId="10157" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.1770533118874344e+01" y="3.0146406960328562e+00" hdg="2.7468164164460735e+00" length="3.5735024010068290e+00">
+                <line />
+            </geometry>
+            <geometry s="3.5735024010068290e+00" x="1.8471895063368059e+01" y="4.3890156044065831e+00" hdg="2.7468164164460735e+00" length="1.7364760015896469e+01">
+                <arc curvature="9.0909090909090912e-02" />
+            </geometry>
+            <geometry s="2.0938262416903299e+01" x="4.0546025892853272e+00" y="-1.6137893822197658e+00" hdg="4.3254309633457524e+00" length="8.1161064905289706e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7921805639232149e+00" b="2.0994935031256076e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4006792173072560e+00" b="5.1141577077747989e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="5.7999999999999993e+01" id="10120" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10032" contactPoint="end" />
+            <successor elementType="road" elementId="10093" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.2372356779224877e+01" y="-1.0088822733355919e+02" hdg="5.8870587750219414e+00" length="5.7999999999999993e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7210174816294455e+00" b="3.1995679522652601e-03" c="-6.0787425774162508e-05" d="2.8028281378844427e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9940364603390091e+00" b="1.2871572935041565e-04" c="-3.6844765528046412e-06" d="2.4786069217061854e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="7.0999999999999957e+01" id="10125" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10041" contactPoint="end" />
+            <successor elementType="road" elementId="10077" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.5843039269580447e+02" y="-2.1391758394333510e+02" hdg="5.8883434001846169e+00" length="7.0999999999999957e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8769956294122920e+00" b="2.3272712257605763e-04" c="2.8575133501788492e-05" d="-1.1963003410550051e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9560411387487271e+00" b="6.5145149772769591e-04" c="-3.7620335206447727e-06" d="7.0624118384376367e-09" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="63" t="0" id="82" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="2.8999999999999986e+01" id="10129" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10040" contactPoint="end" />
+            <successor elementType="road" elementId="10041" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.7337234199858946e+02" y="-1.7868187287677478e+02" hdg="5.8904918620094984e+00" length="2.8999999999999986e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6100349902331184e+00" b="-2.2057151935744759e-03" c="4.2790412204873399e-05" d="-2.0763829461464674e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0101326684409009e+00" b="-8.1540098009456256e-04" c="1.2041121541625943e-05" d="-4.9090029615192960e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="5.1664738526946422e+01" id="10040" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10034" contactPoint="end" />
+            <successor elementType="road" elementId="10129" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.2572414686967301e+02" y="-1.5870952429143199e+02" hdg="5.8862692320693766e+00" length="5.1664738526946422e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7196344898521767e+00" b="2.1213598044611277e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9936662836900245e+00" b="3.1871611509827155e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="7" t="0" id="4" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="8" t="0" id="5" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="20" t="0" id="17" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="21" t="0" id="18" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="6.3067515059831102e+01" id="10041" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10129" contactPoint="end" />
+            <successor elementType="road" elementId="10125" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.0016491099416879e+02" y="-1.8977954139845627e+02" hdg="5.8904321733097662e+00" length="6.3067515059831102e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6434260979532320e+00" b="-3.7034839764572376e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9950316171618203e+00" b="-6.1823394145311744e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="34" t="0" id="19" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="35" t="0" id="20" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="46" t="0" id="21" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="47" t="0" id="22" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="2.0930970790608079e+01" id="10077" junction="800019">
+        <link>
+            <predecessor elementType="road" elementId="10125" contactPoint="end" />
+            <successor elementType="road" elementId="10065" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.2396746726591260e+02" y="-2.4122860473700155e+02" hdg="5.8883434001846169e+00" length="1.2618485578300561e+01">
+                <line />
+            </geometry>
+            <geometry s="1.2618485578300561e+01" x="3.3561505360826357e+02" y="-2.4608245997662897e+02" hdg="5.8883434001846169e+00" length="7.8678844975696194e+00">
+                <arc curvature="2.0000000000000001e-01" />
+            </geometry>
+            <geometry s="2.0486370075870180e+01" x="3.4215898193169380e+02" y="-2.4337764379902890e+02" hdg="1.1787349925189550e+00" length="4.4460071473789781e-01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7542677800108288e+00" b="-2.9116027920102296e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9862966197174865e+00" b="9.1502324307924349e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="7" t="0" id="26" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="20" t="0" id="27" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="19" t="0" id="28" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="9" t="0" id="23" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="2.1576696622941434e+01" id="10056" junction="800016">
+        <link>
+            <predecessor elementType="road" elementId="10063" contactPoint="start" />
+            <successor elementType="junction" elementId="800018" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.9549591178644187e+02" y="-3.5572139769145201e+02" hdg="4.3182344690249872e+00" length="6.0893027623702833e+00">
+                <line />
+            </geometry>
+            <geometry s="6.0893027623702833e+00" x="2.9315745104533590e+02" y="-3.6134378237182710e+02" hdg="4.3182344690249872e+00" length="7.8508245811236144e+00">
+                <arc curvature="2.0000000000000001e-01" />
+            </geometry>
+            <geometry s="1.3940127343493899e+01" x="2.9585100603886303e+02" y="-3.6787931532411449e+02" hdg="5.8883993852497101e+00" length="7.6365692794475342e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.9037441403439894e+00" b="1.2980914828762413e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.8950592857348845e+00" b="-5.7992009351423450e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.9324918499203330e+00" b="-7.0821252920209618e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="17" t="0" id="37" name="" dynamic="yes" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="20" t="0" id="38" name="" dynamic="yes" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="7" t="0" id="39" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="5" t="0" id="40" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="3.2480312523530074e+01" id="10124" junction="800021">
+        <link>
+            <predecessor elementType="junction" elementId="800020" contactPoint="start" />
+            <successor elementType="junction" elementId="800024" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.6422680717647057e+02" y="-1.9034139690406576e+02" hdg="1.1891503273241297e+00" length="2.0415173303745076e+00">
+                <line />
+            </geometry>
+            <geometry s="2.0415173303745107e+00" x="3.6498716734137804e+02" y="-1.8844676094171274e+02" hdg="1.1778333079165604e+00" length="3.0438795193155567e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6702999444594004e+00" b="-1.8476848784752774e-03" c="-4.3512236441128462e-05" d="5.8780456291928871e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.6975670172226964e+00" b="-1.2649432843386639e-03" c="6.0868229234044711e-05" d="-2.8865687926783044e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="4.9002715253331273e+00" b="3.7138609000191255e-05" c="3.4202557194012735e-07" d="-1.2220933707258243e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="4.0000000000000000e+00" id="10138" junction="800020">
+        <link>
+            <predecessor elementType="road" elementId="10112" contactPoint="end" />
+            <successor elementType="junction" elementId="800021" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.6268309902981855e+02" y="-1.9403149114931759e+02" hdg="1.1738539524541853e+00" length="3.8097107603690361e+00">
+                <line />
+            </geometry>
+            <geometry s="3.8097107603690361e+00" x="3.6415593422551729e+02" y="-1.9051799537388501e+02" hdg="1.1891503273241297e+00" length="1.9028923963096389e-01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6636430202205847e+00" b="-1.4713723679261248e-03" c="-5.0565891196159934e-05" d="5.8780456291928871e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.7036191560680685e+00" b="-1.7657446484158779e-03" c="6.4332111785258682e-05" d="-2.8865687926783044e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.9001292254460358e+00" b="3.3815799606721833e-05" c="4.8867677642722617e-07" d="-1.2220933707258243e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="9.8963299276354491e+01" id="10171" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800030" contactPoint="start" />
+            <successor elementType="junction" elementId="800031" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-7.1330849879043555e+01" y="-3.4164552278720635e+02" hdg="5.8879788995370186e+00" length="9.8963299276354491e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5697889348722587e+00" b="2.3027662819347645e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="98.963" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="2.0191429396826045e+01" id="10032" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10208" contactPoint="end" />
+            <successor elementType="road" elementId="10120" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-3.1055945431089306e+01" y="-9.3232031399876860e+01" hdg="5.8942748278459991e+00" length="2.0191429396826045e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.7381975786232573e+00" b="-1.9725299406649538e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="-2.9535004896326822e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="0" t="0" id="13" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="1" t="0" id="16" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="5.6972068779857544e+01" id="10096" junction="800021">
+        <link>
+            <predecessor elementType="road" elementId="10115" contactPoint="end" />
+            <successor elementType="junction" elementId="800020" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.6199004283328424e+02" y="-1.9714276108317225e+02" hdg="1.0895616124153005e+00" length="8.8454737901384330e+00">
+                <line />
+            </geometry>
+            <geometry s="8.8454737901384330e+00" x="3.6615351215296198e+02" y="-1.8911550038997871e+02" hdg="9.8921630754143131e-01" length="1.5941823162361977e+01">
+                <arc curvature="9.4397295408823797e-03" />
+            </geometry>
+            <geometry s="2.4787296952500412e+01" x="3.7381707483714951e+02" y="-1.7515537886113592e+02" hdg="1.0611237157854818e+00" length="4.8680102735039643e+00">
+                <arc curvature="1.9989383762114327e-01" />
+            </geometry>
+            <geometry s="2.9655307226004375e+01" x="3.7389194665913055e+02" y="-1.7049569644782360e+02" hdg="2.1106878200897010e+00" length="5.0004037601483597e+00">
+                <arc curvature="2.8854982015099612e-01" />
+            </geometry>
+            <geometry s="3.4655710986152734e+01" x="3.6953235683025605e+02" y="-1.6910305648407086e+02" hdg="3.5660177390733399e+00" length="2.6516156397197377e+00">
+                <arc curvature="2.6386016008485169e-01" />
+            </geometry>
+            <geometry s="3.7307326625872470e+01" x="3.6757352333803976e+02" y="-1.7103315460889726e+02" hdg="4.4165086263831146e+00" length="2.9619281531633108e+00">
+                <line />
+            </geometry>
+            <geometry s="4.0269254779035784e+01" x="3.6678612675156546e+02" y="-1.7370211794981196e+02" hdg="4.6377938525784934e+00" length="1.6702814000821760e+01">
+                <arc curvature="-2.1294273439387619e-02" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.7573999082049880e+00" b="-5.1605572964676365e-03" c="2.9287056978389111e-04" d="-3.5269815117396298e-06" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.3000000000000000e+01" id="10112" junction="800020">
+        <link>
+            <predecessor elementType="road" elementId="10065" contactPoint="end" />
+            <successor elementType="road" elementId="10138" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.5765729556377556e+02" y="-2.0602070711704087e+02" hdg="1.1738539524541853e+00" length="1.3000000000000000e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6543522216744293e+00" b="1.4135771657411336e-04" c="-7.3490269150012190e-05" d="5.8780456291928871e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.7380801425529349e+00" b="-3.5847285926213931e-03" c="7.5589730076704073e-05" d="-2.8865687926783044e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.8997990558177191e+00" b="1.4914190030034060e-05" c="9.6529319101029787e-07" d="-1.2220933707258243e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="9.8787967223603967e+00" id="10115" junction="800020">
+        <link>
+            <predecessor elementType="road" elementId="10065" contactPoint="end" />
+            <successor elementType="road" elementId="10096" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.5765729556377556e+02" y="-2.0602070711704087e+02" hdg="1.1167665553069119e+00" length="9.8787967223603967e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6543522216744293e+00" b="3.9447641478934292e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.8997990558177191e+00" b="-1.9231077520985668e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.6976809101546714e+01" id="10121" junction="800020">
+        <link>
+            <predecessor elementType="junction" elementId="800021" contactPoint="start" />
+            <successor elementType="road" elementId="10065" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.6263638815124489e+02" y="-1.8979046730748269e+02" hdg="4.4147248155208878e+00" length="1.6976809101546714e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.7530159225591753e+00" b="-2.2980386218513899e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="1.0237967171313618e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.0000000000000000e+00" id="10145" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10152" contactPoint="end" />
+            <successor elementType="road" elementId="10193" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.9209297749356602e+02" y="-4.2837858035614619e+02" hdg="4.8944954682248190e+00" length="2.0000000000000000e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.8130172857476188e+00" b="8.3160556463993238e-04" c="-8.6919597473019707e-05" d="1.2026663460486854e-06" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="2" />
+        </userData>
+    </road>
+    <road name="" length="8.1056346268584818e+00" id="10152" junction="800034">
+        <link>
+            <predecessor elementType="road" elementId="10180" contactPoint="end" />
+            <successor elementType="road" elementId="10145" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.9533167496843765e+02" y="-4.2094809239300491e+02" hdg="4.3013508036936257e+00" length="8.1056346268584818e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5735391362717914e+00" b="3.4056825623215564e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="8.106" />
+        </userData>
+    </road>
+    <road name="" length="3.0000000000000071e+00" id="10193" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10145" contactPoint="end" />
+            <successor elementType="road" elementId="10194" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.9245518075249720e+02" y="-4.3034550912944218e+02" hdg="4.8944954682248190e+00" length="1.7270789905077724e+00">
+                <line />
+            </geometry>
+            <geometry s="1.7270789905077706e+00" x="2.9271822931676189e+02" y="-4.3206383735238990e+02" hdg="5.0914424990393066e+00" length="1.2729210094922294e+00">
+                <arc curvature="-5.4136713596511218e-02" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.8116921316774621e+00" b="4.9835917090043777e-04" c="-7.9703599396727597e-05" d="1.2026663460486854e-06" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="3" />
+        </userData>
+    </road>
+    <road name="" length="2.5999999999999993e+01" id="10194" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10193" contactPoint="end" />
+            <successor elementType="road" elementId="10195" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.9314815986182924e+02" y="-4.3326168813709364e+02" hdg="5.0225307389174434e+00" length="5.6299313415713090e+00">
+                <arc curvature="-5.4136713596511218e-02" />
+            </geometry>
+            <geometry s="5.6299313415713073e+00" x="2.9402361000701785e+02" y="-4.3880024924501777e+02" hdg="4.5357765214035517e+00" length="2.3135156881465577e+00">
+                <line />
+            </geometry>
+            <geometry s="7.9434470297178663e+00" x="2.9353599672180724e+02" y="-4.4105817772137686e+02" hdg="4.4753746349857613e+00" length="7.1349300140571881e+00">
+                <arc curvature="-4.5595966181175507e-02" />
+            </geometry>
+            <geometry s="1.5078377043775056e+01" x="2.9074328335374594e+02" y="-4.4758381587825716e+02" hdg="3.9151428152075507e+00" length="2.8079826090844469e+00">
+                <line />
+            </geometry>
+            <geometry s="1.7886359652859504e+01" x="2.8873435499519110e+02" y="-4.4954569589067250e+02" hdg="3.6685290889926225e+00" length="2.8673018123865490e+00">
+                <line />
+            </geometry>
+            <geometry s="2.0753661465246054e+01" x="2.8627744097732023e+02" y="-4.5105418039786628e+02" hdg="3.4532863997048393e+00" length="5.2463385347539457e+00">
+                <arc curvature="6.7782813305608106e-02" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.8108819145679877e+00" b="5.2609565863385700e-05" c="-6.8879602282289406e-05" d="1.2026663460486854e-06" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="26" />
+        </userData>
+    </road>
+    <road name="" length="1.3692280952020727e+01" id="10195" junction="800034">
+        <link>
+            <predecessor elementType="road" elementId="10194" contactPoint="end" />
+            <successor elementType="road" elementId="10218" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.8167154796534544e+02" y="-4.5350794905516494e+02" hdg="4.3327858304853706e+00" length="1.3692280952020727e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.8349386133002157e+00" b="-1.9665220422364416e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="13.692" />
+        </userData>
+    </road>
+    <road name="" length="2.2286225184833441e+01" id="10196" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10218" contactPoint="end" />
+            <successor elementType="road" elementId="10149" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.6236955649148661e+02" y="-4.7355107255191359e+02" hdg="2.7447324386182959e+00" length="2.2286225184833441e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5216173405496427e+00" b="2.9692514074330256e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="22.286" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="8.0448827175697744e+01" id="10102" junction="800029">
+        <link>
+            <predecessor elementType="road" elementId="10140" contactPoint="end" />
+            <successor elementType="road" elementId="10155" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.0427878794525149e+02" y="-4.9981115642476436e+02" hdg="2.7462015447835375e+00" length="8.0448827175697744e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.3279999999999994e+00" b="-1.5164919649301495e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.3224775837266968e+01" id="10198" junction="800025">
+        <link>
+            <predecessor elementType="road" elementId="10149" contactPoint="end" />
+            <successor elementType="road" elementId="10110" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.6342170879527345e+02" y="-4.3208231864372641e+02" hdg="2.7447324386182959e+00" length="7.8843124539428739e+00">
+                <line />
+            </geometry>
+            <geometry s="7.8843124539428739e+00" x="1.5615017187114296e+02" y="-4.2903483876152774e+02" hdg="2.7447324386182959e+00" length="1.4182350391990793e+01">
+                <arc curvature="1.1111111111111110e-01" />
+            </geometry>
+            <geometry s="2.2066662845933667e+01" x="1.4435357931476227e+02" y="-4.3389834601014621e+02" hdg="4.3205491488394951e+00" length="1.1581129913333008e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5784596459422415e+00" b="1.4735419182628337e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="10" t="0" id="45" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="9" t="0" id="46" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="22" t="0" id="47" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="23" t="0" id="48" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="3.3000000000000000e+01" id="10166" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10165" contactPoint="end" />
+            <successor elementType="junction" elementId="800004" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.1313949142609354e+02" y="-3.3234361488430346e+02" hdg="2.6348023453373886e+00" length="7.9876651606718632e+00">
+                <arc curvature="-3.4882770800880890e-02" />
+            </geometry>
+            <geometry s="7.9876651606718632e+00" x="-1.1951912129886274e+02" y="-3.2757254097514499e+02" hdg="2.3875732223712038e+00" length="8.9076894626732308e+00">
+                <line />
+            </geometry>
+            <geometry s="1.6895354623345092e+01" x="-1.2601232065630126e+02" y="-3.2147456642020745e+02" hdg="2.2929452424413896e+00" length="3.2663840016750583e+00">
+                <arc curvature="-1.4304257561903566e-01" />
+            </geometry>
+            <geometry s="2.0161738625020149e+01" x="-1.2750762222977413e+02" y="-3.1860588778947016e+02" hdg="1.9880324290850568e+00" length="2.9909339919137139e+00">
+                <arc curvature="-2.6650578878718623e-01" />
+            </geometry>
+            <geometry s="2.3152672616933863e+01" x="-1.2772821011932498e+02" y="-3.1577105321000482e+02" hdg="1.2080436924397799e+00" length="2.0598917655142466e+00">
+                <line />
+            </geometry>
+            <geometry s="2.5212564382448107e+01" x="-1.2694015088007605e+02" y="-3.1377523311443383e+02" hdg="1.1066316853590576e+00" length="7.7874356175518926e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-3.0016345045425630e+00" b="-3.6260710500456983e-03" c="9.8197386087276687e-04" d="-1.8373689193174229e-05" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="21" t="0" id="7" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="9.5201238216287205e+00" id="10165" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10150" contactPoint="end" />
+            <successor elementType="road" elementId="10166" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.0463026969395030e+02" y="-3.3661279549565779e+02" hdg="2.6765761989037222e+00" length="9.5201238216287205e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.6392385211313369e+00" b="-3.8066309871716213e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.5797998407478921e+01" id="10176" junction="800026">
+        <link>
+            <predecessor elementType="road" elementId="10110" contactPoint="end" />
+            <successor elementType="road" elementId="10174" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.2244684898853289e+02" y="-4.8691467264108377e+02" hdg="4.3205491488394951e+00" length="9.3708939573804155e+00">
+                <line />
+            </geometry>
+            <geometry s="9.3708939573804155e+00" x="1.1886820347197772e+02" y="-4.9557532791809996e+02" hdg="4.3205491488394951e+00" length="1.2594780832447661e+01">
+                <arc curvature="-1.2500000000000000e-01" />
+            </geometry>
+            <geometry s="2.1965674789828078e+01" x="1.0839318616265025e+02" y="-4.9990298027281221e+02" hdg="2.7462015447835375e+00" length="3.8323236176508426e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.4549999999999992e+00" b="4.9228625412730499e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="0" t="0" id="49" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="1" t="0" id="50" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="24" t="0" id="51" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="25" t="0" id="52" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="8.0462810005276879e+01" id="10174" junction="800029">
+        <link>
+            <predecessor elementType="road" elementId="10176" contactPoint="end" />
+            <successor elementType="road" elementId="10155" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.0485654167242980e+02" y="-4.9842688743691139e+02" hdg="2.7648447775510383e+00" length="8.0462810005276879e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.3279999999999994e+00" b="-1.5162284289101876e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.9675712715967663e+01" id="10074" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10058" contactPoint="end" />
+            <successor elementType="road" elementId="10059" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.3579848192638192e+02" y="-1.7500931026692092e+02" hdg="1.1773308322888407e+00" length="1.9675712715967663e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7382545127590951e+00" b="7.5544749177000031e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.2724804562809733e+00" b="9.0729875885491099e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4000484900337780e+00" b="3.5066284344815877e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="4.9326436576919598e+01" id="10199" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800000" contactPoint="start" />
+            <successor elementType="road" elementId="10130" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-4.3765658632087884e+01" y="-9.1411653536797616e+01" hdg="2.7406504608274500e+00" length="3.9284380498702056e+01">
+                <line />
+            </geometry>
+            <geometry s="3.9284380498702056e+01" x="-7.9934539404850497e+01" y="-7.6079510346346865e+01" hdg="2.7406504608274500e+00" length="5.9097095862945288e+00">
+                <arc curvature="8.3333333333333329e-02" />
+            </geometry>
+            <geometry s="4.5194090084996589e+01" x="-8.5714841345897199e+01" y="-7.5178069800672120e+01" hdg="3.2331262596853274e+00" length="4.1323464919230073e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-4.5086807076710578e+00" b="-1.9400323016136194e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.0014295677064551e+00" b="-5.6550006019002719e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="4.5999999999999986e+01" id="10201" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10202" contactPoint="end" />
+            <successor elementType="junction" elementId="800000" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-7.4073690492106422e+01" y="-1.1449942870403049e+02" hdg="6.1511665813496315e+00" length="1.5470802509870722e+00">
+                <arc curvature="1.4096191228416767e-02" />
+            </geometry>
+            <geometry s="1.5470802509870794e+00" x="-7.2528406554110788e+01" y="-1.1463085049130251e+02" hdg="6.1159191926849230e+00" length="1.2576302004782629e+01">
+                <arc curvature="6.7592165272055721e-02" />
+            </geometry>
+            <geometry s="1.4123382255769712e+01" x="-6.0714164970653478e+01" y="-1.1153430228517888e+02" hdg="7.7079542340526608e-01" length="9.5648665687060408e+00">
+                <arc curvature="4.9077522648510327e-02" />
+            </geometry>
+            <geometry s="2.3688248824475750e+01" x="-5.5541323324403912e+01" y="-1.0355999657733408e+02" hdg="1.3074550872619222e+00" length="8.8497226708883634e+00">
+                <arc curvature="-3.1846706353753057e-02" />
+            </geometry>
+            <geometry s="3.2537971495364118e+01" x="-5.2058401906459260e+01" y="-9.5458691675022251e+01" hdg="9.9350024289841965e-01" length="9.6345540860649077e+00">
+                <arc curvature="-8.1495793213263334e-02" />
+            </geometry>
+            <geometry s="4.2172525581429028e+01" x="-4.4315219161901865e+01" y="-9.0145463343020623e+01" hdg="1.9340110333617822e-01" length="3.8274744185709721e+00">
+                <arc curvature="-8.2879182405817903e-02" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.6789828493442940e+00" b="1.0259858009175572e-03" c="-1.7472549719329374e-05" d="-3.5233702060478230e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="44" t="0" id="6" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="43" t="0" id="14" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="1.0000000000000000e+01" id="10202" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10190" contactPoint="end" />
+            <successor elementType="road" elementId="10201" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-8.3861251465017332e+01" y="-1.1248990778328155e+02" hdg="6.0102046690654634e+00" length="1.0000000000000000e+01">
+                <arc curvature="1.4096191228416767e-02" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.6906376253047979e+00" b="1.2697356891227104e-03" c="-6.9024391011859022e-06" d="-3.5233702060478230e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="3.4000000000000007e+01" id="10203" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10130" contactPoint="end" />
+            <successor elementType="junction" elementId="800001" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.0107825467751400e+02" y="-8.1178415384455207e+01" hdg="4.1446418444430595e+00" length="3.7325281852307208e+00">
+                <line />
+            </geometry>
+            <geometry s="3.7325281852307208e+00" x="-1.0308536196055748e+02" y="-8.4325364225459069e+01" hdg="4.1446418444430595e+00" length="3.0267471814769280e+01">
+                <arc curvature="5.8823529411764705e-02" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.7296464594926104e+00" b="8.6139178647196663e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="34" />
+        </userData>
+    </road>
+    <road name="" length="9.9999999999999982e+00" id="10000" junction="800009">
+        <link>
+            <predecessor elementType="road" elementId="10027" contactPoint="end" />
+            <successor elementType="road" elementId="10157" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.7655333282915695e+00" y="1.3081150032131195e-01" hdg="4.3254309633457524e+00" length="9.9999999999999982e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7213172451158476e+00" b="-9.8638600487985792e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.8835953198280668e+00" b="2.9701444039611510e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="3.1239785597583676e+01" id="10025" junction="800009">
+        <link>
+            <predecessor elementType="road" elementId="10157" contactPoint="start" />
+            <successor elementType="road" elementId="10016" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="9.9180230033203376e-01" y="-9.1298015532845582e+00" hdg="1.1838383097559593e+00" length="1.3155351202853870e+01">
+                <line />
+            </geometry>
+            <geometry s="1.3155351202853870e+01" x="5.9562780021234776e+00" y="3.0528601541072691e+00" hdg="1.1838383097559593e+00" length="9.4716872813980757e+00">
+                <arc curvature="-1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="2.2627038484251948e+01" x="1.3820255715259515e+01" y="6.3271174195398228e+00" hdg="5.8884090700358662e+00" length="8.6127471133317268e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7311811051646462e+00" b="-1.9526209156597693e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.9508447474530124e+00" b="-4.7739044932115685e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="3.8716092817974243e+01" id="10093" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10120" contactPoint="end" />
+            <successor elementType="road" elementId="10034" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.1136267059606809e+01" y="-1.2326739565757006e+02" hdg="5.8735228609514545e+00" length="3.8716092817974243e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6862797975525972e+00" b="6.9564319588352351e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9938955636001015e+00" b="4.2261270667655411e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="29" t="0" id="93" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="28" t="0" id="94" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="10" t="0" id="2" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="9" t="0" id="3" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="31" t="0" id="15" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="32" t="0" id="24" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="12" t="0" id="99" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="5.3002358438092166e+01" id="10034" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10093" contactPoint="end" />
+            <successor elementType="road" elementId="10040" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="7.6648809268976237e+01" y="-1.3868800488411333e+02" hdg="5.8958227425369811e+00" length="5.3002358438092166e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6593472110125784e+00" b="-1.1374452121789081e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9955317548778759e+00" b="-3.5196003401062180e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.3267405174633250e+01" id="10130" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10199" contactPoint="end" />
+            <successor elementType="road" elementId="10203" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-8.9829888693063282e+01" y="-7.5555790411560338e+01" hdg="3.2331262596853274e+00" length="3.2712061729225499e+00">
+                <line />
+            </geometry>
+            <geometry s="3.2712061729225499e+00" x="-9.3087400692657013e+01" y="-7.5854797766435510e+01" hdg="3.2331262596853274e+00" length="9.1151558475773200e+00">
+                <arc curvature="1.0000000000000001e-01" />
+            </geometry>
+            <geometry s="1.2386362020499870e+01" x="-1.0060448782470525e+02" y="-8.0435595077365406e+01" hdg="4.1446418444430595e+00" length="8.8104315413337997e-01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-4.5182501956993297e+00" b="1.3481187260538771e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.9986401574211343e+00" b="-7.5270193702269270e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="14" />
+        </userData>
+    </road>
+    <road name="" length="1.3874690924506965e+01" id="10095" junction="800004">
+        <link>
+            <predecessor elementType="road" elementId="10003" contactPoint="end" />
+            <successor elementType="road" elementId="10101" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.1646006093928240e+02" y="-2.9055863032476219e+02" hdg="4.3193107965084154e+00" length="2.0000000000000000e+00">
+                <line />
+            </geometry>
+            <geometry s="2.0000000000000000e+00" x="-1.1722612823848226e+02" y="-2.9240609910476815e+02" hdg="4.3193107965084154e+00" length="3.7427699818945199e+00">
+                <arc curvature="6.5150905840411444e-02" />
+            </geometry>
+            <geometry s="5.7427699818945204e+00" x="-1.1822612918001228e+02" y="-2.9600318835253142e+02" hdg="4.5631556511811437e+00" length="4.5597725309496768e+00">
+                <line />
+            </geometry>
+            <geometry s="1.0302542512844198e+01" x="-1.1890407628174805e+02" y="-3.0051228064048155e+02" hdg="4.5631556511811437e+00" length="1.3285753193218053e+00">
+                <arc curvature="-2.0000000000000001e-01" />
+            </geometry>
+            <geometry s="1.1631117832166002e+01" x="-1.1927281743431573e+02" y="-3.0178459402439950e+02" hdg="4.2974405873167827e+00" length="2.2435730923409620e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7923006599198237e+00" b="1.8906074635347703e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+            <elevation s="5.7427699818945204e+00" a="-5.7065682810065024e+00" b="1.3372926763745013e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.4984459857133841e+00" b="-9.5664764406080460e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+            <laneSection s="5.7427699818945204e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.9490652483571340e+00" b="-6.7647629638853207e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="7" t="0" id="95" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="13" t="0" id="96" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="2.5981089941769980e+01" id="10101" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10095" contactPoint="end" />
+            <successor elementType="road" elementId="10099" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.2017729755626848e+02" y="-3.0383777105760163e+02" hdg="4.2974405873167827e+00" length="6.4208973159561440e+00">
+                <line />
+            </geometry>
+            <geometry s="6.4208973159561431e+00" x="-1.2276583545913779e+02" y="-3.0971377257797769e+02" hdg="4.2974405873167827e+00" length="3.8280624659744702e+00">
+                <line />
+            </geometry>
+            <geometry s="1.0248959781930614e+01" x="-1.2430909091084885e+02" y="-3.1321697466380812e+02" hdg="4.2974405873167827e+00" length="9.4914698824314101e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="1.9740429664362026e+01" x="-1.2117594395130611e+02" y="-3.2115320025979099e+02" hdg="5.8793522343886844e+00" length="6.2406602774079545e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-4.6190924488652971e+00" b="5.3139022971480433e-04" c="-6.2780647639577511e-05" d="1.4463107743264318e-06" />
+            <elevation s="6.4208973159561467e+00" a="-4.6178858946727610e+00" b="4.8753422959391651e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3989600721788533e+00" b="-2.4552802595354081e-04" c="1.7053504722920045e-05" d="-2.5819856817579000e-07" />
+                    </lane>
+                </right>
+            </laneSection>
+            <laneSection s="6.4208973159561467e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3980182921133499e+00" b="8.9282117040473572e-07" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="1.5" t="0" id="0" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="2.5" t="0" id="1" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="5.0000000000000000e+00" id="10097" junction="800004">
+        <link>
+            <predecessor elementType="road" elementId="10166" contactPoint="end" />
+            <successor elementType="road" elementId="10111" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.2345390298047911e+02" y="-3.0681174052234530e+02" hdg="1.1066316853590576e+00" length="5.0000000000000000e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.7122205832387301e+00" b="1.1573611734567099e-03" c="-8.3702136925148168e-04" d="-1.8373689193174229e-05" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <speed sOffset="0.0000000000000000e+00" max="1.3890000000000000e+00" />
+                        <speed sOffset="1.0000000000000000e+01" max="5.5000000000000004e-01" />
+                        <speed sOffset="1.5000000000000000e+01" max="5.5500000000000005e-01" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.2705629853099698e+01" id="10111" junction="800004">
+        <link>
+            <predecessor elementType="junction" elementId="800005" contactPoint="start" />
+            <successor elementType="road" elementId="10003" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.2121552306261540e+02" y="-3.0234076128471690e+02" hdg="1.1871761950573287e+00" length="1.2705629853099698e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.7296560227518802e+00" b="-3.1975153409469198e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="1.1793559257102232e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="5" t="0" id="44" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="12.706" />
+        </userData>
+    </road>
+    <road name="" length="2.6938606924069830e+01" id="10150" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10162" contactPoint="end" />
+            <successor elementType="road" elementId="10165" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-7.8405187015730846e+01" y="-3.3859049565041954e+02" hdg="2.9162961025753087e+00" length="8.9682373401609397e+00">
+                <arc curvature="6.2437701218190388e-02" />
+            </geometry>
+            <geometry s="8.9682373401609397e+00" x="-8.7273596892836593e+01" y="-3.3898649542058564e+02" hdg="3.4438834226870583e+00" length="8.2150793087400711e+00">
+                <arc curvature="-5.3296743574456434e-02" />
+            </geometry>
+            <geometry s="1.7183316648901013e+01" x="-9.5402804620489036e+01" y="-3.3970295526312395e+02" hdg="2.9403504176012714e+00" length="9.7552902751688180e+00">
+                <arc curvature="-2.4992824505284787e-02" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.8101400505259515e+00" b="3.7220303223475533e-04" c="-5.4760691049630480e-05" d="1.0262095767251369e-05" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="7.7058053913926949e+00" id="10162" junction="800030">
+        <link>
+            <predecessor elementType="road" elementId="10171" contactPoint="start" />
+            <successor elementType="road" elementId="10150" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-7.1330849879043555e+01" y="-3.4164552278720635e+02" hdg="2.7339373516726582e+00" length="7.7058053913926949e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5697889348722587e+00" b="3.5812595104319744e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.0020823336331551e+02" id="10153" junction="800035">
+        <link>
+            <predecessor elementType="road" elementId="10036" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.2168764177872222e+02" y="-5.2395854169191421e+02" hdg="2.7596749374511438e+00" length="1.0020823336331551e+02">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.4138899162509890e+00" b="8.8806699920822096e-06" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.7999999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.7430925017576566e+01" id="10140" junction="800026">
+        <link>
+            <predecessor elementType="road" elementId="10183" contactPoint="end" />
+            <successor elementType="road" elementId="10102" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.1229145279777126e+02" y="-5.1149167676256872e+02" hdg="1.1789564952497020e+00" length="2.7108634980439437e+00">
+                <line />
+            </geometry>
+            <geometry s="2.7108634980439437e+00" x="1.1332670296145790e+02" y="-5.0898627499765877e+02" hdg="1.1789564952497020e+00" length="7.8362252476691774e+00">
+                <arc curvature="2.0000000000000001e-01" />
+            </geometry>
+            <geometry s="1.0547088745713122e+01" x="1.1063150865765029e+02" y="-5.0246259780033392e+02" hdg="2.7462015447835375e+00" length="6.8838362718634452e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-4.1130639354308443e+00" b="-6.9700033896311728e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4220946703341664e+00" b="-2.4215276579329273e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="6" t="0" id="10" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="7" t="0" id="11" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="16" t="0" id="91" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+            <signal s="17" t="0" id="92" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+                <validity fromLane="-2" toLane="2" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="1.9316612914640459e+01" id="10183" junction="800035">
+        <link>
+            <predecessor elementType="road" elementId="10036" contactPoint="end" />
+            <successor elementType="junction" elementId="800026" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.2168764177872222e+02" y="-5.2395854169191421e+02" hdg="2.7596749374511438e+00" length="8.3958008112350093e+00">
+                <line />
+            </geometry>
+            <geometry s="8.3958008112350093e+00" x="1.1389674491382820e+02" y="-5.2082942084053775e+02" hdg="2.7596749374511438e+00" length="7.9035922110072088e+00">
+                <arc curvature="-2.0000000000000001e-01" />
+            </geometry>
+            <geometry s="1.6299393022242217e+01" x="1.1113920835988732e+02" y="-5.1428021556173383e+02" hdg="1.1789564952497020e+00" length="3.0172198923982427e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.4138899162509890e+00" b="6.7342343430934620e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.7999999999999998e+00" b="-1.9563747088363056e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.2700000000000001e+02" id="10184" junction="800027">
+        <link>
+            <predecessor elementType="junction" elementId="800026" contactPoint="start" />
+            <successor elementType="road" elementId="10210" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.2128063805964192e+02" y="-5.1208046311295573e+02" hdg="5.9008577118403851e+00" length="1.2700000000000001e+02">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.3505452601151626e+00" b="1.0334680391688835e-04" c="-4.6894108362155116e-07" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="both" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.2200000000000000e+02" id="10036" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10211" contactPoint="end" />
+            <successor elementType="junction" elementId="800035" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.3489773797885502e+02" y="-5.6942802726583159e+02" hdg="2.7596749374511438e+00" length="1.2200000000000000e+02">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.4149733579900232e+00" b="8.8806699920822096e-06" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.7999999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="8.9000000000000000e+01" id="10113" junction="800026">
+        <link>
+            <successor elementType="junction" elementId="800027" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.7778748940707253e+01" y="-4.7850317147754924e+02" hdg="5.9008577118403851e+00" length="8.9000000000000000e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.3640000000000017e+00" b="1.8952172193604949e-04" c="-4.6894108362155116e-07" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="both" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="9.9999999999998079e-01" id="10094" junction="800027">
+        <link>
+            <predecessor elementType="junction" elementId="800026" contactPoint="start" />
+            <successor elementType="road" elementId="10184" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.2035283929165374e+02" y="-5.1170738209478463e+02" hdg="5.9008577118404766e+00" length="9.9999999999998079e-01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.3505452601151626e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.9685229177854850e+01" id="10172" junction="800026">
+        <link>
+            <predecessor elementType="road" elementId="10110" contactPoint="end" />
+            <successor elementType="junction" elementId="800027" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.2244684898853289e+02" y="-4.8691467264108377e+02" hdg="4.3205491488394951e+00" length="1.7727610013865611e+01">
+                <line />
+            </geometry>
+            <geometry s="1.7727610013865611e+01" x="1.1567686179372600e+02" y="-5.0329867185329869e+02" hdg="4.3205491488394951e+00" length="9.4818513780053397e+00">
+                <arc curvature="1.6666666666666666e-01" />
+            </geometry>
+            <geometry s="2.7209461391870953e+01" x="1.1898362375798126e+02" y="-5.1115680114660546e+02" hdg="5.9008577118403851e+00" length="2.4757677859838987e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.4549999999999992e+00" b="3.5187446005220564e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="6.7814274596551655e+01" id="10173" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10205" contactPoint="end" />
+            <successor elementType="road" elementId="10206" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="4.2575909137725830e+01" y="-1.2711908225528896e+02" hdg="2.7454965145576913e+00" length="6.7814274596551655e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7541295085744411e+00" b="4.3363490862802319e-03" c="-6.8198033527069684e-05" d="2.8028281378844427e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9925989032278544e+00" b="1.9943581064112677e-04" c="-4.3398140464645017e-06" d="2.4786069217061854e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="5.9922684345045042e+01" id="10182" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10200" contactPoint="end" />
+            <successor elementType="road" elementId="10205" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.2833878901600838e+02" y="-1.6302061497792602e+02" hdg="2.7395682576484477e+00" length="2.9000000000000000e+01">
+                <line />
+            </geometry>
+            <geometry s="2.9000000000000000e+01" x="1.0165093667748371e+02" y="-1.5167343305653674e+02" hdg="2.7395682576484477e+00" length="9.9998398818390921e+00">
+                <paramPoly3 aU="0.0000000000000000e+00" bU="3.0206562180975693e-01" cU="2.0937519327742621e-01" dU="-1.3958593592840497e-02" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="2.1179788659030983e-03" dV="-1.3426728872870556e-04" pRange="arcLength" />
+            </geometry>
+            <geometry s="3.8999839881839094e+01" x="9.2418321987396169e+01" y="-1.4783214303750205e+02" hdg="2.7464542408288617e+00" length="2.0922844463205944e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.5053900522240111e+00" b="-1.0283764932465383e-02" c="1.6885281352106495e-04" d="-7.8185401350926864e-07" />
+            <elevation s="2.9000000000000000e+01" a="-6.6806826566297692e+00" b="-1.5328142253603365e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+            <elevation s="3.8999839881839094e+01" a="-6.6960105534519778e+00" b="-6.8084534146511000e-04" c="7.7375893940480515e-05" d="-7.8185401350926864e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9897318469431475e+00" b="7.0866980764778794e-04" c="-1.7123603453276829e-05" d="1.0433605584475868e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+            <laneSection s="2.9000000000000000e+01">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9984269729267257e+00" b="-9.1290845841550923e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+            <laneSection s="3.8999839881839094e+01">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9975140790856325e+00" b="-1.5088583888817097e-04" c="-4.9162849194400631e-06" d="1.0433605584475868e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="7.9674250133931508e+01" id="10187" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10192" contactPoint="end" />
+            <successor elementType="road" elementId="10200" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.2765169108659029e+02" y="-2.0441899512894452e+02" hdg="2.7487306868916299e+00" length="3.5000000000000000e+01">
+                <line />
+            </geometry>
+            <geometry s="3.5000000000000007e+01" x="1.9531808954631771e+02" y="-1.9101980815977049e+02" hdg="2.7487306868916299e+00" length="3.0999552764733515e+01">
+                <paramPoly3 aU="0.0000000000000000e+00" bU="3.0010455786472462e-01" cU="6.7732510909065416e-02" dU="-1.4566341589339140e-03" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="-2.2802686188484400e-04" dV="4.8675857783363285e-06" pRange="arcLength" />
+            </geometry>
+            <geometry s="6.5999552764733522e+01" x="1.6670863090758397e+02" y="-1.7908368628690263e+02" hdg="2.7483820864292756e+00" length="1.3674697369197979e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6100349902331184e+00" b="-2.2057151935744759e-03" c="4.2790412204873399e-05" d="-2.0763829461464674e-07" />
+            <elevation s="3.5000000000000007e+01" a="-6.6437192589388578e+00" b="4.7764954733685441e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+            <elevation s="6.5999552764733522e+01" a="-6.6289123365931379e+00" b="7.2920198344460924e-04" c="1.6780298711733414e-06" d="-2.0763829461464674e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0101326684409009e+00" b="-8.1540098009456256e-04" c="1.2041121541625943e-05" d="-4.9090029615192960e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+            <laneSection s="3.5000000000000007e+01">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9942392730063316e+00" b="1.3383064992906585e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+            <laneSection s="6.5999552764733522e+01">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9946541420357331e+00" b="1.3251855638872034e-04" c="2.3212956778177354e-06" d="-4.9090029615192960e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="7.7621266696243922e+01" id="10188" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10189" contactPoint="end" />
+            <successor elementType="road" elementId="10192" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.2560412539914250e+02" y="-2.4513316644355655e+02" hdg="2.7470783126633860e+00" length="7.7621266696243922e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8774495532543369e+00" b="-3.8277868484047929e-05" c="3.0229112848624567e-05" d="-1.1963003410550051e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9529582685471119e+00" b="6.8657687894257426e-04" c="-3.8596769210414073e-06" d="7.0624118384376367e-09" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.0589477608981710e+01" id="10189" junction="800019">
+        <link>
+            <predecessor elementType="road" elementId="10065" contactPoint="start" />
+            <successor elementType="road" elementId="10188" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.4232886126512204e+02" y="-2.4296677787488889e+02" hdg="4.3203276461087476e+00" length="2.6995450663717606e+00">
+                <line />
+            </geometry>
+            <geometry s="2.6995450663717606e+00" x="3.4129738088006462e+02" y="-2.4546149064004121e+02" hdg="4.3203276461087476e+00" length="8.9907047934840723e+00">
+                <arc curvature="-1.7498620737559520e-01" />
+            </geometry>
+            <geometry s="1.1690249859855832e+01" x="3.3381974420572885e+02" y="-2.4855367256921642e+02" hdg="2.7470783126633860e+00" length="8.8992277491258758e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8152104530042479e+00" b="-3.0228596097522458e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="5.0208868946536587e+00" b="-1.0043618713300712e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.8455752512971905e+01" id="10192" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10188" contactPoint="end" />
+            <successor elementType="road" elementId="10187" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.5394546507062626e+02" y="-2.1529866555194187e+02" hdg="2.7470783126633860e+00" length="2.8455752512971905e+01">
+                <paramPoly3 aU="0.0000000000000000e+00" bU="3.0049569886358191e-01" cU="7.3746283087035958e-02" dU="-1.7277418162715639e-03" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="2.1352175735304610e-04" dV="-4.7980255096426369e-06" pRange="arcLength" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7542362010905848e+00" b="5.0675592146695297e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9862993449318700e+00" b="8.3755730930560267e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.7921902868190760e+01" id="10200" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10187" contactPoint="end" />
+            <successor elementType="road" elementId="10182" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.5407753619179130e+02" y="-1.7384414485469460e+02" hdg="2.7483820864292756e+00" length="2.7921902868190760e+01">
+                <paramPoly3 aU="0.0000000000000000e+00" bU="3.0264400216917886e-01" cU="7.4924798219494951e-02" dU="-1.7889184003410199e-03" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="-4.2611488562992308e-04" dV="9.0335103114893595e-06" pRange="arcLength" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6191578915701257e+00" b="4.0745016513799772e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9967748396334399e+00" b="-2.5223899400910583e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="3.3052153509012982e+01" id="10205" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10182" contactPoint="end" />
+            <successor elementType="road" elementId="10173" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="7.3107723016291857e+01" y="-1.3977818824443966e+02" hdg="2.7464542408288617e+00" length="3.3052153509012982e+01">
+                <paramPoly3 aU="0.0000000000000000e+00" bU="3.0028728648724606e-01" cU="6.3509671082891572e-02" dU="-1.2809991972013201e-03" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="1.9861144309065018e-04" dV="-4.0937733290346629e-06" pRange="arcLength" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6835445176410797e+00" b="-2.1355640537647131e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9931605836192339e+00" b="-1.6993760821857756e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.5621635885877087e+01" id="10206" junction="800000">
+        <link>
+            <predecessor elementType="road" elementId="10173" contactPoint="end" />
+            <successor elementType="road" elementId="10199" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.9987791449241264e+01" y="-1.0095499985362916e+02" hdg="2.7454965145576913e+00" length="2.5621635885877087e+01">
+                <paramPoly3 aU="0.0000000000000000e+00" bU="3.0145248470022423e-01" cU="8.1779353242115466e-02" dU="-2.1278740796110591e-03" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="1.7457081178331225e-03" dV="-4.6164531762135526e-05" pRange="arcLength" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6862808693733768e+00" b="8.4990676294117315e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="2.9938955152407618e+00" b="3.9323564543396569e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="9.9999999999999964e+00" id="10208" junction="800000">
+        <link>
+            <predecessor elementType="road" elementId="10201" contactPoint="end" />
+            <successor elementType="road" elementId="10032" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-4.0506079039568149e+01" y="-9.0012881751323661e+01" hdg="6.1593684600254193e+00" length="3.8391865574783157e-01">
+                <arc curvature="-8.2879182405817903e-02" />
+            </geometry>
+            <geometry s="3.8391865574783424e-01" x="-4.0109215248891850e+01" y="-9.0010351785602580e+01" hdg="6.0057876800476153e+00" length="2.6160813442521658e+00">
+                <arc curvature="-1.3412209479737314e-02" />
+            </geometry>
+            <geometry s="2.9999999999999973e+00" x="-3.7606226804181745e+01" y="-9.0770765050296404e+01" hdg="5.9707002490424728e+00" length="7.0000000000000000e+00">
+                <arc curvature="-1.3412209479737314e-02" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.7030544939457744e+00" b="-2.8181241800599010e-03" c="-6.6095058562789312e-05" d="-3.5233702060478230e-07" />
+            <elevation s="2.9999999999999973e+00" a="-2.7121132351125756e+00" b="-3.2242076309929664e-03" c="-6.9266091748232354e-05" d="-3.5233702060478230e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.3335675016841170e+01" id="10207" junction="800000">
+        <link>
+            <predecessor elementType="road" elementId="10201" contactPoint="end" />
+            <successor elementType="road" elementId="10001" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-4.0506079039568164e+01" y="-9.0012881751323661e+01" hdg="-1.2381684715416608e-01" length="5.3119906889249546e-01">
+                <line />
+            </geometry>
+            <geometry s="5.3119906889249546e-01" x="-3.9978946574711109e+01" y="-9.0078485221399418e+01" hdg="-1.2381684715416608e-01" length="9.2196336874159215e+00">
+                <arc curvature="-2.0000000000000001e-01" />
+            </geometry>
+            <geometry s="9.7508327563084176e+00" x="-3.5985222728431225e+01" y="-9.6973231483434944e+01" hdg="4.3154417225422357e+00" length="3.5848422605327523e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.7030544939457744e+00" b="-2.9864277927052352e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="1.4223205327801869e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.6592502766359235e+01" id="10209" junction="800026">
+        <link>
+            <predecessor elementType="road" elementId="10183" contactPoint="end" />
+            <successor elementType="road" elementId="10110" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.1229145279777129e+02" y="-5.1149167676256872e+02" hdg="1.1789564952497034e+00" length="2.6592502766359235e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-4.1130639354308443e+00" b="-5.0462947258456889e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4220946703341664e+00" b="-1.5872694422284162e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.1594075027830186e+01" id="10210" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10184" contactPoint="end" />
+            <successor elementType="road" elementId="10211" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.3911108159413860e+02" y="-5.5946175242069614e+02" hdg="5.9008577118403851e+00" length="3.0000000000000000e+00">
+                <line />
+            </geometry>
+            <geometry s="3.0000000000000000e+00" x="2.4189447789810308e+02" y="-5.6058099547520965e+02" hdg="5.9008577118403851e+00" length="8.5940750278301863e+00">
+                <arc curvature="-1.8482997654766237e-01" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.3449837667554503e+00" b="-3.0183344107473564e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="3.4500380499509264e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.1594075027830186e+01" id="10211" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10210" contactPoint="end" />
+            <successor elementType="road" elementId="10036" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.4485931146241083e+02" y="-5.6770750787958070e+02" hdg="4.3124150259976810e+00" length="8.5940750278301863e+00">
+                <arc curvature="-1.8482997654766237e-01" />
+            </geometry>
+            <geometry s="8.5940750278301863e+00" x="2.3768159280344844e+02" y="-5.7054612937010825e+02" hdg="2.7596749374511438e+00" length="3.0000000000000000e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.3799785623727363e+00" b="-3.0183344107473564e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3999999999999999e+00" b="3.4500380499509264e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.3000000000000000e+01" id="10214" junction="800025">
+        <link>
+            <predecessor elementType="road" elementId="10110" contactPoint="start" />
+            <successor elementType="road" elementId="10213" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.4391130818428650e+02" y="-4.3496868331578526e+02" hdg="1.1789564952497020e+00" length="1.3000000000000000e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5442369652037709e+00" b="-1.5844390496011866e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.0000000000000000e+00" id="10213" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10214" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.4887587100260509e+02" y="-4.2295397915700681e+02" hdg="1.1789564952497020e+00" length="8.5129876031768248e-01">
+                <line />
+            </geometry>
+            <geometry s="8.5129876031768248e-01" x="1.4920097301589385e+02" y="-4.2216720202193358e+02" hdg="1.1789564952497020e+00" length="1.4870123968231752e-01">
+                <arc curvature="2.1398004763875356e-01" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5648346728485860e+00" b="-1.5844390496011866e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.1285820924276997e+01" id="10190" junction="800001">
+        <link>
+            <predecessor elementType="road" elementId="10203" contactPoint="end" />
+            <successor elementType="road" elementId="10202" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-9.4710899025770800e+01" y="-1.0938841433138948e+02" hdg="5.9250813629588990e+00" length="1.4470962038115864e+00">
+                <arc curvature="5.8823529411764705e-02" />
+            </geometry>
+            <geometry s="1.4470962038115900e+00" x="-9.3335663818136197e+01" y="-1.0983735906776927e+02" hdg="6.0102046690654634e+00" length="9.8387247204654109e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.7003591387525634e+00" b="8.6139178647196663e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.3133127112534229e+01" id="10020" junction="800002">
+        <link>
+            <predecessor elementType="junction" elementId="800003" contactPoint="start" />
+            <successor elementType="road" elementId="10002" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-7.0445950980940864e+01" y="-2.1524025457957745e+02" hdg="2.7457927848409476e+00" length="6.1574367901241640e+00">
+                <line />
+            </geometry>
+            <geometry s="6.1574367901241640e+00" x="-7.6127346930965231e+01" y="-2.1286627735065943e+02" hdg="2.7457927848409476e+00" length="1.2091346120956937e+01">
+                <arc curvature="-1.2989533956892527e-01" />
+            </geometry>
+            <geometry s="1.8248782911081101e+01" x="-8.0263093012976867e+01" y="-2.0279615136347388e+02" hdg="1.1751832746138389e+00" length="4.8843442014531275e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7570934541444876e+00" b="2.8319701757978134e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4321578058075679e+00" b="4.6102354511817767e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="5.2781184002056193e+01" id="10221" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800003" contactPoint="start" />
+            <successor elementType="junction" elementId="800006" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-5.5682935411509931e+01" y="-2.2140899604739241e+02" hdg="5.8873854384307416e+00" length="5.2781184002056193e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7507769320706821e+00" b="-5.1369968107330903e-06" c="-2.2060515854841545e-05" d="1.8340379978966669e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.3795855733674123e+00" b="-2.4506806616910559e-03" c="4.8295976596246028e-05" d="-2.4354781358876820e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.4999999999999999e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.4003450972449740e+00" b="-1.8538878088458987e-05" c="-6.2487495386821113e-07" d="1.0435599062146135e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="52.781" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="9.9391487078128264e+00" id="10012" junction="800003">
+        <link>
+            <predecessor elementType="road" elementId="10224" contactPoint="end" />
+            <successor elementType="road" elementId="10221" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-6.4629609569877786e+01" y="-2.1708067590775647e+02" hdg="5.8900548234787999e+00" length="9.9391487078128264e+00">
+                <paramPoly3 aU="0.0000000000000000e+00" bU="3.0078659020864790e-01" cU="2.1053588902174114e-01" dU="-1.4121661664813920e-02" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="-1.7254205704124656e-02" dV="1.1546135864022792e-03" pRange="arcLength" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.7699015258972035e+00" b="-4.0052478569359246e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.9000000000000004e+00" b="-1.5088363670182323e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="9.939" />
+        </userData>
+    </road>
+    <road name="" length="1.5999999999999998e+01" id="10222" junction="800003">
+        <link>
+            <predecessor elementType="road" elementId="10221" contactPoint="start" />
+            <successor elementType="junction" elementId="800002" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-5.5682935411509931e+01" y="-2.2140899604739241e+02" hdg="2.7457927848409485e+00" length="1.5999999999999998e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7507769320706821e+00" b="-3.9478262961284433e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4003450972449740e+00" b="5.8693654666486248e-06" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3795855733674123e+00" b="3.2857645275097274e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.5999999999999998e+01" id="10223" junction="800003">
+        <link>
+            <predecessor elementType="road" elementId="10221" contactPoint="start" />
+            <successor elementType="junction" elementId="800002" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-5.5682935411509931e+01" y="-2.2140899604739241e+02" hdg="2.7457927848409485e+00" length="1.5999999999999998e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7507769320706821e+00" b="-3.9478262961284433e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3795855733674123e+00" b="3.2857645275097274e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.3000000000000000e+01" id="10224" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10204" contactPoint="end" />
+            <successor elementType="road" elementId="10012" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-7.9076230941267340e+01" y="-2.0167866556756914e+02" hdg="4.5710859686859271e+00" length="5.8826265806194140e+00">
+                <arc curvature="9.0122678776353105e-02" />
+            </geometry>
+            <geometry s="5.8826265806194158e+00" x="-7.8335824792704571e+01" y="-2.0743925004213656e+02" hdg="5.1604436826492339e+00" length="3.9030842211819321e+00">
+                <arc curvature="9.0464319902254439e-02" />
+            </geometry>
+            <geometry s="9.7857108018013470e+00" x="-7.6068294249475002e+01" y="-2.1059214530698955e+02" hdg="5.6014252878857427e+00" length="2.9632022720646325e+00">
+                <line />
+            </geometry>
+            <geometry s="1.2748913073865978e+01" x="-7.3784440739976446e+01" y="-2.1248795092216142e+02" hdg="5.7463467221213271e+00" length="1.0251086926134022e+01">
+                <arc curvature="1.4018815994146415e-02" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.7345649805200569e+00" b="-2.9044262863629818e-03" c="-1.0342443531812071e-04" d="7.0828294150150254e-06" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.9000000000000004e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="15" t="0" id="116" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="23" />
+        </userData>
+    </road>
+    <road name="" length="3.4624705015059782e+00" id="10204" junction="800002">
+        <link>
+            <predecessor elementType="road" elementId="10002" contactPoint="end" />
+            <successor elementType="road" elementId="10224" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-7.8380793938645922e+01" y="-1.9828907154689179e+02" hdg="4.3167759282036320e+00" length="3.4624705015059782e+00">
+                <paramPoly3 aU="0.0000000000000000e+00" bU="3.7604619994804783e-01" cU="5.2742083686047192e-01" dU="-1.0188628487248182e-01" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="1.3896850677918901e-01" dV="-2.4126711812704604e-02" pRange="arcLength" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6915811280888509e+00" b="1.1428302842862390e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.4945573299369421e+00" b="1.1709635356798380e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="0" t="0" id="115" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="1.4914270796486696e+02" id="10212" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10160" contactPoint="end" />
+            <successor elementType="road" elementId="10215" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.6201570204212337e+02" y="-4.3171328033319759e+02" hdg="2.7541456185332964e+00" length="2.0345574313510539e+00">
+                <line />
+            </geometry>
+            <geometry s="2.0345574313510539e+00" x="1.6013395413854425e+02" y="-4.3094013579785087e+02" hdg="2.7177797653435674e+00" length="6.7790547980966069e+00">
+                <arc curvature="-4.4238683465096809e-02" />
+            </geometry>
+            <geometry s="8.8136122294476635e+00" x="1.5446572059392929e+02" y="-4.2726980629377067e+02" hdg="2.3589769989311975e+00" length="3.0267662547430092e+00">
+                <line />
+            </geometry>
+            <geometry s="1.1840378484190673e+01" x="1.5226933053279080e+02" y="-4.2517235113720596e+02" hdg="2.2037749509931248e+00" length="1.0531373564595253e+01">
+                <arc curvature="2.2500894299453924e-02" />
+            </geometry>
+            <geometry s="2.2371752048785922e+01" x="1.4509527105737530e+02" y="-4.1749249472132203e+02" hdg="2.5336705704743858e+00" length="1.6850058906537516e+01">
+                <arc curvature="1.2309033869350632e-02" />
+            </geometry>
+            <geometry s="3.9221810955323434e+01" x="1.3042138828809891e+02" y="-4.0930846439640300e+02" hdg="2.6955386211977053e+00" length="1.2895861969121604e+01">
+                <line />
+            </geometry>
+            <geometry s="5.2117672924445031e+01" x="1.1878891094009290e+02" y="-4.0374239336356464e+02" hdg="2.7595662081597099e+00" length="3.3450972162440728e+01">
+                <line />
+            </geometry>
+            <geometry s="8.5568645086885766e+01" x="8.7749383259564638e+01" y="-3.9127181759569794e+02" hdg="2.7460921506308971e+00" length="2.0611834021169408e+01">
+                <line />
+            </geometry>
+            <geometry s="1.0618047910805518e+02" x="6.8694774706500226e+01" y="-3.8337400581472843e+02" hdg="2.7658625762143147e+00" length="8.6644510530238055e+00">
+                <arc curvature="4.0045528986954675e-02" />
+            </geometry>
+            <geometry s="1.1484493016107899e+02" x="6.0249077290739777e+01" y="-3.8165706212296755e+02" hdg="3.1351604072552952e+00" length="4.5908102618573041e+00">
+                <arc curvature="5.6766032408896355e-02" />
+            </geometry>
+            <geometry s="1.1943574042293631e+02" x="5.5799685035936839e+01" y="-3.8212659525366945e+02" hdg="3.4684000793174339e+00" length="1.1615627780744944e+01">
+                <line />
+            </geometry>
+            <geometry s="1.3105136820368125e+02" x="4.4797143781495635e+01" y="-3.8584895613955734e+02" hdg="3.3980800094438894e+00" length="6.5881800395458523e+00">
+                <arc curvature="-4.9987530011352886e-02" />
+            </geometry>
+            <geometry s="1.3763954824322710e+02" x="3.8261355821353504e+01" y="-3.8648743744026507e+02" hdg="3.0131340205164578e+00" length="1.1503159721639873e+01">
+                <arc curvature="-3.2532678530869295e-02" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.9233831660125067e+00" b="-1.2173138741207532e-03" c="2.7378764954176246e-05" d="-7.3877245759313192e-08" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="0" t="0" id="110" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="32" t="0" id="111" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="102" t="0" id="112" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="146" t="0" id="113" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="149.143" />
+        </userData>
+    </road>
+    <road name="" length="1.4536314060110282e+00" id="10160" junction="800025">
+        <link>
+            <predecessor elementType="road" elementId="10149" contactPoint="end" />
+            <successor elementType="road" elementId="10212" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="1.6342170879527345e+02" y="-4.3208231864372641e+02" hdg="2.8849099154796356e+00" length="1.4536314060110282e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5784596459422415e+00" b="1.8265128759261215e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="8.0469447303358024e+00" id="10215" junction="800031">
+        <link>
+            <predecessor elementType="road" elementId="10212" contactPoint="end" />
+            <successor elementType="road" elementId="10171" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.7389934877026565e+01" y="-3.8293809976555087e+02" hdg="2.6389054232031040e+00" length="8.0469447303358024e+00">
+                <paramPoly3 aU="0.0000000000000000e+00" bU="3.3220692486015252e-01" cU="2.4748501306163287e-01" dU="-2.0513303289046728e-02" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="3.0846682240602063e-02" dV="-2.3721096770499888e-03" pRange="arcLength" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.7410208201428885e+00" b="-3.4870118708271713e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="3.4534105880847086e+01" id="10216" junction="800031">
+        <link>
+            <predecessor elementType="road" elementId="10171" contactPoint="end" />
+            <successor elementType="road" elementId="10146" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.0004073012620253e+01" y="-3.7974626377783710e+02" hdg="5.8879788995370186e+00" length="2.2837026228785184e+01">
+                <line />
+            </geometry>
+            <geometry s="2.2837026228785184e+01" x="4.1080755428556721e+01" y="-3.8853848905429453e+02" hdg="5.8879788995370186e+00" length="8.9706803326948457e+00">
+                <arc curvature="1.7522960170165022e-01" />
+            </geometry>
+            <geometry s="3.1807706561480032e+01" x="4.8547251872112049e+01" y="-3.8546273136447155e+02" hdg="1.1767223340483770e+00" length="2.7263993193670530e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5469999999999979e+00" b="3.3532604765142675e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.7714918733556392e+01" id="10197" junction="800004">
+        <link>
+            <predecessor elementType="road" elementId="10166" contactPoint="end" />
+            <successor elementType="road" elementId="10003" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.2318564422622143e+02" y="-3.0694604331741715e+02" hdg="1.1066316853590559e+00" length="1.7714918733556392e+01">
+                <paramPoly3 aU="0.0000000000000000e+00" bU="3.2130670198700606e-01" cU="1.1449912291448298e-01" dU="-4.3098147440850517e-03" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="1.1352140194975772e-02" dV="-4.0297533451966845e-04" pRange="arcLength" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.7122205832387301e+00" b="-2.3031887066760423e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="8.3749497927786867e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="5" t="0" id="114" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+    </road>
+    <road name="" length="1.6036126063576177e+02" id="10219" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10220" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-5.3289404125460464e+01" y="-1.3046260225876526e+02" hdg="2.2710365212055610e+00" length="6.0472076142131925e-01">
+                <line />
+            </geometry>
+            <geometry s="6.0472076142131925e-01" x="-5.3738814016111277e+01" y="-1.3003375049194392e+02" hdg="2.5243111446148561e+00" length="1.7391477964525304e+00">
+                <line />
+            </geometry>
+            <geometry s="2.3438685578738472e+00" x="-5.5146035065730715e+01" y="-1.2901767410113860e+02" hdg="2.6427633585548604e+00" length="2.0680925225437994e+00">
+                <line />
+            </geometry>
+            <geometry s="4.4119610804176475e+00" x="-5.6976923100650311e+01" y="-1.2804044630005956e+02" hdg="2.7318741741269923e+00" length="4.1682290018158703e+01">
+                <line />
+            </geometry>
+            <geometry s="4.6094251098576351e+01" x="-9.5209295153617859e+01" y="-1.1143625922687352e+02" hdg="2.7112533419956364e+00" length="1.9290096058450708e+01">
+                <line />
+            </geometry>
+            <geometry s="6.5384347157027065e+01" x="-1.1275037489193416e+02" y="-1.0340993645957738e+02" hdg="2.7079223957777625e+00" length="1.4412978108554073e+01">
+                <arc curvature="1.3434469072615947e-02" />
+            </geometry>
+            <geometry s="7.9797325265581151e+01" x="-1.2633912346445824e+02" y="-9.8682640295892838e+01" hdg="2.9200433928705731e+00" length="1.1941129086482780e+01">
+                <arc curvature="2.6615293736566976e-02" />
+            </geometry>
+            <geometry s="9.1738454352063940e+01" x="-1.3814650218667811e+02" y="-9.7873741418931644e+01" hdg="3.2904265226343448e+00" length="1.7268128101585127e+01">
+                <line />
+            </geometry>
+            <geometry s="1.0900658245364906e+02" x="-1.5525859823477680e+02" y="-1.0045215376706506e+02" hdg="3.3299460242121919e+00" length="1.7406803237142611e+01">
+                <arc curvature="-8.1280754479314994e-03" />
+            </geometry>
+            <geometry s="1.2641338569079167e+02" x="-1.7253145725652575e+02" y="-1.0247760017123073e+02" hdg="3.1604316277953348e+00" length="5.9378074218691719e+00">
+                <line />
+            </geometry>
+            <geometry s="1.3235119311266084e+02" x="-1.7846821102499962e+02" y="-1.0258945575542748e+02" hdg="3.0653212500754576e+00" length="2.8010067523100957e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.7309853026291924e+00" b="1.9618639021131139e-04" c="-1.0864811799983306e-05" d="4.5269463408440510e-08" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="160.361" />
+        </userData>
+    </road>
+    <road name="" length="4.2174931579766097e+00" id="10220" junction="800001">
+        <link>
+            <predecessor elementType="road" elementId="10002" contactPoint="start" />
+            <successor elementType="road" elementId="10219" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-5.1627865149781179e+01" y="-1.3423039616258293e+02" hdg="1.1751832746138389e+00" length="4.2174931579766097e+00">
+                <paramPoly3 aU="0.0000000000000000e+00" bU="6.1390620907296034e-01" cU="1.2070991877019586e-01" dU="-2.5324525455306206e-02" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="3.7403542712636856e-01" dV="-4.8893179485837948e-02" pRange="arcLength" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.6434768721263806e+00" b="9.2768178226855746e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.5000000000000000e+00" b="-3.5566151356120801e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="4.217" />
+        </userData>
+    </road>
+    <road name="" length="3.0000000000000000e+00" id="10228" junction="800036">
+        <link>
+            <predecessor elementType="road" elementId="10229" contactPoint="end" />
+            <successor elementType="junction" elementId="800036" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.2728515897736372e+02" y="-1.9431333030668890e+02" hdg="2.7489299762598844e+00" length="3.0000000000000000e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.4622630490122539e+00" b="-2.0664359639949799e-04" c="-1.0204433960157603e-05" d="2.7030224513094422e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="4.7999999999999986e+01" id="10217" junction="800036">
+        <link>
+            <predecessor elementType="junction" elementId="800036" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.3005683936710741e+02" y="-1.9316538091010807e+02" hdg="2.7489299762598844e+00" length="4.7999999999999986e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.4629675215464744e+00" b="-2.6057203954190809e-04" c="-7.7717137539791047e-06" d="2.7030224513094422e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="48" />
+        </userData>
+    </road>
+    <road name="" length="2.5000000000000000e+01" id="10226" junction="800036">
+        <link>
+            <predecessor elementType="junction" elementId="800036" contactPoint="start" />
+            <successor elementType="road" elementId="10232" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.3038769058883190e+02" y="-1.9269927744939923e+02" hdg="1.9640384656193048e+00" length="1.7100229584009943e+00">
+                <line />
+            </geometry>
+            <geometry s="1.7100229584009943e+00" x="-1.3104294589906931e+02" y="-1.9111977784615010e+02" hdg="2.1122765914437425e+00" length="6.0761271720906542e+00">
+                <line />
+            </geometry>
+            <geometry s="7.7861501304916487e+00" x="-1.3417461261153221e+02" y="-1.8591286081075668e+02" hdg="1.9507275569762670e+00" length="4.2396794438557350e+00">
+                <line />
+            </geometry>
+            <geometry s="1.2025829574347384e+01" x="-1.3574692573384422e+02" y="-1.8197551230802532e+02" hdg="1.8717992916049155e+00" length="7.1359897878451255e+00">
+                <arc curvature="7.7162779118466349e-02" />
+            </geometry>
+            <geometry s="1.9161819362192510e+01" x="-1.3958668206632137e+02" y="-1.7606747273635119e+02" hdg="2.5090652837116298e+00" length="5.8381806378074899e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.4558708239888922e+00" b="-3.6814119079193711e-03" c="-8.1278667473043268e-04" d="5.0576810125457506e-05" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="25" />
+        </userData>
+    </road>
+    <road name="" length="5.7158985907846516e-01" id="10227" junction="800036">
+        <link>
+            <predecessor elementType="road" elementId="10228" contactPoint="end" />
+            <successor elementType="junction" elementId="800036" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.3005683936710741e+02" y="-1.9316538091010807e+02" hdg="2.1880849083323604e+00" length="5.7158985907846516e-01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.4629675215464744e+00" b="1.2415716347773642e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.1151275218800814e+01" id="10230" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10232" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.5475007073402347e+02" y="-1.6686362429377257e+02" hdg="2.7480725283747143e+00" length="1.1151275218800814e+01">
+                <arc curvature="-1.7274996113343169e-02" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-4.1429208590030715e+00" b="1.4389133334728257e-01" c="4.8012392491953507e-03" d="5.0576810125457506e-05" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="1.1932753491125434e+01" id="10232" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10226" contactPoint="end" />
+            <successor elementType="road" elementId="10230" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.4429538458955543e+02" y="-1.7261602757419669e+02" hdg="2.6385786529577411e+00" length="1.1932753491125434e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.2656351351831239e+00" b="9.4086773603010543e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="3.7000000000000000e+01" id="10229" junction="-1">
+        <link>
+            <predecessor elementType="road" elementId="10231" contactPoint="end" />
+            <successor elementType="road" elementId="10228" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-9.3101100837191552e+01" y="-2.0847137286451903e+02" hdg="2.7489299762598844e+00" length="3.7000000000000000e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.4846047066531503e+00" b="1.7692579649310764e-03" c="-4.1308623276543541e-05" d="2.7030224513094422e-07" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="37" />
+        </userData>
+    </road>
+    <road name="" length="2.5637805036734441e+01" id="10231" junction="800002">
+        <link>
+            <predecessor elementType="road" elementId="10003" contactPoint="start" />
+            <successor elementType="road" elementId="10229" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-9.1480796761279606e+01" y="-2.2962486122342838e+02" hdg="1.1782917131352182e+00" length="1.2225725953638648e+01">
+                <line />
+            </geometry>
+            <geometry s="1.2225725953638648e+01" x="-8.6804410614194012e+01" y="-2.1832885362353630e+02" hdg="1.1782917131352182e+00" length="1.0521538674325051e+01">
+                <arc curvature="1.4927838139847180e-01" />
+            </geometry>
+            <geometry s="2.2747264627963698e+01" x="-9.0430549448274363e+01" y="-2.0957743757053265e+02" hdg="2.7489299762598844e+00" length="2.8905404087707440e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7434062138484387e+00" b="4.9099425843657382e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="4.5000000000000000e+00" b="-5.8507348731717292e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="25.638" />
+        </userData>
+    </road>
+    <road name="" length="2.3175162304377452e+01" id="10225" junction="800005">
+        <link>
+            <predecessor elementType="road" elementId="10161" contactPoint="end" />
+            <successor elementType="road" elementId="10111" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.1839962286393754e+02" y="-3.2201058938531992e+02" hdg="2.7463862459472246e+00" length="8.1814106534074682e-01">
+                <line />
+            </geometry>
+            <geometry s="8.1814106534074682e-01" x="-1.1915469925754819e+02" y="-3.2169560614352946e+02" hdg="2.7463862459472246e+00" length="1.4442151043052281e+01">
+                <arc curvature="-1.0796245283973738e-01" />
+            </geometry>
+            <geometry s="1.5260292108393028e+01" x="-1.2417790004536047e+02" y="-3.0968034525326613e+02" hdg="1.1871761950573287e+00" length="7.9148701959844239e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-3.5441332649173374e+00" b="3.5144402937433331e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="0" t="0" id="100" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="23.175" />
+        </userData>
+    </road>
+    <road name="" length="4.8999999999999943e+01" id="10147" junction="800034">
+        <link>
+            <predecessor elementType="road" elementId="10180" contactPoint="end" />
+            <successor elementType="road" elementId="10218" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.9533167496843765e+02" y="-4.2094809239300491e+02" hdg="4.3200799804760255e+00" length="4.8999999999999943e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5735391362717914e+00" b="9.3843454912822513e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="49" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="1.8354883594820336e+01" id="10218" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800034" contactPoint="start" />
+            <successor elementType="road" elementId="10196" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="2.7659784724925953e+02" y="-4.6622550065571522e+02" hdg="4.3200799804760255e+00" length="2.4187110760383717e+00">
+                <line />
+            </geometry>
+            <geometry s="2.4187110760383717e+00" x="2.7567311833903563e+02" y="-4.6846045920386479e+02" hdg="4.3200799804760255e+00" length="1.5426671413889206e+01">
+                <arc curvature="-1.0211843498782153e-01" />
+            </geometry>
+            <geometry s="1.7845382489927577e+01" x="2.6283945873328076e+02" y="-4.7374800720870047e+02" hdg="2.7447324386182959e+00" length="5.0950110489275935e-01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5275558433645084e+00" b="3.2353802649783957e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="18.355" />
+        </userData>
+    </road>
+    <road name="" length="5.4272833331488862e+01" id="10092" junction="800001">
+        <link>
+            <predecessor elementType="road" elementId="10203" contactPoint="end" />
+            <successor elementType="road" elementId="10002" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-9.4710899025770772e+01" y="-1.0938841433138948e+02" hdg="5.9250813629588999e+00" length="4.2129505515283412e+01">
+                <line />
+            </geometry>
+            <geometry s="4.2129505515283412e+01" x="-5.5253959893817772e+01" y="-1.2415476761511026e+02" hdg="5.9250813629588999e+00" length="1.1206051650216834e+01">
+                <arc curvature="-1.4352115133470295e-01" />
+            </geometry>
+            <geometry s="5.3335557165500248e+01" x="-5.1266663320657841e+01" y="-1.3336551475454581e+02" hdg="4.3167759282036320e+00" length="9.3727616598861530e-01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-2.7003591387525634e+00" b="-7.2653618603067058e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="2.7638136944836939e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="54.273" />
+        </userData>
+    </road>
+    <road name="" length="3.4999999999999993e+01" id="10180" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800018" contactPoint="start" />
+            <successor elementType="junction" elementId="800034" contactPoint="end" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.0871298048213635e+02" y="-3.8860708649106891e+02" hdg="4.3200799804760246e+00" length="7.0000000000000000e+00">
+                <line />
+            </geometry>
+            <geometry s="7.0000000000000000e+00" x="3.0603671937939663e+02" y="-3.9507528767145612e+02" hdg="4.3200799804760219e+00" length="2.9999999999999947e+00">
+                <line />
+            </geometry>
+            <geometry s="9.9999999999999947e+00" x="3.0488975033536531e+02" y="-3.9784737389162206e+02" hdg="4.3200799804760255e+00" length="2.5000000000000000e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5932462618034844e+00" b="9.3843454912823868e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+            <elevation s="7.0000000000000000e+00" a="-5.5866772199595864e+00" b="-3.4409266801371115e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+            <elevation s="9.9999999999999947e+00" a="-5.5969999999999978e+00" b="9.3843454912823868e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="both" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.4999999999999999e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link />
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="35" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="2.2656515209473675e+01" id="10104" junction="800018">
+        <link>
+            <predecessor elementType="junction" elementId="800016" contactPoint="start" />
+            <successor elementType="road" elementId="10180" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.0290016217869237e+02" y="-3.7081642071481946e+02" hdg="5.8883993852497101e+00" length="3.5167617208618740e+00">
+                <line />
+            </geometry>
+            <geometry s="3.5167617208618740e+00" x="3.0614641079764340e+02" y="-3.7216900450345435e+02" hdg="5.8883993852497101e+00" length="1.3609460604699022e+01">
+                <arc curvature="-1.1523744036058139e-01" />
+            </geometry>
+            <geometry s="1.7126222325560896e+01" x="3.1082733872956123e+02" y="-3.8349693692541013e+02" hdg="4.3200799804760246e+00" length="5.5302928839127805e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.8757356142291446e+00" b="5.6605763974214164e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4044031612043648e+00" b="-1.7849309898958613e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="0" t="0" id="41" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+            <signal s="22" t="0" id="42" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="22.657" />
+        </userData>
+    </road>
+    <road name="" length="1.8517272938520975e+01" id="10151" junction="-1">
+        <link>
+            <predecessor elementType="junction" elementId="800018" contactPoint="start" />
+            <successor elementType="road" elementId="10045" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.2877558508777543e+02" y="-3.8151513508973852e+02" hdg="5.8911209547225596e+00" length="1.8517272938520975e+01">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-6.7539111265960798e+00" b="7.4684851458154495e-04" c="-9.9839561809662760e-05" d="1.0312733585097437e-06" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3891016308353423e+00" b="-7.3284604073208118e-03" c="6.9075407443058796e-05" d="2.1275274559243509e-07" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.4003641434031415e+00" b="-6.3702417563536463e-05" c="2.2890271318323935e-06" d="-2.0989105233597708e-08" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="2.6315698179438350e+01" id="10191" junction="800018">
+        <link>
+            <predecessor elementType="road" elementId="10180" contactPoint="start" />
+            <successor elementType="road" elementId="10151" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="3.0871298048213635e+02" y="-3.8860708649106891e+02" hdg="1.1784873268862315e+00" length="5.5240195477439498e+00">
+                <line />
+            </geometry>
+            <geometry s="5.5240195477439498e+00" x="3.1082494028876516e+02" y="-3.8350273366832619e+02" hdg="1.1784873268862315e+00" length="1.3660341950028824e+01">
+                <arc curvature="-1.1497162260568039e-01" />
+            </geometry>
+            <geometry s="1.9184361497772773e+01" x="3.2218535821116279e+02" y="-3.7879027315157697e+02" hdg="5.8911209547225596e+00" length="7.1313366816655783e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5932462618034844e+00" b="-4.4105417871811423e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="1.5213890229063510e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="4.2999999999999993e+01" id="10055" junction="800030">
+        <link>
+            <predecessor elementType="junction" elementId="800033" contactPoint="start" />
+            <successor elementType="road" elementId="10171" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.1101628592513065e+02" y="-3.2509057893855703e+02" hdg="5.8879788995370186e+00" length="4.0000000000000000e+01">
+                <line />
+            </geometry>
+            <geometry s="4.0000000000000000e+01" x="-7.4099601231096131e+01" y="-3.4049052670474242e+02" hdg="5.8879788995370106e+00" length="2.9999999999999960e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5665735133964436e+00" b="2.3027662819347645e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+            <elevation s="4.0000000000000000e+01" a="-5.5573624482687043e+00" b="-4.1421622011848010e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <left>
+                    <lane id="1" type="driving" level="false">
+                        <link>
+                            <successor id="1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </left>
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                        <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.0000000000000001e-01" laneChange="both" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+        <userData code="roadborrow">
+            <roadborrow sOffset="0" length="43" mode="All" />
+        </userData>
+    </road>
+    <road name="" length="4.6641738965072195e+00" id="10099" junction="800033">
+        <link>
+            <predecessor elementType="road" elementId="10101" contactPoint="end" />
+            <successor elementType="road" elementId="10055" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.1543727263561726e+02" y="-3.2360544254564030e+02" hdg="5.8793522343886844e+00" length="4.6641738965072195e+00">
+                <paramPoly3 aU="0.0000000000000000e+00" bU="3.0256181755796241e-01" cU="4.4649543892810289e-01" dU="-6.3819325166853291e-02" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="5.0675903322497676e-02" dV="-7.2032911484824873e-03" pRange="arcLength" />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-4.6222994250470348e+00" b="-2.0245259059841900e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="-1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.3980357558674235e+00" b="-8.5338961346508480e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals />
+    </road>
+    <road name="" length="8.0000000000000036e+00" id="10161" junction="800033">
+        <link>
+            <predecessor elementType="road" elementId="10055" contactPoint="start" />
+            <successor elementType="road" elementId="10225" contactPoint="start" />
+        </link>
+        <planView>
+            <geometry s="0.0000000000000000e+00" x="-1.1101628592513065e+02" y="-3.2509057893855703e+02" hdg="2.7463862459472206e+00" length="8.0000000000000036e+00">
+                <line />
+            </geometry>
+        </planView>
+        <elevationProfile>
+            <elevation s="0.0000000000000000e+00" a="-5.5665735133964436e+00" b="2.5280503105988816e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+        </elevationProfile>
+        <lateralProfile />
+        <lanes>
+            <laneSection s="0.0000000000000000e+00">
+                <center>
+                    <lane id="0" type="none" level="false">
+                        <link />
+                    </lane>
+                </center>
+                <right>
+                    <lane id="-1" type="driving" level="false">
+                        <link>
+                            <predecessor id="1" />
+                            <successor id="-1" />
+                        </link>
+                        <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+                    </lane>
+                </right>
+            </laneSection>
+        </lanes>
+        <objects />
+        <signals>
+            <signal s="0" t="0" id="43" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+                <validity fromLane="-2" toLane="0" />
+            </signal>
+        </signals>
+        <userData code="roadnoavoid">
+            <roadnoavoid sOffset="0" length="8" />
+        </userData>
+    </road>
+    <junction name="" id="800000">
+        <connection id="0" incomingRoad="10001" connectingRoad="10017" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10001" connectingRoad="10075" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10001" connectingRoad="10207" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10199" connectingRoad="10075" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10199" connectingRoad="10206" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10201" connectingRoad="10208" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="6" incomingRoad="10201" connectingRoad="10207" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800001">
+        <connection id="0" incomingRoad="10001" connectingRoad="10018" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10001" connectingRoad="10035" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10002" connectingRoad="10037" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10002" connectingRoad="10018" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10002" connectingRoad="10220" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10002" connectingRoad="10092" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="6" incomingRoad="10033" connectingRoad="10035" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="7" incomingRoad="10033" connectingRoad="10037" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="8" incomingRoad="10203" connectingRoad="10190" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="9" incomingRoad="10203" connectingRoad="10092" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800002">
+        <connection id="0" incomingRoad="10002" connectingRoad="10019" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10002" connectingRoad="10020" contactPoint="end">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10002" connectingRoad="10204" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10003" connectingRoad="10042" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10003" connectingRoad="10019" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10003" connectingRoad="10231" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="6" incomingRoad="10222" connectingRoad="10042" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="7" incomingRoad="10222" connectingRoad="10020" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="8" incomingRoad="10223" connectingRoad="10042" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="9" incomingRoad="10223" connectingRoad="10020" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800003">
+        <connection id="0" incomingRoad="10020" connectingRoad="10222" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10020" connectingRoad="10223" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10042" connectingRoad="10222" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10042" connectingRoad="10223" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10221" connectingRoad="10222" contactPoint="start">
+            <laneLink from="1" to="-1" />
+            <laneLink from="-1" to="1" />
+        </connection>
+        <connection id="5" incomingRoad="10221" connectingRoad="10223" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="6" incomingRoad="10221" connectingRoad="10012" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800004">
+        <connection id="0" incomingRoad="10003" connectingRoad="10111" contactPoint="end">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10003" connectingRoad="10197" contactPoint="end">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10003" connectingRoad="10095" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10166" connectingRoad="10097" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10166" connectingRoad="10197" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800005">
+        <connection id="0" incomingRoad="10111" connectingRoad="10097" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10111" connectingRoad="10225" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800006">
+        <connection id="0" incomingRoad="10013" connectingRoad="10021" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10013" connectingRoad="10048" contactPoint="start">
+            <laneLink from="1" to="-1" />
+            <laneLink from="-1" to="1" />
+        </connection>
+        <connection id="2" incomingRoad="10221" connectingRoad="10021" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10221" connectingRoad="10047" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10028" connectingRoad="10047" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10028" connectingRoad="10048" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800007">
+        <connection id="0" incomingRoad="10013" connectingRoad="10022" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10013" connectingRoad="10039" contactPoint="end">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10014" connectingRoad="10022" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10014" connectingRoad="10038" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10033" connectingRoad="10038" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10033" connectingRoad="10039" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800008">
+        <connection id="0" incomingRoad="10016" connectingRoad="10024" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10016" connectingRoad="10084" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10015" connectingRoad="10024" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10015" connectingRoad="10085" contactPoint="end">
+            <laneLink from="1" to="-1" />
+            <laneLink from="-1" to="1" />
+        </connection>
+        <connection id="4" incomingRoad="10066" connectingRoad="10084" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10066" connectingRoad="10085" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800009">
+        <connection id="0" incomingRoad="10016" connectingRoad="10073" contactPoint="end">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10016" connectingRoad="10025" contactPoint="end">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10016" connectingRoad="10026" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10016" connectingRoad="10175" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10157" connectingRoad="10025" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10157" connectingRoad="10175" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="6" incomingRoad="10157" connectingRoad="10000" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="7" incomingRoad="10170" connectingRoad="10027" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="8" incomingRoad="10170" connectingRoad="10073" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800010">
+        <connection id="0" incomingRoad="10028" connectingRoad="10049" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10028" connectingRoad="10082" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10029" connectingRoad="10049" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10029" connectingRoad="10083" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10057" connectingRoad="10082" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10057" connectingRoad="10083" contactPoint="start">
+            <laneLink from="1" to="-1" />
+            <laneLink from="-1" to="1" />
+        </connection>
+    </junction>
+    <junction name="" id="800011">
+        <connection id="0" incomingRoad="10029" connectingRoad="10090" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10029" connectingRoad="10050" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10029" connectingRoad="10186" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10062" connectingRoad="10090" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10062" connectingRoad="10051" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10062" connectingRoad="10179" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="6" incomingRoad="10030" connectingRoad="10050" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="7" incomingRoad="10030" connectingRoad="10051" contactPoint="start">
+            <laneLink from="1" to="-1" />
+            <laneLink from="-1" to="1" />
+        </connection>
+        <connection id="8" incomingRoad="10030" connectingRoad="10185" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="9" incomingRoad="10178" connectingRoad="10179" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="10" incomingRoad="10178" connectingRoad="10185" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="11" incomingRoad="10178" connectingRoad="10186" contactPoint="end">
+            <laneLink from="1" to="-1" />
+            <laneLink from="-1" to="1" />
+        </connection>
+    </junction>
+    <junction name="" id="800012">
+        <connection id="0" incomingRoad="10057" connectingRoad="10076" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10057" connectingRoad="10122" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10058" connectingRoad="10076" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10058" connectingRoad="10123" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10114" connectingRoad="10122" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10114" connectingRoad="10123" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800013">
+        <connection id="0" incomingRoad="10059" connectingRoad="10087" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10059" connectingRoad="10088" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10066" connectingRoad="10086" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10066" connectingRoad="10088" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10067" connectingRoad="10086" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10067" connectingRoad="10087" contactPoint="end">
+            <laneLink from="1" to="-1" />
+            <laneLink from="-1" to="1" />
+        </connection>
+    </junction>
+    <junction name="" id="800014">
+        <connection id="0" incomingRoad="10060" connectingRoad="10089" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10060" connectingRoad="10069" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10067" connectingRoad="10089" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10067" connectingRoad="10054" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10031" connectingRoad="10054" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10031" connectingRoad="10069" contactPoint="end">
+            <laneLink from="1" to="-1" />
+            <laneLink from="-1" to="1" />
+        </connection>
+    </junction>
+    <junction name="" id="800015">
+        <connection id="0" incomingRoad="10061" connectingRoad="10078" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10061" connectingRoad="10139" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10061" connectingRoad="10128" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10062" connectingRoad="10078" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10062" connectingRoad="10126" contactPoint="end">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10062" connectingRoad="10137" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="6" incomingRoad="10114" connectingRoad="10126" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="7" incomingRoad="10114" connectingRoad="10128" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="8" incomingRoad="10114" connectingRoad="10127" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="9" incomingRoad="10117" connectingRoad="10127" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="10" incomingRoad="10117" connectingRoad="10137" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="11" incomingRoad="10117" connectingRoad="10139" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800016">
+        <connection id="0" incomingRoad="10063" connectingRoad="10052" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10063" connectingRoad="10056" contactPoint="start">
+            <laneLink from="1" to="-1" />
+            <laneLink from="-1" to="1" />
+        </connection>
+        <connection id="2" incomingRoad="10030" connectingRoad="10052" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10030" connectingRoad="10091" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10044" connectingRoad="10091" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10044" connectingRoad="10056" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="6" incomingRoad="10104" connectingRoad="10091" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="7" incomingRoad="10104" connectingRoad="10056" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800017">
+        <connection id="0" incomingRoad="10063" connectingRoad="10080" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10063" connectingRoad="10142" contactPoint="end">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10063" connectingRoad="10143" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10064" connectingRoad="10080" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10064" connectingRoad="10144" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10064" connectingRoad="10141" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="6" incomingRoad="10118" connectingRoad="10143" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="7" incomingRoad="10118" connectingRoad="10144" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="8" incomingRoad="10118" connectingRoad="10131" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="9" incomingRoad="10117" connectingRoad="10142" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="10" incomingRoad="10117" connectingRoad="10141" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="11" incomingRoad="10117" connectingRoad="10131" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800018">
+        <connection id="0" incomingRoad="10056" connectingRoad="10044" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10056" connectingRoad="10104" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10091" connectingRoad="10044" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10091" connectingRoad="10104" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10151" connectingRoad="10044" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10151" connectingRoad="10191" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="6" incomingRoad="10180" connectingRoad="10191" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="7" incomingRoad="10180" connectingRoad="10104" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800019">
+        <connection id="0" incomingRoad="10064" connectingRoad="10081" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10064" connectingRoad="10148" contactPoint="end">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10065" connectingRoad="10081" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10065" connectingRoad="10189" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10065" connectingRoad="10077" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800020">
+        <connection id="0" incomingRoad="10065" connectingRoad="10112" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10065" connectingRoad="10121" contactPoint="end">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10065" connectingRoad="10115" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10124" connectingRoad="10138" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10124" connectingRoad="10121" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10096" connectingRoad="10138" contactPoint="end">
+            <laneLink from="-1" to="1" />
+        </connection>
+        <connection id="6" incomingRoad="10096" connectingRoad="10121" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800021">
+        <connection id="0" incomingRoad="10121" connectingRoad="10124" contactPoint="start">
+            <laneLink from="-1" to="1" />
+        </connection>
+        <connection id="1" incomingRoad="10121" connectingRoad="10096" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10138" connectingRoad="10124" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10138" connectingRoad="10096" contactPoint="end">
+            <laneLink from="1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800022">
+        <connection id="0" incomingRoad="10105" connectingRoad="10109" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10105" connectingRoad="10133" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10106" connectingRoad="10109" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10106" connectingRoad="10134" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10116" connectingRoad="10133" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10116" connectingRoad="10134" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800023">
+        <connection id="0" incomingRoad="10106" connectingRoad="10108" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10106" connectingRoad="10136" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10107" connectingRoad="10108" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10107" connectingRoad="10135" contactPoint="end">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10119" connectingRoad="10136" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10119" connectingRoad="10135" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800024">
+        <connection id="0" incomingRoad="10031" connectingRoad="10070" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10031" connectingRoad="10071" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10124" connectingRoad="10070" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10124" connectingRoad="10072" contactPoint="end">
+            <laneLink from="-1" to="1" />
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10043" connectingRoad="10071" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10043" connectingRoad="10072" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800025">
+        <connection id="0" incomingRoad="10149" connectingRoad="10158" contactPoint="end">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10149" connectingRoad="10198" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10149" connectingRoad="10160" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10110" connectingRoad="10177" contactPoint="start">
+            <laneLink from="1" to="-1" />
+            <laneLink from="-1" to="1" />
+        </connection>
+        <connection id="4" incomingRoad="10110" connectingRoad="10198" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10110" connectingRoad="10214" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="6" incomingRoad="10178" connectingRoad="10177" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="7" incomingRoad="10178" connectingRoad="10181" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800026">
+        <connection id="0" incomingRoad="10110" connectingRoad="10103" contactPoint="end">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10110" connectingRoad="10209" contactPoint="end">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10110" connectingRoad="10176" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10110" connectingRoad="10172" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10183" connectingRoad="10140" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10183" connectingRoad="10209" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="6" incomingRoad="10184" connectingRoad="10113" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="7" incomingRoad="10184" connectingRoad="10094" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="8" incomingRoad="10184" connectingRoad="10172" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="9" incomingRoad="10094" connectingRoad="10113" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="10" incomingRoad="10094" connectingRoad="10172" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800027">
+        <connection id="0" incomingRoad="10172" connectingRoad="10184" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10172" connectingRoad="10094" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10113" connectingRoad="10184" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10113" connectingRoad="10094" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800028">
+        <connection id="0" incomingRoad="10154" connectingRoad="10156" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10154" connectingRoad="10155" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800029">
+        <connection id="0" incomingRoad="10155" connectingRoad="10102" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10155" connectingRoad="10174" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800030">
+        <connection id="0" incomingRoad="10171" connectingRoad="10162" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10171" connectingRoad="10055" contactPoint="end">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800031">
+        <connection id="0" incomingRoad="10171" connectingRoad="10098" contactPoint="start">
+            <laneLink from="1" to="1" />
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10171" connectingRoad="10215" contactPoint="end">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10171" connectingRoad="10216" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800032">
+        <connection id="0" incomingRoad="10163" connectingRoad="10159" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10163" connectingRoad="10181" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800033">
+        <connection id="0" incomingRoad="10055" connectingRoad="10161" contactPoint="start">
+            <laneLink from="1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10055" connectingRoad="10099" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800034">
+        <connection id="0" incomingRoad="10180" connectingRoad="10152" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10180" connectingRoad="10147" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+            <laneLink from="1" to="1" />
+        </connection>
+        <connection id="2" incomingRoad="10218" connectingRoad="10195" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10218" connectingRoad="10147" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800035">
+        <connection id="0" incomingRoad="10036" connectingRoad="10153" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10036" connectingRoad="10183" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+    <junction name="" id="800036">
+        <connection id="0" incomingRoad="10228" connectingRoad="10217" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="1" incomingRoad="10228" connectingRoad="10226" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="2" incomingRoad="10228" connectingRoad="10227" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="3" incomingRoad="10217" connectingRoad="10228" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="4" incomingRoad="10217" connectingRoad="10227" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="5" incomingRoad="10226" connectingRoad="10228" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="6" incomingRoad="10226" connectingRoad="10227" contactPoint="end">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="7" incomingRoad="10227" connectingRoad="10217" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+        <connection id="8" incomingRoad="10227" connectingRoad="10226" contactPoint="start">
+            <laneLink from="-1" to="-1" />
+        </connection>
+    </junction>
+</OpenDRIVE>

+ 2 - 1
map/pos/pos-dongLi.txt → map/pos/pos_dongli_zuixin0713.txt

@@ -1,6 +1,7 @@
-1主楼	117.3537137	39.0670954
+1主楼	117.3536693	39.0670788
 2EMC	117.3588944	39.0658633
 3碰撞	117.3581917	39.0637387
+4跑道	117.3572350	39.0628067
 5网联楼	117.3548637	39.0644184
 6风洞	117.3535495	39.0647477
 7软测	117.3536673	39.0654579

+ 2 - 0
sh/HAPO/agx1/autodeploy.sh

@@ -69,6 +69,8 @@ lib_name=(
 	libivlog.so
 	libplatformif.so
 	libivexit.so
+	libivchart.so
+	libivbacktrace.so
 )
 
 for x in ${lib_name[@]}

+ 10 - 0
sh/HAPO/agx1/autogen.sh

@@ -153,6 +153,16 @@ rm Makefile
 rm .qmake.stash
 cd ../../../
 
+cd src/common/ivchart/
+$qtmake ivchart.pro
+make $MAKEOPT
+check_result $?
+make clean
+cp libivchart.so ./../../../bin/
+rm Makefile
+rm .qmake.stash
+cd ../../../
+
 controller_app_name=(
     controller_midcar
 )

+ 146 - 0
sh/tagv1.3/autodeploy.sh

@@ -0,0 +1,146 @@
+PRO_DIR=`pwd`
+CONFIG_IVSysMan="IVSysMan.xml"
+
+
+cd ../../ 
+
+app_name=(
+controller_bus
+controller_jinlong_peisong
+controller_midcar
+controller_problue
+controller_ge3
+controller_vv7
+controller_tju_vv7
+decition_brain
+driver_camera_usb
+driver_can_kvaser
+driver_can_vci
+driver_can_nvidia_agx
+driver_cloud_grpc_client_stream
+driver_grpc_server
+driver_gps_ins550d
+driver_gps_hcp2
+driver_lidar_bk16
+driver_lidar_hesai40line
+driver_lidar_hesai40p
+driver_lidar_hesaipandar64
+driver_lidar_rs16
+driver_lidar_rs32
+driver_lidar_vlp16
+driver_lidar_vlp32c
+driver_lidar_vtdpoint
+driver_map_trace
+driver_map_xodrload
+driver_piccompress
+driver_radio_p900
+driver_rpc_client
+driver_rpc_server
+driver_vbox_gaohong
+driver_ota_client
+driver_ota_server
+detection_chassis
+detection_gps_hcp2
+detection_gps_vtd
+#detection_lidar_cnn_segmentation
+detection_lidar_cnntogrid
+detection_lidar_grid
+detection_lidar_ukf_pda
+detection_mobileye
+#detection_ndt_matching_gpu_multi
+detection_radar_delphi_esr
+detection_state_delphi_ins500d
+fusion_gpsndt
+fusion_pointcloud_bus
+adciv_record
+adciv_replay
+adcndtmultimapping
+bqev_lidar_cnn_detect_view
+bqev_multilidarcalib
+bqev_pcdview
+ivmapmake
+ivmapmake_sharemem
+IVSysMan
+map_lanetoxodr
+map_mobieye
+PerceptionShow
+picview
+pointcloudviewer
+RemoteCtrl
+tool_calcmd5
+tool_querymsg
+tool_xodrobj
+view_gps
+view_ivlog
+view_pcdmap
+view_radar
+view_rawcan
+ui_ads_hmi
+tool_configivsysman
+RemoteCtrl_Stream
+)
+
+for x in ${app_name[@]}
+do
+	echo "deploy $x"
+	cp ./bin/${x} ./
+	./deploywithfind.sh $x
+	rm ${x}
+done
+
+#cp ./thirdpartylib/QtWebApp/lib/*.s* ./bin
+#patchelf --set-rpath '$ORIGIN' ./bin/libQtWebAppGlobal.so
+#patchelf --set-rpath '$ORIGIN' ./bin/llibQtWebAppHttpServer.so
+
+#cp ./bin/libQtWebApp*  ./deploy/app/lib/
+
+
+
+
+lib_name=(
+	libmodulecomm.so
+	libndt_cpu.so
+#	libndt_gpu.so
+	libxmlparam.so
+	libivfault.so
+	libivlog.so
+	libivbacktrace.so
+	libivexit.so
+)
+
+
+
+for x in ${lib_name[@]}
+do
+#	echo "link lib $x"
+#	patchelf --set-rpath '$ORIGIN' ./bin/$x
+	echo "deploylib $x"
+	cp ./bin/${x} ./
+	./deploylib.sh $x
+	rm ${x}
+done
+
+
+xlib=`ls ./deploy/app/lib/lib*`  
+for fileName in $xlib
+  do
+     patchelf --set-rpath '$ORIGIN' $fileName
+  done
+
+   
+
+#echo "creat IVSysMan.xml"
+#cp ./sh/tju64/xml/$CONFIG_IVSysMan ./deploy/app/IVSysMan.xml
+#cp ./other/ADS_decision.xml ./deploy/app/ADS_decision.xml
+#sed -i "s|xxxxxx|$PRO_DIR/|g" ./deploy/app/IVSysMan.xml
+
+#cp ./bin/*.so ./deploy/app/lib/
+
+#cp ./sh/tju64/xml/*  ./deploy/app/
+
+
+
+echo ""
+echo "***************"
+echo "***  done!  ***"
+echo "***************"

+ 58 - 0
sh/tagv1.3/autodeploylib.sh

@@ -0,0 +1,58 @@
+PRO_DIR=`pwd`
+CONFIG_IVSysMan="IVSysMan.xml"
+
+
+cd ../../ 
+
+
+
+
+
+
+lib_name=(
+	libmodulecomm.so
+	libndt_cpu.so
+#	libndt_gpu.so
+	libxmlparam.so
+	libivfault.so
+	libivlog.so
+	libivbacktrace.so
+	libivexit.so
+)
+
+
+
+for x in ${lib_name[@]}
+do
+#	echo "link lib $x"
+#	patchelf --set-rpath '$ORIGIN' ./bin/$x
+	echo "deploylib $x"
+	cp ./bin/${x} ./
+	./deploylib.sh $x
+	rm ${x}
+done
+
+
+xlib=`ls ./deploy/app/lib/lib*`  
+for fileName in $xlib
+  do
+     patchelf --set-rpath '$ORIGIN' $fileName
+  done
+
+   
+
+#echo "creat IVSysMan.xml"
+#cp ./sh/tju64/xml/$CONFIG_IVSysMan ./deploy/app/IVSysMan.xml
+#cp ./other/ADS_decision.xml ./deploy/app/ADS_decision.xml
+#sed -i "s|xxxxxx|$PRO_DIR/|g" ./deploy/app/IVSysMan.xml
+
+#cp ./bin/*.so ./deploy/app/lib/
+
+#cp ./sh/tju64/xml/*  ./deploy/app/
+
+
+
+echo ""
+echo "***************"
+echo "***  done!  ***"
+echo "***************"

+ 10 - 0
sh/tagv1.3/autogen.bat

@@ -0,0 +1,10 @@
+
+call genlib.bat src\common modulecomm 
+call genlib.bat src\common xmlparam
+call genlib.bat src\common ivbacktrace
+call genlib.bat src\common ivfault
+call genlib.bat src\common ivexit
+call genlib.bat src\common ivlog
+call genlib.bat src\common ivsyschange
+
+call gen.bat src\driver driver_gps_hcp2

+ 326 - 0
sh/tagv1.3/autogen.sh

@@ -0,0 +1,326 @@
+
+#qtmake="/opt/qt/5.10.1/gcc_64/bin/qmake"
+
+qtmake=" "
+
+if [ ${#qtmake} -lt 5 ]; then
+  echo "now need find qmake "
+  optfiles=`find /opt -name 'qmake'` 
+  for entry in $optfiles
+  do
+     x=${entry:0-17:17}
+     if [ "$x" == "/gcc_64/bin/qmake" ];  then
+        qtmake="$entry"
+	echo "  -----find qmake"
+	echo "$qtmake"
+     fi
+  done
+fi
+
+if [ ${#qtmake} -lt 5 ]; then
+  echo "maybe agx,find qmake in usr folder "
+  optfiles=`find /usr -name 'qmake'` 
+  for entry in $optfiles
+  do
+     x=${entry:0-14:14}
+     if [ "$x" == "/qt5/bin/qmake" ];  then
+        qtmake="$entry"
+	echo "  -----find qmake"
+	echo "$qtmake"
+     fi
+  done
+fi
+
+
+MAKEOPT=-j2
+
+cd ../../
+
+mkdir bin
+
+cd src/include/proto
+sh ./protomake.sh
+cd ../../../
+
+cd src/include/proto3
+sh ./protomake.sh
+cd ../../../
+
+cd src/common/modulecomm/
+$qtmake modulecomm.pro
+make $MAKEOPT
+make clean
+cp libmodulecomm.so ./../../../bin/
+rm Makefile
+rm .qmake.stash
+cd ../../../
+
+cp thirdpartylib/FastRTPS/lib/libamd64/* bin/
+cp thirdpartylib/FastRTPS/lib/libarm64/* bin/
+
+cd src/common/xmlparam/
+$qtmake xmlparam.pro
+make $MAKEOPT
+make clean
+cp libxmlparam.so ./../../../bin/
+rm Makefile
+rm .qmake.stash
+cd ../../../
+
+cd src/common/ndt_cpu/
+$qtmake ndt_cpu.pro
+make $MAKEOPT
+make clean
+cp libndt_cpu.so ./../../../bin/
+rm Makefile
+rm .qmake.stash
+cd ../../../
+
+#cd src/common/ndt_gpu/
+#$qtmake ndt_gpu.pro
+#make $MAKEOPT
+#make clean
+#cp libndt_gpu.so ./../../../bin/
+#rm Makefile
+#rm .qmake.stash
+#cd ../../../
+
+cd src/common/ivlog/
+$qtmake ivlog.pro
+make $MAKEOPT
+make clean
+cp libivlog.so ./../../../bin/
+rm Makefile
+rm .qmake.stash
+cd ../../../
+
+cd src/common/ivfault/
+$qtmake ivfault.pro
+make $MAKEOPT
+make clean
+cp libivfault.so ./../../../bin/
+rm Makefile
+rm .qmake.stash
+cd ../../../
+
+
+cd src/common/ivbacktrace/
+$qtmake ivbacktrace.pro
+make $MAKEOPT
+make clean
+cp libivbacktrace.so ./../../../bin/
+rm Makefile
+rm .qmake.stash
+cd ../../../
+
+cd src/common/ivexit/
+$qtmake ivexit.pro
+make $MAKEOPT
+make clean
+cp libivexit.so ./../../../bin/
+rm Makefile
+rm .qmake.stash
+cd ../../../
+
+cd src/common/ivchart/
+$qtmake ivchart.pro
+make $MAKEOPT
+make clean
+cp libivchart.so ./../../../bin/
+rm Makefile
+rm .qmake.stash
+cd ../../../
+
+controller_app_name=(
+controller_bus
+controller_hapo
+controller_jinlong_peisong
+controller_midcar
+controller_problue
+controller_ge3
+controller_vv7
+controller_tju_vv7
+controller_yuhesen
+)
+
+for x in ${controller_app_name[@]}
+do
+cd src/controller/${x}/
+$qtmake ${x}.pro
+make $MAKEOPT
+make clean
+cp ${x} ./../../../bin/
+rm Makefile
+rm .qmake.stash
+rm ${x}
+cd ../../../
+done
+
+decition_app_name=(
+decition_brain
+)
+
+for x in ${decition_app_name[@]}
+do
+cd src/decition/${x}/
+$qtmake ${x}.pro
+make $MAKEOPT
+make clean
+cp ${x} ./../../../bin/
+rm Makefile
+rm .qmake.stash
+rm ${x}
+cd ../../../
+done
+
+driver_app_name=(
+driver_camera_usb
+driver_can_kvaser
+driver_can_vci
+driver_can_nvidia_agx
+driver_cloud_grpc_client
+#driver_cloud_grpc_pc
+#driver_cloud_grpc_server
+driver_gps_ins550d
+driver_gps_hcp2
+driver_lidar_bk16
+driver_lidar_hesai40line
+driver_lidar_hesai40p
+driver_lidar_hesaipandar64
+driver_lidar_rs16
+driver_lidar_rs32
+driver_lidar_vlp16
+driver_lidar_vlp32c
+driver_lidar_vtdpoint
+driver_map_trace
+driver_map_xodrload
+driver_piccompress
+driver_radio_p900
+#driver_rpc_client
+#driver_rpc_server
+driver_vbox_gaohong
+driver_ota_client
+driver_grpc_client
+driver_grpc_server
+)
+
+for x in ${driver_app_name[@]}
+do
+cd src/driver/${x}/
+$qtmake ${x}.pro
+make $MAKEOPT
+make clean
+cp ${x} ./../../../bin/
+rm Makefile
+rm .qmake.stash
+rm ${x}
+cd ../../../
+done
+
+detect_app_name=(
+detection_chassis
+detection_gps_hcp2
+detection_gps_vtd
+detection_lidar_cnn_segmentation
+detection_lidar_cnntogrid
+detection_lidar_grid
+detection_lidar_ukf_pda
+detection_mobileye
+detection_ndt_matching_gpu_multi
+detection_radar_delphi_esr
+detection_state_delphi_ins500d
+
+)
+
+for x in ${detect_app_name[@]}
+do
+cd src/detection/${x}/
+$qtmake ${x}.pro
+make $MAKEOPT
+make clean
+cp ${x} ./../../../bin/
+rm Makefile
+rm .qmake.stash
+rm ${x}
+cd ../../../
+done
+
+fusion_app_name=(
+fusion_gpsndt
+fusion_pointcloud_bus
+)
+
+for x in ${fusion_app_name[@]}
+do
+cd src/fusion/${x}/
+$qtmake ${x}.pro
+make $MAKEOPT
+make clean
+cp ${x} ./../../../bin/
+rm Makefile
+rm .qmake.stash
+rm ${x}
+cd ../../../
+done
+
+tool_app_name=(
+adciv_record
+adciv_replay
+adcndtmultimapping
+bqev_lidar_cnn_detect_view
+bqev_multilidarcalib
+bqev_pcdview
+ivmapmake
+ivmapmake_sharemem
+IVSysMan
+map_lanetoxodr
+map_mobieye
+PerceptionShow
+picview
+pointcloudviewer
+#RemoteCtrl
+tool_calcmd5
+tool_querymsg
+tool_xodrobj
+view_gps
+view_ivlog
+view_pcdmap
+view_radar
+view_rawcan
+tool_configivsysman
+)
+
+for x in ${tool_app_name[@]}
+do
+cd src/tool/${x}/
+$qtmake ${x}.pro
+make $MAKEOPT
+make clean
+cp ${x} ./../../../bin/
+rm Makefile
+rm .qmake.stash
+rm ${x}
+cd ../../../
+done
+
+ui_app_name=(
+ui_ads_hmi
+)
+
+for x in ${ui_app_name[@]}
+do
+cd src/ui/${x}/
+$qtmake ${x}.pro
+make $MAKEOPT
+make clean
+cp ${x} ./../../../bin/
+rm Makefile
+rm .qmake.stash
+rm ${x}
+cd ../../../
+done
+
+
+
+
+

+ 23 - 0
sh/tagv1.3/gen.bat

@@ -0,0 +1,23 @@
+set qmake=C:\Qt\Qt5.13.2\5.13.2\mingw73_64\bin\qmake.exe
+set make=C:/Qt/Qt5.13.2/Tools/mingw730_64/bin/mingw32-make
+set shdir=%cd%
+cd ..
+cd ..
+set modulename=%2
+set rootdir=%cd%
+set prodir=%rootdir%\%1\%2
+cd %prodir%
+set profile=%2.pro
+%qmake% %profile%
+%make% -f Makefile.Release -j8
+cd release
+copy %modulename%.exe %rootdir%\bin
+cd ..
+del .qmake.stash
+del Makefile
+del Makefile.Debug
+del Makefile.Release
+del %2%_resource.rc
+rd debug
+rd /s /q release
+cd %shdir%

+ 25 - 0
sh/tagv1.3/genlib.bat

@@ -0,0 +1,25 @@
+set qmake=C:\Qt\Qt5.13.2\5.13.2\mingw73_64\bin\qmake.exe
+set make=C:/Qt/Qt5.13.2/Tools/mingw730_64/bin/mingw32-make
+set shdir=%cd%
+cd ..
+cd ..
+set modulename=%2
+set rootdir=%cd%
+set prodir=%rootdir%\%1\%2
+cd %prodir%
+set profile=%2.pro
+echo %profile%
+%qmake% %profile%
+%make% -f Makefile.Release -j8
+cd release
+copy lib%modulename%.a %rootdir%\bin
+copy %modulename%.dll %rootdir%\bin
+cd ..
+del .qmake.stash
+del Makefile
+del Makefile.Debug
+del Makefile.Release
+del %2%_resource.rc
+rd debug
+rd /s /q release
+cd %shdir%

+ 13 - 0
sh/tagv1.3/windowsdus.txt

@@ -0,0 +1,13 @@
+https://github.com/WangTingMan/WinDbusBinary
+
+在Windows上面使用DBUS
+DBUS是一种进程间远程调用的机制。 官方网站是: https://www.freedesktop.org/wiki/Software/dbus/ 通过这里提供的DBUS Windows移植版本,你可以在windows上面开发dbus程序啦!
+
+如何使用
+复制dbus-1.dll到你的计算机的系统目录中,以便使用DBUS的程序可以找到它并且加载它。部分DBUS程序是动态从系统中加载该dll 的,因此请需要注意系统加载dll的搜索路径。
+在桌面上创建dbus-daemon.exe的快捷方式
+修改步骤2创建的快捷方式,在该快捷方式上右键,在“目标”栏位中填写:xxx\dbus-daemon.exe --config-file=system.conf 注意,xxx指的是dbus-daemon.exe所在的文件夹。
+开始运行dbus-daemon.exe吧!
+在QT中测试
+QT中有很多DBUS的示例程序,可以使用它们来测试DBUS通信。 不过使用qdbusviewer.exe,你会发现浏览org.freedesktop.DBUs的DBUS接口时,会报一部分错误,不过这并不影响你实际的DBUS通信 开发哦!
+

+ 66 - 0
src/common/common/xodr/OpenDrive/ObjectSignal.cpp

@@ -2,6 +2,72 @@
 
 #include <iostream>
 
+Object_markings_marking::Object_markings_marking(std::string color, double spaceLength, double lineLength,
+                                                 double startOffset, double stopOffset)
+{
+    mcolor = color;
+    mspaceLength = spaceLength;
+    mlineLength = lineLength;
+    mstartOffset = startOffset;
+    mstopOffset = stopOffset;
+}
+
+Object_markings::Object_markings(Object_markings_marking xmarking)
+{
+    mmarking.push_back(xmarking);
+}
+
+vector<Object_markings_marking> * Object_markings::GetMarkingVector()
+{
+    return &mmarking;
+}
+
+Object_markings_marking* Object_markings::GetMarking(unsigned int i)
+{
+    if((mmarking.size() == 0) ||(i>=mmarking.size()))
+    {
+        return NULL;
+    }
+    return &(mmarking.at(i));
+}
+
+unsigned int Object_markings::GetMarkingCount()
+{
+    return mmarking.size();
+}
+
+Object_markings_marking*			Object_markings::GetLastMarking()
+{
+    if(mmarking.size() == 0)return NULL;
+    return &mmarking.at(mmarking.size() -1);
+}
+
+unsigned int Object_markings::AddMarking(string color,double spaceLength,
+                        double lineLength,double startOffset,double stopOffset)
+{
+    mmarking.push_back(Object_markings_marking(color,spaceLength,lineLength,startOffset,stopOffset));
+    return mmarking.size()-1;
+}
+
+unsigned int Object_markings::CloneMarking(unsigned int index)
+{
+    if(index<(mmarking.size()-1))
+        mmarking.insert(mmarking.begin()+index+1, mmarking[index]);
+    else if(index==mmarking.size()-1)
+        mmarking.push_back(mmarking[index]);
+    mnLastAddedmarking=index+1;
+    return mnLastAddedmarking;
+}
+
+void Object_markings::DeleteMarking(unsigned int index)
+{
+    if((mmarking.size() == 0) ||(index>=mmarking.size()))
+    {
+    }
+
+    mmarking.erase(mmarking.begin() + index);
+}
+
 Object_outlines_outline_cornerLocal::Object_outlines_outline_cornerLocal(double u,
                                                                          double v,double z,double height)
 {

+ 46 - 0
src/common/common/xodr/OpenDrive/ObjectSignal.h

@@ -8,6 +8,52 @@ using std::vector;
 using std::string;
 
 
+
+class Object_markings_marking
+{
+private:
+    vector<string> mside;
+    vector<string> mwight;
+    vector<double> mwidth;
+    string mcolor;
+    vector<double> mzOffset;
+    double mspaceLength;
+    double mlineLength;
+    double mstartOffset;
+    double mstopOffset;
+
+
+
+public:
+    Object_markings_marking(string color,double spaceLength,
+                            double lineLength,double startOffset,double stopOffset);
+};
+
+class Object_markings
+{
+private:
+    vector<Object_markings_marking> mmarking;
+
+private:
+    int mnLastAddedmarking;
+
+public:
+    Object_markings(Object_markings_marking xmarking);
+
+    vector<Object_markings_marking> * GetMarkingVector();
+    Object_markings_marking* GetMarking(unsigned int i);
+    unsigned int GetMarkingCount();
+    Object_markings_marking*			GetLastMarking();
+    unsigned int AddMarking(string color,double spaceLength,
+                            double lineLength,double startOffset,double stopOffset);
+    unsigned int CloneMarking(unsigned int index);
+    void DeleteMarking(unsigned int index);
+
+
+
+
+};
+
 class Object_outlines_outline_cornerLocal
 {
 private:

+ 48 - 5
src/common/common/xodr/OpenDrive/OpenDriveXmlParser.cpp

@@ -207,11 +207,15 @@ bool OpenDriveXmlParser::ReadRoad(TiXmlElement *node)
         bProc = ReadRoadBorrows(road, subNode);
         if(bProc == false)
         {
-            TiXmlPrinter *printer = new TiXmlPrinter();
-            subNode->Accept(printer );//保存该节点及其子节点到字符串
-            std::string str = printer->Str();
-            road->GetUserData()->push_back(str);
- //           road->getroadb ->push_back(str);
+            bProc = ReadRoadNoavoids(road,subNode);
+            if(bProc == false)
+            {
+                TiXmlPrinter *printer = new TiXmlPrinter();
+                subNode->Accept(printer );//保存该节点及其子节点到字符串
+                std::string str = printer->Str();
+                road->GetUserData()->push_back(str);
+                //           road->getroadb ->push_back(str);
+            }
         }
         subNode=subNode->NextSiblingElement("userData");
     }
@@ -1689,6 +1693,45 @@ bool OpenDriveXmlParser::ReadRoadBorrow(Road *road, TiXmlElement *node)
     return true;
 }
 
+//--------------
+bool OpenDriveXmlParser::ReadRoadNoavoids(Road * road, TiXmlElement *node)
+{
+    string strcode;
+    if(node->QueryStringAttribute("code",&strcode) != TIXML_SUCCESS)
+    {
+        return false;
+    }
+    if(strcode != "roadnoavoid")
+    {
+        return false;
+    }
+
+    TiXmlElement *subNode = node->FirstChildElement("roadnoavoid");
+    while (subNode)
+    {
+        ReadRoadNoavoid(road, subNode);
+        subNode=subNode->NextSiblingElement("roadnoavoid");
+    }
+
+    return true;
+}
+
+bool OpenDriveXmlParser::ReadRoadNoavoid(Road * road,TiXmlElement * node)
+{
+    double s;
+    double length;
+    int checker=TIXML_SUCCESS;
+    checker+=node->QueryDoubleAttribute("sOffset",&s);
+    checker+=node->QueryDoubleAttribute("length",&length);
+    if(checker != TIXML_SUCCESS)
+    {
+        cout<<"Error parsing Road Noavoid attributes"<<endl;
+        return false;
+    }
+    road->AddRoadNoavoid(s,length);
+    return true;
+}
+
 //--------------
 
 bool OpenDriveXmlParser::ReadSignals (Road* road, TiXmlElement *node)

+ 3 - 0
src/common/common/xodr/OpenDrive/OpenDriveXmlParser.h

@@ -69,6 +69,9 @@ public:
 
     bool ReadRoadBorrows(Road * road, TiXmlElement *node);
     bool ReadRoadBorrow(Road * road,TiXmlElement * node);
+
+    bool ReadRoadNoavoids(Road * road, TiXmlElement *node);
+    bool ReadRoadNoavoid(Road * road,TiXmlElement * node);
 	//--------------
 
 	bool ReadObjects (Road* road, TiXmlElement *node);

+ 34 - 0
src/common/common/xodr/OpenDrive/OpenDriveXmlWriter.cpp

@@ -184,6 +184,11 @@ bool OpenDriveXmlWriter::WriteRoad(TiXmlElement *node, Road *road)
         WriteRoadBorrows(nodeRoad,road);
     }
 
+    if(road->GetRoadNoavoidCount()>0)
+    {
+        WriteRoadNoavoids(nodeRoad,road);
+    }
+
 	/*
 	//Proceed to Surface
 	subNode=node->FirstChildElement("surface");
@@ -1511,6 +1516,35 @@ bool OpenDriveXmlWriter::WriteRoadBorrows(TiXmlElement *node, Road *road)
 }
 //--------------
 
+bool OpenDriveXmlWriter::WriteRoadNoavoids(TiXmlElement *node, Road* road)
+{
+    TiXmlElement* nodeRoadNoavoids = new TiXmlElement("userData");
+    nodeRoadNoavoids->SetAttribute("code","roadnoavoid");
+    node->LinkEndChild(nodeRoadNoavoids);
+
+    unsigned int lRoadNoavoidCount = road->GetRoadNoavoidCount();
+    for(unsigned int i=0; i<lRoadNoavoidCount; i++)
+    {
+        WriteRoadNoavoid(nodeRoadNoavoids, road->GetRoadNoavoid(i));
+    }
+
+    return true;
+}
+
+//--------------
+
+bool OpenDriveXmlWriter::WriteRoadNoavoid(TiXmlElement *node,RoadNoavoid * pRoadNoavoid)
+{
+    TiXmlElement* nodeRoadNoavoid = new TiXmlElement("roadnoavoid");
+    node->LinkEndChild(nodeRoadNoavoid);
+
+    nodeRoadNoavoid->SetDoubleAttribute("sOffset",pRoadNoavoid->GetS());
+    nodeRoadNoavoid->SetDoubleAttribute("length",pRoadNoavoid->GetLength());
+    return true;
+}
+
+//--------------
+
 bool OpenDriveXmlWriter::WriteSignals (TiXmlElement *node, Road* road)
 {
 	TiXmlElement* nodeSignals = new TiXmlElement("signals");

+ 2 - 0
src/common/common/xodr/OpenDrive/OpenDriveXmlWriter.h

@@ -67,6 +67,8 @@ public:
     bool WriteLaneBorder(TiXmlElement *node, LaneBorder* laneWidth);
 	//--------------
 
+    bool WriteRoadNoavoids(TiXmlElement *node, Road* road);
+    bool WriteRoadNoavoid(TiXmlElement *node,RoadNoavoid * pRoadNoavoid);
     bool WriteRoadBorrows(TiXmlElement *node, Road* road);
     bool WriteRoadBorrow(TiXmlElement *node,RoadBorrow * pRoadBorrow);
 	bool WriteObjects (TiXmlElement *node, Road* road);

+ 117 - 0
src/common/common/xodr/OpenDrive/Road.cpp

@@ -63,6 +63,7 @@ Road::Road (const Road& road)
 	mSignalsVector=road.mSignalsVector;
     mLaneOffsetVector=road.mLaneOffsetVector;
     mRoadBorrowVector = road.mRoadBorrowVector;
+    mRoadNoavoidVector = road.mRoadNoavoidVector;
 
 }
 
@@ -107,6 +108,7 @@ const Road& Road::operator=(const Road& otherRoad)
 		mSignalsVector=otherRoad.mSignalsVector;
         mLaneOffsetVector=otherRoad.mLaneOffsetVector;
         mRoadBorrowVector = otherRoad.mRoadBorrowVector;
+        mRoadNoavoidVector = otherRoad.mRoadNoavoidVector;
 	}
 	return *this;
 }
@@ -358,6 +360,21 @@ RoadBorrow * Road::GetRoadBorrow(unsigned int i)
     else
         return NULL;
 }
+vector<RoadNoavoid> *Road::GetRoadNoavoidVector()
+{
+    return &mRoadNoavoidVector;
+}
+RoadNoavoid*	Road::GetRoadNoavoid(unsigned int i)
+{
+    if((mRoadNoavoidVector.size()>0)&&(i<mRoadNoavoidVector.size()))
+        return &mRoadNoavoidVector.at(i);
+    else
+        return NULL;
+}
+unsigned int Road::GetRoadNoavoidCount()
+{
+    return mRoadNoavoidVector.size();
+}
 //-------------------------------------------------
 
 /**
@@ -429,6 +446,14 @@ RoadBorrow* Road::GetLastRoadBorrow()
         return NULL;
 }
 
+RoadNoavoid* Road::GetLastRoadNoavoid()
+{
+    if(mRoadNoavoidVector.size()>0)
+        return &mRoadNoavoidVector.at(mRoadNoavoidVector.size()-1);
+    else
+        return NULL;
+}
+
 
 /**
  * Getters for the last added child records in their respective vectors
@@ -496,6 +521,13 @@ RoadBorrow* Road::GetLastAddedRoadBorrow()
     else
         return NULL;
 }
+RoadNoavoid* Road::GetLastAddedRoadNoavoid()
+{
+    if(mLastAddedRoadNoavoid<mRoadNoavoidVector.size())
+        return &mRoadNoavoidVector.at(mLastAddedRoadNoavoid);
+    else
+        return NULL;
+}
 //-------------------------------------------------
 
 /**
@@ -686,6 +718,15 @@ unsigned int Road::AddRoadBorrow(double s,double length,string mode)
     return index;
 }
 
+unsigned int Road::AddRoadNoavoid(double s, double length)
+{
+    unsigned int index = CheckRoadNoavoidInterval(s)+1;
+    if(index>=GetRoadNoavoidCount()) mRoadNoavoidVector.push_back(RoadNoavoid(s,length));
+    else mRoadNoavoidVector.insert(mRoadNoavoidVector.begin()+index, RoadNoavoid(s,length));
+    mLastAddedRoadNoavoid=index;
+    return index;
+}
+
 //-------------
 unsigned int Road::AddObject(string id,double s,double t,double zOffset)
 {	
@@ -898,6 +939,16 @@ unsigned int Road::CloneRoadBorrow(unsigned int index)
     return mLastAddedRoadBorrow;
 }
 
+unsigned int Road::CloneRoadNoavoid(unsigned int index)
+{
+    if(index<mRoadNoavoidVector.size()-1)
+        mRoadNoavoidVector.insert(mRoadNoavoidVector.begin()+index+1, mRoadNoavoidVector[index]);
+    else if(index==mRoadNoavoidVector.size()-1)
+        mRoadNoavoidVector.push_back(mRoadNoavoidVector[index]);
+    mLastAddedRoadNoavoid=index+1;
+    return mLastAddedRoadNoavoid;
+}
+
 
 /**
  * Methods used to delete child records from the respective vectors
@@ -945,6 +996,12 @@ void Road::DeleteRoadBorrow(unsigned int index)
     mRoadBorrowVector.erase(mRoadBorrowVector.begin()+index);
 }
 
+void Road::DeleteRoadNoavoid(unsigned int index)
+{
+    if(mRoadNoavoidVector.size() == 0)return;
+    mRoadNoavoidVector.erase(mRoadNoavoidVector.begin()+index);
+}
+
 //-------------------------------------------------
 // EVALUATION METHODS
 
@@ -992,6 +1049,25 @@ short int Road::GetGeometryCoords(double s_check, double &retX, double &retY, do
 	return -999;
 }
 
+double Road::GetRoadCurvature(double s_check)
+{
+    //go trough all of the blocks
+    for (unsigned int i=0; i<mGeometryBlockVector.size();i++)
+    {
+        if(mGeometryBlockVector.size()>0)
+        {
+  //          if(mGeometryBlockVector[i].GetGeometryAt(0)->GetS()<s_check
+        }
+        //Check the block and get coords.
+        double res=mGeometryBlockVector.at(i).GetRoadCurvature(s_check);
+        // If the returned value is one of the geometry types (for 0=line,1=arc and 2=spiral) then the result has been found and parameters filled, so, return the value
+        if (res>=0  )
+            return res;
+    }
+    //if s_check does not belong to the road, return -999
+    return 0.0;
+}
+
 int Road::GetRoadSpeedMax(double s_check, double &fspeed)
 {
     if(mRoadTypeVector.size() == 0)
@@ -1021,6 +1097,31 @@ int Road::GetRoadSpeedMax(double s_check, double &fspeed)
 }
 //-----------
 
+int Road::GetRoadNoavoid(double s_check, bool &bNoavoid)
+{
+    if(mRoadNoavoidVector.size() == 0)
+    {
+        bNoavoid = false;
+        return -1;
+    }
+
+    unsigned int i;
+    for(i=0;i<mRoadNoavoidVector.size();i++)
+    {
+        double s_start = mRoadNoavoidVector[i].GetS();
+        double len = mRoadNoavoidVector[i].GetLength();
+        if((s_check >= s_start)&&(s_check <(s_start+len)))
+        {
+            bNoavoid = true;
+            return i;
+        }
+    }
+
+    bNoavoid = false;
+    return -2;
+}
+//-----------
+
 /**
  * Other evaluation
  */
@@ -1178,6 +1279,22 @@ int Road::CheckRoadBorrowInterval(double s_check)
     }
     return res;		//return the result: 0 to MaxInt as the index to the record containing s_check or -1 if nothing found
 
+}
+//-----------
+int Road::CheckRoadNoavoidInterval(double s_check)
+{
+    int res=-1;
+    //Go through all the lane section records
+    for (unsigned int i=0;i<mRoadNoavoidVector.size();i++)
+    {
+        //check if the s_check belongs to the current record
+        if (mRoadNoavoidVector.at(i).CheckInterval(s_check))
+            res=i;	//assign it to the result id
+        else
+            break;	//if not, break;
+    }
+    return res;		//return the result: 0 to MaxInt as the index to the record containing s_check or -1 if nothing found
+
 }
 //-----------
 int Road::CheckLaneOffsetInterval(double s_check)

+ 16 - 0
src/common/common/xodr/OpenDrive/Road.h

@@ -84,6 +84,8 @@ private:
 
     vector<RoadBorrow> mRoadBorrowVector;
 
+    vector<RoadNoavoid> mRoadNoavoidVector;
+
 	/**
 	 * Indices of the last added child records
 	 */
@@ -97,6 +99,7 @@ private:
 	unsigned int mLastAddedObject;
 	unsigned int mLastAddedSignal;
     unsigned int mLastAddedRoadBorrow;
+    unsigned int mLastAddedRoadNoavoid;
 
 public:
 	/**
@@ -186,6 +189,10 @@ public:
     RoadBorrow*	GetRoadBorrow(unsigned int i);
     unsigned int GetRoadBorrowCount();
 
+    vector<RoadNoavoid> *GetRoadNoavoidVector();
+    RoadNoavoid*	GetRoadNoavoid(unsigned int i);
+    unsigned int GetRoadNoavoidCount();
+
 
     vector<string> * GetUserData();
 	//-------------------------------------------------
@@ -202,6 +209,7 @@ public:
 	Object*			GetLastObject();
 	Signal*			GetLastSignal();
     RoadBorrow *    GetLastRoadBorrow();
+    RoadNoavoid *   GetLastRoadNoavoid();
 
 	/**
 	 * Getters for the last added child records in their respective vectors
@@ -215,6 +223,7 @@ public:
 	Object*			GetLastAddedObject();
 	Signal*			GetLastAddedSignal();
     RoadBorrow*     GetLastAddedRoadBorrow();
+    RoadNoavoid*    GetLastAddedRoadNoavoid();
 
 	//-------------------------------------------------
 
@@ -261,6 +270,7 @@ public:
                            string subtype,double hOffset,double pitch,double roll ,double height,double width);
 
     unsigned int AddRoadBorrow(double s,double length,string mode);
+    unsigned int AddRoadNoavoid(double s,double length);
 	/**
 	 * Methods used to clone child records in the respective vectors
 	 */
@@ -273,6 +283,7 @@ public:
 	unsigned int CloneObject(unsigned int index);
 	unsigned int CloneSignal(unsigned int index);
     unsigned int CloneRoadBorrow(unsigned int index);
+    unsigned int CloneRoadNoavoid(unsigned int index);
 
 	/**
 	 * Methods used to delete child records from the respective vectors
@@ -287,6 +298,7 @@ public:
 	void DeleteObject(unsigned int index);
 	void DeleteSignal(unsigned int index);
     void DeleteRoadBorrow(unsigned int index);
+    void DeleteRoadNoavoid(unsigned int index);
 	
 	//-------------------------------------------------
 
@@ -305,8 +317,10 @@ public:
 	bool CheckGeometryInterval (double s_check, string &roadId);
 	short int GetGeometryCoords(double s_check, double &retX, double &retY);
 	short int GetGeometryCoords(double s_check, double &retX, double &retY, double &retHDG);
+    double GetRoadCurvature(double s_check);
 	
     int GetRoadSpeedMax(double s_check,double & fspeed);
+    int GetRoadNoavoid(double s_check,bool & bNoavoid);
 
 	/**
 	 * Other evaluation
@@ -329,6 +343,8 @@ public:
     int CheckLaneOffsetInterval(double s_check);
 
     int CheckRoadBorrowInterval(double s_check);
+
+    int CheckRoadNoavoidInterval(double s_check);
 	
 	//-------------------------------------------------
 

+ 147 - 1
src/common/common/xodr/OpenDrive/RoadGeometry.cpp

@@ -186,6 +186,9 @@ void  RoadGeometry::GetCoords(double s_check, double &retX, double &retY)
 void RoadGeometry::GetCoords(double s_check, double &retX, double &retY, double &retHDG)
 {}
 
+double RoadGeometry::GetRoadCurvature(double s_check)
+{return 0.0;}
+
 
 
 //***********************************************************************************
@@ -234,7 +237,10 @@ void GeometryLine::GetCoords(double s_check, double &retX, double &retY, double
 	retHDG=mHdg;
 }
 
-
+double GeometryLine::GetRoadCurvature(double s_check)
+{
+    return 0.0;
+}
 
 
 
@@ -340,7 +346,14 @@ void GeometryArc::GetCoords(double s_check, double &retX, double &retY, double &
 		retHDG=endAngle+M_PI_2;
 }
 
+double GeometryArc::GetRoadCurvature(double s_check)
+{
+    double currentLength = s_check - mS;
+    if(currentLength<0)return 0.0;
+    if(currentLength>mLength)return 0.0;
 
+    return fabs(mCurvature);
+}
 
 
 
@@ -432,6 +445,31 @@ RoadGeometry* GeometrySpiral::Clone() const
 	return ret;
 }
 
+double GeometrySpiral::GetRoadCurvature(double s_check)
+{
+    double currentLength = s_check - mS;
+    if(currentLength<0)return 0.0;
+    if(currentLength>mLength)return 0.0;
+
+    if(mLength < 0.1)return 0.0;
+    if(currentLength<0.05)return fabs(mCurvatureStart);
+    if(currentLength>(mLength-0.05))return fabs(mCurvatureEnd);
+
+    double fx1,fy1,fhdg1;
+    double fx2,fy2,fhdg2;
+    GetCoords(s_check-0.05,fx1,fy1,fhdg1);
+    GetCoords(s_check+0.05,fx2,fy2,fhdg2);
+    if(fhdg1 == fhdg2)
+    {
+        return 0.0;
+    }
+    double fhdgdiff = fabs(fhdg2 - fhdg1);
+    while(fhdgdiff>=2.0*M_PI)fhdgdiff = fhdgdiff - 2.0*M_PI;
+
+    if(fhdgdiff > M_PI)fhdgdiff = 2.0 * M_PI - fhdgdiff;
+    double fcurv = fhdgdiff/0.1;
+    return fcurv;
+}
 
 //-------------------------------------------------
 
@@ -782,6 +820,52 @@ void GeometryPoly3::GetCoords(double s_check, double &retX, double &retY, double
 
     }
 }
+
+double GeometryPoly3::GetRoadCurvature(double s_check)
+{
+    double currentLength = s_check - mS;
+    if(currentLength<0)return 0.0;
+    if(currentLength>mLength)return 0.0;
+
+    if(mLength < 0.1)return 0.0;
+    double fmove1;
+    double fmove2;
+    if(currentLength<0.05)
+    {
+        fmove1 = 0;
+        fmove2 = 0.05;
+    }
+    else
+    {
+        if(currentLength>(mLength-0.05))
+        {
+            fmove1 = -0.05;
+            fmove2 = 0.0;
+        }
+        else
+        {
+            fmove1 = -0.05;
+            fmove2 = 0.05;
+        }
+    }
+
+
+    double fx1,fy1,fhdg1;
+    double fx2,fy2,fhdg2;
+    GetCoords(s_check+fmove1,fx1,fy1,fhdg1);
+    GetCoords(s_check+fmove2,fx2,fy2,fhdg2);
+    if(fhdg1 == fhdg2)
+    {
+        return 0.0;
+    }
+    double fhdgdiff = fabs(fhdg2 - fhdg1);
+    while(fhdgdiff>=2.0*M_PI)fhdgdiff = fhdgdiff - 2.0*M_PI;
+
+    if(fhdgdiff > M_PI)fhdgdiff = 2.0 * M_PI - fhdgdiff;
+    double fcurv = fhdgdiff/0.1;
+    return fcurv;
+}
+
 //***********************************************************************************
 //Cubic Polynom geometry. Has to be implemented.  Added By Yuchuli
 //***********************************************************************************
@@ -945,6 +1029,52 @@ void GeometryParamPoly3::GetCoords(double s_check, double &retX, double &retY, d
     }
 }
 
+
+double GeometryParamPoly3::GetRoadCurvature(double s_check)
+{
+    double currentLength = s_check - mS;
+    if(currentLength<0)return 0.0;
+    if(currentLength>mLength)return 0.0;
+
+    if(mLength < 0.1)return 0.0;
+    double fmove1;
+    double fmove2;
+    if(currentLength<0.05)
+    {
+        fmove1 = 0;
+        fmove2 = 0.05;
+    }
+    else
+    {
+        if(currentLength>(mLength-0.05))
+        {
+            fmove1 = -0.05;
+            fmove2 = 0.0;
+        }
+        else
+        {
+            fmove1 = -0.05;
+            fmove2 = 0.05;
+        }
+    }
+
+
+    double fx1,fy1,fhdg1;
+    double fx2,fy2,fhdg2;
+    GetCoords(s_check+fmove1,fx1,fy1,fhdg1);
+    GetCoords(s_check+fmove2,fx2,fy2,fhdg2);
+    if(fhdg1 == fhdg2)
+    {
+        return 0.0;
+    }
+    double fhdgdiff = fabs(fhdg2 - fhdg1);
+    while(fhdgdiff>=2.0*M_PI)fhdgdiff = fhdgdiff - 2.0*M_PI;
+
+    if(fhdgdiff > M_PI)fhdgdiff = 2.0 * M_PI - fhdgdiff;
+    double fcurv = fhdgdiff/0.1;
+    return fcurv;
+}
+
 //***********************************************************************************
 //Base class for Geometry blocks
 //***********************************************************************************
@@ -1198,6 +1328,22 @@ short int  GeometryBlock::GetCoords(double s_check, double &retX, double &retY,
 
 }
 
+double GeometryBlock::GetRoadCurvature(double s_check)
+{
+    // go through all the elements
+    for (unsigned int i=0;i<mGeometryBlockElement.size();i++)
+    {
+        //if the s_check belongs to one of the geometries
+        if (mGeometryBlockElement.at(i)->CheckInterval(s_check))
+        {
+            //get the x,y coords and return the type of the geometry
+            return mGeometryBlockElement.at(i)->GetRoadCurvature(s_check);
+        }
+    }
+    //if nothing found, return -999
+    return -1.0;
+}
+
 //-------------------------------------------------
 /**
  *  Destructor

+ 8 - 0
src/common/common/xodr/OpenDrive/RoadGeometry.h

@@ -99,6 +99,7 @@ public:
 	virtual bool CheckInterval (double s_check);
 	virtual void GetCoords(double s_check, double &retX, double &retY);
 	virtual void GetCoords(double s_check, double &retX, double &retY, double &retHDG);
+    virtual double GetRoadCurvature(double s_check);
 protected:
 
 	/**
@@ -140,6 +141,8 @@ public:
 	 */
 	void GetCoords(double s_check, double &retX, double &retY, double &retHDG);
 
+    double GetRoadCurvature(double s_check);
+
 };
 //----------------------------------------------------------------------------------
 /**
@@ -197,6 +200,7 @@ public:
 	 * Gets the coordinates at the sample S offset
 	 */
 	void GetCoords(double s_check, double &retX, double &retY, double &retHDG);
+    double GetRoadCurvature(double s_check);
 protected:
 
 	/**
@@ -268,6 +272,7 @@ public:
 	 * Gets the coordinates at the sample S offset
 	 */
 	void GetCoords(double s_check, double &retX, double &retY, double &retHDG);
+    double GetRoadCurvature(double s_check);
 protected:
 
 	/**
@@ -321,6 +326,7 @@ public:
     double GetD();
 
     void GetCoords(double s_check, double &retX, double &retY, double &retHDG);
+    double GetRoadCurvature(double s_check);
 
 };
 
@@ -382,6 +388,7 @@ public:
     bool GetNormal();
 
     void GetCoords(double s_check, double &retX, double &retY, double &retHDG);
+    double GetRoadCurvature(double s_check);
 };
 
 
@@ -463,6 +470,7 @@ public:
 	bool CheckInterval(double s_check);
 	virtual short int GetCoords(double s_check, double &retX, double &retY);
 	virtual short int GetCoords(double s_check, double &retX, double &retY, double &retHDG);
+    virtual double GetRoadCurvature(double s_check);
 
 	//-------------------------------------------------
 	/**

+ 35 - 0
src/common/common/xodr/OpenDrive/userData.cpp

@@ -45,3 +45,38 @@ bool RoadBorrow::CheckInterval(double s_check)
         return false;
 }
 
+////////////////////////////////////////////
+
+RoadNoavoid::RoadNoavoid(double s,double length)
+{
+    mS = s;
+    mlength = length;
+}
+
+void RoadNoavoid::SetS(double s)
+{
+    mS = s;
+}
+
+void RoadNoavoid::SetLength(double length)
+{
+    mlength = length;
+}
+
+double RoadNoavoid::GetS()
+{
+    return mS;
+}
+
+double RoadNoavoid::GetLength()
+{
+    return mlength;
+}
+
+bool RoadNoavoid::CheckInterval(double s_check)
+{
+    if (s_check>=mS)
+        return true;
+    else
+        return false;
+}

+ 17 - 0
src/common/common/xodr/OpenDrive/userData.h

@@ -26,4 +26,21 @@ public:
     bool CheckInterval(double s_check);
 };
 
+class RoadNoavoid
+{
+private:
+    double mS;
+    double mlength;
+public:
+    RoadNoavoid(double s,double length);
+
+    void SetS(double s);
+    void SetLength(double length);
+
+    double GetS();
+    double GetLength();
+
+    bool CheckInterval(double s_check);
+};
+
 #endif // USERDATA_H

+ 73 - 0
src/common/modulecomm/.gitignore

@@ -0,0 +1,73 @@
+# This file is used to ignore files which are generated
+# ----------------------------------------------------------------------------
+
+*~
+*.autosave
+*.a
+*.core
+*.moc
+*.o
+*.obj
+*.orig
+*.rej
+*.so
+*.so.*
+*_pch.h.cpp
+*_resource.rc
+*.qm
+.#*
+*.*#
+core
+!core/
+tags
+.DS_Store
+.directory
+*.debug
+Makefile*
+*.prl
+*.app
+moc_*.cpp
+ui_*.h
+qrc_*.cpp
+Thumbs.db
+*.res
+*.rc
+/.qmake.cache
+/.qmake.stash
+
+# qtcreator generated files
+*.pro.user*
+
+# xemacs temporary files
+*.flc
+
+# Vim temporary files
+.*.swp
+
+# Visual Studio generated files
+*.ib_pdb_index
+*.idb
+*.ilk
+*.pdb
+*.sln
+*.suo
+*.vcproj
+*vcproj.*.*.user
+*.ncb
+*.sdf
+*.opensdf
+*.vcxproj
+*vcxproj.*
+
+# MinGW generated files
+*.Debug
+*.Release
+
+# Python byte code
+*.pyc
+
+# Binaries
+# --------
+*.dll
+*.exe
+

+ 50 - 0
src/common/modulecomm/andmainwindow.cpp

@@ -0,0 +1,50 @@
+#include "andmainwindow.h"
+#include "ui_andmainwindow.h"
+
+AndMainWindow::AndMainWindow(QWidget *parent)
+    : QMainWindow(parent)
+    , ui(new Ui::AndMainWindow)
+{
+    ui->setupUi(this);
+
+#ifdef Module1
+    mpasend = iv::modulecomm::RegisterSend("testand1",1000,1,iv::modulecomm::ModuleComm_FASTRTPS_TCP,10001);
+    ModuleFun funcan = std::bind(&AndMainWindow::UpdateMsg,this,std::placeholders::_1,std::placeholders::_2,std::placeholders::_3,std::placeholders::_4,std::placeholders::_5);
+    mparecv = iv::modulecomm::RegisterRecvPlus("testand2",funcan,iv::modulecomm::ModuleComm_FASTRTPS_TCP,"0.0.0.0",10001);
+#endif
+
+#ifdef Module2
+    mpasend = iv::modulecomm::RegisterSend("testand2",1000,1,iv::modulecomm::ModuleComm_FASTRTPS);
+    ModuleFun funcan = std::bind(&AndMainWindow::UpdateMsg,this,std::placeholders::_1,std::placeholders::_2,std::placeholders::_3,std::placeholders::_4,std::placeholders::_5);
+    mparecv = iv::modulecomm::RegisterRecvPlus("testand1",funcan);
+#endif
+
+    connect(this,SIGNAL(newmsg(char*)),this,SLOT(onnewmsg(char*)));
+
+}
+
+AndMainWindow::~AndMainWindow()
+{
+    delete ui;
+}
+
+
+void AndMainWindow::on_pushButton_clicked()
+{
+    QString str = ui->lineEdit_sendvalue->text();
+    iv::modulecomm::ModuleSendMsg(mpasend,str.toLatin1().data(),str.length());
+
+}
+
+void AndMainWindow::onnewmsg(char *strmsg)
+{
+    ui->lineEdit_recvvalue->setText(strmsg);
+}
+
+void AndMainWindow::UpdateMsg(const char *strdata, const unsigned int nSize, const unsigned int index, const QDateTime *dt, const char *strmemname)
+{
+    char * strvalue = new char[nSize+1];
+    strvalue[nSize] = 0;
+    memcpy(strvalue,strdata,nSize);
+    emit newmsg(strvalue);
+}

+ 37 - 0
src/common/modulecomm/andmainwindow.h

@@ -0,0 +1,37 @@
+#ifndef ANDMAINWINDOW_H
+#define ANDMAINWINDOW_H
+
+#include <QMainWindow>
+
+#include "modulecomm.h"
+
+QT_BEGIN_NAMESPACE
+namespace Ui { class AndMainWindow; }
+QT_END_NAMESPACE
+
+class AndMainWindow : public QMainWindow
+{
+    Q_OBJECT
+
+public:
+    AndMainWindow(QWidget *parent = nullptr);
+    ~AndMainWindow();
+
+private slots:
+    void on_pushButton_clicked();
+
+    void onnewmsg(char * strmsg);
+
+signals:
+    void newmsg(char * strmsg);
+
+private:
+    Ui::AndMainWindow *ui;
+
+    void * mpasend;
+    void * mparecv;
+
+private:
+    void UpdateMsg(const char *strdata, const unsigned int nSize, const unsigned int index, const QDateTime *dt, const char *strmemname);
+};
+#endif // ANDMAINWINDOW_H

+ 65 - 0
src/common/modulecomm/andmainwindow.ui

@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>AndMainWindow</class>
+ <widget class="QMainWindow" name="AndMainWindow">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>800</width>
+    <height>600</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>AndMainWindow</string>
+  </property>
+  <widget class="QWidget" name="centralwidget">
+   <widget class="QPushButton" name="pushButton">
+    <property name="geometry">
+     <rect>
+      <x>420</x>
+      <y>60</y>
+      <width>191</width>
+      <height>71</height>
+     </rect>
+    </property>
+    <property name="text">
+     <string>Send</string>
+    </property>
+   </widget>
+   <widget class="QLineEdit" name="lineEdit_sendvalue">
+    <property name="geometry">
+     <rect>
+      <x>100</x>
+      <y>50</y>
+      <width>261</width>
+      <height>81</height>
+     </rect>
+    </property>
+   </widget>
+   <widget class="QLineEdit" name="lineEdit_recvvalue">
+    <property name="geometry">
+     <rect>
+      <x>100</x>
+      <y>210</y>
+      <width>271</width>
+      <height>91</height>
+     </rect>
+    </property>
+   </widget>
+  </widget>
+  <widget class="QMenuBar" name="menubar">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>800</width>
+     <height>28</height>
+    </rect>
+   </property>
+  </widget>
+  <widget class="QStatusBar" name="statusbar"/>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>

+ 90 - 0
src/common/modulecomm/android/AndroidManifest.xml

@@ -0,0 +1,90 @@
+<?xml version="1.0"?>
+<manifest package="adc.iv.testmodulecomm_android" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:installLocation="auto">
+    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
+
+    <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
+         Remove the comment if you do not require these default permissions. -->
+    <!-- %%INSERT_PERMISSIONS -->
+
+    <!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
+         Remove the comment if you do not require these default features. -->
+    <!-- %%INSERT_FEATURES -->
+
+    <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
+
+    <application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --">
+        <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt5.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTop">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN"/>
+                <category android:name="android.intent.category.LAUNCHER"/>
+            </intent-filter>
+
+            <!-- Application arguments -->
+            <!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
+            <!-- Application arguments -->
+
+            <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
+            <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
+            <meta-data android:name="android.app.repository" android:value="default"/>
+            <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
+            <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
+            <!-- Deploy Qt libs as part of package -->
+            <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
+            <meta-data android:name="android.app.bundled_in_lib_resource_id" android:resource="@array/bundled_in_lib"/>
+            <meta-data android:name="android.app.bundled_in_assets_resource_id" android:resource="@array/bundled_in_assets"/>
+            <!-- Run with local libs -->
+            <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
+            <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
+            <meta-data android:name="android.app.load_local_libs" android:value="-- %%INSERT_LOCAL_LIBS%% --"/>
+            <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
+            <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
+            <!-- Used to specify custom system library path to run with local system libs -->
+            <!-- <meta-data android:name="android.app.system_libs_prefix" android:value="/system/lib/"/> -->
+            <!--  Messages maps -->
+            <meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
+            <meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
+            <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
+            <meta-data android:value="@string/unsupported_android_version" android:name="android.app.unsupported_android_version"/>
+            <!--  Messages maps -->
+
+            <!-- Splash screen -->
+            <!-- Orientation-specific (portrait/landscape) data is checked first. If not available for current orientation,
+                 then android.app.splash_screen_drawable. For best results, use together with splash_screen_sticky and
+                 use hideSplashScreen() with a fade-out animation from Qt Android Extras to hide the splash screen when you
+                 are done populating your window with content. -->
+            <!-- meta-data android:name="android.app.splash_screen_drawable_portrait" android:resource="@drawable/logo_portrait" / -->
+            <!-- meta-data android:name="android.app.splash_screen_drawable_landscape" android:resource="@drawable/logo_landscape" / -->
+            <!-- meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/ -->
+            <!-- meta-data android:name="android.app.splash_screen_sticky" android:value="true"/ -->
+            <!-- Splash screen -->
+
+            <!-- Background running -->
+            <!-- Warning: changing this value to true may cause unexpected crashes if the
+                          application still try to draw after
+                          "applicationStateChanged(Qt::ApplicationSuspended)"
+                          signal is sent! -->
+            <meta-data android:name="android.app.background_running" android:value="false"/>
+            <!-- Background running -->
+
+            <!-- auto screen scale factor -->
+            <meta-data android:name="android.app.auto_screen_scale_factor" android:value="false"/>
+            <!-- auto screen scale factor -->
+
+            <!-- extract android style -->
+            <!-- available android:values :
+                * default - In most cases this will be the same as "full", but it can also be something else if needed, e.g., for compatibility reasons
+                * full - useful QWidget & Quick Controls 1 apps
+                * minimal - useful for Quick Controls 2 apps, it is much faster than "full"
+                * none - useful for apps that don't use any of the above Qt modules
+                -->
+            <meta-data android:name="android.app.extract_android_style" android:value="default"/>
+            <!-- extract android style -->
+    </activity>
+
+    <!-- For adding service(s) please check: https://wiki.qt.io/AndroidServices -->
+
+    </application>
+
+<uses-permission android:name="android.permission.INTERNET"/>
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
+</manifest>

+ 57 - 0
src/common/modulecomm/android/build.gradle

@@ -0,0 +1,57 @@
+buildscript {
+    repositories {
+        google()
+        jcenter()
+    }
+
+    dependencies {
+        classpath 'com.android.tools.build:gradle:3.2.0'
+    }
+}
+
+repositories {
+    google()
+    jcenter()
+}
+
+apply plugin: 'com.android.application'
+
+dependencies {
+    implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
+}
+
+android {
+    /*******************************************************
+     * The following variables:
+     * - androidBuildToolsVersion,
+     * - androidCompileSdkVersion
+     * - qt5AndroidDir - holds the path to qt android files
+     *                   needed to build any Qt application
+     *                   on Android.
+     *
+     * are defined in gradle.properties file. This file is
+     * updated by QtCreator and androiddeployqt tools.
+     * Changing them manually might break the compilation!
+     *******************************************************/
+
+    compileSdkVersion androidCompileSdkVersion.toInteger()
+
+    buildToolsVersion '28.0.3'
+
+    sourceSets {
+        main {
+            manifest.srcFile 'AndroidManifest.xml'
+            java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java']
+            aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl']
+            res.srcDirs = [qt5AndroidDir + '/res', 'res']
+            resources.srcDirs = ['src']
+            renderscript.srcDirs = ['src']
+            assets.srcDirs = ['assets']
+            jniLibs.srcDirs = ['libs']
+       }
+    }
+
+    lintOptions {
+        abortOnError false
+    }
+}

BIN
src/common/modulecomm/android/gradle/wrapper/gradle-wrapper.jar


+ 5 - 0
src/common/modulecomm/android/gradle/wrapper/gradle-wrapper.properties

@@ -0,0 +1,5 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-bin.zip
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists

+ 172 - 0
src/common/modulecomm/android/gradlew

@@ -0,0 +1,172 @@
+#!/usr/bin/env sh
+
+##############################################################################
+##
+##  Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+    ls=`ls -ld "$PRG"`
+    link=`expr "$ls" : '.*-> \(.*\)$'`
+    if expr "$link" : '/.*' > /dev/null; then
+        PRG="$link"
+    else
+        PRG=`dirname "$PRG"`"/$link"
+    fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+    echo "$*"
+}
+
+die () {
+    echo
+    echo "$*"
+    echo
+    exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+  CYGWIN* )
+    cygwin=true
+    ;;
+  Darwin* )
+    darwin=true
+    ;;
+  MINGW* )
+    msys=true
+    ;;
+  NONSTOP* )
+    nonstop=true
+    ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+        # IBM's JDK on AIX uses strange locations for the executables
+        JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+        JAVACMD="$JAVA_HOME/bin/java"
+    fi
+    if [ ! -x "$JAVACMD" ] ; then
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+else
+    JAVACMD="java"
+    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+    MAX_FD_LIMIT=`ulimit -H -n`
+    if [ $? -eq 0 ] ; then
+        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+            MAX_FD="$MAX_FD_LIMIT"
+        fi
+        ulimit -n $MAX_FD
+        if [ $? -ne 0 ] ; then
+            warn "Could not set maximum file descriptor limit: $MAX_FD"
+        fi
+    else
+        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+    fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+    JAVACMD=`cygpath --unix "$JAVACMD"`
+
+    # We build the pattern for arguments to be converted via cygpath
+    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+    SEP=""
+    for dir in $ROOTDIRSRAW ; do
+        ROOTDIRS="$ROOTDIRS$SEP$dir"
+        SEP="|"
+    done
+    OURCYGPATTERN="(^($ROOTDIRS))"
+    # Add a user-defined pattern to the cygpath arguments
+    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+    fi
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
+    i=0
+    for arg in "$@" ; do
+        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
+
+        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
+            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+        else
+            eval `echo args$i`="\"$arg\""
+        fi
+        i=$((i+1))
+    done
+    case $i in
+        (0) set -- ;;
+        (1) set -- "$args0" ;;
+        (2) set -- "$args0" "$args1" ;;
+        (3) set -- "$args0" "$args1" "$args2" ;;
+        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+    esac
+fi
+
+# Escape application args
+save () {
+    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+    echo " "
+}
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
+if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
+  cd "$(dirname "$0")"
+fi
+
+exec "$JAVACMD" "$@"

+ 84 - 0
src/common/modulecomm/android/gradlew.bat

@@ -0,0 +1,84 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem  Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windows variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega

+ 25 - 0
src/common/modulecomm/android/res/values/libs.xml

@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding='utf-8'?>
+<resources>
+    <array name="qt_sources">
+        <item>https://download.qt.io/ministro/android/qt5/qt-5.9</item>
+    </array>
+
+    <!-- The following is handled automatically by the deployment tool. It should
+         not be edited manually. -->
+
+    <array name="bundled_libs">
+        <!-- %%INSERT_EXTRA_LIBS%% -->
+    </array>
+
+     <array name="qt_libs">
+         <!-- %%INSERT_QT_LIBS%% -->
+     </array>
+
+    <array name="bundled_in_lib">
+        <!-- %%INSERT_BUNDLED_IN_LIB%% -->
+    </array>
+    <array name="bundled_in_assets">
+        <!-- %%INSERT_BUNDLED_IN_ASSETS%% -->
+    </array>
+
+</resources>

+ 327 - 0
src/common/modulecomm/fastrtps/Topics.cxx

@@ -0,0 +1,327 @@
+// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+/*!
+ * @file Topics.cpp
+ * This source file contains the definition of the described types in the IDL file.
+ *
+ * This file was generated by the tool gen.
+ */
+
+#ifdef USE_FASTRTPS
+
+#ifdef _WIN32
+// Remove linker warning LNK4221 on Visual Studio
+namespace { char dummy; }
+#endif
+
+
+
+#include "Topics.h"
+#include <fastcdr/Cdr.h>
+
+#include <fastcdr/exceptions/BadParamException.h>
+using namespace eprosima::fastcdr::exception;
+
+#include <utility>
+
+
+TopicSample::Message::Message()
+{
+    // m_msgname com.eprosima.idl.parser.typecode.StringTypeCode@76329302
+    m_msgname ="";
+    // m_counter com.eprosima.idl.parser.typecode.PrimitiveTypeCode@5e25a92e
+    m_counter = 0;
+    // m_sendtime com.eprosima.idl.parser.typecode.PrimitiveTypeCode@4df828d7
+    m_sendtime = 0;
+    // m_xdata com.eprosima.idl.parser.typecode.AliasTypeCode@b59d31
+
+    m_xdata.push_back(1);
+    m_xdata.push_back(2);
+
+
+}
+
+TopicSample::Message::~Message()
+{
+
+
+
+
+}
+
+TopicSample::Message::Message(const Message &x)
+{
+    m_msgname = x.m_msgname;
+    m_counter = x.m_counter;
+    m_sendtime = x.m_sendtime;
+    m_xdata = x.m_xdata;
+}
+
+TopicSample::Message::Message(Message &&x)
+{
+    m_msgname = std::move(x.m_msgname);
+    m_counter = x.m_counter;
+    m_sendtime = x.m_sendtime;
+    m_xdata = std::move(x.m_xdata);
+}
+
+TopicSample::Message& TopicSample::Message::operator=(const Message &x)
+{
+
+    m_msgname = x.m_msgname;
+    m_counter = x.m_counter;
+    m_sendtime = x.m_sendtime;
+    m_xdata = x.m_xdata;
+
+    return *this;
+}
+
+TopicSample::Message& TopicSample::Message::operator=(Message &&x)
+{
+
+    m_msgname = std::move(x.m_msgname);
+    m_counter = x.m_counter;
+    m_sendtime = x.m_sendtime;
+    m_xdata = std::move(x.m_xdata);
+
+    return *this;
+}
+
+size_t TopicSample::Message::getMaxCdrSerializedSize(size_t current_alignment)
+{
+    size_t initial_alignment = current_alignment;
+
+
+    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4) + 255 + 1;
+
+    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);
+
+
+    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);
+
+
+    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);
+
+    current_alignment += (100 * 1) + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);
+
+
+
+    return 10000000;
+//    return current_alignment - initial_alignment;
+}
+
+size_t TopicSample::Message::getCdrSerializedSize(const TopicSample::Message& data, size_t current_alignment)
+{
+    (void)data;
+    size_t initial_alignment = current_alignment;
+
+
+    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4) + data.msgname().size() + 1;
+
+    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);
+
+
+    current_alignment += 8 + eprosima::fastcdr::Cdr::alignment(current_alignment, 8);
+
+
+    current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4);
+
+    if (data.xdata().size() > 0)
+    {
+        current_alignment += (data.xdata().size() * 1) + eprosima::fastcdr::Cdr::alignment(current_alignment, 1);
+    }
+
+
+
+
+    return current_alignment - initial_alignment;
+}
+
+void TopicSample::Message::serialize(eprosima::fastcdr::Cdr &scdr) const
+{
+
+    scdr << m_msgname;
+    scdr << m_counter;
+    scdr << m_sendtime;
+    scdr << m_xdata;
+
+//    std::cout<<"serialize."<<std::endl;
+}
+
+void TopicSample::Message::deserialize(eprosima::fastcdr::Cdr &dcdr)
+{
+
+    dcdr >> m_msgname;
+    dcdr >> m_counter;
+    dcdr >> m_sendtime;
+    dcdr >> m_xdata;
+}
+
+/*!
+ * @brief This function copies the value in member msgname
+ * @param _msgname New value to be copied in member msgname
+ */
+void TopicSample::Message::msgname(const std::string &_msgname)
+{
+m_msgname = _msgname;
+}
+
+/*!
+ * @brief This function moves the value in member msgname
+ * @param _msgname New value to be moved in member msgname
+ */
+void TopicSample::Message::msgname(std::string &&_msgname)
+{
+m_msgname = std::move(_msgname);
+}
+
+/*!
+ * @brief This function returns a constant reference to member msgname
+ * @return Constant reference to member msgname
+ */
+const std::string& TopicSample::Message::msgname() const
+{
+    return m_msgname;
+}
+
+/*!
+ * @brief This function returns a reference to member msgname
+ * @return Reference to member msgname
+ */
+std::string& TopicSample::Message::msgname()
+{
+    return m_msgname;
+}
+/*!
+ * @brief This function sets a value in member counter
+ * @param _counter New value for member counter
+ */
+void TopicSample::Message::counter(int32_t _counter)
+{
+m_counter = _counter;
+}
+
+/*!
+ * @brief This function returns the value of member counter
+ * @return Value of member counter
+ */
+int32_t TopicSample::Message::counter() const
+{
+    return m_counter;
+}
+
+/*!
+ * @brief This function returns a reference to member counter
+ * @return Reference to member counter
+ */
+int32_t& TopicSample::Message::counter()
+{
+    return m_counter;
+}
+
+/*!
+ * @brief This function sets a value in member sendtime
+ * @param _sendtime New value for member sendtime
+ */
+void TopicSample::Message::sendtime(int64_t _sendtime)
+{
+m_sendtime = _sendtime;
+}
+
+/*!
+ * @brief This function returns the value of member sendtime
+ * @return Value of member sendtime
+ */
+int64_t TopicSample::Message::sendtime() const
+{
+    return m_sendtime;
+}
+
+/*!
+ * @brief This function returns a reference to member sendtime
+ * @return Reference to member sendtime
+ */
+int64_t& TopicSample::Message::sendtime()
+{
+    return m_sendtime;
+}
+
+/*!
+ * @brief This function copies the value in member xdata
+ * @param _xdata New value to be copied in member xdata
+ */
+void TopicSample::Message::xdata(const TopicSample::SomeBytes &_xdata)
+{
+ //   return;
+  m_xdata = _xdata;
+//int i;
+//for(i=0;i<300;i++)
+//    m_xdata.push_back(_xdata.at(i));
+}
+
+/*!
+ * @brief This function moves the value in member xdata
+ * @param _xdata New value to be moved in member xdata
+ */
+void TopicSample::Message::xdata(TopicSample::SomeBytes &&_xdata)
+{
+m_xdata = std::move(_xdata);
+}
+
+/*!
+ * @brief This function returns a constant reference to member xdata
+ * @return Constant reference to member xdata
+ */
+const TopicSample::SomeBytes& TopicSample::Message::xdata() const
+{
+    return m_xdata;
+}
+
+/*!
+ * @brief This function returns a reference to member xdata
+ * @return Reference to member xdata
+ */
+TopicSample::SomeBytes& TopicSample::Message::xdata()
+{
+    return m_xdata;
+}
+
+size_t TopicSample::Message::getKeyMaxCdrSerializedSize(size_t current_alignment)
+{
+    size_t current_align = current_alignment;
+
+
+
+
+
+
+
+    return current_align;
+}
+
+bool TopicSample::Message::isKeyDefined()
+{
+   return false;
+}
+
+void TopicSample::Message::serializeKey(eprosima::fastcdr::Cdr &scdr) const
+{
+    (void) scdr;
+     
+     
+     
+     
+}
+#endif

+ 253 - 0
src/common/modulecomm/fastrtps/Topics.h

@@ -0,0 +1,253 @@
+// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+/*!
+ * @file Topics.h
+ * This header file contains the declaration of the described types in the IDL file.
+ *
+ * This file was generated by the tool gen.
+ */
+
+#ifndef _TOPICSAMPLE_TOPICS_H_
+#define _TOPICSAMPLE_TOPICS_H_
+
+// TODO Poner en el contexto.
+
+#include <stdint.h>
+#include <array>
+#include <string>
+#include <vector>
+#include <map>
+#include <bitset>
+
+#if defined(_WIN32)
+#if defined(EPROSIMA_USER_DLL_EXPORT)
+#define eProsima_user_DllExport __declspec( dllexport )
+#else
+#define eProsima_user_DllExport
+#endif
+#else
+#define eProsima_user_DllExport
+#endif
+
+#if defined(_WIN32)
+#if defined(EPROSIMA_USER_DLL_EXPORT)
+#if defined(Topics_SOURCE)
+#define Topics_DllAPI __declspec( dllexport )
+#else
+#define Topics_DllAPI __declspec( dllimport )
+#endif // Topics_SOURCE
+#else
+#define Topics_DllAPI
+#endif
+#else
+#define Topics_DllAPI
+#endif // _WIN32
+
+namespace eprosima
+{
+    namespace fastcdr
+    {
+        class Cdr;
+    }
+}
+
+
+namespace TopicSample
+{
+    typedef std::vector<uint8_t> SomeBytes;
+    /*!
+     * @brief This class represents the structure Message defined by the user in the IDL file.
+     * @ingroup TOPICS
+     */
+    class Message
+    {
+    public:
+
+        /*!
+         * @brief Default constructor.
+         */
+        eProsima_user_DllExport Message();
+
+        /*!
+         * @brief Default destructor.
+         */
+        eProsima_user_DllExport ~Message();
+
+        /*!
+         * @brief Copy constructor.
+         * @param x Reference to the object TopicSample::Message that will be copied.
+         */
+        eProsima_user_DllExport Message(const Message &x);
+
+        /*!
+         * @brief Move constructor.
+         * @param x Reference to the object TopicSample::Message that will be copied.
+         */
+        eProsima_user_DllExport Message(Message &&x);
+
+        /*!
+         * @brief Copy assignment.
+         * @param x Reference to the object TopicSample::Message that will be copied.
+         */
+        eProsima_user_DllExport Message& operator=(const Message &x);
+
+        /*!
+         * @brief Move assignment.
+         * @param x Reference to the object TopicSample::Message that will be copied.
+         */
+        eProsima_user_DllExport Message& operator=(Message &&x);
+
+        /*!
+         * @brief This function copies the value in member msgname
+         * @param _msgname New value to be copied in member msgname
+         */
+        eProsima_user_DllExport void msgname(const std::string &_msgname);
+
+        /*!
+         * @brief This function moves the value in member msgname
+         * @param _msgname New value to be moved in member msgname
+         */
+        eProsima_user_DllExport void msgname(std::string &&_msgname);
+
+        /*!
+         * @brief This function returns a constant reference to member msgname
+         * @return Constant reference to member msgname
+         */
+        eProsima_user_DllExport const std::string& msgname() const;
+
+        /*!
+         * @brief This function returns a reference to member msgname
+         * @return Reference to member msgname
+         */
+        eProsima_user_DllExport std::string& msgname();
+        /*!
+         * @brief This function sets a value in member counter
+         * @param _counter New value for member counter
+         */
+        eProsima_user_DllExport void counter(int32_t _counter);
+
+        /*!
+         * @brief This function returns the value of member counter
+         * @return Value of member counter
+         */
+        eProsima_user_DllExport int32_t counter() const;
+
+        /*!
+         * @brief This function returns a reference to member counter
+         * @return Reference to member counter
+         */
+        eProsima_user_DllExport int32_t& counter();
+
+        /*!
+         * @brief This function sets a value in member sendtime
+         * @param _sendtime New value for member sendtime
+         */
+        eProsima_user_DllExport void sendtime(int64_t _sendtime);
+
+        /*!
+         * @brief This function returns the value of member sendtime
+         * @return Value of member sendtime
+         */
+        eProsima_user_DllExport int64_t sendtime() const;
+
+        /*!
+         * @brief This function returns a reference to member sendtime
+         * @return Reference to member sendtime
+         */
+        eProsima_user_DllExport int64_t& sendtime();
+
+        /*!
+         * @brief This function copies the value in member xdata
+         * @param _xdata New value to be copied in member xdata
+         */
+        eProsima_user_DllExport void xdata(const TopicSample::SomeBytes &_xdata);
+
+        /*!
+         * @brief This function moves the value in member xdata
+         * @param _xdata New value to be moved in member xdata
+         */
+        eProsima_user_DllExport void xdata(TopicSample::SomeBytes &&_xdata);
+
+        /*!
+         * @brief This function returns a constant reference to member xdata
+         * @return Constant reference to member xdata
+         */
+        eProsima_user_DllExport const TopicSample::SomeBytes& xdata() const;
+
+        /*!
+         * @brief This function returns a reference to member xdata
+         * @return Reference to member xdata
+         */
+        eProsima_user_DllExport TopicSample::SomeBytes& xdata();
+
+        /*!
+         * @brief This function returns the maximum serialized size of an object
+         * depending on the buffer alignment.
+         * @param current_alignment Buffer alignment.
+         * @return Maximum serialized size.
+         */
+        eProsima_user_DllExport static size_t getMaxCdrSerializedSize(size_t current_alignment = 0);
+
+        /*!
+         * @brief This function returns the serialized size of a data depending on the buffer alignment.
+         * @param data Data which is calculated its serialized size.
+         * @param current_alignment Buffer alignment.
+         * @return Serialized size.
+         */
+        eProsima_user_DllExport static size_t getCdrSerializedSize(const TopicSample::Message& data, size_t current_alignment = 0);
+
+
+        /*!
+         * @brief This function serializes an object using CDR serialization.
+         * @param cdr CDR serialization object.
+         */
+        eProsima_user_DllExport void serialize(eprosima::fastcdr::Cdr &cdr) const;
+
+        /*!
+         * @brief This function deserializes an object using CDR serialization.
+         * @param cdr CDR serialization object.
+         */
+        eProsima_user_DllExport void deserialize(eprosima::fastcdr::Cdr &cdr);
+
+
+
+        /*!
+         * @brief This function returns the maximum serialized size of the Key of an object
+         * depending on the buffer alignment.
+         * @param current_alignment Buffer alignment.
+         * @return Maximum serialized size.
+         */
+        eProsima_user_DllExport static size_t getKeyMaxCdrSerializedSize(size_t current_alignment = 0);
+
+        /*!
+         * @brief This function tells you if the Key has been defined for this type
+         */
+        eProsima_user_DllExport static bool isKeyDefined();
+
+        /*!
+         * @brief This function serializes the key members of an object using CDR serialization.
+         * @param cdr CDR serialization object.
+         */
+        eProsima_user_DllExport void serializeKey(eprosima::fastcdr::Cdr &cdr) const;
+
+    private:
+        std::string m_msgname;
+        int32_t m_counter;
+        int64_t m_sendtime;
+        TopicSample::SomeBytes m_xdata;
+    };
+}
+
+#endif // _TOPICSAMPLE_TOPICS_H_

+ 13 - 0
src/common/modulecomm/fastrtps/Topics.idl

@@ -0,0 +1,13 @@
+module TopicSample {
+
+#pragma DCPS_DATA_TYPE "TopicSample::Message"
+
+typedef sequence<octet> SomeBytes;
+struct Message {
+  string msgname;
+  long counter;
+  long long sendtime;
+  SomeBytes   xdata;
+};
+
+};

+ 141 - 0
src/common/modulecomm/fastrtps/TopicsPubSubTypes.cxx

@@ -0,0 +1,141 @@
+// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+/*!
+ * @file TopicsPubSubTypes.cpp
+ * This header file contains the implementation of the serialization functions.
+ *
+ * This file was generated by the tool fastcdrgen.
+ */
+
+#ifdef USE_FASTRTPS
+
+#include <fastcdr/FastBuffer.h>
+#include <fastcdr/Cdr.h>
+
+#include "TopicsPubSubTypes.h"
+
+using namespace eprosima::fastrtps;
+using namespace eprosima::fastrtps::rtps;
+
+namespace TopicSample
+{
+
+    MessagePubSubType::MessagePubSubType()
+    {
+        setName("TopicSample::Message");
+        m_typeSize = static_cast<uint32_t>(Message::getMaxCdrSerializedSize()) + 4 /*encapsulation*/;
+        m_isGetKeyDefined = Message::isKeyDefined();
+        size_t keyLength = Message::getKeyMaxCdrSerializedSize()>16 ? Message::getKeyMaxCdrSerializedSize() : 16;
+        m_keyBuffer = reinterpret_cast<unsigned char*>(malloc(keyLength));
+        memset(m_keyBuffer, 0, keyLength);
+    }
+
+    MessagePubSubType::~MessagePubSubType()
+    {
+        if(m_keyBuffer!=nullptr)
+            free(m_keyBuffer);
+    }
+
+    bool MessagePubSubType::serialize(void *data, SerializedPayload_t *payload)
+    {
+        Message *p_type = static_cast<Message*>(data);
+        eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast<char*>(payload->data), payload->max_size); // Object that manages the raw buffer.
+        eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN,
+                eprosima::fastcdr::Cdr::DDS_CDR); // Object that serializes the data.
+        payload->encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE;
+        // Serialize encapsulation
+        ser.serialize_encapsulation();
+
+        try
+        {
+            p_type->serialize(ser); // Serialize the object:
+        }
+        catch(eprosima::fastcdr::exception::NotEnoughMemoryException& /*exception*/)
+        {
+            return false;
+        }
+
+        payload->length = static_cast<uint32_t>(ser.getSerializedDataLength()); //Get the serialized length
+        return true;
+    }
+
+    bool MessagePubSubType::deserialize(SerializedPayload_t* payload, void* data)
+    {
+        Message* p_type = static_cast<Message*>(data); //Convert DATA to pointer of your type
+        eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast<char*>(payload->data), payload->length); // Object that manages the raw buffer.
+        eprosima::fastcdr::Cdr deser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN,
+                eprosima::fastcdr::Cdr::DDS_CDR); // Object that deserializes the data.
+        // Deserialize encapsulation.
+        deser.read_encapsulation();
+        payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE;
+
+        try
+        {
+            p_type->deserialize(deser); //Deserialize the object:
+        }
+        catch(eprosima::fastcdr::exception::NotEnoughMemoryException& /*exception*/)
+        {
+            return false;
+        }
+
+        return true;
+    }
+
+    std::function<uint32_t()> MessagePubSubType::getSerializedSizeProvider(void* data)
+    {
+        return [data]() -> uint32_t
+        {
+            return static_cast<uint32_t>(type::getCdrSerializedSize(*static_cast<Message*>(data))) + 4 /*encapsulation*/;
+        };
+    }
+
+    void* MessagePubSubType::createData()
+    {
+        return reinterpret_cast<void*>(new Message());
+    }
+
+    void MessagePubSubType::deleteData(void* data)
+    {
+        delete(reinterpret_cast<Message*>(data));
+    }
+
+    bool MessagePubSubType::getKey(void *data, InstanceHandle_t* handle, bool force_md5)
+    {
+        if(!m_isGetKeyDefined)
+            return false;
+        Message* p_type = static_cast<Message*>(data);
+        eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast<char*>(m_keyBuffer),Message::getKeyMaxCdrSerializedSize());     // Object that manages the raw buffer.
+        eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS);     // Object that serializes the data.
+        p_type->serializeKey(ser);
+        if(force_md5 || Message::getKeyMaxCdrSerializedSize()>16)    {
+            m_md5.init();
+            m_md5.update(m_keyBuffer, static_cast<unsigned int>(ser.getSerializedDataLength()));
+            m_md5.finalize();
+            for(uint8_t i = 0;i<16;++i)        {
+                handle->value[i] = m_md5.digest[i];
+            }
+        }
+        else    {
+            for(uint8_t i = 0;i<16;++i)        {
+                handle->value[i] = m_keyBuffer[i];
+            }
+        }
+        return true;
+    }
+
+
+} //End of namespace TopicSample
+
+#endif

+ 61 - 0
src/common/modulecomm/fastrtps/TopicsPubSubTypes.h

@@ -0,0 +1,61 @@
+// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+/*!
+ * @file TopicsPubSubTypes.h
+ * This header file contains the declaration of the serialization functions.
+ *
+ * This file was generated by the tool fastcdrgen.
+ */
+
+
+#ifndef _TOPICSAMPLE_TOPICS_PUBSUBTYPES_H_
+#define _TOPICSAMPLE_TOPICS_PUBSUBTYPES_H_
+
+#include <fastrtps/config.h>
+#include <fastrtps/TopicDataType.h>
+
+#include "Topics.h"
+
+#if !defined(GEN_API_VER) || (GEN_API_VER != 1)
+#error Generated Topics is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
+#endif
+
+namespace TopicSample
+{
+    typedef std::vector<uint8_t> SomeBytes;
+    /*!
+     * @brief This class represents the TopicDataType of the type Message defined by the user in the IDL file.
+     * @ingroup TOPICS
+     */
+    class MessagePubSubType : public eprosima::fastrtps::TopicDataType {
+    public:
+        typedef Message type;
+
+        eProsima_user_DllExport MessagePubSubType();
+
+        eProsima_user_DllExport virtual ~MessagePubSubType();
+        eProsima_user_DllExport virtual bool serialize(void *data, eprosima::fastrtps::rtps::SerializedPayload_t *payload) override;
+        eProsima_user_DllExport virtual bool deserialize(eprosima::fastrtps::rtps::SerializedPayload_t *payload, void *data) override;
+        eProsima_user_DllExport virtual std::function<uint32_t()> getSerializedSizeProvider(void* data) override;
+        eProsima_user_DllExport virtual bool getKey(void *data, eprosima::fastrtps::rtps::InstanceHandle_t *ihandle,
+            bool force_md5 = false) override;
+        eProsima_user_DllExport virtual void* createData() override;
+        eProsima_user_DllExport virtual void deleteData(void * data) override;
+        MD5 m_md5;
+        unsigned char* m_keyBuffer;
+    };
+}
+
+#endif // _TOPICSAMPLE_TOPICS_PUBSUBTYPES_H_

+ 217 - 0
src/common/modulecomm/fastrtps/TopicsPublisher.cxx

@@ -0,0 +1,217 @@
+// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+/*!
+ * @file TopicsPublisher.cpp
+ * This file contains the implementation of the publisher functions.
+ *
+ * This file was generated by the tool fastcdrgen.
+ */
+
+#ifdef USE_FASTRTPS
+#include <fastrtps/participant/Participant.h>
+#include <fastrtps/attributes/ParticipantAttributes.h>
+#include <fastrtps/publisher/Publisher.h>
+#include <fastrtps/attributes/PublisherAttributes.h>
+
+#include <fastrtps/Domain.h>
+
+#include <fastrtps/participant/Participant.h>
+#include <fastrtps/attributes/ParticipantAttributes.h>
+#include <fastrtps/attributes/PublisherAttributes.h>
+#include <fastrtps/publisher/Publisher.h>
+#include <fastrtps/Domain.h>
+#include <fastdds/rtps/transport/shared_mem/SharedMemTransportDescriptor.h>
+#include <fastdds/rtps/transport/UDPv4TransportDescriptor.h>
+#include <fastdds/rtps/transport/TCPv4TransportDescriptor.h>
+
+#include <thread>
+#include <chrono>
+
+#include "TopicsPublisher.h"
+
+using namespace eprosima::fastrtps;
+using namespace eprosima::fastrtps::rtps;
+
+using namespace eprosima::fastdds::rtps;
+
+TopicsPublisher::TopicsPublisher() : mp_participant(nullptr), mp_publisher(nullptr) {}
+
+TopicsPublisher::~TopicsPublisher() {	Domain::removeParticipant(mp_participant);}
+
+bool TopicsPublisher::init(const char * strtopic,const unsigned short nListenPort,const int ntype )
+{
+    strncpy(mstrtopic,strtopic,255);
+    // Create RTPSParticipant
+
+    ParticipantAttributes PParam;
+    PParam.rtps.sendSocketBufferSize = 100000000;
+    PParam.rtps.setName("Participant_publisher");  //You can put here the name you want
+
+    PParam.rtps.builtin.discovery_config.discoveryProtocol = DiscoveryProtocol_t::SIMPLE;
+    PParam.rtps.builtin.discovery_config.use_SIMPLE_EndpointDiscoveryProtocol = true;
+    PParam.rtps.builtin.discovery_config.m_simpleEDP.use_PublicationReaderANDSubscriptionWriter = true;
+    PParam.rtps.builtin.discovery_config.m_simpleEDP.use_PublicationWriterANDSubscriptionReader = true;
+    PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
+
+    // SharedMem transport configuration
+    PParam.rtps.useBuiltinTransports = false;
+
+    if(ntype == 0)
+    {
+    auto shm_transport = std::make_shared<SharedMemTransportDescriptor>();
+    shm_transport->segment_size(100*1024*1024);
+    PParam.rtps.userTransports.push_back(shm_transport);
+
+    // UDP
+    auto udp_transport = std::make_shared<UDPv4TransportDescriptor>();
+    //udp_transport->interfaceWhiteList.push_back("127.0.0.1");
+    PParam.rtps.userTransports.push_back(udp_transport);
+
+
+    }
+    else
+    {
+        //Create a descriptor for the new transport.
+        auto tcp_transport = std::make_shared<TCPv4TransportDescriptor>();
+        tcp_transport->add_listener_port(nListenPort);
+        tcp_transport->set_WAN_address("0.0.0.0");
+
+        tcp_transport->wait_for_tcp_negotiation = false;
+        tcp_transport->sendBufferSize = 0;
+        tcp_transport->receiveBufferSize = 0;
+
+        PParam.rtps.userTransports.push_back(tcp_transport);
+    }
+    mp_participant = Domain::createParticipant(PParam);
+    if(mp_participant == nullptr)
+    {
+        return false;
+    }
+
+    //Register the type
+
+    Domain::registerType(mp_participant, static_cast<TopicDataType*>(&myType));
+
+    // Create Publisher
+
+    PublisherAttributes Wparam;
+    Wparam.topic.topicKind = NO_KEY;
+    Wparam.topic.topicDataType = myType.getName();  //This type MUST be registered
+    Wparam.topic.topicName = strtopic;//"TopicsPubSubTopic";
+
+    Wparam.topic.historyQos.depth = 30;
+    Wparam.topic.resourceLimitsQos.max_samples = 50;
+    Wparam.topic.resourceLimitsQos.allocated_samples = 20;
+    Wparam.times.heartbeatPeriod.seconds = 2;
+    Wparam.times.heartbeatPeriod.nanosec = 200 * 1000 * 1000;
+    Wparam.qos.m_reliability.kind = RELIABLE_RELIABILITY_QOS;
+    Wparam.qos.m_publishMode.kind = ASYNCHRONOUS_PUBLISH_MODE;
+
+    mp_publisher = Domain::createPublisher(mp_participant,Wparam,static_cast<PublisherListener*>(&m_listener));
+
+    if(mp_publisher == nullptr)
+    {
+        return false;
+    }
+
+    std::cout << "Publisher created, waiting for Subscribers." << std::endl;
+    return true;
+}
+
+void TopicsPublisher::PubListener::onPublicationMatched(Publisher* pub,MatchingInfo& info)
+{
+    (void)pub;
+
+    if (info.status == MATCHED_MATCHING)
+    {
+        n_matched++;
+        std::cout << "Publisher matched" << std::endl;
+    }
+    else
+    {
+        n_matched--;
+        std::cout << "Publisher unmatched" << std::endl;
+    }
+}
+
+void TopicsPublisher::run()
+{
+    while(m_listener.n_matched == 0)
+    {
+        std::this_thread::sleep_for(std::chrono::milliseconds(250)); // Sleep 250 ms
+    }
+
+    // Publication code
+
+    TopicSample::Message st;
+
+    /* Initialize your structure here */
+
+    int msgsent = 0;
+    char ch = 'y';
+    do
+    {
+        if(ch == 'y')
+        {
+            mp_publisher->write(&st);  ++msgsent;
+            std::cout << "Sending sample, count=" << msgsent << ", send another sample?(y-yes,n-stop): ";
+        }
+        else if(ch == 'n')
+        {
+            std::cout << "Stopping execution " << std::endl;
+            break;
+        }
+        else
+        {
+            std::cout << "Command " << ch << " not recognized, please enter \"y/n\":";
+        }
+    } while(std::cin >> ch);
+}
+
+#include <QDateTime>
+
+void TopicsPublisher::senddata(const char *str, int nsize)
+{
+
+
+    static int ncount = 1;
+    std::cout<<"send data."<<std::endl;
+//    while(m_listener.n_matched == 0)
+    TopicSample::SomeBytes x;
+    x.resize(nsize);
+    memcpy(x.data(),str,nsize);
+
+    TopicSample::Message st;
+
+    st.msgname(mstrtopic);
+//    st.msgname("topictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopictopic");
+    st.counter(ncount);ncount++;
+    st.sendtime(QDateTime::currentMSecsSinceEpoch());
+    TopicSample::SomeBytes & px = x;
+    st.xdata(x);
+
+    int ndatasize = TopicSample::Message::getCdrSerializedSize(st);
+
+    std::cout<<"size is "<<ndatasize<<std::endl;
+
+
+    mp_publisher->write(&st);
+
+
+
+}
+
+#endif
+

+ 56 - 0
src/common/modulecomm/fastrtps/TopicsPublisher.h

@@ -0,0 +1,56 @@
+// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+/*!
+ * @file TopicsPublisher.h
+ * This header file contains the declaration of the publisher functions.
+ *
+ * This file was generated by the tool fastcdrgen.
+ */
+
+
+#ifndef _TOPICSAMPLE_TOPICS_PUBLISHER_H_
+#define _TOPICSAMPLE_TOPICS_PUBLISHER_H_
+
+#include <fastrtps/fastrtps_fwd.h>
+#include <fastrtps/publisher/PublisherListener.h>
+
+#include "TopicsPubSubTypes.h"
+
+class TopicsPublisher
+{
+public:
+	TopicsPublisher();
+	virtual ~TopicsPublisher();
+    bool init(const char * strtopic,const unsigned short nListenPort = 5100,const int ntype = 0);
+	void run();
+    void senddata(const char *str, int nsize);
+private:
+	eprosima::fastrtps::Participant *mp_participant;
+	eprosima::fastrtps::Publisher *mp_publisher;
+
+    char mstrtopic[256];
+
+	class PubListener : public eprosima::fastrtps::PublisherListener
+	{
+	public:
+		PubListener() : n_matched(0){};
+		~PubListener(){};
+		void onPublicationMatched(eprosima::fastrtps::Publisher* pub,eprosima::fastrtps::rtps::MatchingInfo& info);
+		int n_matched;
+	} m_listener;
+	TopicSample::MessagePubSubType myType;
+};
+
+#endif // _TOPICSAMPLE_TOPICS_PUBLISHER_H_

+ 232 - 0
src/common/modulecomm/fastrtps/TopicsSubscriber.cxx

@@ -0,0 +1,232 @@
+// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+/*!
+ * @file TopicsSubscriber.cpp
+ * This file contains the implementation of the subscriber functions.
+ *
+ * This file was generated by the tool fastcdrgen.
+ */
+
+#ifdef USE_FASTRTPS
+
+#include <fastrtps/participant/Participant.h>
+#include <fastrtps/attributes/ParticipantAttributes.h>
+#include <fastrtps/subscriber/Subscriber.h>
+#include <fastrtps/attributes/SubscriberAttributes.h>
+
+#include <fastrtps/Domain.h>
+
+#include <fastcdr/FastBuffer.h>
+#include <fastcdr/FastCdr.h>
+#include <fastcdr/Cdr.h>
+
+#include <fastrtps/participant/Participant.h>
+#include <fastrtps/attributes/ParticipantAttributes.h>
+#include <fastrtps/attributes/PublisherAttributes.h>
+#include <fastrtps/publisher/Publisher.h>
+#include <fastrtps/Domain.h>
+#include <fastdds/rtps/transport/shared_mem/SharedMemTransportDescriptor.h>
+#include <fastdds/rtps/transport/UDPv4TransportDescriptor.h>
+#include <fastdds/rtps/transport/TCPv4TransportDescriptor.h>
+
+#include "TopicsSubscriber.h"
+
+using namespace eprosima::fastrtps;
+using namespace eprosima::fastrtps::rtps;
+
+using namespace eprosima::fastdds::rtps;
+
+
+
+
+#include <QDateTime>
+
+TopicsSubscriber::TopicsSubscriber() : mp_participant(nullptr), mp_subscriber(nullptr) {}
+
+TopicsSubscriber::~TopicsSubscriber() {	Domain::removeParticipant(mp_participant);}
+
+bool TopicsSubscriber::init(const char * strtopic,const char * strpubip,const unsigned short nPort,int ntype)
+{
+
+    strncpy(mstrtopic,strtopic,255);
+    // Create RTPSParticipant
+
+    ParticipantAttributes PParam;
+    PParam.rtps.setName("Participant_subscriber"); //You can put the name you want
+
+    PParam.rtps.builtin.discovery_config.discoveryProtocol = DiscoveryProtocol_t::SIMPLE;
+    PParam.rtps.builtin.discovery_config.use_SIMPLE_EndpointDiscoveryProtocol = true;
+    PParam.rtps.builtin.discovery_config.m_simpleEDP.use_PublicationReaderANDSubscriptionWriter = true;
+    PParam.rtps.builtin.discovery_config.m_simpleEDP.use_PublicationWriterANDSubscriptionReader = true;
+    PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
+
+    // SharedMem transport configuration
+    PParam.rtps.useBuiltinTransports = false;
+
+    if(ntype == 0)
+    {
+    auto sm_transport = std::make_shared<SharedMemTransportDescriptor>();
+    sm_transport->segment_size(100*1024*1024);
+    PParam.rtps.userTransports.push_back(sm_transport);
+
+    // UDP
+    auto udp_transport = std::make_shared<UDPv4TransportDescriptor>();
+    //udp_transport->interfaceWhiteList.push_back("127.0.0.1");
+    PParam.rtps.userTransports.push_back(udp_transport);
+    }
+    else
+    {
+        auto tcp2_transport = std::make_shared<TCPv4TransportDescriptor>();
+
+        //Set initial peers.
+        Locator_t initial_peer_locator;
+        initial_peer_locator.kind = LOCATOR_KIND_TCPv4;
+        IPLocator::setIPv4(initial_peer_locator, strpubip);
+        initial_peer_locator.port = nPort;
+        PParam.rtps.builtin.initialPeersList.push_back(initial_peer_locator);
+
+    //    PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
+    //    PParam.rtps.builtin.discovery_config.leaseDuration_announcementperiod = Duration_t(5, 0);
+    //    PParam.rtps.setName("Participant_sub");
+
+        tcp2_transport->wait_for_tcp_negotiation = false;
+        //Link the Transport Layer to the Participant.
+        PParam.rtps.userTransports.push_back(tcp2_transport);
+    }
+
+
+    mp_participant = Domain::createParticipant(PParam);
+    if(mp_participant == nullptr)
+    {
+        return false;
+    }
+
+    //Register the type
+
+    Domain::registerType(mp_participant, static_cast<TopicDataType*>(&myType));
+
+    // Create Subscriber
+
+    SubscriberAttributes Rparam;
+    Rparam.topic.topicKind = NO_KEY;
+    Rparam.topic.topicDataType = myType.getName(); //Must be registered before the creation of the subscriber
+    Rparam.topic.topicName = strtopic;//"TopicsPubSubTopic";
+
+    Rparam.topic.historyQos.depth = 30;
+    Rparam.topic.resourceLimitsQos.max_samples = 50;
+    Rparam.topic.resourceLimitsQos.allocated_samples = 20;
+
+    Rparam.qos.m_reliability.kind = RELIABLE_RELIABILITY_QOS;
+
+
+    mp_subscriber = Domain::createSubscriber(mp_participant,Rparam, static_cast<SubscriberListener*>(&m_listener));
+    if(mp_subscriber == nullptr)
+    {
+        return false;
+    }
+    return true;
+}
+
+void TopicsSubscriber::SubListener::onSubscriptionMatched(Subscriber* sub,MatchingInfo& info)
+{
+    (void)sub;
+
+    if (info.status == MATCHED_MATCHING)
+    {
+        n_matched++;
+        std::cout << "Subscriber matched" << std::endl;
+    }
+    else
+    {
+        n_matched--;
+        std::cout << "Subscriber unmatched" << std::endl;
+    }
+}
+
+
+void TopicsSubscriber::SubListener::setReceivedTopicFunction(ModuleFun xFun)
+{
+    mFun = xFun;
+    mbSetFun = true;
+}
+void TopicsSubscriber::SubListener::onNewDataMessage(Subscriber* sub)
+{
+    // Take data
+    TopicSample::Message st;
+    static int ncount = 0;
+
+    static int nmaxlatancy = 0;
+
+    std::cout<<"new msg"<<std::endl;
+
+
+//    char * strbuf = new char[1000000];
+//    eprosima::fastcdr::FastBuffer pbuf(strbuf,1000000);
+//    eprosima::fastcdr::Cdr * pxcdr;//
+//    pxcdr = new eprosima::fastcdr::Cdr(pbuf);
+
+//    if(sub->takeNextData(pxcdr, &m_info))
+//    {
+//        if(m_info.sampleKind == ALIVE)
+//        {
+//            // Print your structure data here.
+//            ++n_msg;
+//            std::cout << "Sample received, count=" << n_msg<<std::endl;
+//            st.deserialize(*pxcdr);
+
+//            std::cout<<" size is "<<TopicSample::Message::getCdrSerializedSize(st)<<std::endl;
+//        }
+//    }
+
+//    return;
+
+//    sub->get_first_untaken_info(&m_info);
+    std::cout<<"count is "<<sub->getUnreadCount()<<std::endl;
+
+    if(sub->takeNextData(&st, &m_info))
+    {
+        if(m_info.sampleKind == ALIVE)
+        {
+            // Print your structure data here.
+            ++n_msg;
+            ncount++;
+            std::cout << "Sample received, count=" << st.counter() <<" total: "<<ncount<<std::endl;
+            qint64 timex = QDateTime::currentMSecsSinceEpoch();
+            int nlatancy = (timex - st.sendtime());
+            if(nlatancy>nmaxlatancy)nmaxlatancy = nlatancy;
+            std::cout<<"  latency is "<<nlatancy<<" max: "<<nmaxlatancy<<std::endl;
+            std::cout<<" size is "<<st.xdata().size()<<std::endl;
+            QDateTime dt = QDateTime::fromMSecsSinceEpoch(st.sendtime());
+            if(mbSetFun) mFun((char *)(st.xdata().data()),st.xdata().size(),st.counter(),&dt,st.msgname().data());
+
+
+        }
+    }
+}
+
+void TopicsSubscriber::setReceivedTopicFunction(ModuleFun xFun)
+{
+    m_listener.setReceivedTopicFunction(xFun);
+}
+
+void TopicsSubscriber::run()
+{
+    std::cout << "Waiting for Data, press Enter to stop the Subscriber. "<<std::endl;
+    std::cin.ignore();
+    std::cout << "Shutting down the Subscriber." << std::endl;
+}
+
+#endif
+

+ 72 - 0
src/common/modulecomm/fastrtps/TopicsSubscriber.h

@@ -0,0 +1,72 @@
+// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+/*!
+ * @file TopicsSubscriber.h
+ * This header file contains the declaration of the subscriber functions.
+ *
+ * This file was generated by the tool fastcdrgen.
+ */
+
+
+#ifndef _TOPICSAMPLE_TOPICS_SUBSCRIBER_H_
+#define _TOPICSAMPLE_TOPICS_SUBSCRIBER_H_
+
+#include <fastrtps/fastrtps_fwd.h>
+#include <fastrtps/subscriber/SubscriberListener.h>
+#include <fastrtps/subscriber/SampleInfo.h>
+#include "TopicsPubSubTypes.h"
+
+
+#include <QDateTime>
+
+typedef std::function<void(const char * ,const unsigned int , const unsigned int , QDateTime * ,const char *)> ModuleFun;
+
+class TopicsSubscriber
+{
+public:
+	TopicsSubscriber();
+	virtual ~TopicsSubscriber();
+    bool init(const char * strtopic,const char * strpubip = 0,const unsigned short nPort = 5100,int ntype = 0);
+	void run();
+
+    void setReceivedTopicFunction(ModuleFun xFun);
+private:
+	eprosima::fastrtps::Participant *mp_participant;
+	eprosima::fastrtps::Subscriber *mp_subscriber;
+
+
+    char mstrtopic[256];
+
+	class SubListener : public eprosima::fastrtps::SubscriberListener
+	{
+	public:
+		SubListener() : n_matched(0),n_msg(0){};
+		~SubListener(){};
+		void onSubscriptionMatched(eprosima::fastrtps::Subscriber* sub,eprosima::fastrtps::rtps::MatchingInfo& info);
+		void onNewDataMessage(eprosima::fastrtps::Subscriber* sub);
+		eprosima::fastrtps::SampleInfo_t m_info;
+		int n_matched;
+		int n_msg;
+
+        void setReceivedTopicFunction(ModuleFun xFun);
+
+    private:
+        bool mbSetFun = false;
+        ModuleFun mFun;
+	} m_listener;
+	TopicSample::MessagePubSubType myType;
+};
+
+#endif // _TOPICSAMPLE_TOPICS_SUBSCRIBER_H_

+ 22 - 0
src/common/modulecomm/fastrtps/modulecomm_fastrtps.pri

@@ -0,0 +1,22 @@
+HEADERS += \
+    $$PWD/Topics.h \
+    $$PWD/TopicsPubSubTypes.h \
+    $$PWD/TopicsPublisher.h \
+    $$PWD/TopicsSubscriber.h \
+    $$PWD/modulecomm_fastrtps_shm.h \
+    $$PWD/modulecomm_fastrtps_tcp.h \
+    $$PWD/modulecomm_impl_shm.h \
+    $$PWD/modulecomm_impl_tcp.h
+
+SOURCES += \
+    $$PWD/Topics.cxx \
+    $$PWD/TopicsPubSubTypes.cxx \
+    $$PWD/TopicsPublisher.cxx \
+    $$PWD/TopicsSubscriber.cxx \
+    $$PWD/modulecomm_fastrtps_shm.cpp \
+    $$PWD/modulecomm_fastrtps_tcp.cpp \
+    $$PWD/modulecomm_impl_shm.cpp \
+    $$PWD/modulecomm_impl_tcp.cpp
+
+INCLUDEPATH += $$PWD/../../../../thirdpartylib/FastRTPS/include
+LIBS += -L$$PWD/../../../../thirdpartylib/FastRTPS/lib

+ 64 - 0
src/common/modulecomm/fastrtps/modulecomm_fastrtps_shm.cpp

@@ -0,0 +1,64 @@
+#ifdef USE_FASTRTPS
+#include "modulecomm_fastrtps_shm.h"
+
+#include "modulecomm_impl_shm.h"
+
+namespace  iv {
+
+
+modulecomm_fastrtps_shm::modulecomm_fastrtps_shm()
+{
+
+}
+
+void modulecomm_fastrtps_shm::RegisterSend(const char *strcommname, const unsigned int nBufSize, const unsigned int nMsgBufCount)
+{
+    modulecomm_impl_shm * pif = new modulecomm_impl_shm(strcommname,modulecomm_impl_shm::type_send);
+
+//    procsm_if * pif = new procsm_if(strcommname,nBufSize,nMsgBufCount,procsm::ModeWrite);
+    mpif = pif;
+}
+
+void modulecomm_fastrtps_shm::RegisterRecv(const char *strcommname, SMCallBack pCall)
+{
+    modulecomm_impl_shm * pif = new modulecomm_impl_shm(strcommname,modulecomm_impl_shm::type_recv);
+ //   procsm_if * pif = new procsm_if(strcommname,0,0,procsm::ModeRead);
+    pif->listenmsg(pCall);
+    mpif = pif;
+}
+
+void modulecomm_fastrtps_shm::RegisterRecvPlus(const char *strcommname, ModuleFun xFun)
+{
+    modulecomm_impl_shm * pif = new modulecomm_impl_shm(strcommname,modulecomm_impl_shm::type_recv);
+ //   procsm_if * pif = new procsm_if(strcommname,0,0,procsm::ModeRead);
+    pif->listenmsg(xFun);
+    mpif = pif;
+}
+
+void modulecomm_fastrtps_shm::ModuleSendMsg(const char *strdata, const unsigned int nDataLen)
+{
+    modulecomm_impl_shm * pif= (modulecomm_impl_shm *)mpif;
+ //   procsm_if * pif = (procsm_if *)pHandle;
+    pif->writemsg(strdata,nDataLen);
+}
+
+void modulecomm_fastrtps_shm::PauseComm()
+{
+
+}
+
+void modulecomm_fastrtps_shm::ContintuComm()
+{
+
+}
+
+void modulecomm_fastrtps_shm::Unregister()
+{
+    modulecomm_impl_shm * pif= (modulecomm_impl_shm *)mpif;
+//    procsm_if * pif = (procsm_if *)pHandle;
+    delete pif;
+}
+
+}
+
+#endif

+ 29 - 0
src/common/modulecomm/fastrtps/modulecomm_fastrtps_shm.h

@@ -0,0 +1,29 @@
+#ifndef MODULECOMM_FASTRTPS_SHM_H
+#define MODULECOMM_FASTRTPS_SHM_H
+
+#include "modulecomm_impl_shm.h"
+
+namespace iv {
+
+
+
+class modulecomm_fastrtps_shm
+{
+public:
+    modulecomm_fastrtps_shm();
+
+    void RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount);
+    void RegisterRecv(const char * strcommname,SMCallBack pCall);
+    void RegisterRecvPlus(const char * strcommname,ModuleFun xFun);
+    virtual void ModuleSendMsg(const char * strdata,const unsigned int nDataLen);
+    virtual void Unregister();
+    virtual void PauseComm();
+    virtual void ContintuComm();
+
+private:
+    void * mpif;
+};
+
+}
+
+#endif // MODULECOMM_FASTRTPS_SHM_H

+ 64 - 0
src/common/modulecomm/fastrtps/modulecomm_fastrtps_tcp.cpp

@@ -0,0 +1,64 @@
+#ifdef USE_FASTRTPS
+#include "modulecomm_fastrtps_tcp.h"
+
+#include "modulecomm_impl_tcp.h"
+
+namespace  iv {
+
+
+modulecomm_fastrtps_tcp::modulecomm_fastrtps_tcp()
+{
+
+}
+
+void modulecomm_fastrtps_tcp::RegisterSend(const char *strcommname, const unsigned int nBufSize, const unsigned int nMsgBufCount, unsigned int nListenPort)
+{
+    modulecomm_impl_tcp * pif = new modulecomm_impl_tcp(strcommname,modulecomm_impl_tcp::type_send,nListenPort);
+
+//    procsm_if * pif = new procsm_if(strcommname,nBufSize,nMsgBufCount,procsm::ModeWrite);
+    mpif = pif;
+}
+
+void modulecomm_fastrtps_tcp::RegisterRecv(const char *strcommname, SMCallBack pCall, const char *strpubip, unsigned int nListenPort)
+{
+    modulecomm_impl_tcp * pif = new modulecomm_impl_tcp(strcommname,modulecomm_impl_tcp::type_recv,nListenPort,strpubip);
+ //   procsm_if * pif = new procsm_if(strcommname,0,0,procsm::ModeRead);
+    pif->listenmsg(pCall);
+    mpif = pif;
+}
+
+void modulecomm_fastrtps_tcp::RegisterRecvPlus(const char *strcommname, ModuleFun xFun, const char *strpubip, unsigned int nListenPort)
+{
+    modulecomm_impl_tcp * pif = new modulecomm_impl_tcp(strcommname,modulecomm_impl_tcp::type_recv,nListenPort,strpubip);
+ //   procsm_if * pif = new procsm_if(strcommname,0,0,procsm::ModeRead);
+    pif->listenmsg(xFun);
+    mpif = pif;
+}
+
+void modulecomm_fastrtps_tcp::ContintuComm()
+{
+
+}
+
+void modulecomm_fastrtps_tcp::PauseComm()
+{
+
+}
+
+void modulecomm_fastrtps_tcp::ModuleSendMsg(const char *strdata, const unsigned int nDataLen)
+{
+    modulecomm_impl_tcp * pif= (modulecomm_impl_tcp *)mpif;
+ //   procsm_if * pif = (procsm_if *)pHandle;
+    pif->writemsg(strdata,nDataLen);
+}
+
+void modulecomm_fastrtps_tcp::Unregister()
+{
+    modulecomm_impl_tcp * pif= (modulecomm_impl_tcp *)mpif;
+//    procsm_if * pif = (procsm_if *)pHandle;
+    delete pif;
+
+}
+}
+
+#endif

+ 26 - 0
src/common/modulecomm/fastrtps/modulecomm_fastrtps_tcp.h

@@ -0,0 +1,26 @@
+#ifndef MODULECOMM_FASTRTPS_TCP_H
+#define MODULECOMM_FASTRTPS_TCP_H
+
+#include "modulecomm_impl_tcp.h"
+namespace  iv {
+
+
+class modulecomm_fastrtps_tcp
+{
+public:
+    modulecomm_fastrtps_tcp();
+    void RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount,unsigned int nListenPort);
+    void RegisterRecv(const char * strcommname,SMCallBack pCall,const char * strpubip,unsigned int nListenPort);
+    void RegisterRecvPlus(const char * strcommname,ModuleFun xFun,const char * strpubip,unsigned int nListenPort);
+    virtual void ModuleSendMsg(const char * strdata,const unsigned int nDataLen);
+    virtual void Unregister();
+    virtual void PauseComm();
+    virtual void ContintuComm();
+
+private:
+    void * mpif;
+};
+
+}
+
+#endif // MODULECOMM_FASTRTPS_TCP_H

+ 142 - 0
src/common/modulecomm/fastrtps/modulecomm_impl_shm.cpp

@@ -0,0 +1,142 @@
+#ifdef USE_FASTRTPS
+#include "modulecomm_impl_shm.h"
+
+#include <thread>
+#include <iostream>
+#include <QDateTime>
+
+#include <QMutex>
+#include <QFile>
+
+namespace iv {
+namespace modulecomm {
+static QMutex gmodulecomm_dds_Mutex;
+static int createcount = 0;
+}
+
+}
+
+
+void modulecomm_impl_shm::callbackTopic(const char * strdata,const unsigned int nSize,const unsigned int index, QDateTime * dt,const char * strmemname) {
+
+  if(mbFunPlus)
+  {
+      mFun(strdata,nSize,index,dt,strmemname);
+  }
+  else
+  {
+     (*mpCall)(strdata,nSize,index,dt,strmemname);
+  }
+}
+
+
+int modulecomm_impl_shm::GetTempConfPath(char *strpath)
+{
+    char strtmppath[256];
+    QDateTime dt = QDateTime::currentDateTime();
+    snprintf(strtmppath,256,"/tmp/adc_modulecomm_conf_%04d%02d%02d%02d%02d.ini",dt.date().year(),
+             dt.date().month(),dt.date().day(),dt.time().hour(),dt.time().minute());
+    QFile xFile;
+    xFile.setFileName(strtmppath);
+    char strtem[256];
+    char strdata[10000];
+    snprintf(strdata,10000,"");
+    if(!xFile.exists())
+    {
+        if(xFile.open(QIODevice::ReadWrite))
+        {
+            snprintf(strtem,256,"[common]\n");strncat(strdata,strtem,10000);
+            snprintf(strtem,256,"DCPSDefaultDiscovery=TheRTPSConfig\n");strncat(strdata,strtem,10000);
+#ifdef dds_use_shm
+            snprintf(strtem,256,"DCPSGlobalTransportConfig=myconfig\n");strncat(strdata,strtem,10000);
+            snprintf(strtem,256,"[config/myconfig]\n");strncat(strdata,strtem,10000);
+            snprintf(strtem,256,"transports=share\n");strncat(strdata,strtem,10000);
+            snprintf(strtem,256,"[transport/share]\n");strncat(strdata,strtem,10000);
+            snprintf(strtem,256,"transport_type=shmem\n");strncat(strdata,strtem,10000);
+            snprintf(strtem,256,"pool_size=100000000\n");strncat(strdata,strtem,10000);
+#endif
+            snprintf(strtem,256,"[rtps_discovery/TheRTPSConfig]\n");strncat(strdata,strtem,10000);
+            snprintf(strtem,256,"ResendPeriod=5\n");strncat(strdata,strtem,10000);
+            xFile.write(strdata,strnlen(strdata,10000));
+            xFile.close();
+        }
+    }
+    strncpy(strpath,strtmppath,255);
+    return 0;
+}
+
+modulecomm_impl_shm::modulecomm_impl_shm(const char * strcommname,int ntype )
+{
+
+    strncpy(mstrtopic,strcommname,255);
+
+    iv::modulecomm::gmodulecomm_dds_Mutex.lock();
+    if(ntype == type_recv)
+    {
+        mpSub = new TopicsSubscriber();
+        mpSub->init(strcommname);
+//        std::this_thread::sleep_for(std::chrono::milliseconds(10));
+
+        mnType = type_recv;
+    }
+    else
+    {
+        mpPub = new TopicsPublisher();
+        mpPub->init(strcommname);
+ //       std::this_thread::sleep_for(std::chrono::milliseconds(10));
+        mnType = type_send;
+    }
+    iv::modulecomm::createcount++;
+    std::cout<<"count is "<<iv::modulecomm::createcount<<std::endl;
+    iv::modulecomm::gmodulecomm_dds_Mutex.unlock();
+
+}
+
+int modulecomm_impl_shm::listenmsg(ModuleFun xFun)
+{
+    if(mnType == type_send)
+    {
+        std::cout<<"send not listen."<<std::endl;;
+        return -1;
+    }
+    mbFunPlus = true;
+    mFun = xFun;
+    ModuleFun topicFunction = std::bind(&modulecomm_impl_shm::callbackTopic,this,std::placeholders::_1,
+                                                                                std::placeholders::_2,
+                                                                                std::placeholders::_3,
+                                                                                std::placeholders::_4,
+                                                                                std::placeholders::_5);
+    mpSub->setReceivedTopicFunction(topicFunction);
+    return 0;
+}
+
+int modulecomm_impl_shm::listenmsg(SMCallBack pCall)
+{
+    if(mnType == type_send)
+    {
+        std::cout<<"send not listen."<<std::endl;
+        return -1;
+    }
+    mbFunPlus = false;
+    mpCall = pCall;
+    ModuleFun topicFunction = std::bind(&modulecomm_impl_shm::callbackTopic,this,std::placeholders::_1,
+                                                                                std::placeholders::_2,
+                                                                                std::placeholders::_3,
+                                                                                std::placeholders::_4,
+                                                                                std::placeholders::_5);
+    mpSub->setReceivedTopicFunction(topicFunction);
+    return 0;
+}
+
+void modulecomm_impl_shm::writemsg(const char *str, int nlen)
+{
+    if(mnType == type_recv)
+    {
+        std::cout<<"recv not send."<<std::endl;
+        return ;
+    }
+
+    mpPub->senddata(str,nlen);
+
+}
+#endif

+ 41 - 0
src/common/modulecomm/fastrtps/modulecomm_impl_shm.h

@@ -0,0 +1,41 @@
+#ifndef MODULECOMM_IMPL_SHM_H
+#define MODULECOMM_IMPL_SHM_H
+
+#include <QDateTime>
+
+#include "TopicsPublisher.h"
+#include "TopicsSubscriber.h"
+
+
+typedef void (* SMCallBack)(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname);
+
+
+class modulecomm_impl_shm
+{
+public:
+    const static int type_send = 1;
+    const static int type_recv = 2;
+public:
+    modulecomm_impl_shm(const char * strcommname,int ntype = 2);
+    int listenmsg(SMCallBack pCall);
+    int listenmsg(ModuleFun xFun);
+    void writemsg(const char * str,int nlen);
+
+private:
+    char mstrtopic[256];
+    int mnType = type_recv;
+    TopicsPublisher * mpPub;
+    TopicsSubscriber * mpSub;
+    SMCallBack  mpCall;
+    ModuleFun mFun;
+    void callbackTopic(const char * strdata,const unsigned int nSize,const unsigned int index,QDateTime * dt,const char * strmemname);
+
+    int GetTempConfPath(char * strpath);
+
+
+
+    bool mbFunPlus = false;
+
+};
+
+#endif // MODULECOMM_IMPL_H

+ 143 - 0
src/common/modulecomm/fastrtps/modulecomm_impl_tcp.cpp

@@ -0,0 +1,143 @@
+#ifdef USE_FASTRTPS
+#include "modulecomm_impl_tcp.h"
+
+#include <thread>
+#include <iostream>
+#include <QDateTime>
+
+#include <QMutex>
+#include <QFile>
+
+namespace iv {
+namespace modulecomm {
+static QMutex gmodulecomm_dds_Mutex;
+static int createcount = 0;
+}
+
+}
+
+
+void modulecomm_impl_tcp::callbackTopic(const char * strdata,const unsigned int nSize,const unsigned int index, QDateTime * dt,const char * strmemname) {
+
+  if(mbFunPlus)
+  {
+      mFun(strdata,nSize,index,dt,strmemname);
+  }
+  else
+  {
+     (*mpCall)(strdata,nSize,index,dt,strmemname);
+  }
+}
+
+
+int modulecomm_impl_tcp::GetTempConfPath(char *strpath)
+{
+    char strtmppath[256];
+    QDateTime dt = QDateTime::currentDateTime();
+    snprintf(strtmppath,256,"/tmp/adc_modulecomm_conf_%04d%02d%02d%02d%02d.ini",dt.date().year(),
+             dt.date().month(),dt.date().day(),dt.time().hour(),dt.time().minute());
+    QFile xFile;
+    xFile.setFileName(strtmppath);
+    char strtem[256];
+    char strdata[10000];
+    snprintf(strdata,10000,"");
+    if(!xFile.exists())
+    {
+        if(xFile.open(QIODevice::ReadWrite))
+        {
+            snprintf(strtem,256,"[common]\n");strncat(strdata,strtem,10000);
+            snprintf(strtem,256,"DCPSDefaultDiscovery=TheRTPSConfig\n");strncat(strdata,strtem,10000);
+#ifdef dds_use_shm
+            snprintf(strtem,256,"DCPSGlobalTransportConfig=myconfig\n");strncat(strdata,strtem,10000);
+            snprintf(strtem,256,"[config/myconfig]\n");strncat(strdata,strtem,10000);
+            snprintf(strtem,256,"transports=share\n");strncat(strdata,strtem,10000);
+            snprintf(strtem,256,"[transport/share]\n");strncat(strdata,strtem,10000);
+            snprintf(strtem,256,"transport_type=shmem\n");strncat(strdata,strtem,10000);
+            snprintf(strtem,256,"pool_size=100000000\n");strncat(strdata,strtem,10000);
+#endif
+            snprintf(strtem,256,"[rtps_discovery/TheRTPSConfig]\n");strncat(strdata,strtem,10000);
+            snprintf(strtem,256,"ResendPeriod=5\n");strncat(strdata,strtem,10000);
+            xFile.write(strdata,strnlen(strdata,10000));
+            xFile.close();
+        }
+    }
+    strncpy(strpath,strtmppath,255);
+    return 0;
+}
+
+modulecomm_impl_tcp::modulecomm_impl_tcp(const char * strcommname,int ntype,const unsigned short nport ,const char * strip )
+{
+
+    strncpy(mstrtopic,strcommname,255);
+
+    iv::modulecomm::gmodulecomm_dds_Mutex.lock();
+    if(ntype == type_recv)
+    {
+        mpSub = new TopicsSubscriber();
+        mpSub->init(strcommname,strip,nport,1);
+//        std::this_thread::sleep_for(std::chrono::milliseconds(10));
+
+        mnType = type_recv;
+    }
+    else
+    {
+        mpPub = new TopicsPublisher();
+        mpPub->init(strcommname,nport,1);
+ //       std::this_thread::sleep_for(std::chrono::milliseconds(10));
+        mnType = type_send;
+    }
+    iv::modulecomm::createcount++;
+    std::cout<<"count is "<<iv::modulecomm::createcount<<std::endl;
+    iv::modulecomm::gmodulecomm_dds_Mutex.unlock();
+
+}
+
+int modulecomm_impl_tcp::listenmsg(ModuleFun xFun)
+{
+    if(mnType == type_send)
+    {
+        std::cout<<"send not listen."<<std::endl;;
+        return -1;
+    }
+    mbFunPlus = true;
+    mFun = xFun;
+    ModuleFun topicFunction = std::bind(&modulecomm_impl_tcp::callbackTopic,this,std::placeholders::_1,
+                                                                                std::placeholders::_2,
+                                                                                std::placeholders::_3,
+                                                                                std::placeholders::_4,
+                                                                                std::placeholders::_5);
+    mpSub->setReceivedTopicFunction(topicFunction);
+    return 0;
+}
+
+int modulecomm_impl_tcp::listenmsg(SMCallBack pCall)
+{
+    if(mnType == type_send)
+    {
+        std::cout<<"send not listen."<<std::endl;
+        return -1;
+    }
+    mbFunPlus = false;
+    mpCall = pCall;
+    ModuleFun topicFunction = std::bind(&modulecomm_impl_tcp::callbackTopic,this,std::placeholders::_1,
+                                                                                std::placeholders::_2,
+                                                                                std::placeholders::_3,
+                                                                                std::placeholders::_4,
+                                                                                std::placeholders::_5);
+    mpSub->setReceivedTopicFunction(topicFunction);
+    return 0;
+}
+
+void modulecomm_impl_tcp::writemsg(const char *str, int nlen)
+{
+    if(mnType == type_recv)
+    {
+        std::cout<<"recv not send."<<std::endl;
+        return ;
+    }
+
+    mpPub->senddata(str,nlen);
+
+}
+
+#endif

+ 41 - 0
src/common/modulecomm/fastrtps/modulecomm_impl_tcp.h

@@ -0,0 +1,41 @@
+#ifndef MODULECOMM_IMPL_TCP_H
+#define MODULECOMM_IMPL_TCP_H
+
+#include <QDateTime>
+
+#include "TopicsPublisher.h"
+#include "TopicsSubscriber.h"
+
+
+typedef void (* SMCallBack)(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname);
+
+
+class modulecomm_impl_tcp
+{
+public:
+    const static int type_send = 1;
+    const static int type_recv = 2;
+public:
+    modulecomm_impl_tcp(const char * strcommname,int ntype = 2,const unsigned short nport =1,const char * strip = 0);
+    int listenmsg(SMCallBack pCall);
+    int listenmsg(ModuleFun xFun);
+    void writemsg(const char * str,int nlen);
+
+private:
+    char mstrtopic[256];
+    int mnType = type_recv;
+    TopicsPublisher * mpPub;
+    TopicsSubscriber * mpSub;
+    SMCallBack  mpCall;
+    ModuleFun mFun;
+    void callbackTopic(const char * strdata,const unsigned int nSize,const unsigned int index,QDateTime * dt,const char * strmemname);
+
+    int GetTempConfPath(char * strpath);
+
+
+
+    bool mbFunPlus = false;
+
+};
+
+#endif // MODULECOMM_IMPL_H

+ 491 - 0
src/common/modulecomm/inter/intercomm.cpp

@@ -0,0 +1,491 @@
+#include "intercomm.h"
+
+#include <QMutex>
+#include <QWaitCondition>
+#include <iostream>
+
+namespace  iv {
+
+struct InterListenUnit
+{
+    QMutex mWaitMutex;
+    SMCallBack  mpCall;
+    ModuleFun mFun;
+    QWaitCondition * mpwc;
+    bool mbFunPlus = false;
+};
+
+struct interunit
+{
+    char strintername[256];
+    char * strdatabuf;
+    int nbufsize = 0;
+    int nPacCount;
+    QMutex mMutexUnit;
+    std::vector<InterListenUnit *> mvectorlisten;
+    QWaitCondition mwc;
+    bool mbHaveWriter = false;
+
+};
+
+std::vector<interunit *> gvectorinter;
+QMutex gMutexInter;
+
+
+static interunit * FindInterUnitByName(const char * strname)
+{
+    interunit * p = 0;
+    int i;
+    int nsize;
+    nsize = gvectorinter.size();
+    for(i=0;i<nsize;i++)
+    {
+        if(strncmp(strname,gvectorinter.at(i)->strintername,256) == 0)
+        {
+            return (gvectorinter.at(i));
+        }
+    }
+    return p;
+}
+
+
+intercomm::intercomm(const char * strsmname,const unsigned int nBufSize,const unsigned int nMaxPacCount,const int nMode)
+{
+    strncpy(mstrsmname,strsmname,256);
+
+    mnMode = nMode;
+    if(nMode == ModeWrite)
+    {
+        gMutexInter.lock();
+        interunit * p = FindInterUnitByName(strsmname);
+        if(p == 0)
+        {
+            interunit * pnewinter = new interunit;
+            strncpy(pnewinter->strintername,strsmname,256);
+            pnewinter->strdatabuf = new char[sizeof(procinter_info)+nMaxPacCount*sizeof(procinter_head) + nBufSize];
+            pnewinter->nPacCount = nMaxPacCount;
+            pnewinter->nbufsize = nBufSize;
+            gvectorinter.push_back(pnewinter);
+            mpa = pnewinter;
+
+
+        }
+        else
+        {
+            p->mMutexUnit.lock();
+            delete p->strdatabuf;
+            p->strdatabuf = new char[sizeof(procinter_info)+nMaxPacCount*sizeof(procinter_head) + nBufSize];
+            p->nPacCount = nMaxPacCount;
+            p->nbufsize = nBufSize;
+            p->mMutexUnit.unlock();
+            mpa = p;
+        }
+
+        interunit * pinter = (interunit * )mpa;
+        char * pdata = (char *)pinter->strdatabuf;
+        mpinfo = (procinter_info *)pdata;
+        mphead = (procinter_head *)(pdata+sizeof(procinter_info));
+        mpinfo->mCap = nMaxPacCount;
+        mpinfo->mnBufSize = nBufSize;
+        mpinfo->mFirst = 0;
+        mpinfo->mNext = 0;
+        mpinfo->mLock = 0;
+        pinter->mbHaveWriter = true;
+
+        gMutexInter.unlock();
+
+    }
+    else
+    {
+        gMutexInter.lock();
+        interunit * p = FindInterUnitByName(strsmname);
+        if(p == 0)
+        {
+            interunit * pnewinter = new interunit;
+            strncpy(pnewinter->strintername,strsmname,256);
+            gvectorinter.push_back(pnewinter);
+            mpa = pnewinter;
+        }
+        else
+        {
+            mpa = p;
+        }
+
+        interunit * pinter = (interunit * )mpa;
+        char * pdata = (char *)pinter->strdatabuf;
+        mpinfo = (procinter_info *)pdata;
+        mphead = (procinter_head *)(pdata+sizeof(procinter_info));
+
+        gMutexInter.unlock();
+    }
+}
+
+intercomm::~intercomm()
+{
+    if(mnMode == ModeRead)
+    {
+        stoplisten();
+        interunit * p = (interunit *)mpa;
+        p->mMutexUnit.lock();
+        InterListenUnit * plisten = (InterListenUnit *)mplistenunit;
+        int i;
+        for(i=0;i<p->mvectorlisten.size();i++)
+        {
+            if(plisten == p->mvectorlisten.at(i))
+            {
+                p->mvectorlisten.erase(p->mvectorlisten.begin() + i);
+                delete plisten;
+                break;
+            }
+        }
+        p->mMutexUnit.unlock();
+    }
+}
+
+int intercomm::listenmsg(ModuleFun xFun)
+{
+    if(mnMode == ModeWrite)
+    {
+        std::cout<<"intercomm::listenmsg this is Write. Can't Listen."<<std::endl;
+        return - 1;
+    }
+
+    interunit * p = (interunit *)mpa;
+    p->mMutexUnit.lock();
+    InterListenUnit * pnewlisten = new InterListenUnit;
+    pnewlisten->mbFunPlus = true;
+    pnewlisten->mFun = xFun;
+    pnewlisten->mpwc = &p->mwc;
+    p->mvectorlisten.push_back(pnewlisten);
+    p->mMutexUnit.unlock();
+
+    mplistenunit = (void *)pnewlisten;
+
+    mplistenthread = new std::thread(&intercomm::listernrun,this);
+    return 0;
+}
+
+int intercomm::listenmsg(SMCallBack pCall)
+{
+    if(mnMode == ModeWrite)
+    {
+        std::cout<<"intercomm::listenmsg this is Write. Can't Listen."<<std::endl;
+        return - 1;
+    }
+
+    interunit * p = (interunit *)mpa;
+    p->mMutexUnit.lock();
+    InterListenUnit * pnewlisten = new InterListenUnit;
+    pnewlisten->mbFunPlus = false;
+    pnewlisten->mpCall = pCall;
+    pnewlisten->mpwc = &p->mwc;
+    p->mvectorlisten.push_back(pnewlisten);
+    p->mMutexUnit.unlock();
+    mplistenunit = (void *)pnewlisten;
+    mplistenthread = new std::thread(&intercomm::listernrun,this);
+    return 0;
+}
+
+void intercomm::stoplisten()
+{
+    mblistenrun = false;
+    if(mplistenthread != 0)
+    {
+        mplistenthread->join();
+        mplistenthread = 0;
+    }
+}
+
+void intercomm::pausecomm()
+{
+    mbPause = true;
+}
+
+void intercomm::continuecomm()
+{
+    mbPause = false;
+}
+
+void intercomm::listernrun()
+{
+    InterListenUnit * pILU = (InterListenUnit * )mplistenunit;
+    QTime xTime;
+    xTime.start();
+    unsigned int nBufLen = 1;
+    unsigned int nRead;
+    char * str = new char[nBufLen];
+    unsigned int index =0;
+    QDateTime *pdt = new QDateTime();
+    interunit * pinter = (interunit *)mpa;
+    while(mblistenrun)
+    {
+        if(mbPause)
+        {
+            std::this_thread::sleep_for(std::chrono::milliseconds(100));
+            continue;
+        }
+        if(pinter->mbHaveWriter == false)
+        {
+            std::this_thread::sleep_for(std::chrono::milliseconds(100));
+            continue;
+        }
+        pILU->mWaitMutex.lock();
+        pILU->mpwc->wait(&pILU->mWaitMutex,100);
+        pILU->mWaitMutex.unlock();
+        int nRtn = readmsg(index,str,nBufLen,&nRead,pdt);
+        while ((nRtn != 0)&&(mblistenrun))
+        {
+            if(nRtn == -1)
+            {
+                nBufLen = nRead;
+                delete str;
+                if(nBufLen < 1)nBufLen = 1;
+                str = new char[nBufLen];
+            }
+            else
+            {
+                if(nRtn == -2)
+                {
+                   index = getcurrentnext();
+                }
+                else
+                {
+                   if(nRtn >0)
+                   {
+                       if(pILU->mbFunPlus)
+                       {
+                           pILU->mFun(str,nRtn,index,pdt,mstrsmname);
+                       }
+                       else
+                       {
+                          (*pILU->mpCall)(str,nRtn,index,pdt,mstrsmname);
+                       }
+                       index++;
+                   }
+                   else
+                   {
+                       std::this_thread::sleep_for(std::chrono::milliseconds(100));
+                   }
+                }
+            }
+            nRtn = readmsg(index,str,nBufLen,&nRead,pdt);
+        }
+
+    }
+
+    delete str;
+    delete pdt;
+}
+
+int intercomm::writemsg(const char *str, const unsigned int nSize)
+{
+    if(mbPause)return -2;
+    if(mnMode == ModeRead)
+    {
+        std::cout<<"Register read. can't write."<<std::endl;
+        return -1;
+    }
+    interunit * pinter = (interunit *)mpa;
+
+    pinter->mMutexUnit.lock();
+
+    if(nSize > pinter->nbufsize)
+    {
+ //       qDebug("procsm::writemsg message size is very big");
+
+        int nnewsize = std::max(nSize*11/10,nSize+100);
+        char * strdatabuf = new char[sizeof(procinter_info)+ pinter->nPacCount*sizeof(procinter_head) + nnewsize];
+
+        memcpy(strdatabuf,pinter->strdatabuf,sizeof(procinter_info)+ pinter->nPacCount*sizeof(procinter_head) + pinter->nbufsize);
+        pinter->nbufsize = nnewsize;
+        delete pinter->strdatabuf;
+        pinter->strdatabuf = strdatabuf;
+        qDebug("inter resize buf,new buffer size is %d",nnewsize);
+    }
+    char * pdata = (char *)pinter->strdatabuf;
+    mpinfo = (procinter_info *)pdata;
+    mphead = (procinter_head *)(pdata+sizeof(procinter_info));
+
+WRITEMSG:
+
+    char * pH,*pD;
+    QDateTime dt;
+    pH = (char *)pinter->strdatabuf;pH = pH + sizeof(procinter_info);
+    pD = (char *)pinter->strdatabuf;pD = pD + sizeof(procinter_info) + pinter->nPacCount * sizeof(procinter_head);
+    procinter_head * phh = (procinter_head *)pH;
+    unsigned int nPac = mpinfo->mNext - mpinfo->mFirst;
+    if(nPac>=pinter->nPacCount)
+    {
+        unsigned int nRemove = pinter->nPacCount/3;
+        if(nRemove == 0)nRemove = 1;
+        MoveMem(nRemove);
+        goto WRITEMSG;
+    }
+    if(nPac == 0)
+    {
+        memcpy(pD,str,nSize);
+        dt = QDateTime::currentDateTime();
+        phh->SetDate(dt);
+        phh->mindex = mpinfo->mNext;
+        phh->mnPos = 0;
+        phh->mnLen = nSize;
+        mpinfo->mNext = mpinfo->mNext+1;
+    }
+    else
+    {
+        if(((phh+nPac-1)->mnPos+(phh+nPac-1)->mnLen + nSize)>=pinter->nbufsize)
+        {
+            unsigned int nRemove = pinter->nPacCount/2;
+            if(nRemove == 0)nRemove = 1;
+            MoveMem(nRemove);
+            goto WRITEMSG;
+        }
+        else
+        {
+            unsigned int nPos = (phh+nPac-1)->mnPos + (phh+nPac-1)->mnLen;
+            memcpy(pD+nPos,str,nSize);
+            dt = QDateTime::currentDateTime();
+            (phh+nPac)->SetDate(dt);
+            (phh+nPac)->mindex = mpinfo->mNext;
+            (phh+nPac)->mnPos = nPos;
+            (phh+nPac)->mnLen = nSize;
+            mpinfo->mNext = mpinfo->mNext+1;
+        }
+    }
+
+    const unsigned int nTM = 0x6fffffff;
+    if((mpinfo->mNext >nTM)&&(mpinfo->mFirst>nTM))
+    {
+       nPac = mpinfo->mNext - mpinfo->mFirst;
+       unsigned int i;
+       for(i=0;i<nPac;i++)
+       {
+           (phh+i)->mindex = (phh+i)->mindex-nTM;
+       }
+       mpinfo->mFirst = mpinfo->mFirst-nTM;
+       mpinfo->mNext = mpinfo->mNext - nTM;
+    }
+
+    pinter->mMutexUnit.unlock();
+    pinter->mwc.wakeAll();
+    return 0;
+}
+
+int intercomm::MoveMem(const unsigned int nSize)
+{
+    unsigned int nRemove = nSize;
+    if(nRemove == 0)return -1;
+    interunit * pinter = (interunit *)mpa;
+    char * pH,*pD;
+    pH = (char *)pinter->strdatabuf;pH = pH + sizeof(procinter_info);
+    pD = (char *)pinter->strdatabuf;pD = pD + sizeof(procinter_info) + pinter->nPacCount * sizeof(procinter_head);
+    procinter_head * phh = (procinter_head *)pH;
+    unsigned int nPac = mpinfo->mNext - mpinfo->mFirst;
+
+    if(nRemove >nPac)
+    {
+        nRemove = nPac;
+    }
+
+    if(nRemove == nPac)
+    {
+        mpinfo->mFirst = mpinfo->mFirst + (unsigned int)nRemove;
+        return 0;
+    }
+
+    unsigned int i;
+    int nDataMove = 0;
+    for(i=0;i<nRemove;i++)
+    {
+        procinter_head * phd = phh+i;
+        nDataMove = nDataMove + phd->mnLen;
+    }
+    unsigned int nDataTotal;
+    for(i=0;i<(nPac - nRemove);i++)
+    {
+        memcpy(phh+i,phh+i+nRemove,sizeof(procinter_head));
+        (phh+i)->mnPos = (phh+i)->mnPos - nDataMove;
+    }
+    nDataTotal = (phh + nPac-nRemove-1)->mnPos + (phh+nPac-nRemove-1)->mnLen;
+    char * strtem = new char[pinter->nbufsize];
+    memcpy(strtem,pD+nDataMove,nDataTotal);
+    memcpy(pD,strtem,nDataTotal);
+    delete strtem;
+
+    mpinfo->mFirst = mpinfo->mFirst + (unsigned int)nRemove;
+    return 0;
+}
+
+int intercomm::readmsg(unsigned int index, char *str, unsigned int nMaxSize, unsigned int *nRead, QDateTime *pdt)
+{
+    int nRtn = 0;
+
+    interunit * pinter = (interunit *)mpa;
+
+    if(pinter->nbufsize == 0)return 0;
+    pinter->mMutexUnit.lock();
+    char * pdata = (char *)pinter->strdatabuf;
+    mpinfo = (procinter_info *)pdata;
+    mphead = (procinter_head *)(pdata+sizeof(procinter_info));
+
+    if((index< mpinfo->mFirst)||(index > mpinfo->mNext))
+    {
+        nRtn = -2;
+    }
+    if(nRtn != (-2))
+    {
+        if(index == mpinfo->mNext)
+        {
+            nRtn = 0;
+        }
+        else
+        {
+            char * pH,*pD;
+ //           pH = (char *)mpASM->data();pH = pH + 2*sizeof(unsigned int);
+
+ //           pD = (char *)mpASM->data();pD = pD + 2*sizeof(unsigned int) + mnMaxPacCount * sizeof(procsm_head);
+            pD = (char *)pinter->strdatabuf;pD = pD+ sizeof(procinter_info) + mpinfo->mCap*sizeof(procinter_head);
+            pH = (char *)pinter->strdatabuf;pH = pH+sizeof(procinter_info);
+            procinter_head * phh = (procinter_head *)pH;
+            unsigned int nPac = mpinfo->mNext - mpinfo->mFirst;
+            if(nPac == 0)
+            {
+                nRtn = 0;
+            }
+            else
+            {
+                unsigned int nPos = index - mpinfo->mFirst;
+                *nRead = (phh+nPos)->mnLen;
+                if((phh+nPos)->mnLen > nMaxSize)
+                {
+                    nRtn = -1;
+
+                }
+                else
+                {
+        //            qDebug("read pos = %d",(phh+nPos)->mnPos);
+                   memcpy(str,pD + (phh+nPos)->mnPos,(phh+nPos)->mnLen);
+          //         qDebug("read pos = %d",(phh+nPos)->mnPos);
+                   nRtn = (phh+nPos)->mnLen;
+                   (phh+nPos)->GetDate(pdt);
+           //        memcpy(pdt,&((phh+nPos)->mdt),sizeof(QDateTime));
+                }
+            }
+        }
+    }
+    pinter->mMutexUnit.unlock();
+    return nRtn;
+}
+
+unsigned int intercomm::getcurrentnext()
+{
+    unsigned int nNext;
+    interunit * pinter = (interunit *)mpa;
+    char * pdata = (char *)pinter->strdatabuf;
+    mpinfo = (procinter_info *)pdata;
+    mphead = (procinter_head *)(pdata+sizeof(procinter_info));
+    nNext = mpinfo->mNext;
+    return nNext;
+}
+
+}

+ 109 - 0
src/common/modulecomm/inter/intercomm.h

@@ -0,0 +1,109 @@
+#ifndef INTERCOMM_H
+#define INTERCOMM_H
+
+#include <QDateTime>
+#include "vector"
+#include <functional>
+#include <thread>
+
+typedef void (* SMCallBack)(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname);
+using namespace std::placeholders;
+typedef std::function<void(const char * ,const unsigned int , const unsigned int , QDateTime * ,const char *)> ModuleFun;
+
+
+class procinter_info
+{
+public:
+  unsigned int mFirst;
+  unsigned int mNext;
+  unsigned int mCap;
+  unsigned int mLock;
+  unsigned int mnBufSize;
+};
+
+class procinter_head
+{
+public:
+    unsigned short mYear;
+    unsigned char mMonth;
+    unsigned char mDay;
+    unsigned char mHour;
+    unsigned char mMinute;
+    unsigned char mSec;
+    unsigned short mMSec;
+    unsigned int mindex;
+    unsigned int mnPos;
+    unsigned int mnLen;
+public:
+    void SetDate(QDateTime dt)
+    {
+        mYear = dt.date().year();
+        mMonth = dt.date().month();
+        mDay = dt.date().day();
+        mHour = dt.time().hour();
+        mMinute = dt.time().minute();
+        mSec = dt.time().second();
+        mMSec = dt.time().msec();
+    }
+    void GetDate(QDateTime * pdt)
+    {
+        QDate dt;
+        dt.setDate(mYear,mMonth,mDay);
+        QTime time;
+        time.setHMS(mHour,mMinute,mSec,mMSec);
+        pdt->setDate(dt);
+        pdt->setTime(time);
+
+    }
+};
+
+
+namespace  iv {
+
+class intercomm
+{
+public:
+    intercomm(const char * strsmname,const unsigned int nBufSize,const unsigned int nMaxPacCount,const int nMode);
+    ~intercomm();
+
+    int listenmsg(SMCallBack pCall);
+    int listenmsg(ModuleFun xFun);
+    void stoplisten();
+
+    void pausecomm();
+    void continuecomm();
+
+    const static int ModeRead = 1;
+    const static int ModeWrite = 0;
+
+    int writemsg(const char * str,const unsigned int nSize);
+
+private:
+
+
+    char mstrsmname[256];
+    int mnMode;
+    void * mpa;
+    void * mplistenunit;
+
+private:
+    void listernrun();
+    bool mblistenrun = true;
+    bool mbPause = false;
+    std::thread * mplistenthread = 0;
+
+    procinter_info * mpinfo;
+    procinter_head * mphead;
+
+
+private:
+
+    int readmsg(unsigned int index,char * str,unsigned int nMaxSize,unsigned int * nRead,QDateTime * pdt);
+    int MoveMem(const unsigned int nSize);
+    unsigned int getcurrentnext();
+};
+}
+
+
+
+#endif // INTERCOMM_H

+ 60 - 0
src/common/modulecomm/inter/modulecomm_inter.cpp

@@ -0,0 +1,60 @@
+#include "modulecomm_inter.h"
+
+#include <iostream>
+
+#include "intercomm.h"
+
+namespace iv {
+
+
+
+modulecomm_inter::modulecomm_inter()
+{
+
+}
+
+void modulecomm_inter::RegisterSend(const char *strcommname, const unsigned int nBufSize, const unsigned int nMsgBufCount)
+{
+    iv::intercomm * pinter = new iv::intercomm(strcommname,nBufSize,nMsgBufCount,iv::intercomm::ModeWrite);
+    mpinter = (void *)pinter;
+}
+
+void modulecomm_inter::RegisterRecv(const char *strcommname, SMCallBack pCall)
+{
+    iv::intercomm * pif = new iv::intercomm(strcommname,0,0,iv::intercomm::ModeRead);
+    pif->listenmsg(pCall);
+    mpinter = (void *)pif;
+}
+
+void modulecomm_inter::RegisterRecvPlus(const char *strcommname, ModuleFun xFun)
+{
+    iv::intercomm * pif = new iv::intercomm(strcommname,0,0,iv::intercomm::ModeRead);
+    pif->listenmsg(xFun);
+    mpinter = (void *)pif;
+}
+
+void modulecomm_inter::ModuleSendMsg(const char *strdata, const unsigned int nDataLen)
+{
+    iv::intercomm * pif = (iv::intercomm *)mpinter;
+    pif->writemsg(strdata,nDataLen);
+}
+
+void modulecomm_inter::ContintuComm()
+{
+    iv::intercomm * pif = (iv::intercomm *)mpinter;
+    pif->continuecomm();
+}
+
+void modulecomm_inter::PauseComm()
+{
+    iv::intercomm * pif = (iv::intercomm *)mpinter;
+    pif->pausecomm();
+}
+
+void modulecomm_inter::Unregister()
+{
+    iv::intercomm * pif = (iv::intercomm *)mpinter;
+    delete pif;
+}
+
+}

+ 30 - 0
src/common/modulecomm/inter/modulecomm_inter.h

@@ -0,0 +1,30 @@
+#ifndef MODULECOMM_INTER_H
+#define MODULECOMM_INTER_H
+
+#include "modulecomm_base.h"
+
+namespace iv {
+
+
+class modulecomm_inter : public modulecomm_base
+{
+public:
+    modulecomm_inter();
+
+    void RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount);
+    void RegisterRecv(const char * strcommname,SMCallBack pCall);
+    void RegisterRecvPlus(const char * strcommname,ModuleFun xFun);
+    virtual void ModuleSendMsg(const char * strdata,const unsigned int nDataLen);
+    virtual void Unregister();
+    virtual void PauseComm();
+    virtual void ContintuComm();
+
+private:
+    void * mpinter;
+};
+
+}
+
+
+
+#endif // MODULECOMM_INTER_H

+ 7 - 0
src/common/modulecomm/inter/modulecomm_inter.pri

@@ -0,0 +1,7 @@
+HEADERS += \
+    $$PWD/intercomm.h \
+    $$PWD/modulecomm_inter.h
+
+SOURCES += \
+    $$PWD/intercomm.cpp \
+    $$PWD/modulecomm_inter.cpp

BIN
src/common/modulecomm/libfast.zip


+ 172 - 0
src/common/modulecomm/main.cpp

@@ -0,0 +1,172 @@
+#include <QCoreApplication>
+
+#include <thread>
+#include <chrono>
+#include <iostream>
+
+#include "modulecomm.h"
+
+#include "modulecommext.h"
+
+#include <QSharedMemory>
+
+#include "testmodulecommext.pb.h"
+
+
+void * gpa;
+
+std::chrono::time_point<std::chrono::steady_clock, std::chrono::duration<double,std::nano>> t1,t2;
+
+void testcall(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
+{
+    qint64 sendtime;
+    t2 = std::chrono::steady_clock::now();
+    double dr_ns = std::chrono::duration<double,std::nano>(t2-t1).count();
+    memcpy(&sendtime,strdata,8);
+    qDebug("lat is %d ns is %f ",QDateTime::currentMSecsSinceEpoch() - sendtime,dr_ns);
+}
+
+void threadsend()
+{
+    char * strdata = new char[3000000];
+    while(1)
+    {
+        std::this_thread::sleep_for(std::chrono::milliseconds(1000));
+        qint64 ntime = QDateTime::currentMSecsSinceEpoch();
+        memcpy(strdata,&ntime,8);
+
+        iv::modulecomm::ModuleSendMsg(gpa,strdata,2000000);
+        t1 =  std::chrono::steady_clock::now();
+        qDebug("send msg.");
+    }
+}
+
+void testcall2(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
+{
+    qint64 sendtime;
+    t2 = std::chrono::steady_clock::now();
+    double dr_ns = std::chrono::duration<double,std::nano>(t2-t1).count();
+    memcpy(&sendtime,strdata,8);
+    qDebug("lat is %d ns is %f ",QDateTime::currentMSecsSinceEpoch() - sendtime,dr_ns);
+}
+
+void threadsend2()
+{
+    char * strdata = new char[3000000];
+    int nsendlen = 10000;
+    while(1)
+    {
+        std::this_thread::sleep_for(std::chrono::milliseconds(100));
+        qint64 ntime = QDateTime::currentMSecsSinceEpoch();
+        memcpy(strdata,&ntime,8);
+        if(nsendlen<2000000)nsendlen = nsendlen*1001/1000;
+        iv::modulecomm::ModuleSendMsg(gpa,strdata,nsendlen);
+        t1 =  std::chrono::steady_clock::now();
+//        qDebug("send msg.");
+    }
+}
+
+#include <future>
+
+
+void testfunc(int a)
+{
+    a = a+1;
+    std::cout<<"a = "<<a<<std::endl;
+
+}
+
+void testfunc2(double a)
+{
+    a = a+1.1;
+    std::cout<<"a = "<<a<<std::endl;
+
+}
+
+
+iv::modulecommext::modulecommmsg<iv::testmodulecommext> * gmsgtestsend,* gmsgtestrecv;
+
+
+void ListenProto(google::protobuf::Message & xmsg)
+{
+    iv::testmodulecommext * pmsg = (iv::testmodulecommext *)&xmsg;
+    qDebug("time : %lld",pmsg->time());
+}
+
+void threadsendproto()
+{
+    while(1)
+    {
+        iv::testmodulecommext xmsg;
+        xmsg.set_a(1);
+        xmsg.set_b(2);
+        xmsg.set_time(QDateTime::currentMSecsSinceEpoch());
+        gmsgtestsend->ModuleSendMsg(xmsg);
+        std::this_thread::sleep_for(std::chrono::milliseconds(1000));
+    }
+}
+
+int main(int argc, char *argv[])
+{
+    QCoreApplication a(argc, argv);
+
+//    auto x1 =  std::chrono::system_clock::now();
+//    std::cout << "秒:"<<std::chrono::duration_cast<std::chrono::seconds>(std::chrono::system_clock::now().time_since_epoch()).count() << std::endl;
+//        std::cout << "毫秒:" << std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count()<<std::endl;
+//        std::cout << "微秒:" << std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch()).count() << std::endl;
+//        std::cout << "纳秒:" << std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::system_clock::now().time_since_epoch()).count() << std::endl;
+//        qint64 naotime = std::chrono::system_clock::now().time_since_epoch().count();
+
+//    int j;
+//    for(j=0;j<10000000;j++)
+//    {
+
+//    }
+//    auto x2 = std::chrono::system_clock::now();
+//    double elapsed =
+//        std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::system_clock::now() - x1).count();
+
+//    qDebug("ela is %f ",elapsed);
+//    return 0;
+
+
+
+//    gpa = iv::modulecomm::RegisterSend("test1",3000000,1,iv::modulecomm::ModuleComm_INTERIOR);
+//    iv::modulecomm::RegisterRecv("test1",testcall,iv::modulecomm::ModuleComm_INTERIOR);
+//    std::thread * xthread = new std::thread(threadsend);
+
+
+//    QSharedMemory * pmem = new QSharedMemory("hello");
+//    pmem->create(1000);
+//    qDebug("create");
+//    pmem->lock();
+//    qDebug("lock");
+//    gpa = iv::modulecomm::RegisterSend("test1",1000,1);
+//    gpa = iv::modulecomm::RegisterSend("test1");
+//    iv::modulecomm::RegisterRecv("test1",testcall2);
+//    gpa = iv::modulecomm::RegisterSend("test1",1000,1,iv::modulecomm::ModuleComm_FASTRTPS);
+//    iv::modulecomm::RegisterRecv("test1",testcall2,iv::modulecomm::ModuleComm_FASTRTPS);
+//    iv::modulecomm::RegisterRecv("test1",testcall2);
+//    std::thread * xthread = new std::thread(threadsend2);
+
+
+      gmsgtestsend = new iv::modulecommext::modulecommmsg<iv::testmodulecommext>();
+
+      gmsgtestsend->RegisterSend("testsendproto");
+
+      gmsgtestrecv = new iv::modulecommext::modulecommmsg<iv::testmodulecommext>();
+
+      gmsgtestrecv->RegisterRecv("testsendproto",ListenProto);
+
+      std::thread * xthreadproto = new std::thread(threadsendproto);
+
+
+
+//    extfunc<int>::pfun x = &testfunc;
+//    extfunc<double>::pfun x2 = &testfunc2;
+//    (*x)(1);
+//    (*x2)(2.0);
+
+
+    return a.exec();
+}

+ 11 - 0
src/common/modulecomm/main1.cpp

@@ -0,0 +1,11 @@
+#include "andmainwindow.h"
+
+#include <QApplication>
+
+int main(int argc, char *argv[])
+{
+    QApplication a(argc, argv);
+    AndMainWindow w;
+    w.show();
+    return a.exec();
+}

+ 11 - 0
src/common/modulecomm/main2.cpp

@@ -0,0 +1,11 @@
+#include "andmainwindow.h"
+
+#include <QApplication>
+
+int main(int argc, char *argv[])
+{
+    QApplication a(argc, argv);
+    AndMainWindow w;
+    w.show();
+    return a.exec();
+}

+ 256 - 23
src/common/modulecomm/modulecomm.cpp

@@ -1,55 +1,288 @@
-#include "modulecomm.h"
-#include "procsm_if.h"
-#include "procsm.h"
-
+#include "modulecomm.h"
 #include <iostream>
 
+#include "modulecomm_shm.h"
+
+#include "modulecomm_inter.h"
+#ifdef USE_FASTRTPS
+#include "modulecomm_fastrtps_shm.h"
+#include "modulecomm_fastrtps_tcp.h"
+#endif
+
+#include <QtXml>
+#include <QFile>
+
 namespace iv {
 namespace modulecomm {
 
+struct ModeduleInfo
+{
+    modulecomm_base * mphandle;
+    ModuleComm_TYPE mmctype;
+};
 
-void *  RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount)
+static ModuleComm_TYPE getdefmodulecommtype()
 {
+#ifdef  ANDROID
+    return ModuleComm_INTERIOR;
+#endif
+    ModuleComm_TYPE xrtn = ModuleComm_SHAREMEM;
+    QDomDocument xdoc;
+    QFile file("./modulecomm.xml");
+    if (!file.open(QIODevice::ReadOnly))
+    {
+        return xrtn;
+    }
+    if (!xdoc.setContent(&file)) {
+        file.close();
+        return xrtn;
+    }
+    file.close();
+    QDomElement docElem = xdoc.documentElement();
+
+    QDomNode n = docElem.firstChild();
+    while(!n.isNull())
+    {
+    QDomElement e = n.toElement();
+    if(e.nodeName() == "commtype")
+    {
+        QString strvalue = e.attribute("value","0");
+        if(strvalue == "0")
+        {
+            xrtn = ModuleComm_SHAREMEM;
+        }
+        if(strvalue == "1")
+        {
+            xrtn = ModuleComm_INTERIOR;
+        }
+#ifdef USE_FASTRTPS
+        if(strvalue == "2")
+        {
+            xrtn = ModuleComm_FASTRTPS;
+        }
+#endif
+        break;
+    }
+        n = n.nextSibling();
+    }
 
-    procsm_if * pif = new procsm_if(strcommname,nBufSize,nMsgBufCount,procsm::ModeWrite);
-    return (void *)pif;
+    return xrtn;
 }
 
-void  *  RegisterRecv(const char * strcommname,SMCallBack pCall)
+
+void *  RegisterSend(const char * strcommname)
 {
-    procsm_if * pif = new procsm_if(strcommname,0,0,procsm::ModeRead);
-    pif->listenmsg(pCall);
-    return (void *)pif;
+    return RegisterSend(strcommname,1000,1,iv::modulecomm::ModuleComm_UNDEFINE,5100);
 }
 
-void * MODULECOMMSHARED_EXPORT RegisterRecvPlus(const char * strcommname,ModuleFun xFun)
+void *  RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount,
+                     ModuleComm_TYPE xmctype,const unsigned short nport)
 {
-    procsm_if * pif = new procsm_if(strcommname,0,0,procsm::ModeRead);
-    pif->listenmsg(xFun);
-    return (void *)pif;
+
+    iv::modulecomm::ModeduleInfo * pmi = new iv::modulecomm::ModeduleInfo;
+    pmi->mmctype = xmctype;
+    pmi->mphandle = 0;
+    ModuleComm_TYPE mctype = xmctype;
+    if(mctype == ModuleComm_UNDEFINE)
+    {
+        mctype = getdefmodulecommtype();
+    }
+    switch (mctype) {
+    case ModuleComm_SHAREMEM:
+    {
+        iv::modulecomm_shm * p = new iv::modulecomm_shm();
+        p->RegisterSend(strcommname,nBufSize,nMsgBufCount);
+        pmi->mphandle = (iv::modulecomm_base *)p;
+    }
+        break;
+    case ModuleComm_INTERIOR:
+    {
+        iv::modulecomm_inter * p = new iv::modulecomm_inter();
+        p->RegisterSend(strcommname,nBufSize,nMsgBufCount);
+        pmi->mphandle = (iv::modulecomm_base *)p;
+    }
+        break;
+
+#ifdef USE_FASTRTPS
+    case ModuleComm_FASTRTPS:
+    {
+        iv::modulecomm_fastrtps_shm * p = new iv::modulecomm_fastrtps_shm();
+        p->RegisterSend(strcommname,nBufSize,nMsgBufCount);
+        pmi->mphandle = (iv::modulecomm_base *)p;
+    }
+        break;
+
+    case ModuleComm_FASTRTPS_TCP:
+    {
+        iv::modulecomm_fastrtps_tcp * p = new iv::modulecomm_fastrtps_tcp();
+        p->RegisterSend(strcommname,nBufSize,nMsgBufCount,nport);
+        pmi->mphandle = (iv::modulecomm_base *)p;
+    }
+        break;
+#endif
+    default:
+        break;
+    }
+    return pmi;
 }
+
+
+void  *  RegisterRecv(const char * strcommname,SMCallBack pCall,ModuleComm_TYPE xmctype,const char * strip,
+                      const unsigned short nPort)
+{
+    iv::modulecomm::ModeduleInfo * pmi = new iv::modulecomm::ModeduleInfo;
+    pmi->mmctype = xmctype;
+    pmi->mphandle = 0;
+    ModuleComm_TYPE mctype = xmctype;
+    if(mctype == ModuleComm_UNDEFINE)
+    {
+        mctype = getdefmodulecommtype();
+    }
+    switch (mctype) {
+    case ModuleComm_SHAREMEM:
+    {
+        iv::modulecomm_shm * p = new iv::modulecomm_shm();
+        p->RegisterRecv(strcommname,pCall);
+        pmi->mphandle = (iv::modulecomm_base *)p;
+    }
+        break;
+    case ModuleComm_INTERIOR:
+    {
+        iv::modulecomm_inter * p = new iv::modulecomm_inter();
+        p->RegisterRecv(strcommname,pCall);
+        pmi->mphandle = (iv::modulecomm_base *)p;
+    }
+        break;
+
+#ifdef USE_FASTRTPS
+    case ModuleComm_FASTRTPS:
+    {
+        iv::modulecomm_fastrtps_shm * p = new iv::modulecomm_fastrtps_shm();
+        p->RegisterRecv(strcommname,pCall);
+        pmi->mphandle = (iv::modulecomm_base *)p;
+    }
+        break;
+
+    case ModuleComm_FASTRTPS_TCP:
+    {
+        iv::modulecomm_fastrtps_tcp * p = new iv::modulecomm_fastrtps_tcp();
+        p->RegisterRecv(strcommname,pCall,strip,nPort);
+        pmi->mphandle = (iv::modulecomm_base *)p;
+    }
+        break;
+#endif
+    default:
+        break;
+    }
+    return pmi;
+}
+
+void *  RegisterRecvPlus(const char * strcommname,ModuleFun xFun,
+                                                ModuleComm_TYPE xmctype,const char * strip,
+                         const unsigned short nPort)
+{
+    iv::modulecomm::ModeduleInfo * pmi = new iv::modulecomm::ModeduleInfo;
+    pmi->mmctype = xmctype;
+    pmi->mphandle = 0;
+    ModuleComm_TYPE mctype = xmctype;
+    if(mctype == ModuleComm_UNDEFINE)
+    {
+        mctype = getdefmodulecommtype();
+    }
+    switch (mctype) {
+    case ModuleComm_SHAREMEM:
+    {
+        iv::modulecomm_shm * p = new iv::modulecomm_shm();
+        p->RegisterRecvPlus(strcommname,xFun);
+        pmi->mphandle = (iv::modulecomm_base *)p;
+    }
+        break;
+    case ModuleComm_INTERIOR:
+    {
+        iv::modulecomm_inter * p = new iv::modulecomm_inter();
+        p->RegisterRecvPlus(strcommname,xFun);
+        pmi->mphandle = (iv::modulecomm_base *)p;
+    }
+        break;
+#ifdef USE_FASTRTPS
+    case ModuleComm_FASTRTPS:
+    {
+        iv::modulecomm_fastrtps_shm * p = new iv::modulecomm_fastrtps_shm();
+        p->RegisterRecvPlus(strcommname,xFun);
+        pmi->mphandle = (iv::modulecomm_base *)p;
+    }
+        break;
+
+    case ModuleComm_FASTRTPS_TCP:
+    {
+        iv::modulecomm_fastrtps_tcp * p = new iv::modulecomm_fastrtps_tcp();
+        p->RegisterRecvPlus(strcommname,xFun,strip,nPort);
+        pmi->mphandle = (iv::modulecomm_base *)p;
+    }
+        break;
+#endif
+    default:
+        break;
+    }
+    return pmi;
+}
+
 void  ModuleSendMsg(void * pHandle,const char * strdata,const unsigned int nDataLen)
 {
-    procsm_if * pif = (procsm_if *)pHandle;
-    pif->writemsg(strdata,nDataLen);
+    iv::modulecomm::ModeduleInfo * pmi = (iv::modulecomm::ModeduleInfo  * )pHandle;
+    if(pmi->mphandle == 0)
+    {
+        qDebug("handler error. use fastrtps but not define.");
+        return;
+    }
+    pmi->mphandle->ModuleSendMsg(strdata,nDataLen);
 }
 
 void  Unregister(void * pHandle)
 {
-    procsm_if * pif = (procsm_if *)pHandle;
-    delete pif;
+    iv::modulecomm::ModeduleInfo * pmi = (iv::modulecomm::ModeduleInfo  * )pHandle;
+    if(pmi->mphandle == 0)
+    {
+        qDebug("handler error. use fastrtps but not define.");
+        return;
+    }
+    pmi->mphandle->Unregister();
 }
 
 void PauseComm(void *pHandle)
 {
-    procsm_if * pif = (procsm_if *)pHandle;
-    pif->pausecomm();
+    iv::modulecomm::ModeduleInfo * pmi = (iv::modulecomm::ModeduleInfo  * )pHandle;
+    if(pmi->mphandle == 0)
+    {
+        qDebug("handler error. use fastrtps but not define.");
+        return;
+    }
+    pmi->mphandle->PauseComm();
 }
 
 void ContintuComm(void *pHandle)
 {
-    procsm_if * pif = (procsm_if *)pHandle;
-    pif->continuecomm();
+    iv::modulecomm::ModeduleInfo * pmi = (iv::modulecomm::ModeduleInfo  * )pHandle;
+    if(pmi->mphandle == 0)
+    {
+        qDebug("handler error. use fastrtps but not define.");
+        return;
+    }
+    pmi->mphandle->ContintuComm();
+}
+
+void * RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount)
+{
+    return RegisterSend(strcommname,nBufSize,nMsgBufCount,iv::modulecomm::ModuleComm_UNDEFINE,5100);
+}
+void * RegisterRecv(const char * strcommname,SMCallBack pCall)
+{
+    return RegisterRecv(strcommname,pCall,iv::modulecomm::ModuleComm_UNDEFINE,0,5100);
+}
+
+void * RegisterRecvPlus(const char * strcommname,ModuleFun xFun)
+{
+    return RegisterRecvPlus(strcommname,xFun,iv::modulecomm::ModuleComm_UNDEFINE,0,5100);
 }
 
 }

+ 48 - 7
src/common/modulecomm/modulecomm.h

@@ -1,11 +1,15 @@
-#ifndef MODULECOMM_H
+#ifndef MODULECOMM_H
 #define MODULECOMM_H
 
+
 #include <QtCore/qglobal.h>
 #include <QDateTime>
 
 #include <functional>
 
+
+
+
 #if defined(MODULECOMM_LIBRARY)
 #  define MODULECOMMSHARED_EXPORT Q_DECL_EXPORT
 #else
@@ -13,27 +17,64 @@
 #endif
 
 
+
+
+
+
 //#include <iostream>
 //#include <thread>
 
 //using namespace std::placeholders;
+
+#ifndef IV_MODULE_FUN
+
 typedef std::function<void(const char * ,const unsigned int , const unsigned int , QDateTime * ,const char *)> ModuleFun;
 typedef void (* SMCallBack)(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname);
+#define IV_MODULE_FUN
+#endif
 
 namespace iv {
 namespace modulecomm {
-void * MODULECOMMSHARED_EXPORT RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount);
-void * MODULECOMMSHARED_EXPORT RegisterRecv(const char * strcommname,SMCallBack pCall);
-void * MODULECOMMSHARED_EXPORT RegisterRecvPlus(const char * strcommname,ModuleFun xFun);
+
+enum ModuleComm_TYPE
+{
+    ModuleComm_SHAREMEM = 0,
+    ModuleComm_INTERIOR = 1,
+    ModuleComm_FASTRTPS = 2,
+    ModuleComm_FASTRTPS_TCP = 3,
+    ModuleComm_UNDEFINE = 4
+};
+
+void * MODULECOMMSHARED_EXPORT RegisterSend(const char * strcommname);
+
+
+void * MODULECOMMSHARED_EXPORT RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount
+                                            ,ModuleComm_TYPE xmctype,const unsigned short nport);
+void * MODULECOMMSHARED_EXPORT RegisterRecv(const char * strcommname,SMCallBack pCall,
+                                            ModuleComm_TYPE xmctype ,const char * strip,const unsigned short );
+void * MODULECOMMSHARED_EXPORT RegisterRecvPlus(const char * strcommname,ModuleFun xFun,
+                                                ModuleComm_TYPE xmctype,const char * strip,const unsigned short );
+
+
+//void * MODULECOMMSHARED_EXPORT RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount
+//                                            ,ModuleComm_TYPE xmctype = ModuleComm_UNDEFINE,const unsigned short nport = 5100);
+//void * MODULECOMMSHARED_EXPORT RegisterRecv(const char * strcommname,SMCallBack pCall,
+//                                            ModuleComm_TYPE xmctype = ModuleComm_UNDEFINE,const char * strip = 0,const unsigned short = 5100);
+//void * MODULECOMMSHARED_EXPORT RegisterRecvPlus(const char * strcommname,ModuleFun xFun,
+//                                                ModuleComm_TYPE xmctype = ModuleComm_UNDEFINE,const char * strip = 0,const unsigned short = 5100);
+
 void MODULECOMMSHARED_EXPORT ModuleSendMsg(void * pHandle,const char * strdata,const unsigned int nDataLen);
 void MODULECOMMSHARED_EXPORT Unregister(void * pHandle);
 void MODULECOMMSHARED_EXPORT PauseComm(void * pHandle);
 void MODULECOMMSHARED_EXPORT ContintuComm(void * pHandle);
 
-}
+void * MODULECOMMSHARED_EXPORT RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount);
+void * MODULECOMMSHARED_EXPORT RegisterRecv(const char * strcommname,SMCallBack pCall);
+void * MODULECOMMSHARED_EXPORT RegisterRecvPlus(const char * strcommname,ModuleFun xFun);
 
-}
 
+}
 
+}
 
-#endif 
+#endif // MODULECOMM_H

+ 69 - 23
src/common/modulecomm/modulecomm.pro

@@ -1,44 +1,90 @@
-#-------------------------------------------------
-#
-# Project created by QtCreator 2018-07-10T05:46:48
-#
-#-------------------------------------------------
+QT -= gui
 
-QT       -= gui
+QT += dbus
+QT += xml
 
-QT       += dbus
+TEMPLATE = lib
+DEFINES += MODULECOMM_LIBRARY
 
+unix:DEFINES += RUNSYSTEMTEST
 
-#DEFINES += USELCM
+if(contains(DEFINES,RUNSYSTEMTEST)){
+unix:system("./../../../include/linuxsystemtest.sh ")
+}
 
+unix:include(./../../../include/systemdef.pri)
+win32: DEFINES += SYSTEM_WIN
 
 DEFINES += USEDBUS
 
-TARGET = modulecomm
-TEMPLATE = lib
+CONFIG += c++11
 
-DEFINES += MODULECOMM_LIBRARY
+# The following define makes your compiler emit warnings if you use
+# any Qt feature that has been marked deprecated (the exact warnings
+# depend on your compiler). Please consult the documentation of the
+# deprecated API in order to know how to port your code away from it.
+DEFINES += QT_DEPRECATED_WARNINGS
 
-#VERSION = 1.0.1
-CONFIG += plugin
+# You can also make your code fail to compile if it uses deprecated APIs.
+# In order to do so, uncomment the following line.
+# You can also select to disable deprecated APIs only up to a certain version of Qt.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
 
+SOURCES += \
+    modulecomm.cpp \
+    modulecomm_base.cpp
 
-SOURCES += modulecomm.cpp \
-    procsm.cpp \
-    procsm_if.cpp
+HEADERS += \
+    ivmodulemsg_type.h \
+    modulecomm.h \
+    modulecomm_base.h
 
-HEADERS += modulecomm.h \
-    procsm.h \
-    procsm_if.h \
-    ivmodulemsg_type.h
+CONFIG += plugin
 
+
+# Default rules for deployment.
 unix {
     target.path = /usr/lib
-    INSTALLS += target
 }
+!isEmpty(target.path): INSTALLS += target
+
+
 
+!include(./shm/modulecomm_shm.pri ) {
+    error( "Couldn't find the modulecomm_shm.pri file!" )
+}
 
+!include(./inter/modulecomm_inter.pri ) {
+    error( "Couldn't find the modulecomm_inter.pri file!" )
+}
 
-#INCLUDEPATH += $$PWD/../../../include/
-LIBS += -L$$PWD
+if(contains(DEFINES,SYSTEM_AGX)){
+DEFINES += USE_FASTRTPS
+LIBS += -L$$PWD/../../../thirdpartylib/FastRTPS/lib/libarm64
+system("cd ./../../../thirdpartylib/FastRTPS/lib ; unzip -x -n libarm64.zip ; cd ../../../include ; echo $PWD")
+}
+
+if(contains(DEFINES,SYSTEM_UBUNTU1804)){
+DEFINES += USE_FASTRTPS
+LIBS += -L$$PWD/../../../thirdpartylib/FastRTPS/lib/libamd64
+system("cd ./../../../thirdpartylib/FastRTPS/lib ; unzip -x -n libamd64.zip ; cd ../../../include ; echo $PWD")
+}
+
+
+
+if(contains(DEFINES,USE_FASTRTPS)){
+!include(./fastrtps/modulecomm_fastrtps.pri ) {
+    error( "Couldn't find the modulecomm_fastrtps.pri file!" )
+}
+}
+
+
+INCLUDEPATH += $$PWD/shm
+INCLUDEPATH += $$PWD/fastrtps
+INCLUDEPATH += $$PWD/inter
+
+
+if(contains(DEFINES,USE_FASTRTPS)){
+LIBS +=  -lfastcdr -lfastrtps
+}
 

+ 4 - 0
src/common/modulecomm/modulecomm.xml

@@ -0,0 +1,4 @@
+<xml>	
+	<commtype value="0" />
+</xml>
+

+ 11 - 0
src/common/modulecomm/modulecomm_base.cpp

@@ -0,0 +1,11 @@
+#include "modulecomm_base.h"
+
+
+namespace  iv {
+
+modulecomm_base::modulecomm_base()
+{
+
+}
+
+}

+ 33 - 0
src/common/modulecomm/modulecomm_base.h

@@ -0,0 +1,33 @@
+#ifndef MODULECOMM_BASE_H
+#define MODULECOMM_BASE_H
+
+
+#include <QDateTime>
+
+#include <functional>
+
+#ifndef IV_MODULE_FUN
+
+typedef std::function<void(const char * ,const unsigned int , const unsigned int , QDateTime * ,const char *)> ModuleFun;
+typedef void (* SMCallBack)(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname);
+#define IV_MODULE_FUN
+#endif
+
+namespace  iv {
+
+
+class modulecomm_base
+{
+public:
+    modulecomm_base();
+
+public:
+    virtual void ModuleSendMsg(const char * strdata,const unsigned int nDataLen) = 0;
+    virtual void Unregister() = 0;
+    virtual void PauseComm() = 0;
+    virtual void ContintuComm() = 0;
+};
+
+}
+
+#endif // MODULECOMM_BASE_H

+ 9 - 0
src/common/modulecomm/modulecommext.cpp

@@ -0,0 +1,9 @@
+
+#include "modulecommext.h"
+
+namespace iv {
+namespace modulecommext {
+
+
+}
+}

+ 208 - 0
src/common/modulecomm/modulecommext.h

@@ -0,0 +1,208 @@
+#ifndef MODULECOMMEXT_H
+#define MODULECOMMEXT_H
+
+#include <QtCore/qglobal.h>
+#include <QDateTime>
+
+#include <functional>
+
+
+#include "modulecomm.h"
+
+#if defined(MODULECOMMEXT_LIBRARY)
+#  define MODULECOMMEXTSHARED_EXPORT Q_DECL_EXPORT
+#else
+#  define MODULECOMMEXTSHARED_EXPORT Q_DECL_IMPORT
+#endif
+
+
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/port.h>
+#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
+
+
+
+#ifndef IV_MODULEEXT_FUN
+
+typedef std::function<void(google::protobuf::Message & xmsg)> ModuleExtFun;
+typedef void (* SMExtCallBack)(google::protobuf::Message & xmsg);
+#define IV_MODULEEXT_FUN
+#endif
+
+namespace iv {
+namespace modulecommext {
+
+
+template<class T>
+class modulecommmsg
+{
+private:
+    T mMessage;
+    void * mphandle = NULL;
+    ModuleExtFun mFun;
+    SMExtCallBack mpCall;
+    bool mbCallPlus = false;
+    int mnType = 0; //0:Not Init  1:Send   2:Recv
+    void UpdateMsg(const char *strdata,
+                                         const unsigned int nSize, const unsigned int index, const QDateTime *dt,
+                                         const char *strmemname);
+public:
+    modulecommmsg();
+    ~modulecommmsg();
+
+    void RegisterSend(const char * strcommname);
+
+    void RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount
+                                                ,iv::modulecomm::ModuleComm_TYPE xmctype = iv::modulecomm::ModuleComm_UNDEFINE,const unsigned short nport = 5100);
+    void RegisterRecv(const char * strcommname,SMExtCallBack pCall,
+                                                iv::modulecomm::ModuleComm_TYPE xmctype =iv::modulecomm:: ModuleComm_UNDEFINE,const char * strip = 0,const unsigned short = 5100);
+    void RegisterRecvPlus(const char * strcommname,ModuleExtFun xFun,
+                                                    iv::modulecomm::ModuleComm_TYPE xmctype = iv::modulecomm::ModuleComm_UNDEFINE,const char * strip = 0,const unsigned short = 5100);
+
+    void ModuleSendMsg(google::protobuf::Message & xmsg);
+    void Unregister();
+    void PauseComm();
+    void ContintuComm();
+};
+
+template<class T>
+modulecommmsg<T>::modulecommmsg()
+{
+
+}
+
+template<class T>
+modulecommmsg<T>::~modulecommmsg()
+{
+    if(mphandle != NULL)
+    {
+        Unregister();
+    }
+}
+
+template<class T>
+void modulecommmsg<T>::UpdateMsg(const char *strdata,
+                                 const unsigned int nSize, const unsigned int index, const QDateTime *dt,
+                                 const char *strmemname)
+{
+    (void)&index;
+    (void)dt;
+    (void)strmemname;
+    T xmsg;
+    google::protobuf::Message * pmsg = (google::protobuf::Message *)&xmsg;
+    bool bParse = pmsg->ParseFromArray(strdata,nSize);
+    if(bParse == false)
+    {
+        qDebug("modulecommext<T>::UpdateMsg Parse Fail.");
+        return;
+    }
+    if(mbCallPlus)
+        mFun(*pmsg);
+    else
+        (*mpCall)(*pmsg);
+
+}
+
+
+
+template<class T>
+void modulecommmsg<T>::RegisterSend(const char * strcommname)
+{
+    mphandle = iv::modulecomm::RegisterSend(strcommname);
+    mnType = 1;
+}
+
+template<class T>
+void modulecommmsg<T>::RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount
+                                            ,iv::modulecomm::ModuleComm_TYPE xmctype ,const unsigned short nport)
+{
+    mphandle = iv::modulecomm::RegisterSend(strcommname,nBufSize,nMsgBufCount,xmctype,nport);
+    mnType = 1;
+}
+
+template<class T>
+void modulecommmsg<T>::RegisterRecv(const char * strcommname,SMExtCallBack pCall,
+                                            iv::modulecomm::ModuleComm_TYPE xmctype,const char * strip,const unsigned short nport)
+{
+    mpCall = pCall;
+    mbCallPlus = false;
+    ModuleFun funext = std::bind(&modulecommmsg::UpdateMsg,this,std::placeholders::_1,std::placeholders::_2,std::placeholders::_3,std::placeholders::_4,std::placeholders::_5);
+    mphandle = iv::modulecomm::RegisterRecvPlus(strcommname,funext,xmctype,strip,nport);
+    mnType = 2;
+}
+
+template<class T>
+void modulecommmsg<T>::RegisterRecvPlus(const char * strcommname,ModuleExtFun xFun,
+                                                iv::modulecomm::ModuleComm_TYPE xmctype ,const char * strip ,const unsigned short nport)
+{
+    mFun = xFun;
+    mbCallPlus = true;
+    ModuleFun funext = std::bind(&modulecommmsg::UpdateMsg,this,std::placeholders::_1,std::placeholders::_2,std::placeholders::_3,std::placeholders::_4,std::placeholders::_5);
+    mphandle = iv::modulecomm::RegisterRecvPlus(strcommname,funext,xmctype,strip,nport);
+    mnType = 2;
+}
+
+template<class T>
+void modulecommmsg<T>::ModuleSendMsg(google::protobuf::Message & xmsg)
+{
+    if((mnType != 1)||(mphandle == NULL))
+    {
+        qDebug("This Handle is not send. type : %d ",mnType);
+        return;
+    }
+    int ndatasize = xmsg.ByteSize();
+    std::shared_ptr<char> str_ptr= std::shared_ptr<char>(new char[ndatasize]);
+    bool bSer = xmsg.SerializeToArray(str_ptr.get(),ndatasize);
+    if(bSer == false)
+    {
+        qDebug("modulecommext<T>::ModuleSendMsg serialize fail.");
+        return;
+    }
+    iv::modulecomm::ModuleSendMsg(mphandle,str_ptr.get(),ndatasize);
+
+}
+
+template<class T>
+void modulecommmsg<T>::Unregister()
+{
+    if((mnType == 0)||(mphandle == NULL))
+    {
+        return;
+    }
+    iv::modulecomm::Unregister(mphandle);
+    mphandle = NULL;
+}
+
+template<class T>
+void modulecommmsg<T>::PauseComm()
+{
+    if((mnType == 0)||(mphandle == NULL))
+    {
+        qDebug("modulecommext<T>::PauseComm handle not init.");
+        return;
+    }
+    iv::modulecomm::PauseComm(mphandle);
+}
+
+template<class T>
+void modulecommmsg<T>::ContintuComm()
+{
+    if((mnType == 0)||(mphandle == NULL))
+    {
+        qDebug("modulecommext<T>::PauseComm handle not init.");
+        return;
+    }
+    iv::modulecomm::ContintuComm(mphandle);
+}
+
+
+
+}
+}
+#endif // MODULECOMMEXT_H

+ 54 - 0
src/common/modulecomm/shm/b/modulecomm_shm.cpp

@@ -0,0 +1,54 @@
+#include "modulecomm_shm.h"
+#include "procsm_if.h"
+#include "procsm.h"
+#include <iostream>
+
+namespace iv {
+namespace modulecomm_shm {
+
+void *  RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount)
+{
+
+    procsm_if * pif = new procsm_if(strcommname,nBufSize,nMsgBufCount,procsm::ModeWrite);
+    return (void *)pif;
+}
+
+void  *  RegisterRecv(const char * strcommname,SMCallBack pCall)
+{
+    procsm_if * pif = new procsm_if(strcommname,0,0,procsm::ModeRead);
+    pif->listenmsg(pCall);
+    return (void *)pif;
+}
+
+void * MODULECOMMSHARED_SHM_EXPORT RegisterRecvPlus(const char * strcommname,ModuleFun xFun)
+{
+    procsm_if * pif = new procsm_if(strcommname,0,0,procsm::ModeRead);
+    pif->listenmsg(xFun);
+    return (void *)pif;
+}
+void  ModuleSendMsg(void * pHandle,const char * strdata,const unsigned int nDataLen)
+{
+    procsm_if * pif = (procsm_if *)pHandle;
+    pif->writemsg(strdata,nDataLen);
+}
+
+void  Unregister(void * pHandle)
+{
+    procsm_if * pif = (procsm_if *)pHandle;
+    delete pif;
+}
+
+void PauseComm(void *pHandle)
+{
+    procsm_if * pif = (procsm_if *)pHandle;
+    pif->pausecomm();
+}
+
+void ContintuComm(void *pHandle)
+{
+    procsm_if * pif = (procsm_if *)pHandle;
+    pif->continuecomm();
+}
+
+}
+}

+ 42 - 0
src/common/modulecomm/shm/b/modulecomm_shm.h

@@ -0,0 +1,42 @@
+#ifndef MODULECOMM_SHM_H
+#define MODULECOMM_SHM_H
+
+#include <QtCore/qglobal.h>
+#include <QDateTime>
+
+#include <functional>
+
+#if defined(MODULECOMM_SHM_LIBRARY)
+#  define MODULECOMMSHARED_SHM_EXPORT Q_DECL_EXPORT
+#else
+#  define MODULECOMMSHARED_SHM_EXPORT Q_DECL_IMPORT
+#endif
+
+
+
+//#include <iostream>
+//#include <thread>
+
+#ifndef IV_MODULE_FUN
+
+typedef std::function<void(const char * ,const unsigned int , const unsigned int , QDateTime * ,const char *)> ModuleFun;
+typedef void (* SMCallBack)(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname);
+#define IV_MODULE_FUN
+#endif
+namespace iv {
+namespace modulecomm_shm {
+void * MODULECOMMSHARED_SHM_EXPORT RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount);
+void * MODULECOMMSHARED_SHM_EXPORT RegisterRecv(const char * strcommname,SMCallBack pCall);
+void * MODULECOMMSHARED_SHM_EXPORT RegisterRecvPlus(const char * strcommname,ModuleFun xFun);
+void MODULECOMMSHARED_SHM_EXPORT ModuleSendMsg(void * pHandle,const char * strdata,const unsigned int nDataLen);
+void MODULECOMMSHARED_SHM_EXPORT Unregister(void * pHandle);
+void MODULECOMMSHARED_SHM_EXPORT PauseComm(void * pHandle);
+void MODULECOMMSHARED_SHM_EXPORT ContintuComm(void * pHandle);
+
+}
+
+}
+
+
+
+#endif 

+ 61 - 0
src/common/modulecomm/shm/modulecomm_shm.cpp

@@ -0,0 +1,61 @@
+#include "modulecomm_shm.h"
+
+#include "procsm_if.h"
+#include "procsm.h"
+#include <iostream>
+
+namespace iv {
+
+
+modulecomm_shm::modulecomm_shm()
+{
+
+
+}
+
+void modulecomm_shm::RegisterSend(const char *strcommname, const unsigned int nBufSize, const unsigned int nMsgBufCount)
+{
+    procsm_if * pif = new procsm_if(strcommname,nBufSize,nMsgBufCount,procsm::ModeWrite);
+    mpif = pif;
+}
+
+void modulecomm_shm::RegisterRecv(const char *strcommname, SMCallBack pCall)
+{
+    procsm_if * pif = new procsm_if(strcommname,0,0,procsm::ModeRead);
+    pif->listenmsg(pCall);
+    mpif = pif;
+}
+
+void modulecomm_shm::RegisterRecvPlus(const char *strcommname, ModuleFun xFun)
+{
+    procsm_if * pif = new procsm_if(strcommname,0,0,procsm::ModeRead);
+    pif->listenmsg(xFun);
+    mpif = (void *)pif;
+}
+
+void modulecomm_shm::ModuleSendMsg(const char *strdata, const unsigned int nDataLen)
+{
+    procsm_if * pif = (procsm_if *)mpif;
+    pif->writemsg(strdata,nDataLen);
+}
+
+void modulecomm_shm::PauseComm()
+{
+    procsm_if * pif = (procsm_if *)mpif;
+    pif->pausecomm();
+}
+
+void modulecomm_shm::ContintuComm()
+{
+    procsm_if * pif = (procsm_if *)mpif;
+    pif->continuecomm();
+}
+
+void modulecomm_shm::Unregister()
+{
+    procsm_if * pif = (procsm_if *)mpif;
+    delete pif;
+    mpif =0;
+}
+
+}

+ 28 - 0
src/common/modulecomm/shm/modulecomm_shm.h

@@ -0,0 +1,28 @@
+#ifndef MODULECOMM_SHM_H
+#define MODULECOMM_SHM_H
+
+#include "modulecomm_base.h"
+
+namespace iv {
+
+
+class modulecomm_shm : public modulecomm_base
+{
+public:
+    modulecomm_shm();
+
+    void RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount);
+    void RegisterRecv(const char * strcommname,SMCallBack pCall);
+    void RegisterRecvPlus(const char * strcommname,ModuleFun xFun);
+    virtual void ModuleSendMsg(const char * strdata,const unsigned int nDataLen);
+    virtual void Unregister();
+    virtual void PauseComm();
+    virtual void ContintuComm();
+
+private :
+    void * mpif = 0;
+};
+
+}
+
+#endif // MODULECOMM_SHM_H

+ 9 - 0
src/common/modulecomm/shm/modulecomm_shm.pri

@@ -0,0 +1,9 @@
+HEADERS += \
+    $$PWD/modulecomm_shm.h \
+    $$PWD/procsm.h \
+    $$PWD/procsm_if.h
+
+SOURCES += \
+    $$PWD/modulecomm_shm.cpp \
+    $$PWD/procsm.cpp \
+    $$PWD/procsm_if.cpp

+ 578 - 0
src/common/modulecomm/shm/procsm.cpp

@@ -0,0 +1,578 @@
+#include <iostream>
+#include <thread>
+#include <QTime>
+#include <QThread>
+#include <algorithm>
+#include "procsm.h"
+
+
+class AttachThread : public QThread
+{
+  public:
+    AttachThread(QSharedMemory * pa,bool & bAttach)
+    {
+       mbAttach = bAttach;
+       mpa = pa;
+       mbrun = true;
+    }
+    QSharedMemory * mpa;
+    bool mbAttach = false;
+    bool mbrun = true;
+    void run()
+    {
+        mbAttach = mpa->attach();
+        mbrun = false;
+    }
+};
+
+procsm::procsm(const char * strsmname,const unsigned int nBufSize,const unsigned int nMaxPacCount,const int nMode)
+{
+//    mnBufSize = nBufSize;
+
+//    qDebug("create dbus");
+
+    strncpy(mstrsmname,strsmname,256);
+
+    mpASMPtr = new QSharedMemory(strsmname);
+
+
+    char strasmname[256];
+
+    if(nMode == ModeWrite)
+    {
+        bool bres = mpASMPtr->attach();
+        if(bres == false)
+        {
+            mpASMPtr->create(sizeof(ASM_PTR));
+
+        }
+        ASM_PTR * pasm = (ASM_PTR *)mpASMPtr->data();
+        if(pasm == NULL)
+        {
+            qDebug("ASM_PTR is NULL.");
+            return;
+        }
+        snprintf(strasmname,256,"%s_%lld",strsmname,QDateTime::currentMSecsSinceEpoch());
+        pasm->mnshmsize = sizeof(procsm_info)+nMaxPacCount*sizeof(procsm_head) + nBufSize;
+        pasm->mnUpdateTime = QDateTime::currentMSecsSinceEpoch();
+        strncpy(pasm->mstrshmname,strasmname,256);
+        mASM_State = *pasm;
+    }
+    else
+    {
+        return;
+    }
+
+//    mpASM = new QSharedMemory(strsmname);
+    mpASM = new QSharedMemory(strasmname);
+
+    if(nMode == ModeWrite)
+    {
+
+        mmodulemsg_type.mnBufSize = nBufSize;
+        mmodulemsg_type.mnMsgBufCount = nMaxPacCount;
+        strncpy(mmodulemsg_type.mstrmsgname,strasmname,255);
+#ifdef USEDBUS
+        mmsg = QDBusMessage::createSignal("/catarc/adc",  "adc.adciv.modulecomm", strsmname);
+        mmsg<<1;
+#endif
+
+        bool bAttach = mpASM->attach();
+//        AttachThread AT(mpASM,bAttach);
+//        AT.start();
+//        QTime xTime;
+//        xTime.start();
+//        while(xTime.elapsed()<100)
+//        {
+//            if(AT.mbrun == false)
+//            {
+//                bAttach = AT.mbAttach;
+//                break;
+//            }
+//        }
+// //       qDebug("time is %d",xTime.elapsed());
+//        if(xTime.elapsed()>= 1000)
+//        {
+//            qDebug("in 1000ms Attach fail.terminate it .");
+//            AT.terminate();
+//            bAttach = false;
+//        }
+
+ //       if(!mpASM->attach())
+        if(!bAttach)
+        {
+
+            mpASM->create(sizeof(procsm_info)+nMaxPacCount*sizeof(procsm_head) + nBufSize);
+            char * p = (char *)mpASM->data();
+            if(p == NULL)
+            {
+                qDebug("Create SharedMemory Fail.");
+                return;
+            }
+            mpinfo = (procsm_info *)p;
+            mphead = (procsm_head *)(p+sizeof(procsm_info));
+            mpinfo->mCap = nMaxPacCount;
+            mpinfo->mnBufSize = nBufSize;
+            mpinfo->mFirst = 0;
+            mpinfo->mNext = 0;
+            mpinfo->mLock = 0;
+        }
+
+
+
+
+        if(mpASM->isAttached())
+        {
+
+            mbAttach = true;
+            char * p = (char *)mpASM->data();
+            mpinfo = (procsm_info *)p;
+            mphead = (procsm_head *)(p+sizeof(procsm_info));
+            mnMaxPacCount = mpinfo->mCap;
+            mnBufSize = mpinfo->mnBufSize;
+    //        qDebug("attach successful");
+            mstrtem = new char[mnBufSize];
+
+#ifdef USEDBUS
+            mmsgres = QDBusMessage::createSignal("/catarc/adc",  "adciv.interface", "modulemsgres");
+            mmsgres<<1;
+
+            bool bconnect = QDBusConnection::sessionBus().connect(QString(),"/catarc/adc",  "adciv.interface", "modulemsgquery",this,SLOT(onQuery()));
+            if(bconnect == false)
+            {
+                std::cout<<"procsm_if_readthread::procsm_if_readthread bconect is false"<<std::endl;
+            }
+#endif
+        }
+        else
+        {
+          mbAttach = false;
+            qDebug("Share Memory Error.");
+        }
+
+
+    }
+}
+
+void procsm::recreateasm(int nbufsize)
+{
+
+    mpASMPtr->lock();
+    qDebug("recreate asms");
+
+
+    mnBufSize = std::max(nbufsize*11/10,nbufsize+1000);
+ //   mnBufSize = nbufsize+100;
+    char strasmname[256];
+    ASM_PTR * pasm = (ASM_PTR *)mpASMPtr->data();
+    snprintf(strasmname,256,"%s_%lld",mstrsmname,QDateTime::currentMSecsSinceEpoch());
+    pasm->mnshmsize = sizeof(procsm_info)+mnMaxPacCount*sizeof(procsm_head) + mnBufSize;
+    pasm->mnUpdateTime = QDateTime::currentMSecsSinceEpoch();
+    strncpy(pasm->mstrshmname,strasmname,256);
+    mASM_State = *pasm;
+
+    mmodulemsg_type.mnBufSize = mnBufSize;
+    mmodulemsg_type.mnMsgBufCount = mnMaxPacCount;
+    strncpy(mmodulemsg_type.mstrmsgname,mASM_State.mstrshmname,255);
+
+    mpASM->lock();
+    int noldmemsize = mpASM->size();
+    char * px = new char[mpASM->size()];
+    memcpy(px,mpASM->data(),noldmemsize);
+    mpASM->unlock();
+    mpASM->detach();
+
+    qDebug("new asm name is %s,buffer size is %d ",mASM_State.mstrshmname,mnBufSize);
+    mpASM = new QSharedMemory(mASM_State.mstrshmname);
+
+    bool bAttach = false;
+    AttachThread AT(mpASM,bAttach);
+    AT.start();
+    QTime xTime;
+    xTime.start();
+    while(xTime.elapsed()<100)
+    {
+        if(AT.mbrun == false)
+        {
+            bAttach = AT.mbAttach;
+            break;
+        }
+    }
+    //       qDebug("time is %d",xTime.elapsed());
+    if(xTime.elapsed()>= 1000)
+    {
+        qDebug("in 1000ms Attach fail.terminate it .");
+        AT.terminate();
+        bAttach = false;
+    }
+
+    //       if(!mpASM->attach())
+    if(!bAttach)
+    {
+
+        mpASM->create(sizeof(procsm_info)+mnMaxPacCount*sizeof(procsm_head) + mnBufSize);
+        memcpy(mpASM->data(),px,noldmemsize);
+        char * p = (char *)mpASM->data();
+        mpinfo = (procsm_info *)p;
+        mphead = (procsm_head *)(p+sizeof(procsm_info));
+        mpinfo->mCap = mnMaxPacCount;
+        mpinfo->mnBufSize = mnBufSize;
+//        mpinfo->mFirst = nfirst;
+//        mpinfo->mNext = nnext;
+//        mpinfo->mLock = 0;
+    }
+
+
+
+
+    if(mpASM->isAttached())
+    {
+
+        mbAttach = true;
+        char * p = (char *)mpASM->data();
+        mpinfo = (procsm_info *)p;
+        mphead = (procsm_head *)(p+sizeof(procsm_info));
+        mnMaxPacCount = mpinfo->mCap;
+        mnBufSize = mpinfo->mnBufSize;
+        //        qDebug("attach successful");
+ //       mstrtem = new char[mnBufSize];
+    }
+    else
+    {
+        mbAttach = false;
+        qDebug("Share Memory Error.");
+    }
+
+    mpASMPtr->unlock();
+
+    delete px;
+
+
+
+
+}
+
+#ifdef USEDBUS
+    void procsm::onQuery()
+    {
+        QByteArray ba;
+        ba.append((char *)&mmodulemsg_type,sizeof(iv::modulemsg_type));
+
+        QList<QVariant> x;
+        x<<ba;
+        mmsgres.setArguments(x);
+        QDBusConnection::sessionBus().send(mmsgres);
+    }
+
+#endif
+
+bool procsm::AttachMem()
+{
+
+    if(!mpASMPtr->isAttached())mpASMPtr->attach();
+    if(mpASMPtr->isAttached())
+    {
+        ASM_PTR * pasmptr = (ASM_PTR *)(mpASMPtr->data());
+        mASM_State = * pasmptr;
+
+        if(mpASM != 0)
+        {
+            if(mpASM->isAttached())mpASM->detach();
+            delete mpASM;
+        }
+        mpASM = new QSharedMemory(mASM_State.mstrshmname);
+
+        mpASM->attach();
+        if(mpASM->isAttached())
+        {
+            mbAttach = true;
+            char * p = (char *)mpASM->data();
+            mpinfo = (procsm_info *)p;
+            mphead = (procsm_head *)(p+sizeof(procsm_info));
+            mnMaxPacCount = mpinfo->mCap;
+            mnBufSize = mpinfo->mnBufSize;
+            return true;
+        }
+        else
+        {
+            return false;
+        }
+    }
+    else
+    {
+        return false;
+    }
+
+    return false;
+    mpASM->attach();
+    if(mpASM->isAttached())
+    {
+        mbAttach = true;
+        char * p = (char *)mpASM->data();
+        mpinfo = (procsm_info *)p;
+        mphead = (procsm_head *)(p+sizeof(procsm_info));
+        mnMaxPacCount = mpinfo->mCap;
+        mnBufSize = mpinfo->mnBufSize;
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+int procsm::MoveMem(const unsigned int nSize)
+{
+//    qDebug("move mem");
+     unsigned int nRemove = nSize;
+     if(nRemove == 0)return -1;
+
+//     unsigned int * pIndexFirst = (unsigned int *)mpASM->data();
+//     unsigned int * pIndexNext = pIndexFirst+1;
+//     qDebug("first = %d next = %d",*pIndexFirst,*pIndexNext);
+//    unsigned int * pIndexNext = pIndexFirst;
+    char * pH,*pD;
+    pH = (char *)mpASM->data();pH = pH + sizeof(procsm_info);
+    pD = (char *)mpASM->data();pD = pD + sizeof(procsm_info) + mnMaxPacCount * sizeof(procsm_head);
+    procsm_head * phh = (procsm_head *)pH;
+    unsigned int nPac = mpinfo->mNext - mpinfo->mFirst;
+
+    if(nRemove >nPac)
+    {
+  //      qDebug("procsm::MoveMem nRemove > nPac nRemove = %d",nRemove);
+        nRemove = nPac;
+    }
+
+    if(nRemove == nPac)
+    {
+        mpinfo->mFirst = mpinfo->mFirst + (unsigned int)nRemove;
+        return 0;
+    }
+
+    unsigned int i;
+    int nDataMove = 0;
+    for(i=0;i<nRemove;i++)
+    {
+        procsm_head * phd = phh+i;
+        nDataMove = nDataMove + phd->mnLen;
+    }
+    unsigned int nDataTotal;
+    for(i=0;i<(nPac - nRemove);i++)
+    {
+        memcpy(phh+i,phh+i+nRemove,sizeof(procsm_head));
+        (phh+i)->mnPos = (phh+i)->mnPos - nDataMove;
+    }
+    nDataTotal = (phh + nPac-nRemove-1)->mnPos + (phh+nPac-nRemove-1)->mnLen;
+    memcpy(mstrtem,pD+nDataMove,nDataTotal);
+    memcpy(pD,mstrtem,nDataTotal);
+
+//    for(i=0;i<nDataTotal;i++)
+//    {
+//        *(pD+i) = *(pD+i+nDataMove);
+//    }
+    mpinfo->mFirst = mpinfo->mFirst + (unsigned int)nRemove;
+    return 0;
+}
+
+
+void procsm::checkasm()
+{
+
+    mpASMPtr->lock();
+    ASM_PTR * pASM_PTR = (ASM_PTR * )mpASMPtr->data();
+    if(pASM_PTR->mnUpdateTime == mASM_State.mnUpdateTime)
+    {
+
+        mpASMPtr->unlock();
+        return;
+    }
+    qDebug("reattch mem.");
+    mbAttach = false;
+    AttachMem();
+    mpASMPtr->unlock();
+}
+
+int procsm::writemsg(const char *str, const unsigned int nSize)
+{
+    checkasm();
+    if(nSize > mnBufSize)
+    {
+        if(nSize<1000000000)
+        {
+            recreateasm(nSize);
+            checkasm();
+        }
+        else
+        {
+        qDebug("procsm::writemsg message size is very big");
+        return -1;
+        }
+    }
+    if(mbAttach == false)
+    {
+        std::cout<<"ShareMemory Attach fail."<<std::endl;
+        return -1;
+    }
+    mpASM->lock();
+
+
+
+//    unsigned int * pIndexFirst = (unsigned int *)mpASM->data();
+//    unsigned int * pIndexNext = pIndexFirst+1;
+    if(mpinfo->mLock == 1)
+    {
+        std::cout<<"ShareMemory have lock.Init."<<std::endl;
+        mpinfo->mLock = 0;
+        mpinfo->mFirst = 0;
+        mpinfo->mNext = 0;
+    }
+    mpinfo->mLock =1;
+WRITEMSG:
+    char * pH,*pD;
+    QDateTime dt;
+    pH = (char *)mpASM->data();pH = pH + sizeof(procsm_info);
+    pD = (char *)mpASM->data();pD = pD + sizeof(procsm_info) + mnMaxPacCount * sizeof(procsm_head);
+    procsm_head * phh = (procsm_head *)pH;
+    unsigned int nPac = mpinfo->mNext - mpinfo->mFirst;
+    if(nPac>=mnMaxPacCount)
+    {
+        unsigned int nRemove = mnMaxPacCount/3;
+        if(nRemove == 0)nRemove = 1;
+        MoveMem(nRemove);
+        goto WRITEMSG;
+    }
+    if(nPac == 0)
+    {
+        memcpy(pD,str,nSize);
+        dt = QDateTime::currentDateTime();
+    //    phh->mdt = dt;
+        phh->SetDate(dt);
+   //     memcpy(&phh->mdt,&dt,sizeof(QDateTime));
+   //     phh->mdt = QDateTime::currentDateTime();
+        phh->mindex = mpinfo->mNext;
+        phh->mnPos = 0;
+        phh->mnLen = nSize;
+        mpinfo->mNext = mpinfo->mNext+1;
+    }
+    else
+    {
+        if(((phh+nPac-1)->mnPos+(phh+nPac-1)->mnLen + nSize)>=mnBufSize)
+        {
+            unsigned int nRemove = mnMaxPacCount/2;
+            if(nRemove == 0)nRemove = 1;
+            MoveMem(nRemove);
+            goto WRITEMSG;
+        }
+        else
+        {
+            unsigned int nPos = (phh+nPac-1)->mnPos + (phh+nPac-1)->mnLen;
+     //       qDebug("write pos = %d",nPos);
+            memcpy(pD+nPos,str,nSize);
+            dt = QDateTime::currentDateTime();
+            (phh+nPac)->SetDate(dt);
+ //           memcpy(&(phh+nPac)->mdt,&dt,sizeof(QDateTime));
+ //           (phh+nPac)->mdt = QDateTime::currentDateTime();
+            (phh+nPac)->mindex = mpinfo->mNext;
+            (phh+nPac)->mnPos = nPos;
+            (phh+nPac)->mnLen = nSize;
+            mpinfo->mNext = mpinfo->mNext+1;
+        }
+    }
+
+    const unsigned int nTM = 0x6fffffff;
+    if((mpinfo->mNext >nTM)&&(mpinfo->mFirst>nTM))
+    {
+       nPac = mpinfo->mNext - mpinfo->mFirst;
+       unsigned int i;
+       for(i=0;i<nPac;i++)
+       {
+           (phh+i)->mindex = (phh+i)->mindex-nTM;
+       }
+       mpinfo->mFirst = mpinfo->mFirst-nTM;
+       mpinfo->mNext = mpinfo->mNext - nTM;
+    }
+
+    mpinfo->mLock = 0;
+    mpASM->unlock();
+#ifdef USEDBUS
+    QDBusConnection::sessionBus().send(mmsg);
+#endif
+    return 0;
+}
+
+unsigned int procsm::getcurrentnext()
+{
+
+    checkasm();
+    unsigned int nNext;
+    mpASM->lock();
+    nNext = mpinfo->mNext;
+    mpASM->unlock();
+    return nNext;
+}
+
+
+//if return 0 No Data.
+//if return -1 nMaxSize is small
+//if retrun -2 index is not in range,call getcurrentnext get position
+//if return > 0 readdata
+int procsm::readmsg(unsigned int index, char *str, unsigned int nMaxSize,unsigned int * nRead,QDateTime * pdt)
+{
+    checkasm();
+    if(mbAttach == false)
+    {
+        std::cout<<"ShareMemory Attach fail."<<std::endl;
+        return -1;
+    }    
+    int nRtn = 0;
+    mpASM->lock();
+
+    if((index< mpinfo->mFirst)||(index > mpinfo->mNext))
+    {
+        nRtn = -2;
+    }
+    if(nRtn != (-2))
+    {
+        if(index == mpinfo->mNext)
+        {
+            nRtn = 0;
+        }
+        else
+        {
+            char * pH,*pD;
+ //           pH = (char *)mpASM->data();pH = pH + 2*sizeof(unsigned int);
+
+ //           pD = (char *)mpASM->data();pD = pD + 2*sizeof(unsigned int) + mnMaxPacCount * sizeof(procsm_head);
+            pD = (char *)mpASM->data();pD = pD+ sizeof(procsm_info) + mpinfo->mCap*sizeof(procsm_head);
+            pH = (char *)mpASM->data();pH = pH+sizeof(procsm_info);
+            procsm_head * phh = (procsm_head *)pH;
+            unsigned int nPac = mpinfo->mNext - mpinfo->mFirst;
+            if(nPac == 0)
+            {
+                nRtn = 0;
+            }
+            else
+            {
+                unsigned int nPos = index - mpinfo->mFirst;
+                *nRead = (phh+nPos)->mnLen;
+                if((phh+nPos)->mnLen > nMaxSize)
+                {
+                    nRtn = -1;
+
+                }
+                else
+                {
+        //            qDebug("read pos = %d",(phh+nPos)->mnPos);
+                   memcpy(str,pD + (phh+nPos)->mnPos,(phh+nPos)->mnLen);
+          //         qDebug("read pos = %d",(phh+nPos)->mnPos);
+                   nRtn = (phh+nPos)->mnLen;
+                   (phh+nPos)->GetDate(pdt);
+           //        memcpy(pdt,&((phh+nPos)->mdt),sizeof(QDateTime));
+                }
+            }
+        }
+    }
+    mpASM->unlock();
+    return nRtn;
+}
+

+ 131 - 0
src/common/modulecomm/shm/procsm.h

@@ -0,0 +1,131 @@
+#ifndef PROCSM_H
+#define PROCSM_H
+
+#include <QThread>
+#include <QSharedMemory>
+#include <QDateTime>
+#include <QList>
+#include <QVariant>
+
+#ifdef USEDBUS
+#include <QtDBus/QDBusMessage>
+#include <QtDBus/QDBusConnection>
+
+#endif
+
+#include "ivmodulemsg_type.h"
+
+
+class ASM_PTR
+{
+public:
+    qint64 mnUpdateTime;
+    char mstrshmname[256];
+    unsigned int mnshmsize;
+    char mstrreserve[1000];
+};
+
+class procsm_info
+{
+public:
+  unsigned int mFirst;
+  unsigned int mNext;
+  unsigned int mCap;
+  unsigned int mLock;
+  unsigned int mnBufSize;
+};
+
+class procsm_head
+{
+public:
+    unsigned short mYear;
+    unsigned char mMonth;
+    unsigned char mDay;
+    unsigned char mHour;
+    unsigned char mMinute;
+    unsigned char mSec;
+    unsigned short mMSec;
+    unsigned int mindex;
+    unsigned int mnPos;
+    unsigned int mnLen;
+public:
+    void SetDate(QDateTime dt)
+    {
+        mYear = dt.date().year();
+        mMonth = dt.date().month();
+        mDay = dt.date().day();
+        mHour = dt.time().hour();
+        mMinute = dt.time().minute();
+        mSec = dt.time().second();
+        mMSec = dt.time().msec();
+    }
+    void GetDate(QDateTime * pdt)
+    {
+        QDate dt;
+        dt.setDate(mYear,mMonth,mDay);
+        QTime time;
+        time.setHMS(mHour,mMinute,mSec,mMSec);
+        pdt->setDate(dt);
+        pdt->setTime(time);
+
+    }
+};
+
+class procsm : public QObject
+{
+#ifdef USEDBUS
+    Q_OBJECT
+
+#endif
+public:
+    procsm(const char * strsmname,const unsigned int nBufSize,const unsigned int nMaxPacCount,const int nMode);
+    int writemsg(const char * str,const unsigned int nSize);
+    unsigned int getcurrentnext();
+    int readmsg(unsigned int index,char * str,unsigned int nMaxSize,unsigned int * nRead,QDateTime * pdt);
+
+    bool AttachMem();
+
+private:
+    int MoveMem(const unsigned int nSize);
+    QSharedMemory * mpASM = 0;
+    QSharedMemory * mpASMPtr;
+    unsigned int mnBufSize;
+    unsigned int mnMaxPacCount;
+    procsm_info * mpinfo;
+    procsm_head * mphead;
+
+    ASM_PTR mASM_State;
+    bool mbAttach;
+
+    char * mstrtem;
+
+public:
+    const static int ModeRead = 1;
+    const static int ModeWrite = 0;
+
+    iv::modulemsg_type mmodulemsg_type;
+
+#ifdef USEDBUS
+private slots:
+    void onQuery();
+
+#endif
+private:
+#ifdef USEDBUS
+    QDBusMessage mmsg;
+    QDBusMessage mmsgres;  //Response Message Query;
+
+#endif
+
+private:
+    void checkasm();
+    void recreateasm(int nbufsize);
+
+private:
+    char mstrsmname[256];
+
+
+
+};
+
+#endif // PROCSM_H

+ 310 - 0
src/common/modulecomm/shm/procsm_if.cpp

@@ -0,0 +1,310 @@
+#include "procsm_if.h"
+#include <QTimer>
+
+#include <iostream>
+
+
+
+procsm_if_readthread::procsm_if_readthread(procsm *pPSM,SMCallBack pCall,const char * strsmname)
+{
+    mpPSM = pPSM;
+    mpCall = pCall;
+    strncpy(mstrsmname,strsmname,255);
+
+#ifdef USEDBUS
+    bool bconnect = QDBusConnection::sessionBus().connect(QString(),"/catarc/adc",  "adc.adciv.modulecomm", strsmname,this,SLOT(onNewMsg(int)));
+    if(bconnect == false)
+    {
+        std::cout<<"procsm_if_readthread::procsm_if_readthread bconect is false"<<std::endl;
+    }
+#endif
+}
+
+procsm_if_readthread::procsm_if_readthread(procsm *pPSM,ModuleFun xFun,const char * strsmname)
+{
+    mpPSM = pPSM;
+    mFun = xFun;
+    strncpy(mstrsmname,strsmname,255);
+    mbFunPlus = true;
+
+#ifdef USEDBUS
+    bool bconnect = QDBusConnection::sessionBus().connect(QString(),"/catarc/adc",  "adc.adciv.modulecomm", strsmname,this,SLOT(onNewMsg(int)));
+    if(bconnect == false)
+    {
+        std::cout<<"procsm_if_readthread::procsm_if_readthread bconect is false"<<std::endl;
+        mbDBUSOK = false;
+        QTimer * timer = new QTimer();
+        timer->setTimerType(Qt::PreciseTimer);
+        delete timer;
+    }
+#endif
+}
+
+
+#ifdef USELCM
+    void procsm_if_readthread::handlerMethod(const lcm::ReceiveBuffer *rbuf, const std::string &channel)
+    {
+        qDebug("lcm receiv data. ");
+        mxindex++;
+        QDateTime dt = QDateTime::currentDateTime();
+        if(mbFunPlus)
+        {
+            mFun((char *)rbuf->data,rbuf->data_size,mxindex,&dt,mstrsmname);
+        }
+        else
+        {
+           (*mpCall)((char *)rbuf->data,rbuf->data_size,mxindex,&dt,mstrsmname);
+        }
+    }
+#endif
+
+
+void procsm_if_readthread::puaseread()
+{
+    mbRun = false;
+}
+
+void procsm_if_readthread::continueread()
+{
+    mbRun = true;
+}
+
+void procsm_if_readthread::run()
+{
+#ifdef USELCM
+    mlcm.subscribe(mstrsmname,&procsm_if_readthread::handlerMethod,this);
+    while(!QThread::isInterruptionRequested())
+    {
+        mlcm.handle();
+    }
+    return;
+#endif
+    QTime xTime;
+    xTime.start();
+    unsigned int nBufLen = 1;
+    unsigned int nRead;
+    char * str = new char[nBufLen];
+    unsigned int index =0;
+
+
+    QDateTime *pdt = new QDateTime();
+
+    bool bAttach = false;
+    while(!QThread::isInterruptionRequested())
+    {
+        if(mbRun == false)
+        {
+            msleep(10);
+            continue;
+        }
+        if(bAttach == false)
+        {
+            bAttach = mpPSM->AttachMem();
+            if(bAttach == false)
+            {
+                msleep(100);
+                continue;
+            }
+            else
+            {
+                index = mpPSM->getcurrentnext();
+            }
+        }
+
+        int nRtn = mpPSM->readmsg(index,str,nBufLen,&nRead,pdt);
+        if(nRtn == 0)
+        {
+#ifdef USEDBUS
+            if(mbDBUSOK == true)
+            {
+                mWaitMutex.lock();
+                mwc.wait(&mWaitMutex,10);
+                mWaitMutex.unlock();
+            }
+            else
+            {
+                msleep(1);
+            }
+#else
+            msleep(1);
+#endif
+        }
+        else
+        {
+            if(nRtn == -1)
+            {
+                nBufLen = nRead;
+                delete str;
+                if(nBufLen < 1)nBufLen = 1;
+                str = new char[nBufLen];
+            }
+            else
+            {
+                if(nRtn == -2)
+                {
+                   index = mpPSM->getcurrentnext();
+                }
+                else
+                {
+                   if(nRtn >0)
+                   {
+                       if(mbFunPlus)
+                       {
+                           mFun(str,nRtn,index,pdt,mstrsmname);
+                       }
+                       else
+                       {
+                          (*mpCall)(str,nRtn,index,pdt,mstrsmname);
+                       }
+                       index++;
+                   }
+                   else
+                   {
+                       usleep(100);
+                   }
+                }
+            }
+        }
+
+    }
+    delete str;
+    delete pdt;
+//    qDebug("Thread finish.");
+}
+
+#ifdef USEDBUS
+
+void procsm_if_readthread::onNewMsg(int x)
+{
+    if(x == 100)std::cout<<x<<std::endl;
+    mwc.wakeAll();
+//    qDebug("wake");
+}
+
+#endif
+
+procsm_if::procsm_if(const char * strsmname,const unsigned int nBufSize,const unsigned int nMaxPacCount,const int nMode)
+{
+    strncpy(mstrsmname,strsmname,255);
+#ifdef USELCM
+    if(nMode == procsm::ModeWrite)
+    {
+
+    }
+    else
+    {
+
+    }
+    return;
+#endif
+    mpPSM = new procsm(strsmname,nBufSize,nMaxPacCount,nMode);
+    mnType = nMode;
+
+    mTimer.setTimerType(Qt::PreciseTimer);
+
+}
+
+procsm_if::~procsm_if()
+{
+    if(mnType == procsm::ModeRead)
+    {
+
+        mpReadThread->requestInterruption();
+        while(!mpReadThread->isFinished())
+        {
+
+        }
+        delete mpReadThread;
+    }
+    delete mpPSM;
+}
+
+
+
+int procsm_if::writemsg(const char *str, const unsigned int nSize)
+{
+    if(mbRun == false)return -2;
+#ifdef USELCM
+    int nres = mlcm.publish(mstrsmname,str,nSize);
+    qDebug("publish message. res = %d",nres);
+    return 0;
+#endif
+    if(mnType == procsm::ModeRead)return -1; //this is listen.
+    return mpPSM->writemsg(str,nSize);
+}
+
+#ifdef USELCM
+    void procsm_if::handlerMethod(const lcm::ReceiveBuffer *rbuf, const std::string &channel)
+    {
+        qDebug("receiv data. ");
+    }
+#endif
+int procsm_if::listenmsg(SMCallBack pCall)
+{
+//#ifdef USELCM
+////     mlcm.subscribe(mstrsmname,&handlerMethod2);
+//    mlcm.subscribe(mstrsmname,&procsm_if::handlerMethod,this);
+//    while(true)
+//    {
+//        mlcm.handle();
+//    }
+//    return 0;
+//#endif
+    if(mnType == procsm::ModeWrite)return -1; //listening.
+    mpReadThread = new procsm_if_readthread(mpPSM,pCall,mstrsmname);
+//    mpReadThread->setPriority(QThread::TimeCriticalPriority);
+//    mpReadThread->start();
+    mpReadThread->start(QThread::HighestPriority);
+//    mnType = 1;
+    return 0;
+}
+
+int procsm_if::listenmsg(ModuleFun xFun)
+{
+//#ifdef USELCM
+//    mlcm.subscribe(mstrsmname,&procsm_if::handlerMethod,this);
+//    while(true)
+//    {
+//        mlcm.handle();
+//    }
+//    return 0;
+//#endif
+    if(mnType == procsm::ModeWrite)return -1; //listening.
+    mpReadThread = new procsm_if_readthread(mpPSM,xFun,mstrsmname);
+//    mpReadThread->setPriority(QThread::TimeCriticalPriority);
+//    mpReadThread->start();
+    mpReadThread->start(QThread::HighestPriority);
+//    mnType = 1;
+    return 0;
+}
+
+void procsm_if::stoplisten()
+{
+    if(mnType != 1)return;
+    mpReadThread->requestInterruption();
+    while(!mpReadThread->isFinished());
+    mnType = 0;
+//    mpReadThread->deleteLater();
+    qDebug("stop listen ok");
+}
+
+void procsm_if::pausecomm()
+{
+    mbRun = false;
+    if(mnType == procsm::ModeRead)
+    {
+        mpReadThread->puaseread();
+    }
+}
+
+void procsm_if::continuecomm()
+{
+    mbRun = true;
+    if(mnType == procsm::ModeRead)
+    {
+        mpReadThread->continueread();
+    }
+}
+
+
+

+ 0 - 0
src/common/modulecomm/procsm_if.h → src/common/modulecomm/shm/procsm_if.h


+ 66 - 0
src/common/modulecomm/testmodulecomm.pro

@@ -0,0 +1,66 @@
+QT -= gui
+
+QT += dbus
+QT       += xml
+
+
+CONFIG += c++11 console
+CONFIG -= app_bundle
+
+#DEFINES += ANDROID
+DEFINES += USE_FASTRTPS
+DEFINES += USEDBUS
+
+# The following define makes your compiler emit warnings if you use
+# any Qt feature that has been marked deprecated (the exact warnings
+# depend on your compiler). Please consult the documentation of the
+# deprecated API in order to know how to port your code away from it.
+DEFINES += QT_DEPRECATED_WARNINGS
+
+# You can also make your code fail to compile if it uses deprecated APIs.
+# In order to do so, uncomment the following line.
+# You can also select to disable deprecated APIs only up to a certain version of Qt.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
+
+SOURCES += \
+        main.cpp \
+        modulecomm.cpp \
+        modulecomm_base.cpp
+
+# Default rules for deployment.
+qnx: target.path = /tmp/$${TARGET}/bin
+else: unix:!android: target.path = /opt/$${TARGET}/bin
+!isEmpty(target.path): INSTALLS += target
+
+
+
+!include(./shm/modulecomm_shm.pri ) {
+    error( "Couldn't find the modulecomm_shm.pri file!" )
+}
+
+!include(./inter/modulecomm_inter.pri ) {
+    error( "Couldn't find the modulecomm_inter.pri file!" )
+}
+
+if(contains(DEFINES,USE_FASTRTPS)){
+!include(./fastrtps/modulecomm_fastrtps.pri ) {
+    error( "Couldn't find the modulecomm_fastrtps.pri file!" )
+}
+}
+
+
+INCLUDEPATH += $$PWD/shm
+INCLUDEPATH += $$PWD/fastrtps
+INCLUDEPATH += $$PWD/inter
+
+
+if(contains(DEFINES,USE_FASTRTPS)){
+LIBS += -L$$PWD -lfastcdr -lfastrtps
+}
+
+HEADERS += \
+    modulecomm.h \
+    modulecomm_base.h
+
+
+

+ 83 - 0
src/common/modulecomm/testmodulecomm_android.pro

@@ -0,0 +1,83 @@
+QT       += core gui
+
+#QT += dbus
+
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+
+CONFIG += c++11
+
+# The following define makes your compiler emit warnings if you use
+# any Qt feature that has been marked deprecated (the exact warnings
+# depend on your compiler). Please consult the documentation of the
+# deprecated API in order to know how to port your code away from it.
+DEFINES += QT_DEPRECATED_WARNINGS
+
+DEFINES += USE_FASTRTPS
+#DEFINES += USEDBUS
+
+DEFINES += Module1
+
+# You can also make your code fail to compile if it uses deprecated APIs.
+# In order to do so, uncomment the following line.
+# You can also select to disable deprecated APIs only up to a certain version of Qt.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
+
+SOURCES += \
+    main1.cpp \
+    andmainwindow.cpp \
+        modulecomm.cpp \
+        modulecomm_base.cpp
+
+HEADERS += \
+    andmainwindow.h
+
+FORMS += \
+    andmainwindow.ui
+
+# Default rules for deployment.
+qnx: target.path = /tmp/$${TARGET}/bin
+else: unix:!android: target.path = /opt/$${TARGET}/bin
+!isEmpty(target.path): INSTALLS += target
+
+
+!include(./shm/modulecomm_shm.pri ) {
+    error( "Couldn't find the modulecomm_shm.pri file!" )
+}
+
+!include(./inter/modulecomm_inter.pri ) {
+    error( "Couldn't find the modulecomm_inter.pri file!" )
+}
+
+if(contains(DEFINES,USE_FASTRTPS)){
+!include(./fastrtps/modulecomm_fastrtps.pri ) {
+    error( "Couldn't find the modulecomm_fastrtps.pri file!" )
+}
+}
+
+
+INCLUDEPATH += $$PWD/shm
+INCLUDEPATH += $$PWD/fastrtps
+INCLUDEPATH += $$PWD/inter
+
+
+if(contains(DEFINES,USE_FASTRTPS)){
+LIBS += -L$$PWD/androidlib -lfastcdr -lfastrtps
+}
+
+DISTFILES += \
+    android/AndroidManifest.xml \
+    android/build.gradle \
+    android/gradle/wrapper/gradle-wrapper.jar \
+    android/gradle/wrapper/gradle-wrapper.properties \
+    android/gradlew \
+    android/gradlew.bat \
+    android/res/values/libs.xml
+
+contains(ANDROID_TARGET_ARCH,arm64-v8a) {
+    ANDROID_PACKAGE_SOURCE_DIR = \
+        $$PWD/android
+
+    ANDROID_EXTRA_LIBS = \
+        $$PWD/androidlib/libfastcdr.so \
+        $$PWD/androidlib/libfastrtps.so
+}

+ 31 - 0
src/common/modulecomm/testmodulecomm_android2.pro

@@ -0,0 +1,31 @@
+QT       += core gui
+
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+
+CONFIG += c++11
+
+# The following define makes your compiler emit warnings if you use
+# any Qt feature that has been marked deprecated (the exact warnings
+# depend on your compiler). Please consult the documentation of the
+# deprecated API in order to know how to port your code away from it.
+DEFINES += QT_DEPRECATED_WARNINGS
+
+# You can also make your code fail to compile if it uses deprecated APIs.
+# In order to do so, uncomment the following line.
+# You can also select to disable deprecated APIs only up to a certain version of Qt.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
+
+SOURCES += \
+    main2.cpp \
+    andmainwindow.cpp
+
+HEADERS += \
+    andmainwindow.h
+
+FORMS += \
+    andmainwindow.ui
+
+# Default rules for deployment.
+qnx: target.path = /tmp/$${TARGET}/bin
+else: unix:!android: target.path = /opt/$${TARGET}/bin
+!isEmpty(target.path): INSTALLS += target

+ 73 - 0
src/common/modulecomm/testmodulecommext.pro

@@ -0,0 +1,73 @@
+QT -= gui
+
+QT += dbus
+QT       += xml
+
+
+CONFIG += c++11 console
+CONFIG -= app_bundle
+
+#DEFINES += ANDROID
+DEFINES += USE_FASTRTPS
+DEFINES += USEDBUS
+
+# The following define makes your compiler emit warnings if you use
+# any Qt feature that has been marked deprecated (the exact warnings
+# depend on your compiler). Please consult the documentation of the
+# deprecated API in order to know how to port your code away from it.
+DEFINES += QT_DEPRECATED_WARNINGS
+
+# You can also make your code fail to compile if it uses deprecated APIs.
+# In order to do so, uncomment the following line.
+# You can also select to disable deprecated APIs only up to a certain version of Qt.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
+
+SOURCES += \
+        ../../../src/include/msgtype/testmodulecommext.pb.cc \
+        main.cpp \
+        modulecomm.cpp \
+        modulecomm_base.cpp \
+        modulecommext.cpp
+
+# Default rules for deployment.
+qnx: target.path = /tmp/$${TARGET}/bin
+else: unix:!android: target.path = /opt/$${TARGET}/bin
+!isEmpty(target.path): INSTALLS += target
+
+
+
+!include(./shm/modulecomm_shm.pri ) {
+    error( "Couldn't find the modulecomm_shm.pri file!" )
+}
+
+!include(./inter/modulecomm_inter.pri ) {
+    error( "Couldn't find the modulecomm_inter.pri file!" )
+}
+
+if(contains(DEFINES,USE_FASTRTPS)){
+!include(./fastrtps/modulecomm_fastrtps.pri ) {
+    error( "Couldn't find the modulecomm_fastrtps.pri file!" )
+}
+}
+
+
+INCLUDEPATH += $$PWD/shm
+INCLUDEPATH += $$PWD/fastrtps
+INCLUDEPATH += $$PWD/inter
+
+
+if(contains(DEFINES,USE_FASTRTPS)){
+LIBS += -L$$PWD -lfastcdr -lfastrtps
+}
+
+LIBS += -lprotobuf
+INCLUDEPATH += $$PWD/../../../src/include/msgtype
+
+HEADERS += \
+    ../../../src/include/msgtype/testmodulecommext.pb.h \
+    modulecomm.h \
+    modulecomm_base.h \
+    modulecommext.h
+
+
+

+ 0 - 0
src/common/modulecomm/ReadMe.md → src/common/modulecomm_classic/ReadMe.md


+ 13 - 0
src/common/modulecomm_classic/ivmodulemsg_type.h

@@ -0,0 +1,13 @@
+#ifndef IVMODULEMSG_TYPE_H
+#define IVMODULEMSG_TYPE_H
+
+namespace iv {
+struct modulemsg_type
+{
+    char mstrmsgname[256];
+    int mnBufSize;
+    int mnMsgBufCount;
+};
+
+}
+#endif // IVMODULEMSG_TYPE_H

+ 56 - 0
src/common/modulecomm_classic/modulecomm.cpp

@@ -0,0 +1,56 @@
+#include "modulecomm.h"
+#include "procsm_if.h"
+#include "procsm.h"
+
+#include <iostream>
+
+namespace iv {
+namespace modulecomm {
+
+
+void *  RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount)
+{
+
+    procsm_if * pif = new procsm_if(strcommname,nBufSize,nMsgBufCount,procsm::ModeWrite);
+    return (void *)pif;
+}
+
+void  *  RegisterRecv(const char * strcommname,SMCallBack pCall)
+{
+    procsm_if * pif = new procsm_if(strcommname,0,0,procsm::ModeRead);
+    pif->listenmsg(pCall);
+    return (void *)pif;
+}
+
+void * MODULECOMMSHARED_EXPORT RegisterRecvPlus(const char * strcommname,ModuleFun xFun)
+{
+    procsm_if * pif = new procsm_if(strcommname,0,0,procsm::ModeRead);
+    pif->listenmsg(xFun);
+    return (void *)pif;
+}
+void  ModuleSendMsg(void * pHandle,const char * strdata,const unsigned int nDataLen)
+{
+    procsm_if * pif = (procsm_if *)pHandle;
+    pif->writemsg(strdata,nDataLen);
+}
+
+void  Unregister(void * pHandle)
+{
+    procsm_if * pif = (procsm_if *)pHandle;
+    delete pif;
+}
+
+void PauseComm(void *pHandle)
+{
+    procsm_if * pif = (procsm_if *)pHandle;
+    pif->pausecomm();
+}
+
+void ContintuComm(void *pHandle)
+{
+    procsm_if * pif = (procsm_if *)pHandle;
+    pif->continuecomm();
+}
+
+}
+}

+ 39 - 0
src/common/modulecomm_classic/modulecomm.h

@@ -0,0 +1,39 @@
+#ifndef MODULECOMM_H
+#define MODULECOMM_H
+
+#include <QtCore/qglobal.h>
+#include <QDateTime>
+
+#include <functional>
+
+#if defined(MODULECOMM_LIBRARY)
+#  define MODULECOMMSHARED_EXPORT Q_DECL_EXPORT
+#else
+#  define MODULECOMMSHARED_EXPORT Q_DECL_IMPORT
+#endif
+
+
+//#include <iostream>
+//#include <thread>
+
+//using namespace std::placeholders;
+typedef std::function<void(const char * ,const unsigned int , const unsigned int , QDateTime * ,const char *)> ModuleFun;
+typedef void (* SMCallBack)(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname);
+
+namespace iv {
+namespace modulecomm {
+void * MODULECOMMSHARED_EXPORT RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount);
+void * MODULECOMMSHARED_EXPORT RegisterRecv(const char * strcommname,SMCallBack pCall);
+void * MODULECOMMSHARED_EXPORT RegisterRecvPlus(const char * strcommname,ModuleFun xFun);
+void MODULECOMMSHARED_EXPORT ModuleSendMsg(void * pHandle,const char * strdata,const unsigned int nDataLen);
+void MODULECOMMSHARED_EXPORT Unregister(void * pHandle);
+void MODULECOMMSHARED_EXPORT PauseComm(void * pHandle);
+void MODULECOMMSHARED_EXPORT ContintuComm(void * pHandle);
+
+}
+
+}
+
+
+
+#endif 

+ 44 - 0
src/common/modulecomm_classic/modulecomm.pro

@@ -0,0 +1,44 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2018-07-10T05:46:48
+#
+#-------------------------------------------------
+
+QT       -= gui
+
+QT       += dbus
+
+
+#DEFINES += USELCM
+
+
+DEFINES += USEDBUS
+
+TARGET = modulecomm
+TEMPLATE = lib
+
+DEFINES += MODULECOMM_LIBRARY
+
+#VERSION = 1.0.1
+CONFIG += plugin
+
+
+SOURCES += modulecomm.cpp \
+    procsm.cpp \
+    procsm_if.cpp
+
+HEADERS += modulecomm.h \
+    procsm.h \
+    procsm_if.h \
+    ivmodulemsg_type.h
+
+unix {
+    target.path = /usr/lib
+    INSTALLS += target
+}
+
+
+
+#INCLUDEPATH += $$PWD/../../../include/
+LIBS += -L$$PWD
+

+ 41 - 0
src/common/modulecomm_classic/modulecomm_android.pro

@@ -0,0 +1,41 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2018-07-10T05:46:48
+#
+#-------------------------------------------------
+
+QT       -= gui
+
+#QT       += dbus
+
+
+#DEFINES += USELCM
+
+#DEFINES += USEDBUS
+
+TARGET = modulecomm
+TEMPLATE = lib
+
+DEFINES += MODULECOMM_LIBRARY
+
+#VERSION = 1.0.1
+CONFIG += plugin
+
+
+SOURCES += modulecomm.cpp \
+    procsm.cpp \
+    procsm_if.cpp
+
+HEADERS += modulecomm.h \
+    procsm.h \
+    procsm_if.h \
+    ivmodulemsg_type.h
+
+unix {
+    target.path = /usr/lib
+    INSTALLS += target
+}
+
+#INCLUDEPATH += $$PWD/../../../include/
+LIBS += -L$$PWD
+

+ 0 - 0
src/common/modulecomm/procsm.cpp → src/common/modulecomm_classic/procsm.cpp


+ 0 - 0
src/common/modulecomm/procsm.h → src/common/modulecomm_classic/procsm.h


+ 0 - 0
src/common/modulecomm/procsm_if.cpp → src/common/modulecomm_classic/procsm_if.cpp


Some files were not shown because too many files changed in this diff